July 3, 2007

Apple iPhone Device Detection

If you are doing mobile device/browser detection on your web/app server, how should you be treating the iPhone? Well, first off here is what the User-Agent for the iPhone looks like:

Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3

For statistics purposed you might want to be detecting this as a phone or PDA, but for rendering it should be treated just as any desktop browser; one that doesn't support flash. There is no WML or xHTML-MP support, and from a mobile content provider standpoint, there is not a lot you can do with the iPhone. Just feed it regular HTML or xHTML pages.

Also note that the iPhone is not using the AT&T mobile gateway so you are not going to get any of the headers that tip you off that it's a mobile device; not even an x-up-subno. Good thing it supports cookies, although as always I recommend session tracking for all mobile devices using URL rewriting.

Right now it's obvious that the iPhone is coming from AT&T, but as other network operators launch it, it may become difficult to detect the network operator due to lack of headers. You can track the remote-host or remote-addr, but if the phone is in WiFi mode, you are going to end up with Host/IP data that doesn't map to a network operator.

July 2, 2007

Has the Revolution Started Yet?

Here are some random thoughts/observations about the iPhone now that it's launched. As someone who has a daily hands-on experience with a ton of different mobile devices, hopefully I've got something to add to what's already been written.

- EDGE network. No thanks. You couldn't get me to plop down $50 for an EDGE phone, let alone $500. I don't want to hear about WiFi either. WiFi is not a mobile technology and I need to connect when I am mobile. I use my phone to connect my laptp to the internet when I'm on the road (don't think you can do that with the iPhone either, for sure not with Bluetooth like my LG CU500)

- SIM Cards. I've seen it written in a few places on the web that you can't take the SIM out of the iPhone. Yes you can. The iPhone is using OEM parts, and an OEM SIM cradle, just like every other phone. Just poke a paperclip in the little hole on top and your SIM will pop out. Maybe you still have the paperclip you used with your first Mac for getting 3 inch floppies out of the drive.

- AT&T's data network was down (in Seattle at least) today from around 12:00 til 2:00 ish. I and several others that I checked with weren't able to get any data at all on phones or iPhones. We weren't able to get any data even in the downtown AT&T store. Was this due to the sudden influx of iPhone owners using their phones for the first time away from their WiFi networks?

- No iSync over Bluetooth? (Yes, I'd like to return this iPhone please.)

- Not to be totally negative; the user interface is stunning. This is definitely the best iPod ever.

April 27, 2007

Whither .mobi

The importance/relevance of top level domain names for mobile has come up recently in a few discussions with peers who are building mobile websites. I've been asked quite a few times if I thought it was important for someone launching a mobile site to purchase a .mobi domain for their site. I've given this a lot of thought lately and have discussed the benefits of having specific domain names for a mobile site with colleagues and have come to form the following opinion about domain names in regard to mobile sites:

The domain name of your mobile site is only relevant insomuch that it is relevant to mobile search engines. So the top level domain (i.e. .com, .net, .mobi) probably doesn't make a whole lot of difference.

Here's my argument; domain names are not a good way of addressing content. Entering a domain name into your desktop browser is an easy thing to do, and if you are not sure of the spelling or can't remember the address perfectly, it's no big deal to try until you get it right. Companies like Marchex are making bank on the fact that some people will just type in www..com when they are looking for information on whatever. This is not the case with a mobile browser. Mobile users are not going to risk entering a domain name that they don't know for sure is going to take them to the content they want. If the domain name is a long one they might not even be willing to enter it at all. No, the way that we navigate to content on mobile devices for the most part is going to be search. This is becoming clear and we are starting to see a lot of press and recent renewed focus on mobile search because of it.

So if the mechanism for finding information/content on a mobile browser is search, you need to be making sure your content is relevant, not your top level domain. While the mobile search engines do give weight to the words that appear in your domain name, it's apparent that they do not discriminate based on top level domains. Why would they. Having a .mobi TLD does not ensure that the content is mobile content, just look at http://pc.mtld.mobi . No, the way they determine the content type of your site is by looking at the doctype of your page. So if TLDs are irrelevant to the mobile search engines, the primary user interface for finding content, you are just as well off with a $.99 .info domain from GoDaddy as you are with the $18.99 .mobi domain for your mobile site.

April 9, 2007

Firefox Plugins for Mobile Web Developers


If you are doing any mobile website development where you are using device detection or adaptive content, you know how unreasonable it is to use a mobile phone/device to test your site live. There are a few plugins that you can use with Firefox that allow you to basically emulate a live mobile device. These shouldn't be used in place of actual live device testing but for testing while developing, these have been invaluable to me.

Firefox Plugins:

  • wmlbrowser - Add WML markup support to your browser.

  • XHTML Mobile Profile - Add xHTML MP support to your browser.

  • User Agent Switcher - Use this plugin to send the user-agent string of whichever mobile browser you want to emulate. Try a diverse range of user-agents to make sure your app can handle all the different formats.

  • ModifyHeaders - Allows you to spoof headers. Use this to add an x-up-subno, x-wap-profile, etc. header to your browser session so your app thinks you are coming from a network operators proxy.


With these few Firefox plugins you can get close enough to looking like whichever mobile device you'd like without having to suffer the delay of testing with a real phone.

March 13, 2007

T-Mobile U.S. Woes

There were a lot of posts about two weeks ago about T-Mobile disabling network access for third party application (like Google Maps for Mobile) on phones, and it seems to have been resolved for the most part. Seems they were blocking internet access beyond T-Zones for anyone who had only paid for T-Zones. The tier 2 tech support person I spoke to called it "stealing". Seems they also blocked access for those, like us, who pay for unlimited data access as well. After a LONG time on the phone with different tech people at T-Mobile I've got a pretty good handle on the situation. According to T-Mobile, the official line is that they don't support third party apps and if you want to access the Internet with your phone, you should buy a Blackberry or Sidekick. That is what the technical support kept telling me anyway.

So despite what I was told by T-Mobile, it looks now like if you have an unlimited plan, you can access the net again using your third party applications. What hasn't been mentioned much on any of the news sites is that T-Mobile is disabling their feature phones from allowing network access. Most if not all of the T-Mobile phones that we have profiled in the last 6 months have not allowed network access. The phones either have the network access permisions disabled or the phones simply will not connect.

Anyone out there have any insight into why T-Mobile would want to close off their network to 3rd party application and game developers? Unless it is some very poorly (in my opinion) take on the market and what customers want, I'm forced to suspect it has to be network related.

Are we really back to closed gardens again? We can work around it, even though it's a pain, but mobile games are going multi-player, applications are going networked and have been for a few years. Why would T-Mobile take themselves out of the eco-system like this?