What’s (not) wrong with the iPad
Lots of suggested iPad downsides on the Internet this morning. Thought I’d tackle a few.
It doesn’t have a camera
It’s 9.5″ by 7.5″ wide, and 0.5″ thick. You want to try taking a picture with something that shape?
Besides, you’ve got a camera-shaped iPhone in your pocket.
It doesn’t make phone calls
It’s 9.5″ by 7.5″ wide, and 0.5″ thick. You want to try holding that to you ear?
Besides, you’ve got a phone-shaped iPhone in your pocket.
It’s got a big bevel round the edge
So have books.
Because you hold them in your hand.
It doesn’t support Flash
Because Flash is slow and cumbersome, and the iPad supports HTML 5.
Name me one web app that couldn’t be achieved in HTML 5, without the need for Flash.
It doesn’t support multitasking
Because it doesn’t need to.
If you really need your apps to multitask when you’re on the move, buy a MacBook. If you’d rather have all-day battery life and guaranteed foreground app performance, buy an iPad.
I already have a Kindle
The base model iPad only costs $10 more than a 9.7″ Kindle DX.
Apparently the Kindle only reads books.
I still feel a bit… underwhelmed
What did you expect – Apple had invented perpetual motion?
Just wait till you use one.
Developing hybrid iPhone apps
There’s been much discussion recently about native iPhone apps and web apps, and whether one approach is better than the other. I’d like to suggest a third way of developing for the iPhone, namely “hybrid” iPhone apps.
A hybrid app is a native iPhone app providing a wrapper to embedded HTML / JavaScript / CSS content. I released a hybrid app (in collaboration with JavaScript guru Tim Down) on day one of the App Store.
Our hybrid app is a simple puzzle game called iDrops, based on the classic SameGame concept. Tim originally wrote the game in JavaScript some years ago, with myself providing the visuals. So we already had an interoperable, multi-browser-supporting JavaScript game to hand. With the iPhone SDK still in its infancy, we decided to take our existing code and wrap it up as a native app. What we ended up with was the same game, based on the same HTML / JavaScript/ CSS code, in a format that we could sell on the App Store.
In order to get a hybrid game app up and running, there were several problems we had to solve. This article describes how we did so.
Empty XHTML tags and Internet Explorer DOM traversal
Here’s the problem: HTML and XHTML pages containing empty elements with no end tag such as <span /> break JavaScript DOM traversal methods in Internet Explorer 6, 7 and 8, resulting in nodes after such an element showing up in more than one node’s childNodes collection.


