Posts Tagged ‘iPhone’

Manta and Glass Joysticks

Monday, August 16th, 2010
Manta screenshot from Unity dev environment

Manta screenshot from Unity dev environment

I’m finally getting close to releasing Manta and one thing that has somewhat surprised me is what a fabulous gaming device the iPad is. For example, while I’ve never been happy with any “glass joystick” games on the iPhone, I’ve found several on the iPad work just fine — including Manta.

One of the things I was determined to do with Manta’s touch controls was make them “relative”, and this is something the games I’ve liked have in common. In other words, the point you start touching the screen becomes your origin. Most “glass joystick” games on the iPhone combine (a) absolute controls and (b) no central visual feedback. The first means (a) it’s critically important that you put down your thumb in exactly the right spot or you’ll do something weird and (b) you can’t immediately tell by looking at what’s going on in the game where you’ve actually put your finger down — this proves a fatal combination, even for otherwise very polished games such as Grand Theft Auto: Chinatown Wars.

With Manta, your “ship” quickly (not instantly) snaps to a heading based on your thumb position, and your initial point of contact is always the origin. It certainly works well for me (and no complaints from my testers) but we’ll see what the reviews are like when and if it appears in the App Store.

The Glass Keyboard Revisited

Thursday, May 6th, 2010

The iPad's glass keyboard showing the extra options when you press-and-hold the $ key.

One of the things I love about Apple products is that they continually surprise me in a good way. I knew there were certain keys on the glass keyboard which, when pressed and held, gave you access to variations (e.g. press-and-hold on .com and you get .net, .edu, .org as options), but I had no idea how thoughtful and extensive these options were. Sadly, they’re not quite thoughtful and extensive enough.

  • It’s a shame they didn’t go the extra yard and provide some, tiny visual cue as to which keys have the extra options, and that they missed a few. E.g. I’ve not figured out how to get ©, ®, or ™ symbols or an n-dash (m-dash is under hyphen).
  • Why aren’t all keys of a given type overloaded the same way? (E.g. the period key on the main keyboard has no overloading, but the period key on the symbol keyboard lets you get to ellipsis).
  • And, finally, it’s also disappointing that those of us who have learned Apple’s long-standing Mac keyboard shortcuts aren’t rewarded with some sensible mappings. I can appreciate that the ° symbol is available from the 0 (zero) key, but why not from the 8 as well? (It’s option-shift-8 on a Mac.)

So, in this respect the glass keyboard gets a B. Foreign typists appear to be well-supported, although having to go to the symbol keyboard (which is two keys away) and then press-and-hold for a French quotation mark seems a bit much — why not overload more keys on the main keyboard? Put all the pauses under the comma key (semicolon, dash, etc.) and all the quotation marks under the period say.

iPad Development in The Future

Thursday, April 15th, 2010

Nerves

Judging from Unity’s two corporate blog entries on the whole 3.3.1 thing, I get the feeling that they’re feeling less confident as of Wednesday than they were on Friday (it’s dated Sunday but it was posted on Friday).

The fact that PhoneGap has been given Apple’s stamp of approval is certainly a sign that platform abstraction layers can be OK, but bear in mind that PhoneGap is completely open source and lives on JavaScript…

JavaScript

You may recall that JavaScript is not mentioned in the scariest subclause of 3.3.1 — JavaScript apps run on top of Webkit, and thus don’t need to worry about how they access APIs, don’t represent a portability issue, and don’t represent any additional backwards compatibility burden over the rest of the web.

(By the way, I don’t see how you can reconcile PhoneGap’s approval with the “Apple just wants people to write real iPhone apps” view.)

Virtual Machines & Scripting Languages

But if you’re writing pedal-to-the-metal game software, chances are you’re going to need to compile your code to binary and call the OS APIs from inside it (even if it’s not much more than “hey, gimme a graphics context to vomit OpenGL commands at”). It strikes me that Unity3d could take the approach of opening the source code that interacts with the OS to deal with the first clause.

As to the second, forcing Unity to ditch internal scripting languages and the associated runtime is pretty rough (and it’s going to hurt all serious game developers — I don’t know of any game developers who don’t use some kind of script engine and virtual machine somewhere — Prince of Destruction, released in 1994 (admittedly, it was ahead of its time in many respects) had three internal script languages, one of which ran on our own VM, and it was a truly native Mac game, running on AppleTalk and using Macintalk). Of course, maybe the ban will only affect virtual machines Apple can identify really easily (such as Mono or Flash).

Life Cycle: One Day, You’ll Be Grown Up

Apple’s current restrictions don’t make any sense in the long term (even accepting they make sense right now). Inevitably, the iPad (and its successors) are going to need apps like Excel or Word (both scriptable). I may want to touch my data, but I’m still going to want to automate common operations. Whatever Apple is doing now is part of the lifecycle of its platform — what Apple is doing now while it builds its platform is not necessarily what it will do when the platform is more mature.

It follows that Apple needs to bear in mind the “feelings” of third party developers who are merely doing today something Apple doesn’t want for tactical reasons today but will want in the future. (One might argue that Adobe should have considered the “feelings” of Apple and Mac users when it gave us crappy products for the last ten years, but if you’ve used CS4 under Windows you’ll see that Adobe is fully capable of giving crap products to everyone with no malice intended. Basically, Mac users got a halfway decent UI with a crappy back end, and Windows users got a crappy UI with a crappy back end — but it’s 64-bit. Woo! And it’s not like Flash isn’t a horrible CPU hog and battery drain under Windows, it’s just not quite as terrible as on the Mac.)

So the important message for Apple is that while it needs to worry about building its platform now, it also needs to worry about the number of enemies it creates in the process. Software developers are smart and have long memories.

Multitasking Fail: Sometimes, Apple is just right

Tuesday, October 20th, 2009

A prominent blogger switches from Palm Pre to iPhone? (Link thanks to daringfireball.) Why?

If a call comes in, the phone starts ringing, and I can answer and talk to the caller, but most of the time it takes another 10 seconds before the Phone application’s UI comes up! So if it’s from the front door and I have to press a button to buzz someone in, I have to either hope the app starts responding before the caller hangs up; or I have to slide out the physical keypad and pray that it buffers the keystroke. Trying to answer the door feels like a game of whack-a-mole.

(Emphasis mine.) It’s not like Palm has some kind of secret sauce for writing fast software on mobile devices. And it’s not like Google does either, so don’t expect Androids to somehow magically solve this problem.

So even though I hate Apple’s developer-hostility, and even though I hate that now I’m giving money to AT&T, and even though AT&T’s network is way less reliable in San Francisco than Sprint’s, and even though I absolutely despise the iPhone’s on-screen keyboard… at least now I have a phone whose software actually works.

I don’t think you’ll find a single iPhone user or developer with much nice to say about AT&T, and yet we all seem to love our iPhones.

I thought about trying out an Android phone, but the reality is that the most positive review I’ve ever heard about Android was damning with faint praise along the lines of, “it sure does show the potential to someday be an iPhone competitor.”

Yup. That’s how big Apple’s lead is.

Post Script: Deja Vu

Back in the old days of Mac OS 8 and Windows 95, “true pre-emptive multitasking” was one of the features Windows fanboys loved to point to when comparing Windows 95 to Mac OS 8. Funny thing was, the cooperative multitasking on Mac OS worked just fine for everything anyone could think of, and — in particular — Apple had hacked Finder to allow it to handle things like file copy operations in the background* (even though Finder was a single application on OS without “true” multitasking). As a result, Windows 95 had “true pre-emptive multitasking” but a single file copy would lock up Windows Explorer (and indeed the destination Window for a file copy operation is still locked up as of Vista), while Apple’s humble Finder could handle file operations in the background.

* Most power users had been enjoying this feature for some time thanks to Connectix Speed Doubler.

What’s the single most common “other” task you’re likely to want to do in a multitasking OS? File operations of course. Would you rather have “true multitasking” but file copies lock up your file browser, or “cooperative multitasking” and file copies don’t even lock up the destination Window?

With the iPhone, Apple has opted for deliberately crippled multitasking that handles emails, the phone, instant messages — but doesn’t drain its battery or make the phone unresponsive. Google and Palm have checked the “multitasking” box without really exploring whether that’s really a net benefit to the end-user.

iPhone 3GS

Monday, June 8th, 2009

Hardware encryption, voice synthesis, macro (10cm) photography, extensive voice control — and all the stuff everyone predicted. The macro photography is actually a very nice feature, since it makes the iPhone a pretty dandy scanner in a pinch. Voice control for the iPod is, for me, a bigger win than voice dialing — but then I don’t talk on the phone much. Voice synthesis I like because of one of my pet back-burner projects.

As for the stuff everyone predicted. The old iPhone 3G is now $99. The new 3GS has a compass, 3MP camera, autofocus lens, tap-to-focus, supports video, in-iPod video trimming, supports turn-by-turn navigation, 2-3x speed improvement, push support, 16/32 GB for $199/299 (and of course you need to commit to AT&T for two years).

If you’ve got an iPhone 3G, the new model will cost you $400 more ($599/$699). Ouch.

Stuff that didn’t seem to be there: more actual RAM on the iPhone, (Edit: correction, a German website accidentally revealed that the new iPhone does indeed have 256MB of RAM) background apps (does anyone really care?), 802.11n.

Available June 19th.