Based on today’s upcoming Hackathon I’m investigating WebWorks (not WebWorks (with annoying voice popup!) or WebWorks). These are rough, quick notes in the spirit of “publish early and often”.
So far I’ve downloaded Ripple (the emulator), the smartphone and tablet SDK. Initial reaction: it would be better if there was one download that comprised all three components. You don’t, for example, download a separate iPhone and iPad SDK, or Pre and Touchpad SDK. But bonus points for having Mac OS X installers at all – last time I looked at RIM/BlackBerry development, it was Windows-only. Unshackling from the Windows ecosystem is a good plan for any mobile platform.
On the corner of the WebWorks SDK download page you’ll note the ribbon “Fork me on GitHub”, which takes you to blackberry.github.com which includes for example BlackBerry WebWorks – I’m impressed. This looks like open development, with actual commits and merges taking place in public. So RIM should be recognised for doing this – it’s a step that so many mobile platforms have not yet made.
Another thought – since everything is branded BlackBerry, isn’t it time RIM renamed? Research In Motion is a cool name, RIM not so much, and everyone just says “BlackBerry” anyway.
Let’s dig in to the Smartphone SDK:
The installer is an app which is an installer. I always prefer Mac software to use the native Apple install app – the tooling to create these is extremely good, and a non-native InstallAnywhere installer just looks poor. It also helps prevent some of the unfortunate user experience errors that are present in RIM’s installer. Also, InstallAnywhere is just not pretty:
The first area for improvement I noticed was the Install location. The installer suggests it will be put in a root folder called ‘/Research in Motion‘ which would be just horrible. In reality, it sort-of does the right thing and installs to ‘/Developer/SDKs/Research In Motion/BlackBerry WebWorks SDK 2.3.0.9‘ if you accept the defaults. I don’t like version numbers in folder names – a workaround if they must have this would be to add a symlink ‘Current’ pointing to ’2.3.0.9′, which allows for less fragile scripting.
The SDK is 20mb, which is very light compared to others – but let’s not forget this is only for smartphones, and only for web apps.
During installation I got an overwrite error message, despite never having installed WebWorks before:
This is the kind of ugly hiccup you can mitigate by using a platform-native installer. I told it to overwrite, and the installation seemed to complete successfully:
There doesn’t seem to be any sort of GUI with this SDK – in fact I’d go so far as to say it’s less of an SDK and more of a packaging tool, allowing you to bundle your web apps into a format to drop on a phone.
Next up: my first-run experience of producing a sample app.