Mobile Application Smackdown — openMIC Bath

Last week I attended the openMIC Mobile Innovation Camp in Bath. My co-conspirator Bruce Lawson presented on top tips for mobile web development in the morning, while I ran a barcamp session in the afternoon around the subject of native applications, web applications and widgets.

To set the scene for the session, I came prepared with an extensive presentation – now available on Slideshare.

The demos I showed:

Overall, this was a great day. I'm particularly happy with the good discussion around native <video> and <canvas> that developed during my session. Will these new technologies really replace Flash? Some of the participants weren't convinced, but we all agreed that at least they now offer an alternative to developers…at the end of the day, it's still about what the users want from our sites.

Bruce's presentation Practical Tips for Mobile Widget development (which also useful for making normal Web sites that are "mobile-friendly") is available (I've removed decorative images so it was small enough to post to Slideshare):

If the word "widgets" makes you think of little toys, look at the SVG Edit widget that takes the open source, web-based, JavaScript-driven SVG-edit project and turned it into an amazing standalone widget that can hold its own against traditional desktop applications.

Perfecto Mobile have an application to help you to easily test your widgets and websites on real mobile devices, and are giving seven hours free testing.

Using Google Web Toolkit for Opera Widgets

Daniel Vaughan asked a question about using Google Web Toolkit to make Widgets. I didn't know the answer, and he was kind enough to research the answer himself and allow me to post it here.

GWT lets you write Java code and then compiles it to cross-platform optimised JavaScript. Inspired by your talk last week and an employer who has mobile applications high on the agenda I have spent some time investigating how far I can go by creating GWT JavaScript and packaging it up as a widget. I first tried packaging my code as a Nokia WRT widget as I have a Nokia phone but I have also tried packaging as an Opera Widget and both work without problems.

GWT is designed to be deployed to a Java web container such as Tomcat and supports the JavaScript communicating with back end Java services through an RPC mechanism. We are a financial services company with a lot of existing Java at the backend so this is important. As the GWT JavaScript can perform RPC calls to the Java services on the same server this is obviously a problem on mobile as there is no Java web container to run the services in and no way to connect to services on other machines through RPC from JavaScript. However I then looked at calling the services on a remote via JSON running into cross site scripting errors but when I changed to using JSONP it worked well and I could get at my backend data.

I am now working on a more comprehensive proof of concept which uses some real backend services and addresses a realistic business problem but I just wanted to let you know that in my experience GWT + Mobile Widgets look promising.