Thursday, June 16, 2005

Social status of a UI designer

In my work lately, I have to use a phone built with Microsoft Windows Mobile. I have to say that MS has a long way to go with their UI design. I haven't seen their newer version of the software (MS Mobile 5.0) yet. Hopefully they fix some of these problems.

For one thing, there is a lack of consistency in the UI. For example, the back-space key is normally used to close windows, but turns into a backspace key in a text edit box. This ambiguity is confusing to the user.

You can probably tell from the design that UI designer in MS don't have a very high social status. It's probably below the level of testers. (rumor is that the social ladder in MS the following, from high to low: Programmer => Program Manager => Tester).

In contrast, in another leading cell phone maker that I have worked with closely in my day time job, UI designers have god-like status. One illustration is that if a UI designer thinks certain screens and keys have to be function that way, the programmer MUST implement it no matter how difficult or convoluted the code turns out to be. There is simply no way a programmer can take a shortcut in the UI design simply because it's more convenient to code it.

So, not matter how good your UI designers, it's not going to matter if the programmers have a higher say over the product.

This is one example where culture in an organization is so important, that it sometime overshadows all the other things. It's also the hardest thing to change in an organization too.

Tuesday, June 07, 2005

Greg & Naoni


Greg
Originally uploaded by 518.
Greg & Naoni Zervas runs the Hillside Bed & Breakfast at Friday Harbour, Washington. This is the second year we stayed with them. Lovely rooms, breathtaking views and fantastic breakfast:

This morning: vegetable quiche, pineapple cake and pan fried hash brown.

Friday, June 03, 2005

Making money from Google

Not by buying the stock.

I scanned through GOOG's financial to find out how much they actually spent on those Linux boxes - there are thousands of them, each lasting 2-3 years - and was surprised to find these:

For year 2004:
- cost of revenue is $1.4 billion;
- 84% of the cost, or more than $1.2 billion, is spent on "Traffic Acquisition". These are money paid to "Google Network members", people who put those Adsense links on their web sites and got paid by Google.

$1.2 billion is a lot of money, going out of Google. That''s roughly $1 for each person in China.

Comparing to this, their cost in running the data centers, including the Linux boxes is only about$ 229 million, and expecting it to be $500 million this year.

GOOG supercomputer

In The hitchhiker Guide to Galaxy, people asked the "ultimate question" to the supercomputer Deep Thought (which eventually spited out the short and cryptic answer).

After reading some of the Google papers, (the GFS, Linux cluster and MapReduce algorithm are most interesting), it's not hard to imagine what GOOG is up to: to build the most powerful supercomputer that indexes all human knowledge, and one day be able to answer the ultimate question.

Thursday, June 02, 2005

J2ME - Write once, run anywhere?

I got asked about something in mylast posting:

If J2ME is so widely available and Java is supposed to be "write-once-run-anywhere", why do you need to bother writing apps for the other APIs, notably BREW and Symbian.

This is true in theory and marketing. In reality, it doesn't quite work that way:

1) J2me doesn't give you all the power of a mobile platform, notably the control over the peripherals, such as telephony, audio, bluetooth and irDA.

2) You cannot completely control the look and feel of a J2me app. For example, there is no standard implementation of Command softkeys - all are in the mercy of the phone manufacturers. Your app might look differently on a Nokia Symbian phone and a Motorola phone.

This is especially a problem for companies that want to create apps with a single L&F across all platforms. (For various business reasons this is highly desirable: at least it will lower your support cost for the applications).

3) Integration with native applications are limited in J2me, e.g. addressbook, calendar etc.

(... there are a few more reasons, but I need to get back to my bread&butter day time job now.)


There are notable progress to fix some of these. For example, JSR 253 will introduce a JTAPI like interface to J2me, and with CustomItems in MIDP2, you can write your own controls.

As more JSRs get introduced, the J2me API set becomes more and more powerful. Ironically, it also greatly weakens the"write-once-run-anywhere" imperative. Some of these newer JSRs are optional on some phones. That means a developer has to trade off between the more powerful APIs vs. market share. At the end of the day, might as well write it in Symbian or BREW.