Friday, April 13, 2007

Ugly Betty

Being on the topic of marketing, it is nice to see Ugly Betty ads decorating the outdoor advertisement spots. At last a clothing style which distinguishes itself from the mass.

The other clothing ads don't even try. In live environments conventionally pretty girls work, but in media bland sexiness is boring and alienation kicks ass. Just like in Eurovision song context.

Simo The Mobile Application Developer

Do you think it is cool and hip to develop mobile applications? Send your congratulations to Nokia's marketing department. This post sums up nicely the image that Nokia wants to create about mobile application developers.

Mobile application developers are social and active extroverts, who participate in commonplace activities of young people:

Whether it's at a dinner-party or late night foray into a strange bar, the fact that I work for Nokia is an easy ticket to talk. People generally have powerful reactions, as more often than not I'm working for the company that makes the product that gets them to work, connects them with who matters to them, and gets them laid.

Mobile phones are sexy status objects, but also deeply personal companions to which the user attaches on emotional level:

(Sure there are often also comments along the lines of "why on earth don't you bring back that beautiful silver bullet phone [6310] - it was my favourite thing ever..." etc.) But the fact remains - we are still carrying a good deal of people's goodwill, and we mess with it at our peril. And nowhere is this goodwill more obvious than in the trusty familiar contacts book ...

Especially Nokia mobile phones are high quality:

... with a well-deserved reputation for solidity, easy to use, reliability and the fact that the damn thing just works.

Mobile application developers are open-minded and innovative, and not afraid of breaking rules and shifting paradigms:

One of our recent Nokia speaker series guests put it like this - the telco industry has lost the opportunity to innovate in the contacts book, whereas the internet industry has come along and invented an entire new industry - social networking - to fill this innovation void. Hmmm, food for thought?

Messing with the contacts book would be like painting a moustache on the Mona Lisa - an act of vandalism, surely. Surely? Well, I'm not so sure. I am deeply uncomfortable with the idea that things must stay how they were because that's how they have always been.

Nokia phones were created for trendy, sexy, active and successful people, by trendy, sexy, active and successful people.

Tuesday, April 10, 2007

Appendix I

  • Symbian folks know that C++ is not the fastest way to implement functionality. They demonstrate it by their actions: Symbian's IDE, Carbide.c++, is Eclipse-based which means that it is written in Java. Symbian's build system is a bunch of Perl macros.

  • Ilkka describes the irritation of low-level languages well in this post.

Monday, April 09, 2007

What's Wrong With Symbian

In short: Crippled C++. C++ is already quite a low-level language. Symbian has plenty of coding conventions and classes, which make this even worse. There is cleanup stack to prevent memory leaks; leave mechanism to simulate exceptions; and RArrays and RPointerArrays to simulate std::vector. Finally, there are active objects to simulate threads or message passing or callbacks or whatever, I'm still not quite sure despite using them for years.

Nowadays Symbian phones have as much memory as late 486s or early Pentiums, although the memory is slower. So is it really worth it to save miniscule amounts of memory and make programming harder?

The era of mobile Java isn't here yet. I mean, the era when the operating system consists of Java VM, device APIs, and some core high-performance units like phone calls, video codecs, OpenGL, etc. Java is still too slow. Therefore, C++ is still a necessary evil.

In addition to crippled C++, also APIs are less-than-perfect. Java developers who have used entity beans or Hibernate may feel schadenfreude from this fact: Symbian has an internal database in every device, but you can only access it with SQL. No object/relation mapping tools for you. In general, there aren't any helper APIs which wrap the functionality to an easier form. 2.5 years ago when I last programmed Symbian, the APIs also has stupid bugs, but I hope that is fixed now.

Friday, April 06, 2007

The Glass of Success is Half Full

As planned, I applied for J2EE jobs using Finnish annotator (FA) as a merit. FA was implemented with embarrassingly low technologiy: HttpServeltResponse.GetPrintWriter().println() produced most of the web pages. I got to 3 job interviews based on it.

After one interviewer told me that they used JSP and servlets to implement web services in 2001, in no uncertain terms, I realized my J2EE experience was inadequate and that I would rather be an experienced Symbian programmer (despite the shittiness of Symbian, which is worth anoter post) than a J2EE trainee. After that, I applied for Symbian jobs and got one from a mid-sized Symbian subcontractor. I'm not going to tell the name of the company, since I have no idea how it differs from other mid-sized Symbian subcontractors, and because they have their own marketing department to take care of their external image, thank you veeery much for your suggestion of advertising by blogging but no thank you.

The Symbian job I got pays 600e/month more than what I got at Nokia. I started 1.4. I still haven't been assigned to any project, but anyway I'll get more pay than ever before for carrying less responsibility than at the last months of Nokia.

If I had really wanted to get a J2EE job, I could have applied at J2EE Professional Trainee Program at Tapiola. But I thought that it was too easy, since from the 4 technologies they list (JSP, XML, EJB, WSAD) I already know JSP and XML and have read a book about EJB, so that only WSAD (whatever it is) would be totally new. Also, applying to the program would be dishonest, since my interest in J2EE is not about becoming a Tapiola man, but about developing the FA.

By the way, "professional trainee" is an oxymoron. Who wants to be an oxymoron?

My initial plan with Finnish Annotator was to collect a 5000 word Finnish vocabulary by September. This would have required me to write English definitions for about 24 words a day. Now that I actually work, I have noticed that I have no energy to write word definitions after work. So 5000 words is utopistic. I'll have to either overcome procrastination or find out just how many words I have patience to write before contacting a Finnish teacher and sugggesting co-operation.

The glass of success if half full or empty in the sense that I failed to get a J2EE job but succeeded in getting a job that pays more than anything I have done before.

What to do with the money when I've accustomed to a student budget? There are practically only 3 ways to spend it in a way that actually increases my standard of living:

  • Get a mortgage instead of paying rent; this would mean that in the future, if I want, I can loan money and use the apartment as a guarantee.

  • Travel to foreign countries. Among my peers this is a popular hobby which I haven't done much.

  • Buy sex, an option I should try since I'm never going to get any with my current levels of nerdiness and muscularity without paying for it.