Wednesday, April 23, 2008

Land of the free and all that

I'm in the USA right now, so it's kind of fitting that I just had one of those "wtf usa" blog experiences. Check this one out. I just love the "oh dude steve jobs just invented the cellphone lol" attitude in this one. You're saying there's a company in Europe (that country across the eastern ocean where there be nazis) that already had a webkit based browser on their phones? You're saying Japan (here be ninjas) are 5 years ahead of us? No way, we have bigger cars! And burgers!

Executive summary: iPhone killed Mowser!

Wednesday, April 9, 2008

More insights into the zen of programming

As a programmer (or "software developer", as it says on the business card) you're always impressed by cool quotes. It might not be the 90s anymore, but the really cool quotes still come from Linux kernel developers. Check this one out. In case you're too lazy to click the link, here's the important line: "inline is the register keyword for the 21st century".

I haven't researched this, but if Rusty Russell says so, I'm inclined to believe it. Basically, the compiler knows more about register allocation than you do, and these days, it also knows more about inlining than you do. The "inline" keyword has always made me feel a bit uneasy, and these days, it's next to impossible to keep track of how inlining affects performance. But we have powerful AI engines that take care of worrying about that kind of stuff, and they're called compilers.

Both you and me know that compilers don't know everything. In extreme circumstances it pays off to read a disassembly (from one particular target platform) of the code it produces, but we should all know better than to optimize without using tools to measure the improvements. Profilers have been around forever. The message is: don't inline without profiling with and without the inline keyword. Don't turn functions that you think are used a lot into messy macros. Use your head, and let the tools take care of the things that your head can't cope with. One of the things that your head can't cope with is writing C code that the compiler can turn into good stuff on an almost infinite range of target architectures.

I can't believe I just said that. But this isn't the 80s anymore.

Thursday, April 3, 2008

N-Gage goes live

If you're lucky to have one of the supported devices, go ahead and check it out. I tried to install the N95 package (unpacked just like the first access method, of course, as they used the same sort of "protection" again) on my N93, but couldn't start it. However, it might work if I remove the first access package first. We'll see, right now I feel more like going to bed.

It's interesting to note that the N-Gage team keep mocking the poor 3rd party developers by using an excessive set of capabilities for something as simple as the installer application. Alienating 3rd party developers seems to be very popular in the Symbian camp these days. And "security" is obviously just a buzzword to them.

Tuesday, April 1, 2008

N810 wimax

Suddenly it's all starting to make sense: the big, ugly N700/N800/N810 with their limited connectivity and all. Suddenly it's not just a testbed for a crummy UI platform in a crummy device over at the Nokia factories, now it's starting to look useful for real. With wimax, it's no longer just a surfboard, the line between surfboard and phone is blurring.

More amazing analysis of the smartphone market

Too bad you have to pay to read all these studies from analysts, because the news items that they result in are almost always to vague to really say anything. Read this one. This one says that Linux has 15% of the smartphone market, with Symbian at 50% and Windows Mobile at 18%. I don't even know what they mean by "smartphone", but that's beside the point, because I see no way to count that'd give you those result. I know Gartner doesn't count S60 phones as smartphones, which means Windows Mobile gets a much larger market share than in other places. But with that sort of criteria (I think they require qwerty or touchscreens or something), how many Linux smartphones are there? The Japanese ones maybe. Anyway, this just doesn't reflect reality, unless you define "reality" as "what's reported by some analyst".

Now, with those figures in mind (Linux at 15% and Windows Mobile at 18%), doesn't it sound a bit weird when it says, later in the article, that they think "that it [Linux] will emerge as a worthy competitor to market leaders Symbian and Windows Mobile"? I'm starting to think that "15 percent" is a typo.

I also have no clue what they mean when they say that "
Motorola's recent troubles in the handset market have coincided with its increasing emphasis on Linux over Symbian". When has Symbian ever been an important platform to Motorola? They released a few Symbian phones back in 2003-2004 (A920, A925 and A1000). Then they took a break for a few years, and have now released a few new ones (Z8, Z10). Could someone please explain to me what they're talking about?

An advantage for Linux, says the report's author, is "
the waning interest in Symbian's monopoly", which I've never heard mentioned before. Symbian has about 70% of the smartphone market (using more conventional definitions of "smartphone"), but I've never heard anyone complain about that. That's still just 7 or so percent of the total phone market. But sure, this is an analyst speaking, not a simple developer like me. I agree with the report that Linux will probably grow a lot in the phone market, and that Symbian will lose in the long run, but apart from that, I have a hard time finding anything else to agree on. To me it just sounds like a manifestation of incompetence.

This reads like a report that was ordered by some commercial Linux distributor. I don't see why any regular Linux developer would be interested, as all the Linux phones so far have been closed devices. People who are into developing for Linux tend to like the open nature of the system. If you lock it down, and don't even give developers access to native API:s (Android), there's no difference between developing for Linux than for any other platform. I'd love to have an open Linux phone, like the new OpenMoko one (but preferably not as big, clunky and ugly), because then I might actually consider writing code for it if I got the idea for some cool app. But having a closed Linux phone is of absolutely no use to me. As it is now, Windows Mobile and even the security locked-down Symbian are more open platforms for mobile phones than Linux is.