On February 23rd I gave a talk at PANMA‘s Mobile App Development Demystified event. My talk was titled Mobile App Development from a Web Developer’s Perspective. Here are my slides:
I want to say thanks to everyone who came out to the event! Also thanks to Joe Kaufman and Rob Hall for their fantastic presentations. We ran a little long and some folks had to leave before seeing Joe’s demo, so I just wanted to mention it here. For those of you who haven’t see it, GameSalad is pretty magical, and the demo definitely got more than one round of applause. Check it out (take a minute or two to watch the demo video—you’ll be blown away). You should also check out Rob’s PhillyGeekCentral app (written entirely in ActionScript 3 and compiled using Flash CS5).
Beyond that I just wanted to open up the comments for any feedback anyone might have on my talk, and to answer any questions that came up after we finished with Q&A. Feedback is particularly useful to me (and don’t be afraid to criticize—I can handle it) because I haven’t done much presenting and am still trying to get a sense for what works and what doesn’t.
There are two things that came up in private after the presentation that I think are worth sharing with everyone:
- A couple people asked me about styling applications written for PhoneGap or Titanium. In the case of PhoneGap you don’t really get any built-in styles because it’s really just a web page running in a chrome-less browser. That means if you want to mimic the iPhone’s UI or create something similar, you have to do it all with CSS and JavaScript. Luckily there are a number of frameworks out there that do that for you, and when I get my slides online I’ll have a bunch of resources to start with. For right now I would recommend checking out XUI and jQTouch. These tools help you get a nice mobile UI up and running in no time. (It’s worth mentioning that in the case of Titanium this is less of an issue because you can use native components.)
- I also noticed that the question of local storage came up a few times, and I just wanted to clarify there. Mobile Web Apps, PhoneGap Apps and Titanium Apps all have access to local storage. Even in a web app, you can save settings to the phone that will still be there when the user closes Mobile Safari and reopens it. You don’t have to talk to a web server at all if you don’t want to.
Finally, I wanted to talk a little about choosing whether you should build a web app or a native app. This is something I’ve been thinking about a lot and just didn’t have time to talk about last night. Right now everyone is trying to get on Apple’s App Store. It seems like most major web sites either have native apps on the store already, or are planning to do so soon. But in the case of services that aren’t used daily (or at least weekly) I don’t think this makes any sense. There’s a reason that Kayak.com (thanks to Andy Mroczkowski for this perfect example) is a web site and not a program that you download for your computer; For services that you only use time-to-time, it doesn’t make any sense to use a dedicated application. So why would you want a dedicated application on your phone? Well, you probably don’t. But because everyone needs to be on the App Store today, that’s where you’ll find Kayak’s best mobile interactions.
That’s not to say that there aren’t a ton of instances where a native app wouldn’t be worth it. I just think that far too many people are trying to develop native apps when they really aught to be working on great mobile web sites (or web apps). Just like anything else, think about your users and their needs and choose the best option for them, even if it’s not 100% buzzword friendly.
Well, this post came out a lot longer than anticipated. If you can’t tell, mobile development is a topic that I’m happy to talk about, so if you have question feel free to ask.
Here are some of the resources I mentioned for mobile app development:
- Safari Mobile Web Programming
- Viewport Meta Element
- CSS3 Media Queries
- PhoneGap
- Titanium Mobile
- Apple iPhone Dev Center
- W3C Geolocation API
- Offline Storage & Caching
- CSS3 Transitions
Related posts:
- Mobile App Development slides … Mobile App Development slides from @panma event will be online...
- Review: Zend Framework 1.8 Web Application Development At the beginning of February PACKT Publishing sent me a...