After the "big" Apple event beginning of March where the iPhone SDK was announced I decided that I waited long enough. I had been patient for 9 months since the launch in the US and still there was no view any official launch in The Netherlands. No other option left then to get one directly from the US. With the current $-Euro exchange rate the price would be nice also (compared to prices in for example the UK, Germany and France).

Reading the title you may think: what happened in Take I? Well, it "disappeared" at DHL in The Netherlands because a gang of DHL employees was steeling iPhones. Not quite what you'd expect from a shipper like DHL. Rumors are that the gang managed to steel over a 100 iPhones that were shipped to NL. Some arrests have been done, but my iPhone did not turn up... probably already sold on eBay or something similar.

What to do?

Apple only ships to US addresses from the online Apple store, so what's the trick to get one when you're not living in the US? Obvious solution, get yourself a US address, have Apple ship the iPhone to that address and from there ship it to any place on earth. There are multiple companies in the US were you can 'rent' an address. I did it at myus.com and that worked out smoothly. For example, when the first iPhone got stolen they claimed the insurance money at DHL and within a week I had the money on my account. Thumbs up for myus.com.  When 'renting' an address in the US, make sure it is a regular address and not a PO Box because Apple will not ship to PO Boxes.

Now that you have the address, order the iPhone on the Apple Store and have it shipped to your 'rented' address. You can use a non-US credit card for that. Apple will sent you a confirmation mail with a link to an order page. The moment the iPhone is on it's way to your US address, you can track it using the FedEx tracking website.

After it has arrived at your rented address, you request myus.com to ship the package to your home address. At myus.com you can specify shipment instructions like:

  • The shipper you'd want to use (I used FedEx the second time)
  • The amount for which the shipment should be insured. Given the experience I had with my first attempt I would definitely insure it for the full amount. It does pay of if things go bad. A slight disadvantage can be that 'customs' in your country is going to charge you more import taxes, but hey, that's better than loosing the shipment. (till now I have to received an invoice for import taxes but that may come later)
After that it took only 3 days before I had it in my hands. Ready to make the first call? Not yet, Apple still locks the iPhones down to their official operators so you have to use a tool like Ziphone to unlock it. This is a very simple and convenient process, simply press the button, wait ~ 4 minutes and done. While it is doing the unlocking it will reboot the iPhone a couple of times and you'll see all kinds of interesting message scroll over the iPhone screen. When done you can slide in your SIM and make your first call. Dead simple. Start having fun and install additional apps using the installed (installed by Ziphone), my current favorites are Twinkle (Twitter client) and Navizon (determines GPS coordinates using GSM and Wifi cells).

While the iPhone was traveling from China (they're manufactured there) to the US and to NL I recorded times and dates on a Google Map. Interesting to see the distance it traveled. The blue pinpoints and lines are the trip from China to the US, the green ones are the US to NL trip. If you look closely there is an optimization possible, on the flight from the China to the US and from the US to NL it passes through Memphis, renting an address in the Memphis area might save you an additional day...

A couple of weeks ago we had a "Join Twitter" storm at Xebia. After the Linked-in, Plaxo, Hyves, Facebook and probably a dozen of other social network storms I initially decided to pass on Twitter. But then by colleague JCP Colleague & Friend Andreas posted an entry about twitter and that convinced me to join. Why? This sentence basically did it: "Twitter can promote your blog by sending out new blog posts." This could help to draw some extra traffic to the blog...

I immediately checked if there already was a plug-in for Pebble (the webapp that hosts this blog) that would allow me link my blog to Twitter. SinceI could not find something quickly and the functionality would be really simple I decided to create the plug-in for Pebble myself. So If all goes well each blog entry that I'll post or update to my blog will result in a Twitter update. And this blog entry should be the first proof of that ;-)

In case you're interested in including this in your own Pebble blog:

  • Download the TwitterTweeter.java source and compile it against your Pebble code
  • Add the resulting class (jar) to the classpath of your servlet container
  • Restart the servlet container.
  • Add net.vermaas.TwitterTweeter in the Blog Plug-in configuration as Blog Entry Listener and Comment Listener.
  • Add the following three properties in the Blog Plug-in configuration as Properties
    TwitterTweeter.password=[your Twitter password]
    TwitterTweeter.twitterUrl=https://twitter.com/statuses/update.xml
    TwitterTweeter.userName=[your twitter user name]

    ** UPDATE **:
    Sending out tweets on each publish, update, delete and each and every comment being posted proved to be a bit of an overkill. Therefore 2 additional properties are added:
    TwitterTweeter.blog.entry.tweets=[Determines on what blog entry actions to sent a tweet]
    TwitterTweeter.comment.tweets=[Determines on what comment actions to sent a tweet]
    (See comments in source for valid values for these last two settings)
    ** EO UPDATE **
  • Restart your servlet container
That should do the trick... I initially though that username/password had to travel unencrypted over the Net, but as you can see in the above properties list the TwitterTweeter.twitterUrl has a https prefix so username and password will be encrypted... no security constraints so what is stopping you from using this plug-in ;-)