Category Archives: iPad

Crimson Steam

I snagged a copy of Crimson Steam (iTunes link) this past Friday, thinking it would be fun to play with over the labor day weekend. The game play is good, very good actually. It really uses the direct touch style interface of the iPad to good effect, while not trying to shim in a “virtual joystick” or the like. It ends up with a turn based sort of effect that’s vaguely reminiscent of old-school miniatures gaming.

But there is something about this game that just really annoys the crap out of me. The music theme is a (very!) thinnly veiled rip off from the Pirates of the Carribean theme. Its not the same, but its so close as to be nearly identical in my head. And that theme has been SO overworked in my hearing that I just want it to go away. I get that the harebrained folks were wanting to (I think, positively) riff on the genre, and that’s reasonably cool – but I’d really hoped for music that enhanced the game, rather than a piece which, probably because of my over exposure to it, pisses me off rather than adds. The game itself was pretty new and interesting for the gameplay – I wish they’d taken the trouble to make the music something of their own rather than relying on a “common theme” that most people will recognize to try and garner some emotion towards their game.

The artwork is a bit overdone for my tastes as well, but maybe it appeals to folks a bit more into steampunk than I am. It’s a fun, goofy genre – the artwork in the game reflects that.

The only other downside is that the game has a tendency to crash on me as well – usually right when you’re loading up a scenario to play it. I’m guessing they got a bit overexcited with the memory allocation or something, as restarting the iPad resolves it – makes me think they’re hitting upper limits on memory pressure, and just not dealing well when the iPad OS says “shrink or die!” under the covers. Their FAQ even tells you to do restart the iPad (or reinstall), which is an incredibly lame response. I hope they put a little more effort into tuning the memory use to avoid that crap in the future.

Making a board game

It’s been too long, so I’m diving back into IOS development and making a board game. I have a test app (not even close to the final thing) for working out the UI pieces of the game that I just got to a reasonable baseline (i.e. it builds, runs on iPhone and iPad, and can be OTA updated with TestFlight).

The game is Hnefatafl – not quite an ancestor of chess, but somewhat related. The board is 11×11, and the game is unusual in that it’s an asymmetric game. It’s harder to win as one player than the other.

I first learned about this game through a book (the Mabinogion) that had a reference to a game called Gwyddbwyll (from ‘the dream of rhonabwy’ – see how this crazy stuff all ties together?). Nobody really knows the details of gwyddbwyll, but there’s some reference to say its related to other games from that era – Irish and Welsh, all of which seem to be the asymmetric “save the king” tafl games.

Right now I’m building this on iPad and iPhone, but I’m not sure if I’ll release it under the iPhone – only because the squares are so damned small on that interface. I have a few ideas for how I want to make the interface function, and once I get beyond that I’m going to aim to make it a turn-based multiplayer game using Apple’s GameKit (just an excuse to use the new stuff, course). A multi-player only game seemed kind of limiting though, so I purchased a book on game AI (Artificial Intelligence for games) so that I could make a reasonable single-player game. It’s a darned good book – so we’ll see how I do implementing some of those algorithms in Objective-C. I bought the whole book for Chapter 8 (Board Games), and don’t regret a penny of the purchase.

Artificial Intelligence for Games, Second Edition

I’ve been thinking it’s time to cobble another IOS app up for sale, not just fiddle around with open source client apps (which is a lot of the IOS work I’ve been doing lately). So I found a board game idea that I liked, and thought I’d make a stab of doing it – maybe using some of the new IOS5 features for a multiplayer turn-based game.

As I got into the game, noodling on the design and how the interaction would work, I came to the realization that I really would like to have a reasonable single player game as well, and that I didn’t have a clue about how to do board-game AI to make a good game experience.

After looking around through a pile of game AI books, I came across “Artificial Intelligence for Games, Second Edition“. Heavy book, hardback – some $80 if you pick it up outside of Amazon’s discount mechanisms. It looked good after a glance-through and minimal reading, so I took it home to dig in depth. I’m really glad I did!

This book does an excellent job of describing the AI algorithms in pseudo good and good ole english, as opposed to many which seem to be littered with mostly un-parse-able fragments of C++. They reference a number of modern games, but rather than catalog “these used this type of AI, the others didn’t” (which I saw in a number of books), they took some time to explain the tradeoffs in choosing the AI mechanism in the game, even if they didn’t have the “why” of the game designer to pull from.

I liked it enough to put up a review on Amazon, and hey – I’m writing this too. If you’re looking for a good overview of AI algorithms and how they work, I recommend the book.

WWDC 2010

Ticketing system replaced and launched, I’m ready for a decompress. There’s pretty much no better place to do that, in my mind, than at WWDC in San Francisco this coming week.

I used to send myself every other year. Strangely, I’ve been attending for over 10 years now. Seems odd that it’s been so long. It’s been wild watching the changes in the conference over the years. This year is no different. There’s hardly any “just” MacOS X sessions now – iPhone and iPad (not surprisingly) crowd out the whole schedule. The time to selling out the conference is shorter this year than before, and I rather expect the crowds to be as insane as ever. Fortunately, many of my friends from Seattle Xcoders will be there – even if they love taking digs at each other over sax interface xml parsing code and “unnatural love”.

Best of all, the really big project weighing on my mind for the past month is out – I can go play, hack, drink, laugh with my friends, and not worry about deadlines for a while.

Looking for a full time Cocoa programmer

Gus, El Presidente at Flying Meat Inc., is looking for a full time Cocoa programmer to come work with him up in Everett, WA.

Here’s the details:

Do you love programming for the Mac and iPhone and think Objective-C is the bees’ knees?  Are you sick of your boring 9-5 job and wish you had more interesting problems to solve?  Would you like to join an indie Mac shop in the heart of downtown Everett, Washington?

Flying Meat ( http://flyingmeat.com/ ) is looking for a full time programmer to work on our award winning applications for the Mac, iPhone, and iPad.

The ideal employee has real world experience with Objective-C, programming with Xcode, a friendly attitude when talking to customers, and a penchant for figuring out tough problems.

Location:
- Downtown Everett, WA.

Responsibilities:
- Programming (fixing bugs, adding new features, etc) on our existing applications, and help bringing about new ones for the Mac, iPhone, and iPad.
- Assisting with 2nd level support.

Requirements:
- Experience with Objective-C and Xcode.
- Experience with Subversion or similar version control systems.
- Ability to work with at least a couple of scripting languages, such as Python, JavaScript, Ruby, Bash, Lua, JSTalk, etc.
- Experience shipping an iPhone, iPad, or Mac application.
- Highly professional, with the ability to multitask and deliver solid work on tight schedules.
- A sense of humor and an easy to get along with personality.

Experience that will help you stand out:
- Ability to work comfortably with Mac OS X graphic APIs such as Core Image and Quartz.
- Familiarity with network protocols.
- Ability to zip around in Terminal.app while blindfolded.
- You know the Mac HIG inside and out.

Benefits:
- Paid vacation.
- Profit sharing.
- Relaxed working environment.
- Retirement plan.

How to Apply:
Please send resume in plain text to gus@flyingmeat.com .  Make sure to point to projects you’ve worked on, and we would also love to see code you’ve written!

sketching on the iPad

I ran myself completely down on my extrovert batteries this past week. So far down that I didn’t even leave the house for wanting to avoid all of humanity on Saturday. On Sunday, I relinquished a bit – and at least went to a coffee shop. While I was enjoying the complete anonymity of being alone in a crowd, I decided to take some more time to sketch with my iPad.

And yes, it hasn’t left my side. On of these days Karen might get to use it. Maybe. When I get a 3G version perhaps…

Anyway, it was time for the new experiment! I purchased a pogo stylus for working with the iPad. I originally saw one that an apple employee was using in an Apple Store (she wouldn’t give it to me, strangely enough), but she couldn’t tell me anything about it. I later saw an article from the Brushes help page on it, and went out and ordered one. Since I had the stylus, I wondered how different it would be to sketch with that instead of just my fingers. Pretty good, actually. Although I’ve got to admit I’ve become somewhat of a sucker for pressure sensitivity that you get with a Wacom tablet….

The end result is that you have to press a little harder, so in the end it doesn’t feel like a stylus – or at least not like any medium that you might be used to. There’s no scratch of paper, texture to the draw, and hard or soft and angle doesn’t make a different on an iPad. The good news is that you can see what you’re drawing a little better – as the stylus is about half the width of any finger, if not a bit thinner.

I’m still very much learning to use the application (Brushes) too. I have SketchBook Pro, which is pretty cool too – just haven’t really tried to work with it much yet – focusing on Brushes to start with.

Lunch at Macrina Bakery

I’ve learned to start sketching with really light opacity and a variety of thicknesses, repeating strokes to firm up lines. I’m also just now starting to get a handle on even the basics of textures with Brushes. It’s super flexible, but that just means I’m super lost right now too. The hardest thing to get used to is slowing down some of my motions, or making sure only the stylus touches – it’s very easy, if you’re a little sloppy with your hands – to make it thing you’re trying to double-tap when hatching a background, or to inadvertently “pinch/zoom” instead of making a stroke. Still, I’m happy with the initial results, even if I have a long way to go to get to the amazing quality of artwork I see others producing out there.

SeattleBus and the iPad

I received a call last night, rather out of the blue. “Are you porting OneBusAway to the iPad?” was the opening line.

“Uh… No, but then i didn’t write OneBusAway either. I wrote SeattleBus…”

That bit of confusion resolved, we talked some more about Brian Ferris’ very impressive work with OneBusAway and contributions that it’s made to Seattle Public Transit. I thought it was worth writing some here for more public consumption too.

I am incredibly impressed and whole-heartedly applaud the work that Brian has done with his web site, public and open API, and general efforts to improve the daily life of folks using public transit in and around Seattle. I think the opportunities to do some interesting things with that site and the iPad are tremendous, even more so if you look at some of the cool things that the WalkScore folks are doing as well with their open source graph server.

I’m keeping SeattleBus an iPhone only application. I originally wrote it for me, and I continue to use it on a regular basis. My concept for the application is really only meant for the iPhone setup. Brief, very direct access to the route information you need right then. There is a lot you can do with more screen real estate, more detailed information about routes, etc. That’s not what I want SeattleBus to be. The narrow focus is the important thing to me, and the larger format screen of an iPad just doesn’t seem needed. Glorious, yes, but not needed.

For the folks hacking away at similar things – I can assure you from feedback that I’ve received: There is desire to have something more. I would encourage you to look closely at Brian’s work for ideas and inspiration. He has requested that anything using his site and APIs be made freely available (non commercial) – a perfect platform for hacking and learning while also benefitting the community. Take advantage of what he’s made available, go forth, and make some great things.

So what next for SeattleBus? Not a whole lot in the near future. King County Metro is still somewhat freaky about the use of it’s data from a policy perspective. That’s a damper on future development for me. I don’t make even close to a living from SeattleBus and as you might suspect, other projects are taking most of my spare time right now.

I am looking for an application idea to create for the iPad that would fit a iPad. Way more than an iPhone application, somewhat less than a desktop application. I haven’t yet found that fit and inspiration, but I’m still looking and not feeling in too much of a rush to just do something. I’ll strike when I find the right thing. For now… I’ll keep looking around.

The language of gestures, v0.9

Since I woke up this morning, I’ve been thinking about the patterns and new UI concepts that we are becoming accustomed to with this first release of the iPad. Like a lot of others, I’m intensely interested in the productivity apps: pages, keynote, brushes, sketchbook pro, omnigraffle. The ipad applications that reach beyond the brief interface available and so effective on the iPhone. The applications that work on documents stored on the iPad (although like many others, I wish they were stored in the cloud instead).

This past Thursday evening, after a very packed Seattle Xcoders meeting, i was chatting with a couple of fellows from Omni. They mentioned that in the creation of omnigraffle, they had focused on gestures that could all be quickly explored and were obvious: tap, double-tap, tap-and-hold. That all the functionality of the application had to be accessible from that basis. It makes sense, especially when it comes to needing to test without a device! And what I’ve seen in the applications so far is that most apps can be run with this basic set of gestures.

Keynote and Pages had an introduction document that was a sort of README for the basic use of the application. Omnigraffle followed that same suit. SketchBook Pro, on the other hand, had a little embedded video to show the functions, and in fact is probably the most complex from a gesture perspective. A three-finger tap brings up the controls, which otherwise fade from the pallete to leave you focused on painting. The two finger pinch and zoom functionality appears to be getting generally added with rotational effects in many applications now too.

The downside of the tap and do something sequences, which appear to have a good general traction for pulling up those damned handy pop-over menus, is that it appears to me to be slowing down the interface. The trickiest of these sequences is the tap-to-select followed by a tap to bring up that menu. I find myself wanting to race forward, and the gesture/sequence gets confused with a double-tap gesture instead. I have to slow myself down to make sure I’m not confusing the system. The kicker is at instead of thinking about what I’m drawing or sketching or writing, I’m now thinking about the interface. That’s the last thing any application developer wants.

Tap and hold is a little inconsistent at yet. In editors, you commonly expect it to pull up a spyglass for detailed positioning. I really like what omni did with it, allowing a tap-and-hold followed by a drag to be a selection box mechanism. I don’t know if many are doing it, but I’d love to see a three finger tap-and-hold as a general “select this area of things” mechanism. Ad yeah – riffing that idea straight from the iPad game command-and-conquer.

ps: sorry for the relative lack of links. I’m writing this with WordPress for the iPad and it turns out the making HTML links on text is a complete pain in the butt. The built in text keyboard is just very ill suited to the effort. Although props to WP developers, the text editor saw i was trying to make a link and intercepted the effort and helped me place it down. Another place where that upcoming multitasking will be damned handy – look up a link, come back and paste it in to place.

iPad UI twiddlin – it’s about the thumbs & gestures

I haven’t spent quite as much of today with the iPad in my hands, but I’ve been thinking and mulling over elements about it all day.

It’s the Mail application, you see. It bugs me. Well, it bugs me in portrait mode especially, but in general the gestures and constants that I’d sort of hope to see aren’t really nailed down well as yet. Here’s some of that detail -

In portrait mode on the iPad, everything you do with Mail.app is controlled by these relatively tiny buttons at the very top of the iPad, and not near the edges. I don’t know about you, but I can’t even imagine holding the iPad from the top of it while using it, so the “delete” button in particular (which I use a lot with email) is kind of a pain in the ass to get to. On the iPhone, it’s centered at the bottom of the page, which makes it really handy to press & swipe down on the iphone, like you’re pulling off a sheet of paper or something, and it’s a great gesture to just nuke the email and move on. Nothing like that exists on the iPad right now – although I wish it did.

The other common need is something to quickly move to another message. On the iPad in portrait mode, it’s another tiny button, again at the top. I sort of hoped that a swipe gesture (either 2 or 3 finger swipe) would move me to the next message. Since I’m a native english speaker, the idea that a swipe-left gesture would move me to the “next” message would be ideal – but regardless of wether it went up or down the stack of messages sorted by received time doesn’t matter – so long as I could flip through them fairly quickly. That’s exactly the metaphor used in iBook, by the way. I want that same gesture metaphor in Mail.

In landscape mode it’s a little better, but you still can’t quickly jump up or down the queue of messages. A swipe gesture, ideally something that you could do with your thumb would be ideal. In iBook, you can just tap the right side of the page to move it forward too – that’d work, especially as the right-thumb tap in my case. Simple, quick, and I can process the information without having to tap around the screen all that much.

And yeah – for anyone from Apple or other developers, I’ve submitted the feature request: radr://7826844

I made this same feature request to Brent on NetNewsWire for the iPad. He’s got a great “next unread” icon in the upper right of the RSS reader, including a nice indication of if it’s the last unread article in a feed. And it’s in the upper right corner of the screen. I’d love it in the lower right (or lower left) – where my thumbs can tap at it quickly.

Gestures…

In general, the gestures aren’t common place as yet – although I expect them to become more common in the near future. What you use for 1 vs 2 vs 3 finger gestures is a damn good question – something to be sorted out as yet. Three-finger swipe left and right seem to be coming down as “undo” and “redo” respectively. 3 finger tap – bring up some overall control panel. But I’m basing this off a limited number of applications, and some of those drawing applications on the iPad. I haven’t even checked out what Keynote, Pages, or Numbers uses in this respect as yet…

iPad day one

Like a huge number of other folks, i wrangled an iPad for today. I pre-ordered it and waited for UPS to deliver it this morning. It made it into my hands just after noon, and I’ve been poking at it and trying out applications since about 1pm.

Here’s some thoughts and notes in no particular order about my first day with it:

This ain’t no kindle killer… the iBook functionality is nice, but the device is not a one-hander. You’ll prop or couch the device to be comfortable, and you’ll spend a lot of time with it horizontal, just because you get better functionality from a lot of apps that way. IBook is good, but I’m subtly disappointed with it’s interface (it felt kinda slow and “pause”-y) and there wasn’t much of a selection of science fiction… My technical books from PragProg loaded up great though.

Just because it’s not a one-hand-kindle reading killer, this thing is absolutely going to transform media. As a browser, it’s amazedly fast. The media applications, from the WSJ to NPR to ABC and USA Today have all embraced something that’s almost wholly new in this format – a touch beyond what you can do in a browser, and the overall experience with this super-focused interface makes it something different. Just from the day one launch apps, i can see more possibilities coming on the horizon for this kind of content.

iPhone and iPod apps work – but really, really feel like second class citizens next to the apps that have designed for the larger interface. Facebook, for example, is almost more usable directly in safari than through the Facebook application.

The larger screen real estate is wonderful, especially when viewing pictures or video. Some of apple’s own apps aren’t obeying the “turn anytime” rules of the iPad HiG, and you’ll find yourself in landscape rotation just because you get more immediate functionality in most apps from it.

The drawing apps are really nice, as is Pages and Keynote. They are not, however, always super intuitive. They do a good job introducing the interface, but it’s going to be one you learn. Especially Brushes and SketchBook Pro.

Typing in landscape isn’t too bad, but just typing on your leg is a pain because the device is light enough to flop around a bit, making the typing difficult. In portrait mode, you’ll be doing the two finger hunt and peck routine. Hitting the space bar to speed typing is proving difficult for me.

Spelling checking is nice, but ironically the replace mechanism doesn’t always seem to function properly. Dunno what that’s about.

All in all, I love it. It’s the device that I’ll have near the couch all the time, or sitting on the bed stand. I might drag it around a bit just too see how much of a pain that will be, but it really feels more like a hardback book that you’ll keep handy for reading rather than something you might haul where ever like a battered paperback.