Mobile build options
12.04.07 - 05:13pm
For desktop systems, Mozilla is supporting three major systems (Mac, Windows and Linux). There aren’t a huge amount of variations needed for subclasses of these systems. However, as we begin supporting mobile devices, I can see the need arising for “profiles.” There are two major reasons for this.
First, especially when it comes to embedded linux, there will be many flavors of the OSs to support. I just finished making the virtual keyboard work for the N800, which involves calling Hildon specific methods to bring up the keyboard. I’m convinced that there will be a different implementation for just about every linux device. There will probably be many other functions that will be device specific that we haven’t even run into yet (such as connection handling, and sms/phone integration).
Second, there will be classes of devices that share certain characteristic, such as touch screen/non-touch screen, 12 key/qwerty/no keyboard at all and GPRS/EDGE/3G/wifi. We might also like to do certain things for screens of certain size. How can we express these things in the build system and/or classify extensions that should be included.
I’d love to hear any and all ideas…..
Hi Brad,
For the build system, you will need a kind of device database that indicates which capabilities each device support (touch, keyboard, stylet, voice, gps…) so the capability can be enabled in the software, and the database indicates what is the “software driver” that feeds the capability.
You should take a look at J2MEPolish, it offers a customization system for application written in java, and it uses a device database that contains device capabilities (JSR supported by the device):
http://www.j2mepolish.org/docs/customization.html
Also here is a document about Opera Web Browser integration, this presents the advantage of using uiOne vs a pure native approach:
http://brew.qualcomm.com/bnry_brew/pdf/brew_2007/Tech-803_Hedrick_v01.pdf
David