Ramblings on Google's Android Market and Fragmentation

Mark Murphy wrote an interesting piece about fragmentation in Android. I didn't really agree with much of it but it did get me to thinking about how the space in Android is evolving compared to J2ME (Java ME).

I was the software architect for T-Mobile back a number of years ago, working on their J2ME platform launch. So I've got some inside perspective.

Sun Microsystems wanted to push J2ME and encouraged a number of vendors to build content delivery servers. Their view was to pick the best-of-breed platform from these upcoming vendors (eventually they bought Pixo - I still like this name).

Sun also had the view of 10,000 individual developers delivering apps; it took 7 years for Apple to execute on this vision.

Sun was into openness of these delivery systems, evening leading JSR-124: The J2EE Content Provisioning spec to try standardize how servers delivered applications. J2ME comes with standard JAD descriptors. It has delivery and notification managers built into every device. The industry standardized how device detection occurred, all to address growing fragmentation.

Google considers its Android Market closed. There are no specs to follow, no standard way of handling device detection, no application manager on the device. Nothing.

Google's closed approach will hardly address fragmentation problems. It will split into a different way of handling the content delivery and discovery problem for each upcoming AppStore. There is no leader in this space to drive standardization. So we have an open Android device but the infrastructure is much more closed than we saw in Java ME space.

I love Fragmentation

I think that the fragmentation is pretty much to do about nothing.

Sure it will require more code:

- Games it will require alternative controls
- App sites will need device specific options

In the end I think the J2ME and Android fragmentation will only result in better software that runs on even more platforms.

This will put a bunch of stress on developers that only want to use NDK/Native code though.

All of my games run on J2ME, Android, and J2SE. While my games are still not great they will be great.

I probably need to update my apps here in a few weeks when I add OpenGL ES option since I have more and major updates since:


I actually liked your racing

I actually liked your racing game and Santa's War. They have a retro feel to them, taking me back to c-64 and Atari days. I suppose the primary target for smart-phone market is not people like me. I do look forward to seeing what you do with OpenGL.

Open GL will be for 2D for a while

The only real change with Open GL ES right now is speed.

It will be a few months before I make any 3D games.

While my current games have not sold well... In fact my games are the worst selling on the market given my rankings.

I will go ahead and make a 3D game around the new year, and next year I will make a 3D multi-player game.

At that point I will probably stop making normal games and start building robots. I will use my game developer kit to build the user interface, AI, and command and control.