it bothered me with smalltalk. it bothers me with java swing apps. and now it bothers me with j2me apps, especially games. why can't j2me apps behave like any other native app on a mobile device?
i love java. not only is it a great platform for development that found a great middle ground between being object-oriented and low level enough to be useful for about anything, the delivery on the promise of being cross platform is worth the weight of a yellow Java and Corba book in gold...after all, i'm primarily an OS X user, but find myself using Linux and Solaris exclusively for server applications, and Windows to integrate with all those special apps that only run on Windows...but i'm beginning to wonder, is the portability at the expense of acting native? I expected such traits in early versions of Java, thinking it would improve as we moved up the version chain, and it has, but not to the level we all need. I'm okay on a desktop using an awkward start script to start a swing application, and can handle the widgets being a bit klunky.
But on a mobile device, especially ones with a phone, there are certain things i'm seeing across the board in native games that i am not seeing in j2me games and that has me worried. I'm not sure where to place the blame. Is it the j2me programmers being lazy? or is it the device manufacturers that have chosen to segregate the j2me apps from the native ones, and not give access to APIs that native apps have no trouble accessing?
I've been playing a lot of games on my mobile phones these days, and here's what i am noticing:
1) no j2me game saves it's state. on my sony-ericsson t610, when i'm playing a game of Java tetris and the phone rings, and i switch to the phone, my game is gone. when i go back, i have to start over. the mophun games automatically seem to save their state, so why can't ericsson's Java VM do this?
2) more use of native phone functions. many native games use the vibrating ring and other sound api's to make the games a lot more real. the biggie is using bluetooth for PAN (personal area networking) multiplayer games. this must be easier for native games, or is this the bite of the portability bug again?
3) memory leaks, memory leaks. i seem to experience my phones running out of memory and having to "reboot" them regulary after heavy j2me gameplay. hm.
4) general keypad awkwardness. simple things like not reconizing the joypad keypress as a selection.
5) slow performance. again, i'm not sure where to place the blame here, but my j2me games just seem to run slower than their native counterparts.
i really want j2me to succeed on the phone, and i think that it will. i think it already is. but i want to feel comfortable that i can write my app using j2me instead of the native platform, and my users will have the right experience. i'm not comfortable yet.
my final point in the rant...do we really need the extra java icons in the tray, or the java spashscreen before every app? again the user shouldn't have to know they are using a java app or playing a java game....well unless they knew they could port it right over to another phone and it would work seamlessly. but we'll leave that for another day.
i had the good fortune of getting a freebee upgrade from hertz this week...six days with a sirius satellite radio. i've often been curious about satellite radio - seemed like a cool technology, and i've migrated away from radio in the past ten years or so as commercials got out of control, and i got a little tired of hearing the same creed song every hour. so the idea of cd quality, commercial free music has been intriguing.
i must say - now i'm even more intrigued. six days, and i maybe heard a repeat once (after all, repetition is what makes you like songs). I hovered around the "alternative nation" station which is a good mix of new and old (old as in the wonderstuff "radio ass kiss") and never really heard a song i didn't like. there are still DJs, but they don't say much - just informational bits about the songs themselves. there are talk stations, and kids stations, neither of which i spent much time on.
the technology itself seemed pretty stable - it seemed to work as well in thunderstorms as it did in clear weather, and the addition of having the artist and song title on the screen in front of you for every song is a huge plus.
what i really wanted was a way to "bookmark" the songs i liked, and be able to access them from the web or my phone for next time i felt like buying some music. that would be especially cool in an iPod form factor if it weren't in the car.
i'm not going to rush out and buy a satellite radio, but i'll definitely equip my next new car with one if it's a factory option, which i think is the only way that sirius and their major competition XM are going to get the traction they need. i don't need to tell them that, it's all over their annual reports.
also, i definitely recommend adding this to a rental car...when you're in a new city, no more fumbling with the radio as you pull out of the awkwardly designed airport exit.
good-bye mancow - at least until there is a "mancow nation" station on satellite radio, which won't be in my package!