Last Monday (8 Oct 2007) I had a chance to present our device database initiative at the Mobile Monday event in London. It has been a great chance for me to introduce our product and our vision to a large number of companies that are very interested in the topic and certainly have a view on it given their day-to-day experience with fragmentation in the mobile space.
Mobile Monday London kindly made available all the presentations that have been given.
One thing that I don’t like about watching a presentation online is that you miss a lot of the extra information that was provided in the speech. I would like to take a chance to add something to the presentation that you will see online.
Every company that has tried to start a business in the mobile space has soon faced the problem of knowing what devices can or cannot do. The specific problem with mobile devices is that new phones and new software is released every week, so no matter how well you build your recognition system you’re always running after the new gadgets. We think that a new approach should be taken.
We have identified three main elements, a test suite, a web site and an API.
The test suite is composed of two parts, a web administration that allows us to create and manage tests. The second part is a site that is the collection of the tests that have been defined. Users, anyone anywhere in the world, will have a chance to see the test page or content and let us know, with a click, if the test was passed or not. Different users will be able to access the same test in different contexts. All the results will be stored in a database. We believe that the empirical approach is the way to achieve quality and provide an authoritative source of data.
Once you have created data through the test suite you probably want to verify what you have tested so far. To do so we are providing a web site that will allow anyone to browse all the results collected. You can search for devices and see their properties and values in a layout that is optimized for the search of this kind of information.
The web interface is also going to be the core part of our community. We think that projects like Wikipedia have shown that the community is capable of achieving great quality through cooperation. Wikipedia is different from our device database, we want to collect facts about mobile devices and this requires a slightly different approach. We want our community to contribute information through the test suite, of course and through the web site. Metadata about the source and how data was collected is stored. It will be possible to see who provided what information, when and how. Now the juicy part: we are building an intelligent system to get consensus about what a property value should be. This means that all the contributions that have been received will be put together, weighted and a final result will be taken. A real world example, if 10 users say that the screen height of the Motorola C980 is 220 pixel and 50 users say it’s 176, we will determine that the screen height is 176 pixel. We will always keep track of all the values that have been provided and we will keep working on the algorithm to make sure that it is always working at its best.
There will also be a lightweight process to let the members of our community to drive the evolution of the device database. The information stored in the database should in fact be exactly what you need for your application. We will start with the “Core Vocabulary” defined by the W3C’s DDWG, but we know that there is a lot more about devices, our users are invited to actively participate to the creation and maintenance of properties and tests. The site will integrate with the existing community of mobiForge.
This should be the most scalable and open approach that we can think of, the database is truly in your hands and we’re providing the infrastructure to build it. We think that more active members is better.
The last piece, the one that every developer is looking for, is the API. We are working with the W3C to define a recommendation to build an API that can be open and standards-driven. The API is going to be simple to install, configure and most of all to use. We will provide it in the most common programming languages to start with and are already planning to expand later.
The API should let you do all you need to create your mobile application, from device recognition to the details about a property. See the W3C DDWG homepage for more information about this.
Not only, the API will be able to automatically synchronize with the central database so that you can have fresh information at all times. Frequency and other local parameters will be configurable, of course.
We think that this platform should take you from a device that you don’t know to offering an optimized experience within just a few steps, test, verify, implement. All at your fingertip.
Think of all the open sources of information plus the proprietary databases all in the same place, all together, it’s the mobile community gathering in a single place to share information and knowledge for a better experience.
See the presentation here.