I did it, I bought an iPad

I have been tempted by the iPad for a while now, it seemed to offer the power of a laptop without the inconvenience of a laptop. A long battery, yet always connected and always on. I knew full well about the downsides and I didn’t expect to be typing large documents on it, but for browsing the web, checking email and chatting on instant messenger it seemed perfect. So was it?

Not prefect, but very good

The iPad 2, despite considerably lower specs than my laptop on paper feels snappy and rarely do I have to wait for anything to happen. Unlike a laptop, there is no fan – so I feel comfortable leaving it on my bed, or on the carpet knowing I’m not to come back and find it with fans whirling while it melts. The device seems durable, whereas the iPod has a an easy-to-scratch surface, the iPad won’t get scratched under normal use.

Lack of apps

One thing I have found is the lack of iPad specific apps. It’s still quite a new platform, so I can forgive app developers slightly – but the big hitters such as Spotify and Audible still make you use the iPhone versions of the app, which only work in portrait mode and look pixelated. The keyboard layout is also different for iPhone apps, which is rather confusing. While I can type pretty fast on the iPad, the lack of any blogging software as good as Windows Live Writer means I still prefer to fire up my laptop to write anything substantial. An iPad version of Google Chrome would be nice, or at least a way to sync your Google Chrome bookmarks easily (it can be done now, but involves using a 3rd party service and isn’t worth the hassle in my opinion).

Quality not quantity

Having said all that, the apps that come with the iPad are of a very high quality. The Mail, Calendar and Contacts app are very impressive. I was surprised Apple didn’t include an alarm clock and weather app, seeing as there is one available for the iPhone but it’s not a big deal as 3rd party apps have filled the gap.

For casually browsing the web or responding to emails, iPad wins. Booking a holiday? Then I’ll want 30 tabs open at once, and the iPad isn’t good at context switching. Overall I am impressed, it really does fill the void between a smartphone and a laptop. Tablets won’t replace laptops in my opinion, but they will take on many of their roles relegating laptops to the more comprehensive tasks.

Highly recommended.

Why the JavaScript obsession?

If you’ve read anything on the web about technology recently you’ll know that many technology pundits and enthusiasts are claiming that HTML 5 and JavaScript are the future of computing. Even Microsoft is jumping on the bandwagon with Windows 8. But is it? Yes it has the benefits of being open, easy to learn and cross platform – but is it the best tool for developers? I’m not so sure, and I think JavaScript is the weak link. There is no compiler to warn you you’re doing stupid things, no way to enforce variables to be declared final or even to be of a particular data type. The extremely loose nature is a benefit when trying to learn it, but when you’re working on a project with thousand’s of lines of code it can get tricky. Want to rename a variable? I’ve yet to see an IDE that can refactor JavaScript the way Eclipse or Visual Studio can with Java and C# respectively.

Maybe I am showing my ignorance here, but it seems to me that JavaScript might be great for small scale projects, but would I choose it for a large enterprise system over Java or C#? Is it popular simply because it happens to be the only scripting language almost guaranteed to be available on any device, rather than because it lets developers write elegant, maintainable and scalable code?

Appcelerator is a tool I’ve been using recently to develop an iPhone app. It’s actually quite good, if not a little buggy here and there – but their central premise is that you can reuse your web skills and code JavaScript instead of Objective C. However, all you borrow from the web is the syntax of JavaScript, since there’s no DOM, no JQuery and instead a bunch of custom components. It’s a nice tool, and will surly get better over time, but I do sometimes wonder why they chose JavaScript as opposed to Java as their supported language.

This reminds me of when “RAD” was big in the mid-nineties, Visual Basic was the future (remember, in VB there was the variant data type that could be anything). A few years later Java was the future, with its strict enforcement of OO practises. Now it’s swung the other way with JavaScript and Ruby be touted as the way forward. What will be next I wonder?

Does Microsoft have a virtualisation trick up it’s sleeve for Windows 8?

Please Microsoft, do the right thing!image

So Windows 8 will be all things do all people, a tablet operating system to rival iOS and Android for consuming content, while at the same time a fully functional desktop operating system that we use to create content. Sounds great, right?

How can that be possible? Can you imagine the iPad having 10 hours of battery life if it had to run all the background processes (and crapware) that comes preinstalled on most PCs? Bloated AntiVirus software, scheduled disk clean-ups, random Adobe icons, it can be a bit unwieldy for a system that is suppose to be “always on” – the iPad will after all, receive notifications while in standby (and yes the 10 hours is actual usage, not standby). I can’t see Windows doing that, and even with specially tuned hardware all it takes is for someone to install a bit of rouge “classic” software (rather than software using the new JavaScript and probably Silverlight APIs) and that all gets thrown out the Window (sorry, bad pun).

So maybe Microsoft has taken the technology it developed for Windows 7’s “XP Mode” and made it so when you buy a tablet PC, the classic side of the system that can run all your old software is completely virtualised. This would mean the entire legacy system would be contained within a single process that could be paused to save battery.

When installed on a desktop, this extra layer probably wouldn’t be needed (Obviously games and other high-end software won’t run well in a virtualised environment) – but for a tablet I think it makes sense.

Obviously this is just pure speculation on my part, so lets hope all will be revealed at this year’s BUILD conference.