Prediction: Web 2.0 kills J2ME
Apple made a bold move not shipping J2ME and instead pushing developers to Web 2.0 on the iPhone. It is in my view a shrewd move.
It is unquestionable that this causes major problems for existing J2ME games developers, who are probably the biggest benefactors of J2ME on phones. JS + HTML is just never going to make for as good a game experience as J2ME for action games. However there are plenty of games you can do with Web 2.0 and it brings many advantages - easier networking/multiplayer, no deployment hassles, no operator QA needed, and grossly simplified porting (IF other phone manufacturers ship standards compliant browsers).
I suspected when Apple announced this that it could effectively be the end of J2ME on mobile phones. Now I have more reason to think this, from a Motorola developers mailout:
MOTOMAGX, Motorola’s recently announced Mobile Linux platform, is the next significant step in demonstrating Motorola’s commitment and leadership in Mobile Linux. Building on the global success of Motorola’s earlier Linux-based platforms, MOTOMAGX delivers new levels of openness, flexibility and support for third-party applications on Motorola devices. MOTOMAGX supports three different application environments, including Java ME with WebUI and native Linux in upcoming releases. The WebUI application environment combines underlying Web 2.0 software technologies with access to local device resources, enabling developers to easily create personal and contextually aware Web 2.0 experiences for handsets.
So they are going to start shipping linux based standards compliant browsers, possibly even WebKit based seeing it is linux friendly and open source.
If another big manufacturer like Sony or Nokia does the same and actively pushes developers to Web 2.0 like this, I think you will soon find that J2ME is a sorely niche market in a few years.
The good money is in subscription services and games, or ad-driven free services and games, which are hard to achieve in J2ME. So action games will suck on the Web - maybe for now, maybe not later. However most phones completely suck for playing action games anyway.
Usually the most popular games on mobile phones don’t require fluid graphics / scrolling etc. They are games like Sudoku, Tetris-alikes, Monopoly etc. All those should be easily done with Web 2.0, and you get full internet playable versions for desktop users at the same time. It’s a win-win for those happy to ditch the hell that is J2ME development.
August 22nd, 2007 at 11:46 am
It’s not strange manufacturers want to get rid of J2ME. They have to pay a fee to Sun Microsystems for every single device they sell.
Mr. Jobs owns Safari, so it’s cheaper to build apps on top the browser. And this is the same thing for all device manufacturers migrating from Symbian to Linux. The cost of the license fees of Symbian OS, Symbian Apps and J2ME hurt their devices.
August 22nd, 2007 at 4:04 pm
…and embrace the hell that is JavaScript development
Seriously, have you seen a popular JavaScript game? And though I hate it myself, I don’t believe that operators will easily give up control of content delivery.
August 22nd, 2007 at 10:38 pm
Yuri - http://static.popcap.com/iphone/
I’m no JS lover but I’ve also been a J2ME developer, and JS development is MUCH easier over the full project lifecycle i.e in terms of “porting” etc. Just grab a copy of the Prototype library or similar and start coding. Refresh reloads. JS debuggers. J2ME eat your heart out.
August 22nd, 2007 at 10:38 pm
PS you need Safari browser for that iPhone Bejeweled link to work
August 24th, 2007 at 1:53 pm
I think JavaME gives great capability. I don’t understand why apple did this. They have been selling Java based server products on Apple platform. Transferring the data as Java objects between server and client is a great capability one can have if JavaME is available on phone. JavaFX is a newer cleaner way to program for Mobile.
August 24th, 2007 at 10:21 pm
Deepak, I think you’re dreaming! JavaFX will surely never take over from Flash which it clearly targets.
Java on the server has nothing to do with Java on the client. If you are transferring serialized java objects you’re mad! Everyone uses JSON, XMLRPC, SOAP or other transports these days. For J2ME where bandwidth is critical you’d want a custom binary transport anyway that is ultra-efficient.
As such with a J2ME app it makes no difference if you hava Java, PHP, Ruby or Perl running on the server.
September 5th, 2007 at 1:23 pm
oh so now you get games on web 2.0, do you?
(Homer Simpson said, “Oh so now you get the internet on computers, do you” heh heh.) well i would suggest j2me is best for games. For one thing, there are zagillions of j2me handsets. I suspect a future iphone might include j2me, because there are so many games and games developers targeting j2me, for the above reason.
September 6th, 2007 at 11:51 am
Evan - Technically j2me does provide the best games. But you are making the assumption that the best games technology beats the best commercial option. Very often not true. Betamax. PS3. There are many others.