The Life and Times of AdMob

A few days ago one of our engineers, Josh Snyder, sent this message to everyone at AdMob:

Ernest Hemingway wrote a six word short story (“For Sale: Baby shoes, never worn”), which recently inspired a book of six word memoirs: http://www.smithmag.net/sixwords/.

I thought it might be interesting to hear AdMobsters’ six word memoirs of their time at AdMob so far.

So…if you feel inspired, send me six words, and let me know whether it is ok to share. If there are enough share-able responses, I’ll compile them and send them out.

Two examples:

“Philosophy Ph.D. dropout coding adservers — surprise!”
“Before iPhone, I had a life.”

-josh

For me personally, it was one of those times when I find not being a native English speaker very frustrating (think Michael Schumacher forced to drive a Fiat Cinquencento).

The frustration did not last long, though: “Overseas. Left to my own devices”, six words which perfectly described the status of a guy doing WURFL in Rome, Italy, for a company based in San Mateo, California. (As an aside, it was an “editor’s pick” ;) ).

Yes. My job is WURFL, The Wireless Universal Resource FiLe. WURFL is an open-source project I have been managing since 2002, which has become some sort of de-facto standard among mobile developers. If you want to create mobile apps, chances are you need to figure out device capabilities. If you want to do it without paying for a commercial (closed-source) framework, WURFL is probably the best solution.

WURFL is the device data. But there is more. WURFL is also the programming API which enables your application to query device data in real-time. I created the first WURFL Java API in 2002. In hindsight, I have obviously got a bunch of things right at my first shot, because that API is still being widely used today across the planet.

Yet, over the past 2 or 3 years, the API has been showing signs of age.

Back in 2002, there were only a limited number of Internet-enabled devices around. To add to that, mini-browser manufacturers were not going out of their way trying to “convince” web applications that mobile devices could manage fully-fledged web sites. For this reason, the old WURFL API did not need to be particularly sophisticated to do the job. Just looking at the initial part of the HTTP user-agent string (“Nokia6600/….”) was enough.

A closer look at today’s landscape will reveal that the scenery has changed (and not always in a good way):

  • The number of Internet ready devices has greatly increased (this one is good).
  • A lot of those devices will present themselves with UA-Strings like: “Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413″ which boldly tells web servers to send full-web content. The assumption is that those 300kb pages are no problem at all to display and navigate on a phone.
  • Of course, mobile developers know better. A phone is a phone. A miniaturized version of a full website is a great achievement for the engineers who made the browser, but still sucks for end-users. Unfortunately, developers were left with the extra problem of identifying those devices without confusing them with web browsers.
  • Transcoders: the “technology” I love to hate. A transcoder will be deployed by an operator, and, from one day to the next, you discover that your site is no longer being accessed by mobile devices from that operator. Actually it is. It’s just that all of those devices are now introducing themselves as: FireFox on Linux, MSIE 5 or 6, OperaMini or some other funny freak. In that case, a transcoder (and the operator that has deployed it) are trying to extort web content, without respect for the fact that you have a carefully built mobile experience in place.

In this context, the old API was not working as satisfactorily as it once did. For this reason a new version was needed and a new version is what was announced the other day:
http://tech.groups.yahoo.com/group/wmlprogramming/message/30168

People, I know that many of you have enjoyed plenty of sneak previews and quite a lot of sneak deployments of the new APIs. But now it’s for real: they are officially announced and released:

What is new and why upgrading is a good idea:
http://wurfl.sourceforge.net/newapi/

Java API (Spring-Framework based and highly configurable)
http://wurfl.sourceforge.net/njava/

PHP API (more modular, controllable, and object oriented)
http://wurfl.sourceforge.net/nphp/

To be totally honest, the new version has been available informally to the WURFL community for over one-year. This means that it has already been deployed on real apps (including some major ones) and we know it works great. The difference is that the new API is now released officially to the wider community and everybody can download it (freely of course) from the WURFL-website (well, SourceForge, actually, but that’s a technicality).

You may have a few questions:

Is it worth moving to the new API for those who use WURFL?

Answer: Honestly, I think it is for several reasons:

  • The new API does a great job at detecting UA’s.
  • I think transcoders are so harmful to our industry, that I decided that WURFL should go out of its way to recognize transcoders and enable content providers and developers to still serve mobile content to mobile devices.

Is it worth moving to the new API in general?
Answer: Yes. Content owners and mobile developers must get together to defend their platform and send a clear message “Keep your dirty hands off my content”. Adopting the new WURFL API is the best way to send that message loud and clear.

If you look at the announcement, there is more. But I will keep that for another blog entry another day.

Luca

Comments are closed.

Copyright © The Life and Times of AdMob. All rights reserved.