Peculiar device recognition by Disney

Earlier today I followed a link on mocoNews about Disney announcing record visits on their mobile site. I remembered Disney has a nice disney.mobi address, so when I read that the article talked about visitors to “disney.com” I was a bit surprised and wondered if it was a mistake. With my Sony Ericsson V640i I went straight to the .com and to my great surprised I saw a nice mobile site. My curiosity immediately grew from 0 to 100!

I opened a nice xterm and started playing with curl and headers. Here are a few discoveries:

  • disney.go.com is the real address, no matter what you use, you are always using the .go.com domain
  • device detection happens in the very first page, once you’re on disney.go.com you are going to get the desktop site with flash, javascript, etc
  • the real mobile site is at m.disney.go.com, once you’re there you will always get the mobile site
  • the iPhone seems to go to the desktop site, but then gets a special layout
  • no matter what headers you set, if you go to .mobi you will get the mobile site
  • the desktop site is served with a Windows server, so I assume developed in .NET
  • the mobile site is served from a Coyote linux, using Tomcat
  • if you only provide the User-Agent string of a mobile device you will NOT be detected as mobile
  • in order to be detected as mobile you will have to provide a valid UAProf URI, and that’s actually enough by itself
  • the iPhone on disney.mobi gets the same presentation as all other devices, i.e. not the same as if you visited disney.com in the first place

There is definitely some broken flow here, although I think the mobile experience is very good and the detection at the root is a very good move. Now, will someone from Disney tell me how many visits they get from mobile compared to desktop? I’d love that. 😉

Some nerdy stuff if you wanted to replicate my tests.

Basic request (and then follow the redirects):

curl -D – http://disney.com

Basic request with mobile User-Agent:

curl -D – -A “Mozilla/4.0 SonyEricssonV640iv/R1EA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1” http://disney.com/

And with UAProf:

curl -D – -A “Mozilla/4.0 SonyEricssonV640iv/R1EA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1” -H ‘X-Wap-Profile: http://wap.sonyericsson.com/UAprof/V640iR101-3G.xml’ http://disney.com/

And just in case, with iPhone User-Agent (and no UAProf as it doesn’t serve it):

curl -D – -A “Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2_1 like Mac OS X; it-it) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5H11 Safari/525.20” http://disney.com

Even more nerdy note, the desktop site sends the following header:

X-Cnection: close

According to a quick search some proxy or gateway in the middle.