Zifmia, the Web, and Mobile Devices

Posted: March 28, 2011 in Blogroll, interactive fiction, Textfyre
Tags: , , , , , ,

I’m still working on the web client for Zifmia and it’s going slow, mostly because I keep changing the AJAX interface to get everything so it’s compact and very simple. There’s a regression test working now at http://zifmia.textfyre.com/regressiontest.html. The tests include registering a user, logging in, listing games, starting a game session, sending a command to that session, getting a session, getting a previous turn in a session, and then listing all sessions for a logged-in user.

The clientside javascript is wrapped up in the following files:

http://zifmia.textfyre.com/scripts/strings.js – has an extension method on String that allows traditional formatting with arguments.
http://zifmia.textfyre.com/scripts/zifmia.js – the main AJAX calls to the Zifmia service
http://zifmia.textfyre.com/scripts/zifmia-controller-regression.js – the regression test implementation of the controller.
http://zifmia.textfyre.com/scripts/zifmia-controller.js – the sample imlpementation of the controller.
http://zifmia.textfyre.com/scripts/zifmia-htmlformatting.js – has an extension method for converting text to html, currently only looks a newlines and turns them into BR tags.

There’s a jquery-min.js file in there as well…I think I have 1.3, but should upgrade to 1.4.

* * * *

I took the plunge this past week and purchased an iPad 2 and a Mac-Mini. Paid extra for the iPad and got a deal on the mini, both off of craigslist, so it more or less evened out.

I installed xcode 4 and with a lot of help from the gang on ifMUD, started getting an iPad client for Zifmia going. I have a lot of hoops to jump through, not to mention learning Objective C, but it doesn’t seem that hard right now. Just different crazy syntax issues.

My idea for the iPad client is similar to the web client, but it won’t be called “Zifmia”, it will be the Textfyre app. I plan to make the client free, but zifmia will allow games to be installed as pay per use games. The nice thing is that this will allow games to be installed in Zifmia that require payment or be free. I haven not figured out how this will work and am aware of the more draconian principals around Apple’s pay for content model, but this seems like a reasonable direction.

Anyone that builds their own client is still free to do so. I may have to split the server into two installations, one for Zifmia and one for Textfyre, but for now I’ll leave it in a merged “beta” state.

As for the iPad client itself, I envision being able to type in commands as usual, but being able to swipe backwards for previous output (one turn per page), have expandable live mapping, note taking, comments at a given location for a given game-state (I’ll have to figure out how to manage this so we don’t show spoilers), common commands used by other users, and local play with a built-in FyreVM engine that resyncs to the server when it can.

I’m less interested in smartphones now. The tablet is the way to go and I’ll have to look at doing the same work on the Galaxy Tab or other Android tablets.

  1. Dannii says:

    Upgrade to 1.5 not 1.4

  2. TJ says:

    Sounds good – looks good too. I can see this working much better on touchscreen devices (like tablets) but being, perhaps, too much on a small phone screen.

    Also doubt it would work on the Kindle. Can I ask why you’re working in 1.4 – is it because it’s similar to kindlet code?

  3. TJ says:

    Oops – that comment was more regarding the wiretest design you posted previously. This one is simple enough to work anywhere.

  4. I updated the links to point to the right files.

    Amazon doesn’t support cloud based apps on the Kindle.

  5. Dannii says:

    If you’re still interested in a paged UI, you should check this: http://christophercliff.github.com/sausage/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s