« Busy Busy | Main | Seattle Mobile meeting this week »
May 01, 2005
Sunday Morning Coming Down
What a hectic couple of last weeks. We've been really slammed working on product. I've had some comments about not updating the blog this week. To which my response has been that I've been swamped with work. Which usually provkes the repsonse "what are you working on?". So as I sit here this morning in the Zoka UW coffee shop (free WiFi, great coffee, close proximity to the Apple store), I thought I'd just share what we've been working on at Mobile Research.
Our products and services are based on having a super accurate database of device metrics, and data. So we have spent most of our time since we started, developing tools and a process for profiling mobile phones to research the information and put it into our database. This is a very large task. The amount of relevant data about a mobile phone is staggering. Our potential customers are mobile content creators, content publishers, game developers, enterprise application developers, publishers of mobile web sites, mobile technology enablers, etc.. So to provide everyone with everything they need, we have to really create a comprehensive profile of each device, and it has to be accurate. Right now we are profiling 120+ devices for the North American market. On top of that we are continually updating and maturing our research/profiling process for speed and accuracy as well as expanding the scope of data as we learn more about our potential customers
So along with running the day-to-day operations of a company, ( you wouldn't think there was that much paperwork; there is!), putting together our data center and dev network, handling calls, and working on the product, I have also been working on a couple of development projects for the profiling process. One is our WAP Push/SMS profiling tool. This is a tool that allows us to send SMS messages and WAP Push to mobile phones so we can test the phone's functionality. This is probably the biggest data request that we have been getting from potential customer's that we have spoken to. Basically the way you send a ringtone or image to a phone is, you send a URL to a web page to the persons phone. They then go to that page and download the ringtone or image. The problem is, every device handles this differently, and a lot of them not so well. So we have a whole suite of tests we are running to profile this experience for each device, and I am building an application that allows one of our profilers to run these tests quickly and accurately.
The other dev project I am working on involves mobile phone fonts. Basically fonts are a nightmare for WAP (web) page designers as well as application developers because each device or platform will have different fonts. So when you write and application that prints something to the screen, it can looke much different on different phones. This can get really out of hand when some devices do funny things with font sizes, etc. The spacing gets all messed up, and developers end up using some lowest common denominator (if there is one) or they have to port the application to each device. This goes for WAP (web) pages as well, as the browsers use the device's system fonts. Also, when you use PC based development tools and emulators, they look nothing like the actual device because they use PC fonts and not the device fonts. So in an effort to help solve the font problem at some point, we are attempting to collect a very accurate set of font metrics for every device. We are actually trying to replicate each font for each device. This entails measuring each character for each style, size, and type, for each language the device supports. Now for a Java application alone there are 72 different fonts, multiplied by ~130 ISO-8859 characters (to start) and you end up with a LOT of characters that have to be measured. Include the kerning (the spacial relationship between characters) and this is a LARGE set of data for each device. And we are doing a lot of devices.
So how are we attempting to collect all this font data? Well since every device is a little different and none of them support all the same technologies as the others, and you can't get the font data (or the image data in MIDP 1.0 !!!) we are doing it externally. We are using video capture. We've got an application that runs on the phone that iterates through each character for each font, and a video camera pointed at the phones screen that capture the character. We then process that character image on an external computer to make a programmatic copy. What we end up with is enough data to create a set of bitmap fonts for each device. It is not an easy proposition, but I am having a great time working on it. I'll post more on it later as it progresses.
-David
Posted by David Adams at May 1, 2005 10:45 AM
Comments
It sounds like you're doing an outstanding job with the profiling, going far beyond my expectations for the sheer amount of information per device. I know our company can't wait to get our hands on that info - this is a database that is about 3 years overdue in the market - I genuinely cannot understand why no-one did this sooner.
Posted by: Chaz at May 2, 2005 03:53 AM
Super cool. Thanks for the update.
Posted by: Corey Jewett at May 2, 2005 12:18 PM
Wow you are busy.
I will have to check back here more often.
Posted by: susan at May 10, 2005 06:42 PM