November 2005

Some people don’t realize how successful cell phone gaming really is, its amazing how many games are available for J2ME on a mobile phone and how sophisticated these games are. As a developer who ported VM’s to mobile phones and has built games I am still amazed at what my peers in the cell phone game industry are capable of with the API’s we are offering them.

I expected the N-Gage to fail, it was just a badly executed move from Nokia in a direction that contradicts what people want. Nokia tried to push into a market with 2 strong and cheap competitors with an expensive low grade product, its only advantage was that it contained a bad phone attached to the low quality gaming device… No serios phone user who is a part time gamer would touch this thing, it was a terrible phone (even the second version wasn’t great) and no serios gamer would touch that thing it was bulky and didn’t provide great graphics or gaming experience. So without the “core” users to push the platform very few people bought it, most of the people who did got it because they had a good “deal” with the operator but Nokia just made so many mistakes…

What Nokia should have done:

  1. Use open standards such as Java. The Java implementation on the phone was old and to make a decent game you had to use C++ which means you have to program specifically for that small phone family Symbian binary compatibility across versions leaves something to be desired and this caused even the second generation N-Gage to use an older version of the OS to maintain compatibility with the first phone. By using Java and a 3D API in Java Nokia could have offered virtual 3D worlds over the network which is something no one had in any mobile device.
  2. Learn from the Japanese, they have API’s for motion sensors GPS’s and loads of other features that are used by games inside phones considerably smaller than the N-Gage… They stuck in a radio when they should have a motion sensor that allows you to swing your arm to hit a golf ball… Cool features sell devices, they needed to diffrentiate from the guys at Sony/Nintendo (also Japanese people but they didn’t produce a cell phone…).
  3. Don’t build a game pad that is also a phone. Who would use such a thing??? Only kids and for them its too bulky. Today even my mother inlaw plays video games. She wouldn’t own such a phone because its unattractive and bulky, make a creative design use sliders and other features to allow people to make it look like a standard phone when they don’t want to appear geeky.
  4. Get games out there. When IBM built the first PC they went to Sierra and paid them 1 million dollars to develop kings quest 1, I think that investment paid off. MMORPG’s are a huge hit, they should have at least one hit “world” out there.
  5. Strike “gamer deals” with carriers so network traffic for all games or some games will only carry a fixed low monthly fee. Make playing over the network so cheap that people will use it and get used to it.

There is much more they could have done, too bad they made the wrong choices all round.

Well its a bit too late but people: are starting to realize that Java shouldn’t “me too” to the stupidity of C#.

I wrote about this quite a bit in my old blog so I won’t go on too much but the bottom line is clear: People ruined C++. We always blame the “commity” but that commity had people sending them requests for this and that and a commity can’t resist such pressure. Sun (and mister Gosling) did a great job up until people like Joshua Bloch got control of the language and moved it to bad places.

Enough is enough. Bloch is at google now (hurting their business also I’m sure) and there is no reason for this foolishness to continue, after all the great majority of us chose Java because it was small in syntax (not in API) the API is where complexity and features should go. C# is already more complicated and messy than C++ and when you look at a block of C# code you can’t be 100% sure what it does.

Here is what I wrote about this a while back:

I downloaded Sun One Studio a while back but only checked it out yesturday after the really cool flash demo started making rounds on the internet. I liked the old version as well although it was fragile and buggy which I hope this version fixes (I haven’t tested it much), but the main problem I have is with the layout. There are two layout types I can see: grid which is the default and is absolute pixel based and flow which is just left to right component layout.

This was excusable for a 1.0 version, for the current version it is just ridiculous and makes the tool useless for anything other than prototyping applications which is a valid use of its own but really not on par with tools such as Delphi and even VB. BTW VB uses absolute positioning but in a different setting than a web browser so it isn’t as bad.

Absolute positioning is bad for many reasons, there are the well known obvious problems of different fonts on different systems. But accessibility and i18n are even bigger problems since people with bad eye sight would want to zoom in (thus breaking the layout) and languages such as German (with very long words) would just break out of the word boundries. Bidi languages like Hebrew, Arabic and Thai would further complicate things by looking “odd” with a layout designed for other languages.

Anyway I still plan to use this tool but I know that its GUI builder will become mostly useless once basic prototyping is done which is a huge limiting factor for me.

Up until now I’ve been using JRoller for blogging and I just couldn’t maintain a blog it was just sooooo slooooooow! Unbearably slow.

It became so annoying I didn’t even blog about going to India despite my lengthy visit to the Bangalore-Mysore region (together with my SO Maya Gross who is an Ashtanga Yoga instructor and went to study with Patahabi Jois). During my stay in India I read two books (bought a shitload of books since they are just so cheap there) the first book is “The world is flat” and the second one was “Freakonomics”. I loved “Freakonomics” many of the things it mentioned are obvious but not noticeable, I really liked the discussion about incentive which is something I don’t pay enough attention to.

I hated “The world is flat”, that book (while very well written) is filled with trivial ideas, mistakes, inaccuracies and half truths. I liked reading it at first since the writing style is so good and fluent but I got really annoyed by the repetitiveness of the book and the constant need to scream at the author that he is completely wrong! Here is how the book is wrong:

  • Yes the world is flat (in the sense that the book intends). Duh, where have you been living. Since the author is quite familiar with Israel I am shocked he did not see this years ago. This is something that started here even before the Internet revolution and is still going on.
  • The book claims salaries are significantly lower in India/China etc… This is just wrong, it might have been true when the first jobs started moving out, it was true for Israel when high tech jobs started moving into here. It is no longer true for Israel and it is rapidly becoming so in India (same for China at a slower pace due to government intervention). The more skilled people are they demand more money, yes a dollar carries much more weight in India but having been in the town of Mysore (145km from Bangalore) prices are 1/10 of the prices in Bangalore. I paid for my hotel room in Bangalore (which was the cheapest room in the hotel) $300 per night!!! More than I paid for a boutique hotel in Paris! So yes it was a great hotel (it had better be for those prices) but for $300 I’d expect something amazing (it was somewhat better than a $300 hotel in the west, not much better). One of the main problems people complain about in India is that all these hi tech people are shooting real estate through the roof and causing prices to jump so high no normal person can afford them. You want hard numbers then fine, I talked with several outsourcing companies that listed prices that are about 1/2 the price of a programmer in silicone valley. 1/2 price might sound cheap until you take into consideration the fact that these people have a different mentality and tend to require greater overhead to work with, the back and forth will negate any such saving.
  • The book claims that people in India/China are more qualified since there is a larger pool of human resources to pull from. The strength of numbers is just stupid in this case, how does he explain the amazing success of Israel with 6 million citizens? This is without a doubt the dumbest of his arguments since it equates every one of the 1 billion starving uneducated remote Indian children (1.3 for China) to the 250 well fed with a decent school in the states. The people who get into high tech are from the higher classes in these countries and from there the pool of people is considerably smaller, since the states have a HUGE middle class (which only now is coming into existence in both India and China) the US actually has a huge advantage in terms of pool of people to pick from (not that it really matters).
  • People from these regions are hungry (metaphorically) for work and have a better work ethic. This is debatable, since conditions are improving in both China and India the skilled workers are fast becoming spoiled just like in the west and are savvy to switching jobs for better conditions. Yes they do tend to work longer hours since that is the mentality in these regions (same with the Japanese) but they don’t produce as much. As an Israeli who worked with such cultures I can say I put in 3/4 of the time and produced at least twice the deliverables. These cultures don’t teach how to rest and regain strength/motivation which is something the US culture (and the Israeli which is very similar) knows, the power of motivation and using your time.
  • Indian people are practicing US accents to service American customers better. I guess the author met these people, having worked with American companies that employed Indian/Chinese engineers and support lines I have to say that I didn’t run into these cases. I met Indian people with wonderful western accents that were gained by living outside of India (where they obviously made US salaries). So I still have to ask them to send me a copy by E-Mail.
  • IIT the Indian Institute of Technology is a fine initiative. The author calls it revolutionary but I personally think its a robot factory, I guess its a matter of opinion.

Anyway this is all off the top of my head, don’t buy that book its a waste of your money in my opinion.