Lectrote 1.2.0

My thoughts on mobile IF user interface:

First, on 5" phones, the situation really isn’t so bad. Hadean Lands is basically playable on a 4.7" iPhone 6 with not much in the way of phone-based UI assistance.

Having said that, I think there is room for some possible improvements.

  1. iosGlk offers a nice feature where you can double-click on any word on the screen and it will add it to the current input text, with a little animation. That’s a big help.

  2. iosGlk also provides a nav bar at the top of the screen with a button to show/hide the keyboard. When the keyboard is hidden, the game shows a tab bar at the bottom, including a Help tab and a Settings tab.

  3. It would be cool if Thunderword would provide game-specific keyboard autosuggest suggestions. I believe it’s possible to influence/control the keyboard autosuggest options in an Android app. At a minimum, you can disable the keyboard’s suggestions and provide a “fake” suggestion bar of your own.

If you populate the suggestion lexicon with words shown in the game, plus a dozen standard commands (examine, look, take, wait, save, restore, undo, drop, open, close, push, pull, turn, put) I bet it’d work just dandy.

It’d be especially helpful if the “default” three suggestions before you type anything are “examine” “inventory” and “look” (or maybe “help”).

  1. Long term, I think the right way to make phone-friendly parser IF is for all games to adopt key features from Blue Lacuna, especially including hypertext in the transcript, and a feature where typing a noun does a default action (normally “examine”). The autocomplete bar would then support links instead of terms. For example, Hadean Lands includes a “dusty bubble” and a “scratched bubble” as objects. Typing “d” should suggest “dusty bubble” instead of just “dusty” (because that’s a link that has appeared in the game). The game would autosuggest only links and verbs, ignoring non-linked (non-notable) words in the transcript.

Then, upon entering a room, you could just tap on things that you see in the room description to examine them, or type just the first letter or two of an object’s name to get an autosuggestion. Tap the room name in the status bar to examine the room, i.e. “look.”

I think this is all beyond the scope of a general-purpose interpreter like Thunderword, so I’ll stop my rambling here.

Meandering verbose reply, I will try to come back and edit this reply and respond to specific things you mentioned about UI elements - as a lot of those ideas exist in already published Android terp apps. But I’d rather let it (the topic, state of things) all hang out and not leave anyone with the impression that what’s been going on with Thunderword is out of desire, it’s really a matter of weak talents.

I’d really like to see us add a Glk-type standard for basic menus and CYOA on parser (Gluxe). There have been experiments over the years with hybrid interfaces, we just need to encourage some standard encoding - and we could even do static data-file analysis of the existing library of IF stories to help build a database that all the terps could reference.

Downloading, organizing, and off-line play of IF stories. I’ve openly begged for apps to do these things here all year :wink: I’d also like to see a standard created for all html-based (mostly CYOA) terps in a .zip file container so they can be downloaded and started in an offline browser / WebView. Right now, many are only available on “live websites” and really aren’t using active-server features - they just aren’t published as a single file like a .blorb was intended for multi-asset sets.

On Thunderword, it’s been a technical meat-grinder of my worst talents :wink: I’m really not a C programmer, although I wanted to leverage the basic Gargoyle set with a heavy emphasis on channel I/O (multi-windows streams, some of which can do out of band triggering like Vorple and other libraries can do). You will see me begging for Makefile help a year ago, and code for how to extract blorb files, these things ate up a lot of my time. But the real issue that’s holding me back is my lack of UI talent. I’m just not good at all with the visual design / UI development and I keep hoping someone who has really played on the existing Android apps - which are full of ideas (Text Fiction, Sony of Hunky Punk, Twisty, etc) can say “hey, can you make it work just like this specific design”, but so far, no such suggestion or screen mock-up has been shared. I figured a few players would have a discussion about what they really wanted from other game apps (of all types), and maybe even create some Photoshop mock-ups / animated gifs / videos / etc.

I would need development help to get something as solid as the Apple developers are accustomed to making. I’m a bull in a china shop when it comes to UI, and in general to the IF scene. I can’t even make good icons, story illustrations, or color schemes, and likely never will be able to. Even my forum posts of late seem rambling frustrations more than well-organized coherent presentations… but I’ve witnessed some great work that people published years ago (like Incant app, Glulx on Android) that nobody bothered to even discuss as it sat and rotted on the vine. So, I’ve let my frustration all hang out, as I wanted a well working technically modern app too!

The very first thing I opened source at the start of the year was Thunderstrike - which was without a UI - and a small simple app - hoping somebody would program a RemGlk Activity for us all that’s better than the ones I’ve made. But it’s now September, and I don’t think anyone has done it. I’m to the point where this week I’m literally bringing in code from GlkOte - as at least it’s interface is feature complete, ahead of my most-complete work in Thunderword. However, GlkOte doesn’t deal with mobile screen sizes or mobile keyboard either.

I was really hoping that the existing major Android app developers, who have done better UI than I can do, would have woken up from their slumber. Or even the long-ignored Incant app (open source) would have inspired some development this year (the code is well organized, and readable). It wasn’t really my intention to be pushing a new line of apps - they have mostly been noise-making efforts to show that even someone with low talent can make a multi-back-end Android app - so why aren’t we as-a-community doing it on Android. Even HTML interfaces could be added on top of RemGlk engines compiled in C. Almost any programmer can work with JSON in a variety of languages… even a cross-platform game engine like Cocoa2D with LUA could be brought in to make a user-interface on top of the JSON coming out of RemGlk.

I’ll try to come back and edit this messy comment.

Zip file containing index.html. There’s your standard. :slight_smile: Include metadata.iFiction (XML format, see Babel doc) for bibliographic info.

I’d rather go a couple steps further :wink: the filenames could be .zip_if - so that we can locate them without having to open up every possible .zip file on a system :wink: Like the purpose MIME types serve on downloads. The main thing I seem to observe is that a lot of HTML stories are not being archived / published in containers and when on a live website they don’t have the metadata file or even an asset manifest. For example, you may not know an image asset comes off the server until you enter into a specific room in the story (dynamically loaded). So it isn’t possible to save the webpages in a classic sense. On the meta regard, I think we also need to start encouraging parental / age / content markings like is required by Apple and Google to publish. It’s “keeping up with the times” that I’m encouraging, since a lot of the Web HTML stories did not adopt blorb conventions. To me, these are real problems I’ve run into, not some theoretical imagination of a seam. Perhaps it’s my poor presentation that inspires so much negative response around here, saying “it’s fine how it is, don’t question things”.

My comment about HTML-based stories was that we encourage standard practices, and encourage new IF authors to realize just how long-lasting (decades) IF stories have been endeared by readers. Encourage off-line packaging. Domain names expire and works are lost all the time.

I’m no UI expert either, but my approach to UI is to find a UI that I like and clone it, within reason. Today, for Thunderword, the natural thing to clone would be iosGlk.

I asked some Apple app users if they could make a YouTube video to help me understand what was working for them as players: groups.google.com/d/msg/ifrotz- … CMANecEwAJ

I do not have the skills to clone well balanced and perfectly executing user interfaces. All the Android terp developers I have encountered with open source projects seem to have no interest in working together (and all just independent built apps and left them, except for Twisty - but that’s been in development for many many years). I mean, if you want to just run one story and make an app for one story - people have done that: github.com/SimonChris/AndroidIF

I could release a stand-alone self-contained Text Fiction that runs with all the RemGlk backends. It seems popular on the UI front. And I’ve finally solved all my RemGlk stability problems (my mistake) that have been dragging me down all year. But there hasn’t been much enthusiasm from the established Text Fiction users. And it still needs a user interface for picking more than just Z-machine stories.

The obvious answer for the community was for Twisty 2.0 to get finished - or for Son of Hunky Punk to add Glulxe. They are both open source. There interface is well rated and popular. I tried working with the code on both a year ago and had so much confusion over Glk multi-windowing and their C to Java interfaces that I just couldn’t personally do it. Alas, I made a huge design error in my approach to RemGlk C to Java interface (in-process dynamic loading of terps) that wasted months of my time in 2017 to get working on diverse Android hardware. The cure to the stability issues took 1 day when I finally gave up and started fresh with Qt on the desktop for a sanity check, but I can’t get my months back :wink: In hind sight, that time could have been spent on Son of Hunky Punk’s Glk - which has a functional user interface. And the size of the mistake I made has left me discouraged and on a tighter schedule for my fiction story writing.

I haven’t given up.

I know I’m a broken record for the AXMA system which is a Twine-like choice engine with extremely nice multimedia capability, but one of the other amazing tricks it does is it automatically adjusts the UI and text wrapping to the screen size.

If you’re on a phone, it removes the graphics window and the side menu and replaces them with a “show image” button in the bottom left corner, and flows the menu along a line at the bottom. When a new picture is displayed, it fills the screen with it initially and lets the user dismiss it with a tap and bring it back up with the button. It’s pretty impressive if you resize the desktop browser window because it does this on the fly as the screen size/ratio changes.

Lectrote 1.2.9 has been published which fixes the bug of Hugo not being able to save properly.

Right, thanks for mentioning it – I dashed off a build last night but didn’t have time to post about it.

Also thank you for fixing the Hugo save bug. :slight_smile: