[DISCLAIMER: This is a long post of my private study in technology, that’s why I cover it with –MORE– tag.]

For you folks who’s been following my facebook status (like there would be one :P), you would realized that recently I’m in a state of confusion of whether to buy iPhone 3GS, HTC Heroes, and Beagle Board. No, I’m not a rich man, just a serious hacker (you do know the difference between hacker and cracker) and being serious in FOSS since long.

You may asked me why am I willing to flush my savings for those kind of stuff?

Well, just like stated on [ASJ], FLOSS is the key to make this country prosper through IT. It is since long I predicted that FOSS would have a higher ground than the old business model, the proprietary way. Some of the reasons are in the [ASJ], but there are more than that. Let’s bring some more insights.

Today’s engineering is different from yesterday.

While some people still playing in their ASM boards (which is fine!) and getting excited to that, the world’s now using existing technology to wrap new user experience to their customer. It’s not doing something from scratch but to have something that people would love to use. This diversion on engineering is lead by the following factor:

  • The saturation of technology. Processor may get thinner, architecture may differ a bit, but, hey, it’s still the same x86 board.
  • Hardware industry getting smaller devices to produce and making it more compact and durable.
  • Apple’s leading innovation in HCI (Human Computer Interaction) making its brand unique and survive to become new model.
  • Free/Open Source Software making libraries available to people and get shaped really fast.
  • Globalization making it hard to preserve copyrights and intellectual properties. Boundaries between nations is limited to Internet access.

Now, what is the topic that would gives me the excitement to buy those?

#1 Human Computer Interaction (iPhone 3GS)

If you asked me, who would seriously study HCI here in Indonesia? Can you point to me a good information system in Indonesia?

A definition of good: people would love to use it because of the comfort level and intuitive.

Sadly, many crappy, actively misleading people, and buggy interface systems making IT a rollercoaster project with people laugh about it. Even if you have so many great functionality, it means nothing if the user not comfortable. And that’s common because HCI hasn’t been taught well here. Fortunately, in my undergraduate, it was taught in a course which is only 3 credits (it was opening my eye, though).

Now, try to look at [PKDE], [PE17], [PGNO], etc! Everyone of them is trying to put ease of use as their primer requirement. Even Ubuntu have project Ayatana dedicated to that purpose. The new little notification there was the result of many discussions, flamewars, and modelling in that project. Another great feature of the project is it is open and accessible to people around globe to study.

One of the great feature of Apple’s design is task-based approach, which now people also trying to follow. Traditionally, people would love to throw functions to their apps and flooding user with hundreds pages of user manual. This traditional thing is called functional approach, which a user need is mapped to Functional and/or Non Functional Requirements.

But, what about if we think not about the functionality? Why not starting gathering requirements by classifying the functional and map those into a tasks that could be achieved? We can breakdown each individual functional, decompose it into tiny bits, and let each of the decomposed functional assembled into a solution for each task. Then the task is categorized into different priority to axe the level needed to access that task’s solution.

Of course from the architectural point of view, you must take your design (effectively) modular. How modular?

Take a look at iPhone, it expose a good platform to creates good application, even its SDK is available. Each component can be re-use and it has careful design philosophy that developers can create meaningful applications. Each component carefully designed and exposed to an API with a living showcases, the internal apps in the phone itself.

One more thing, what is meaningful means?

Gravity censor accelerometer was popularized by Nintendo Wii. People clapping their hands and see the innovation of game. But, Apple brings that into a greater level, it can be put into a mobile device to adjust the screen! A usability that no one would have thought, simple, unobstrusive, yet compelling.

We may not know what we would like to do with it. Yet, with a simple/basic need we can turn the feature into a task: making the screen readable. It’s not that easy, it also needs the functionality to rotate the screen, adjusting resolution, and informing the running application to do its routine to adjust new display. But, hey, another simple task is achieved, the screen brings the user content to read.

Now, with this long, (hopefully not) boring, and incomplete explanation, you may asked me: So, what does this have to do with FOSS?

The SDK provided by Apple is proprietary and it only runs on Mac. The knowledge about how the design comes is sealed in the corporate environment. This is where FOSS comes into play.

We can see case studies in an open environment, inviting people to not only come but participated. The quality code even shared, available to be distributed, and customized accordingly. Many FOSS projects focused on the usability also getting us more to the subject and narrow the gap between their knowledge and ours. Those knowledge that have been pondering in the corporate walls are now shared between communities and get perfected each time. Take a look at Ubuntu Karmic Koala! See how the subject is carefully built into fourty two.

This usability study is truely a multidisciplinary practice. It is not intended only for IT community. There are legal, social, and psychological aspects to be seen. Everyone has own cake to have and FOSS creating the tools to do all the researches.

Hmm… too sleepy… to be continued… (may be)  😀


[ASJ] My other blog. Answering Josef. http://jpmrblood.blogspot.com/2005/10/answering-josef.html

[PKDE] Planet KDE. http://planetkde.org/

[PE17] Planet Enlightenment. http://planet.enlightenment.org/

[PGNO] Planet Gnome. http://planet.gnome.org/