<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Logical Shift &#187; iPhone</title>
	<atom:link href="http://logicalshift.co.uk/rotate/category/iphone/feed/" rel="self" type="application/rss+xml" />
	<link>http://logicalshift.co.uk/rotate</link>
	<description></description>
	<lastBuildDate>Tue, 02 Jun 2009 19:32:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Challenges for iPhone CocoaGlk</title>
		<link>http://logicalshift.co.uk/rotate/2008/03/11/challenges-for-iphone-cocoaglk/</link>
		<comments>http://logicalshift.co.uk/rotate/2008/03/11/challenges-for-iphone-cocoaglk/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 00:18:49 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[CocoaGlk]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://logicalshift.co.uk/rotate/2008/03/11/challenges-for-iphone-cocoaglk/</guid>
		<description><![CDATA[Development so far has actually been quite quick as I&#8217;ve been focusing on the things that are the same on the iPhone as on desktop OS X. Eventually, I&#8217;m going to need to address the differences, though.
Technical
Synchronisation
Something I would really like to implement is the ability to synchronise with Zoom running on a Mac, so [...]]]></description>
			<content:encoded><![CDATA[<p>Development so far has actually been quite quick as I&#8217;ve been focusing on the things that are the same on the iPhone as on desktop OS X. Eventually, I&#8217;m going to need to address the differences, though.</p>
<h3>Technical</h3>
<h4>Synchronisation</h4>
<p>Something I would really like to implement is the ability to synchronise with Zoom running on a Mac, so when you plug your iPhone in, all your latest saved games are copied between the two applications, and any story files that you&#8217;ve selected get copied onto the phone.</p>
<p>Synchronising over wifi is possible, I suppose, but it would be nicer to have iTunes do it for you when you plug your phone in.</p>
<h4>Obtaining games</h4>
<p>I haven&#8217;t decided on the methods for obtaining stories yet. I think that this should be reasonably easy: provide an interface to the IFDB that works when the phone has a wifi connection. Synchronisation would be nice, but it can&#8217;t be the only way that stories are put onto the phone, because PC users would be left out in the cold.</p>
<h4>Auto-save</h4>
<p>Interpreters running on the iPhone are really going to need this. I doubt users would appreciate a &#8216;are you sure&#8217; dialog when you hit the home button and losing game state just because a phone call has arrived is really poor form.</p>
<p>Zoom supports this, so this should be easy for Z-Code. glulx doesn&#8217;t, though: I&#8217;ll have a look at hacking this into the interpreter, but it really needs to be a part of the specification for any  IF interpreter (even on the desktop)</p>
<h3>Licensing</h3>
<p>CocoaGlk is currently licensed under the LGPL and distributed as a framework. This isn&#8217;t appropriate for the iPhone, as there&#8217;s no such thing as a framework and the LGPL requires things that are statically linked to be under the LGPL as well. That means almost no interpreters as many are under incompatible licenses.</p>
<p>The solution is to change the license to one that is less restrictive: probably the MIT or modified BSD license.</p>
<p>A more serious issue is that Apple&#8217;s SDK license prohibits downloading code to interpret: this means that it would be impossible to load any games that were not bundled with the interpreter. I think this is probably a fatal problem: it seems doubtful that many IF authors will be willing to pay the $99 required to get their work onto the iPhone &#8211; plus it would mean no Zork, ever.</p>
<h3>User Interface</h3>
<p>I haven&#8217;t really decided on how the UI should work. The basic functionality should be pretty simple, but there are a few issues new to running on a small display:</p>
<h4>Complex graphics</h4>
<p>Games like moments out of time use a complex window layout that won&#8217;t work too well if we use a large enough font to be legible when everything is on screen. So, it would seem sensible to have a Safari-like ability to zoom in and out.</p>
<p>However, games with a more traditional layout won&#8217;t really benefit from this, so we&#8217;re going to need to be clever and detect when we need to have a zooming display and when a simple, more legible, display is useful &#8211; some experimentation is required! The initial version will go for the &#8216;big but simple&#8217; approach, which should work with the majority of IF games that are out there, but I&#8217;m not going to be satisfied until games like City of Secrets and Moments Out of Time run and look good.</p>
<h4>Text entry</h4>
<p>This is pretty crucial to get right. The iPhone keyboard isn&#8217;t ideal for typing lots of stuff in, so CocoaGlk is going to need to help out. Luckily, I can borrow ideas liberally from the Palm interpreters that already exist:</p>
<ul>
<li>Tapping on a word in a text window should insert it as input (with an animation + a quick way of undoing accidental taps)</li>
<li>Tap + hold on the center of the display should pop up a compass rose. Dragging in a direction will enter that direction as a command.</li>
<li>If possible, I&#8217;d like any words the game prints that don&#8217;t exist in the autocompletion dictionary to be added, at least for as long as CocoaGlk is running: that should make typing those made up magic words a lot easier.</li>
<li>There also needs to be a way of getting a list of common verbs. I&#8217;m thinking that if a tap+hold on the center brings up a compass, one on the right side of the screen should bring up the verb list &#8211; drag to select a verb (the verb under where the user taps would be blank to avoid accidental input)</li>
<li>Possibly the tap+hold gestures should be duplicated in a toolbar along the bottom of the screen (or only done that way if it works better)</li>
</ul>
<p>There&#8217;s a tap+hold gesture on the left hand side that&#8217;s not being used in this scheme, so if someone thinks of some other useful shortcut, that could go there. The reason for using a tap+hold to bring up shortcuts is that dragging is more sensibly used to scroll around the game output.</p>
<hr />That&#8217;s it for now.. I&#8217;ll try to get something more exciting for the next screenshot. Honest.</p>
]]></content:encoded>
			<wfw:commentRss>http://logicalshift.co.uk/rotate/2008/03/11/challenges-for-iphone-cocoaglk/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>IF and the iPhone</title>
		<link>http://logicalshift.co.uk/rotate/2008/03/07/if-and-the-iphone/</link>
		<comments>http://logicalshift.co.uk/rotate/2008/03/07/if-and-the-iphone/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 23:26:38 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[CocoaGlk]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://logicalshift.co.uk/rotate/2008/03/07/if-and-the-iphone/</guid>
		<description><![CDATA[So, Apple have (finally) released the iPhone SDK today. developer.apple.com is apparently too busy celebrating this momentous occasion to actually bother to respond to any http requests so I haven&#8217;t had a chance to look at the SDK yet.
Even so, I plan to port CocoaGlk as soon as I get my hands on it, at [...]]]></description>
			<content:encoded><![CDATA[<p>So, Apple have (finally) <a href="http://arstechnica.com/news.ars/post/20080306-apple-iphone-announcements.html">released</a> the iPhone SDK today. developer.apple.com is apparently too busy celebrating this momentous occasion to actually bother to respond to any http requests so I haven&#8217;t had a chance to look at the SDK yet.</p>
<p>Even so, I plan to port CocoaGlk as soon as I get my hands on it, at least assuming the requirements for distributing free software aren&#8217;t too onerous. $99 for a key doesn&#8217;t sound too bad to me, anyway.</p>
<p>I&#8217;m not entirely sure what to expect; I haven&#8217;t played around with jailbreaking my iPhone, so I&#8217;ll be going in blind. What I think is likely, however, is that half of CocoaGlk will port just fine: that is, the GlkClient framework that interfaces with the interpreters. What is less certain is how well the UI half will port: that is, GlkView. If NSTextView is ported, and the typesetter behaves the same way, then it&#8217;s going to be really easy to get the UI working in some manner, and probably not that hard to support all the features of blorb.</p>
<p>Getting games onto the phone is also a bit of a challenge. I think that taking some of Zoom&#8217;s existing inventory management and connecting to <a href="http://ifdb.tads.org/">IFDB</a> might be a good idea.</p>
<p>I&#8217;ll post a beta when I get things working: I imagine a glulx or frotz-based interpreter is likely to be released first. I&#8217;ve been thinking about doing something with LLVM to JIT games; something that would be a curiosity on the fast machines that CocoaGlk runs on at the moment, but which could be vital to running games on the much slower iPhone.</p>
]]></content:encoded>
			<wfw:commentRss>http://logicalshift.co.uk/rotate/2008/03/07/if-and-the-iphone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
