Site specific browsers for mobile?

I'm catching up on some mobile-related blog reading today, and was spurred to write something by Tim Bray's Mobile Blues and Dean Bubley's re-post of an article by David Wood. (And thanks to Roland's Google Reader Shared Items, where I am getting a wealth of mobile and food related links)

Canada (and the world in general) is caught up in a storm of mobile imaginings based on the launch of the 3G iPhone. Recent results of app sales potentially point to a future where carriers *don't* have a chokehold on the mobile handset experience: for the first time, your average non-technical end users can easily buy and install applications for your mobile fun. Except, of course, it's just another kind of walled garden, just one run by a computer company instead of a carrier.

Tim in particular has issues with that, as well as with having to learn yet another development environment to program native apps for the iPhone:

But there’s a little problem and a big problem. The little problem is that I don’t wanna learn Objective-C and I don’t wanna learn a whole new UI framework. I acknowledge that lots of smart people think Objective-C and Cocoa are both wonderful, and quite likely they’re right. I don’t care. I’m lazy; I know enough languages and enough frameworks. You’re free to disapprove, but there are a whole lot of people like me out there.

The big problem is this: I don’t wanna be a sharecropper on Massa Steve’s plantation. I don’t want to write code for a platform where there’s someone else who gets to decide whether I get to play and what I’m allowed to sell, and who can flip my you’re-out-of-business-switch any time it furthers their business goals. …

OK, points taken. You don't *have* to learn another programming environment, but every experience I've had with Java on every single phone I've ever owned has been .... terrible. Use Java if you want to quickly prototype an app for your enterprise ... but the usability and UI for the average end user, never mind the install process, is terrible. Most people go to native platform code for that final bit of polish (IF that polish is needed for your target market).

I don't have much to say on the locked platform aspects: you make your choices. In some ways, writing native apps for *any* platform is a level of lock in. That is, shouldn't we rail against OS X native only apps in the same way?

And here we finally come to the punchline hinted at by the title. For desktop operating systems, there are now a couple of site specific browsers (SSBs [wikipedia link]): you enter in the URL of a website / webapp and it is bundled into a separately clickable "application" that you can run like any other native program on your desktop. I use Fluid, based on a WebKit engine, and there is also Prism, based on a Mozilla engine.

So, somewhere between widgets and full blown native applications, can an SSB engine for mobile operating systems reign supreme? Bubley's summarized thoughts on this are:

…for many applications, Mobile Web will be the way to go, for ease of development, cross-platform support, rapid update and so on.

But for some the most important and demanding applications, there will still be a need for native development, even if it comes with a dose of pain.

The mobile web, with advanced, compliant browsers available on smartphones like the iPhone or various Nokia phones, is the Internet. Various UI niceties and formatting to fit the screen factor aside, this is regular ol' HTML and AJAX, no new platform to learn here.

So, I'm looking forward to "Fluid for iPhone" or "Prism for Series 60": I can think of a web app developer or three that would be VERY interested in exploring a potentially very quick way to have apps on these smartphone platforms, without the full pain of native app writing. Actually, paging Handimobility -- there might be a very nice business in there...

Comments

Software Creation for the iPhone

I absolutely agree that the current Native App development environment is not right for many cases. It's overkill. There's far too much to have to know, and not enough payback, leading to web apps which are OK for most of the UI, but too much overhead (not to mention the problem of network latency with some UI gestures - for example, clicking on a word in a list to show a detail in other part of the screen is dead-easy on a local app, on the web it takes all sorts of Javascript work).

What's really needed is something like RealBasic for iPhone. You'd build the app with drag-and-drop on the desktop, add some simple high-level scripting, and deploy via a menu command. This is different from the Interface Builder and Objective C combo that Apple pushes in that it would be easier to create the logic of an app quickly, rather than just the UI elements. The key is to be able to have the build-test-tweak cycle as quick and easy as possible. Rather than install a whole new complle each time, you'd have a run-time engine on the phone handling all of the UI tasks. There is certainly the horsepower to do this on the iPhone, since the Mac has had similar engines running on it (with far more UI overhead) since the 90s (Hypercard, Supercard, etc.) and Windows had Visual Basic (and still does).

 I have no doubt that someone is thinking of software just like this; It's not a new idea. The first to market with a robust enough feature set will win in this case.

 

Write native iPhone apps with JavaScript

Hey buddy.  been a while but seems like our thoughts are colliding again.  The Nitobi crew started a project called PhoneGap (www.phonegap.com) to address these very problems.  It's an open source project that allows developers to use JavaScript to write apps for the iPhone that run in an embedded instance of WebKit but have acces to local SDK features such location, acceleratmeter, photos, vibrations etc...It's early days still for this little skunk works project but we're hoping to get some contributors and customers on board soon to help acclerate it! YAY for JavaScript developers!

Just heard about it...

..via Barefoot. Yeah, this is a great idea. The gap between "make an iPhone formatted web app" and "make a native iPhone application" is a really big one. This middle ground is excellent.

Prism for Nokia N8x0

Prism has been ported to the Nokia N8x0 internet tablets. See:

http://tonikitoo.blogspot.com/2008/06/mozilla-prism-for-maemo-out.html

i'll right, i'll add a block with my shared links to my blog!

and i agree, java has so much potential but it's too litle too late, java still s*xors in 2008 as much as it ever did for consumer real world apps (enterprise is dead STILL!), and java fx or whatever it's called isn't going to help, it's just another acronymn in a sea of highly confusing java related technologies