Rumproarious

A boilerplate html5 app

By on
Find me on: Google+, Twitter, and email

Adobe Air came out around the same time I started to get more in depth with javascript. I can remember discussions with co-workers about how you can now build Applications, we were still calling them applications, using web technologies. The idea was spurned buy many, even those whose opinion I had often appreciated.

Air is not the best example of a web technology app platform, but it was quite early. It also wasn’t unprecedented. You could write things like Yahoo Widgets, and Dashboard Widgets in JS. Web Standards folks were also early to the game, without things like applicationCache, and localStorage a lot of web apps wouldn’t be possible.

Then came the iPhone, and Mobile Safari. As soon as I realized you could make almost native look-a-like I was blown away. Hook, line, and sinker I thought it would be the future, and I thought everyone else would see it my way, but again it was yea, so what. Even really smart people were just like, yea so, what? So, I wrote about it. It’s fair to say that a big reason I started blogging, for reals, was because I simply felt no one was paying attention to how awesome web apps were going to become.

Now, some awesome things are happening, and web apps can live in an unimaginable amount of places, and recently on the Simplenote API mailing list there was a request if anyone knew about a blackberry client. There was an old project, but none out in the wild yet. Also, earlier this week I got an invitation to try out an interesting cloud build system for mobile applications. Toying with PhoneGap has been interesting, but I haven’t “shipped” anything. These two coincidences were the spark to create something cross-platform. I created a Cross-Platform Simplenote Client the code was created from many open source projects, so it is in turn open source. I copied the basic app phonegap-start, I uploaded it to the phonegap builder. Palm, and Symbian were done quite quickly. For palm at least, you end up with a IPK that is uploadable to the Palm OS store.

My goal for this project is to try and make one code-base be on as many platforms as possible, you could almost call it a boilerplate html5 app. It’s also important that it be non-trivial, that it can actually do something on as many platforms as possible.

References For Building Cross-Platform Simplenote

The basic HTML, and main frame works is from a Simplenote client for chrome. I then swapped in a bunch of stuff from the phonegap-start package to be compliant. I moved a bunch from the background.html into index.html.

Google Chrome extensions communicate across ports, I changed the usage of ports into the jQuery custom events.

After digging into the original extension I kept running into 401 errors from Simplenote, I also wanted this whole thing to work on the web without the need to install anything, so I swapped in a generic simplenote lib that was written entirely in JS and uses YQL to do cross-domain POST’s.

I also dug through simplenote-html, and Noted for inspiration.

See more blog posts...