Tag Archives: iphone

VGZ op Reis live on iPhone and Android

Last week VGZ op Reis went live. It’s a mobile application for people on vacation, build by me.

It’s the first application I’ve worked on that simultaneously is released on iPhone and Android. Below you can find a (dutch) screencast which explains the functions of the application. It features several phone numbers that can be usefull on vacation, you can save your own phone numbers to it, you can share your location by email, and the iPhone version also allows you to create your own iPhone Wallpaper.

The design of the application was done by the brilliant guys at BUROPONY.

HTML5 webapps broken on the iPad


Apple seems to be a big proponent of HTML5: They use it for their new iAds, as Steve proudly announced during his last Keynote. So when I wanted to maken an Ipad webapp, I didn’t expect any issues. For a client of mine, I planned to work on an iPad webapp this week. It’s even the reason I bought an iPad.

Let’s start with the only good news: Setting an homescreen image, with

<link rel="apple-touch-icon" href="/custom_icon.png"/>

does work, and if you make the image 72 pixels wide, it looks great on both iPhone and iPad (the previous advice was 57 pixels, but this looks blurry on the iPad as it’s scaled up).

On the iPhone, there are some other properties you can set on a webpage to make it work offline: Besides the homescreen icon, you can set the status bar color, startup image, and viewport size, and make files work when not online. The result looks and works like an app instead of a webpage: No URL field, navigation buttons, a startscreen, etc. Apple invented these, and has extended their support in their OS updates. See for a good description: How to Make an HTML5 iPhone App and a great HTML5 example app is the PieGuy game. They work great, and can make it easier to build and distribute an application, without sending it to Apple for approval (the current appstore mess is a whole different blogpost).

Since Apple supports this in their iPhone OS, and the iPad runs iPhone OS 3.2, I expected this all to work. Unfortunately, it doesn’t.
On the iPad, the startup image and viewport size are ignored when run in webapp-mode. The viewport size is only used when shown in a normal browser window, and the startup image is never shown :(.

On an iPhone with OS 3.1, both do work. This makes the result, on an iPad, work more like a (broken) webpage, than an application.

Why did apple take working stuff out, when upgrading the iPhone OS from 3.1 to 3.2 for the iPad? Is this a simple omission which will be fixed, or is apple actively moving away from HTML5 webapps for the iPad, further pushing their appstore? Only time will tell.


I looked into this some more, and have more results:

If  you use a image with the right size, (1024*768), it does (sometimes) work on my iPad as startup image. My previous tests used a iphone-sized image, which is totally ignored on the iPad. However, it often takes a few tries before it shows the loading image, and sometimes shows a screenshot of the page, before showing the default loading screen. (so the flow is then screenshot->default.png->webpage).

I still can’t get the viewport tag to work in webapp mode: If I set the viewport to a predefined with, like:
<meta name=”viewport” content=”user-scalable=no, width=1024″/>
this does work in Safari, but is ignored in Webapp mode. If I set a scale:
<meta name=”viewport” content=”initial-scale=1.0, user-scalable=no”/>
and test in Safari, this does work on first load. However, if I rotate my ipad, and rotate back, the scale is set differently.

New old project: DWDD iPhone app


I have been so busy working on new projects, that there is a bit of a backlog of things I worked on, and that are live now. One of them is the DWDD iPhone app I built for the Vara. DWDD is a popular daily dutch TV show. The iPhone app shows the short (5 minutes) version of the last 10 shows, as well as the full version of the latest broadcast.

You can get the app for free in the Itunes Appstore.

Jeugdjournaal iPhone app live

Jeugdjournaal App screen

Last week the NOS launched the Jeugdjournaal iPhone app I built for them:

This text will be replaced

Besides showing the latest news broadcast, it also allows users to vote on the latest daily poll, which is synced with the polls on their website.

While not many children will have an iPhone, the app also works on the iPod touch, and can offcourse also be installed on the iPhone’s of parents.

The app is available in the Itunes Appstore. More about it can be found at the iPhoneclub or at the Weblog Nieuwe Media by NOS.

A quick hack to measure iPhone OS distribution

I haven’t posted here in a while, since I have been so busy building new stuff. Some updates are expected soon (iPhone Layar anyone?)
Since most of the projects I’m working on involve iPhones in some way, I was interested in OS distribution on the iPhone platform: Is it still necessary to target OS 2.xx, or has 3.xx have enough uptake?

Since the iPhone sends it’s OS version in every web request it does, I decided to have a look at my own logfiles (in the hope that bigger apps will follow :)).

I do realise this isn’t a scientific valid result: It’s just the distribution of one, quite recent, app. However, it does say something. So, without further ado, I present the results:

OS: 3_0_1 68%
OS: 3_0 20%
OS: 2_2 1%
OS: 2_2_1 3%
OS: 3_1 9%


From this small sample, 4% didn’t already run 3.xx (it might help that this is an iPhone only app: iPod Touches apparently are updated less).

Since this is only taken from a small sample, I hope bigger apps will release their stats. Here is the small PHP code I used:

foreach ($lines as $line){
if (!eregi("stufidates",$line)) {continue;}
//if ($i==0) {echo $line;}
    $parts=explode(" ",$line);
    if ($parts[12]!="(iPhone;"){
    } else {

echo "<table width=500>";
foreach ($detects as $key=>$hits){
echo "<tr><td>OS:</td><td>".$key."</td><td>".number_format(($hits/$i)*100)."%</td></tr>";
echo "</table>";
echo "Total:".$i;

If you have an iphone app that does requests to your webserver, please run this code (or something similar, it’s just a first version) on your logs, and let me know the results.

Journaal iPhone app in the news

This post will be in dutch. Abstract: The iPhone news app I created, was mentioned in the biggest daily news broadcast.

This text will be replaced

De NOS Journaal iPhone app die gisteren is gelanceerd is vandaag aangekondigd in het NOS 8 uur journaal. Ook staat de applicatie momenteel op Nr 1 als populairste download in de nederlandse appstore. Yay!

NOS Journaal iPhone app live on the Appstore


The followers of my twitter account might have noticed that I spend some time at the NOS (the Dutch public broadcasters) the last few weeks. Now I can announce the result of my work: The official NOS Journaal app is live! It shows the last news broadcast, as well as the last 8’o clock broadcast.  It can now be downloaded in the Appstore!

It runs on iPhone and iPod Touch, both over 3G (if fast enough, depending on coverage and subscription) and WiFi.

More about the app can be read at the NOS nieuwe media blog (dutch) and the website of iPhoneClub (also dutch) who was first to notice the app.

Tweakers also wrote about it, and right now it’s #2 on the dutch appstore. Yay!

iPhone 3.0


Today, I watched the liveblogs coverage of the Apple iPhone OS 3 update. And I wasn’t the only one:picture-6
As I do a lot of iPhone stuff these days (more on that later, everything is still confidential..), I do have an opinion on todays release.

Things that I’m most exited about in the new iPhone OS (in no particular order ):

Streaming Video.

This is great. Previously streaming video was only possible by using quite complex hacks, on both ends of the stream (encoding the video into a special format, download that, unpack it on the phone). There were some parties that made it work, but it was really complex. Now it will work “out of the box”

Obviously this is useful for live events, as you can now watch them as they happen. They can now be streamed to an iPhone near you. But it’s also great for non-live events. I have talked to quite a few media moguls these days, and most made clear that there is quite a rights issue between downloading content, and streaming it. These parties don’t have the rights to offer their content for download, but they are allowed to stream it over the interwebs. With this announcement, they now can, to your iPhone.

Native Maps component

A lot of mobile software does something with maps: Mobile devices are portable by definition, so they make a lot of sense to show maps of the environment. And while the iPhone had a pretty good mapping application, until now you couldn’t use it in an application. You could link to it, but that would kick the user out of your application, into maps, without a simple way back . The other option was to show a webbased map in your app. But those are slower than the native maps, and have less interface options. For example: While google maps now does support pitching int their webbased apps, it doesn’t do the smooth resizing the native maps does, and which look nice. The addition of native maps is something I expected, but which will be quite usefull.

By the way, that other new mobile platform has had a native mapping component from the start.

Push Notifications.

While it’s great to have a good application platform, sometimes you want to be able to alert the user when he is not running your application. Especially when he can only run one application at the same time.For example, if you have a social application, you might want your phone to beep when your close to other users. Or when other things happen in the world.

To solve this, Apple already announced Push notifications a long time ago, but never got around to actually launching them.  Today they announced they finally will. This enables developers to alert users of (hopefully) relevant updates.

And the rest

Other things are also nice: The subscription model makes a lot of sense for applications that provide an ongoing service (social networks, for example). Music access has been wished by many, copy/paste and MMS are finally here (what took you so long!).

I can’t wait to get to play with the new API’s. Now the only drawback of a new OS is that a big part of the audience will run the old OS for way too long..

More on the new SDK can be found at Apple

(The top picture is taken by Engadget )

Why Phonegap is the future of mobile development


Mind the gap, CC from Flickr.

Last year at MWC in Barcelona, I talked with some people from W3C, the web standards body. They asked me why we developped native mobile applications, instead of using the mobile web. For me that boiled down to two things:  More controll over the user interface, and using context information not available in mobile browsers.

We agreed that in a few years, the mobile web would be similar to the current web, with all it’s ajaxy webaps.  That future is almost here (it’s just not evenly distributed yet :))

The first issue is being solved by better touch screens, which make it possible to directly interact with a (mobile) website’s UI, instead of selecting links with a 4 way button.  So the only real obstacle against developing just mobile sites is the context information that phones often have, but can’t be accessed from mobile browsers. This part is being solved by new projects, such as PhoneGap.

For the last few weeks I’ve been really exited about Phonegap.  It’s a framework that enables you to develop mobile applications in in web-languages, and wrap them as real applications. It’s bascially a full screen browser with no URL entry field, which provides a few extra javascript API’s to the pages it runs, and can be compiled as an application. They currently provide such a framework for the iPhone, Android and Blackberry phones, but are working on other platforms as well.

This approach has several advantages over native mobile development.  

  • More people know web frameworks then native languages such as Objective C, C++ or J2ME, so it’s easier to find people to devellop you applications. 
  • If you want to develop for multiple platforms, you can reuse most of your code. When writing a native application, a lot of work has to be done for each platform. With web framework most code runs on all supported platforms, and can be reused. The only native part is the container (which is opensource).
  • Since a lot of the code is webbased, it can easily be used for a mobile website version of your application (but without the context that phonegap provides). Or you can start with your mobile site, and build it into an application.

Phonegap also has other advantages over normal mobile websites:  Since the resulting application is a “real” application, it has it’s own place on the users phone. He can assign shortcuts to it, etc. Another advantage is that these applications can be sold, making money in the process. Even for free apps the application marketplaces (such as the apple appstore), are a big marketing tool, with over 300 million applications distributed to iphones.

Phonegap is not a one-size-fits-all solution: certain applications will require native applications, such as games.  Javascript, especially on slower devices such as phones, isn’t powerfull enough for most more advanced games.  Also complex visualisations can be impossible to do in a browser (especially since almost no phones support flash).

But it’s a good fit for a lot of information-centric systems.

I really believe in the future of mobile webapplications, and phonegap is a great step in that direction. At some point the native browsers in mobile devices will support these context api’s, and the extra layer won’t be nescassary anymore. 

Thanks to Peter of Bubblefoundry for pointing me to phonegap the first time.