Augenblick

Als ich heute von der Arbeit nach Hause ging, lief ich durch den Park. Unterwegs dachte ich an eine Person, die ich sehr vermisse. Das konnte also ein ganz gewohnlicher trauriger Spaziergang sein, wenn nicht das Frühling.

Was heute in dem Park von statten ging, kann ich kaum in Worte fassen. Knospen wurden heute zu Blätter. Das ist ein sehr kurze Augenblick, der Stunden, maximal ein Tag dauert. Ein Tag davor waren die meisten Knospen noch dicht geschlossen, und ein Tag danach gibt es schon kaum Knospen mehr. Und heute…

Heute gab es sie allen – Knospen, die kaum noch warten können, sich zu öffnen, dann die anderen, woraus schon eine grüne Rasierklinge des Blatts herausstreckt, und natürlich auch kleine, aber vollwertige Blätterchen, die ihre Knospe schon abgelegt haben. Und die Natur war so unterschiedlich und abwechslungsreich, dass ich kaum ein Hundert Meter in Ruhe laufen konnte, bis ich mich vor dem nächsten Wunder aufhalten musste.

Flauschige salat-grüne Knospen. Dunkel-grüne Blätter mit roten Adern. Weiß-grüne längliche Blätter. Braun-lackierte Zweige mit großen dunkel-roten Knospen und einer saftigen hell-grünen Flamme, die aus dem Fackel der Knospe erscheint. Ein Büschel von blau-grünen kleinen Blättern, die von der Farbe her an die Wassermelonenschale erinnern. Vier-fünf enge scharfe Blätter, die wie ein kleines Feuerwerk aus einer Knospe in alle Himmelsrichtungen schießen. Dunkel-grünes Wasser im Pegnitz, das zwischen den von Laub bedeckten und deswegen hell-braunen Ufern fließt. Dunkel-Orange Holz eines Baums, das im Winter gefällt wurde und jetzt auf dem neuen Grün liegt…

Die Gärtnerei hat schon Tulpen gepflanzt, aber ehrlich gesagt, sahen heute die sonst schönen Blümen zu schlicht aus im Vergleich zum Farbenpracht der Bäume. Da habe ich mir gedacht, dass jedes, auch sonst so unansehliches Lebewesen, wohl einen kurzen Augenblick im Leben hat, wo es so strahlend schön ist, dass es die etablierten Schönheiten in Schatten stellt.

Als der Park zu Ende war, habe ich einen alten großen Baum gesehen. Die Rinde war ganz schwarz, sie hatte keinen einzigen grünen Flecken, und der Baum schien schon abgestorben zu sein. Doch seine Zweigen waren voll mit komischen schwarzen Verdickungen. Das können unmöglich Knospen sein, dachte ich, kam heran und fasste sie vorsichtig an. Das waren Knospen! Sie hofften auch und warteten gedultig auf ihre Zeit, auf ihren einen Augenblick. Und ich weiß ganz bestimmt, dass diese Zeit kommt.

Fukushima

I believe, the Fukushima story is only in its beginning.

In the reactor buildings, they have now levels of radiation comparable with Chernobyl. The highly contaminated water is now in the basement of turbine room, and it is unclear for how long this basement can hold the water. Both the air and sea water are already contaminated, and winds and flows spread the contamination all around the world. 18 workers have already gained the dose that will with a very high probability lead to cancer within the next 20 years.

In Chernobyl, they say there were 250000 of “liquidators” who have received such doses. And in Chernobyl, the melt fuel has left the reactor and went to the basement — one can still hope that in Fukushima this is not the case.

I’m not a fundamental opposer of nuclear energy. The energetic potential is huge, and in some cases (like travelling long distances under water on in the space) it is hard to find any alternative. The dangers of nuclear accidents are relatively good understood. But, I think the mankind has gained  access to this power too early. We still don’t have society structure allowing us to safely play with it. In particular, humanity still hasn’t found the way to prevent short-term economical or political interests endangering engineering safety and soundness of the plants.

After Chernobyl, many have blamed communism to be the reason of such a catastrophe. Now we know that capitalism does no better.

We as a society do not think in hundred of years. We do not even think in decades. Many people I know don’t even care about the year behind the next year. And nuclear energy spans across hundreds of thousand of years.

In the news, there are references to resigned engineers who was building Fukushima plant. Unfortunately, there is no information about why they have protested.  And unfortunately, this didn’t stop other engineers to finish the work. Anyway, this situation might be the worst that can happen to an engineer – knowing that your design is killing people and making them ill, and will be doing that in the next hundred of years. And inability to change anything about it. So it is no wonder that quite a number of soviet engineers and nuclear scientists were ready to risk their lives. After Chernobyl, they went INSIDE of the reactor, climbing on the nuclear fuel rods, only to access the safety of the remaining ruins. When you look at their faces, you cannot imagine them in any Hollywood movie. And even though they were guilty themselves, at least partially, I have no choice but to call them heroes.

(make sure to watch all 5 parts)

UX Design Process

User Experience of a software product is an extremely integral and cross-discripline thing. They are many ways to ruin it — unusable content, wrong emotional tonality of graphics, unrealistic usage scenarios, suboptimal interaction design, technical compromises, you name it… Perhaps, security is the only other quality of software, which ubiquity is on par with UX Design. Hey, hacker scene has quite a lot in common with UX scene — isn’t that a coincidence? But I digress.

A cult UX design needs a single person who is both extremely talented in such different things as artistic and technical implementations; and has the absolute power over the software product.

In all other cases, a UX design process may help to achieve passable results. ??Now, as you know I’m not exactly fan of processes. A formal process is often just a way to solve personal problems — and I don’t believe personal problems should be solved in this way. So, even though I’m speaking about a process in this article, I’m not going to have others (or even myself for that matter) to follow it, but rather see it as a means to create a common coordinate system and terms.

The ultimate quality of software product is defined by how it sells (for commercial software) or how popular it is (for Web 2.0). For the purpose of this article, we factor marketing activities out of the equation, assuming that they can only put additional focus on product’s qualities, not replace them.

One quality factor are the hard facts. “Rendering a web page with IE9 takes x milliseconds, which is yy% quicker than any other browser”. Another factor influencing product quality is user experience, which is, how the user feels about the product.

For some products and markets, hard facts and UX would make 50/50, for some others 80/20 or 20/80.  In any case, UX remains one of the main factors helping or preventing a software product to achieve its goals.

Watch with me a typical lifespan of software product UX design.

The software product starts with a rough idea, a small but powerful grain. In the conceiving phase, this idea is gradually defined with more and more detail, until it spawns leaves of “modules”, a rough architecture of the product. Let’s make a snapshot of this state and call it a vision document.

While it remains on the business level, the definition process continues, so that separate features starts to appear inside of modules. At this point of time, the most important decisions about who are our users and what are their main scenarios are already taken. The most important features even start to appear quite material. Take a picture again, and call it high level concept document.

But what it is? ?An unusual process begins to happen with features. They start to move and boil and jump between modules and change themselves quite a lot. Some features would die, just to see other features appear on their place. As a result, from the chaos of the proto-features, a clearly ordered and beautiful structure appears. At the same time, features gradually materialize so much that their wireframes become visible. Now, by looking at how stable the wireframes are attached to the overall structure, you can get an impression that this UX could be implementable. Push the button and save it as detailed concept document.

A stream of pure creative energy hits on the wireframes to remain in form of emotions expressed as graphics, sound, movement… Don’t miss the moment, make tons of pictures and call them comps.

The product is beautiful now, but it is still sleeping. Invisible for the eyes, life is being created inside of it. Sooner or later it will wake up, and gratify the product team with its first cry…

To make this fairy tale happen, several professionals (or better to say, roles) work on UX:

  • Creatives: Artists, graphic designers, animation designers, sound FX designers, typography designers, industrial designers… Their main goal is to pick up users emotionally. The reason Apple fanboys are so forgiving about Apple products is that the products are so emotionally compelling. You don’t complain that the place of the ”close” button is unpredictable from app to app, because this button is so crisply and carefully rendered, and because the screen where it is placed is so well balanced visually.
  • Interaction designers, usability experts, information architects — people who care about the mental model users will get when using the software. Who are our users? What are their goals? In what scenarios are they going to use our software to achieve their goals? How can our software be helpful in these scenarios? How to remain flexible and support plenty of user scenarios, but not to overwhelm users with too many choices?  While the Creatives target the right hemisphere of user’s brain, IX designers appeal to and care for his rational side.
  • Developers. Not every UI concept can be implemented within reasonable time and money. Often, UI concepts have to be developed on verge of implementability (I remember the guys from Windows Media Center team were astonished when we’ve showed off our image coverflow implemented in MCML – something you’d need to bent your mind around for a couple of days, given existing technical limitations). Also, if we want product quality to remain high in the mid-term, software architecture must reflect the UX design.
  • Business. Obtain or ensure compelling content. Ensure enough time, money, people, and hardware. Present UX design to stakeholders while controlling their desire to influence it. Otherwise, stay out of the way of the product team. Business as usual.
  • Testers. They can be the first to smoke test the UX design decisions, before they will roll out to private beta. Their goal is to provide an outsider point of view.

How exactly these roles are mapped to real people, and where roles start and end, is often matter of discussions. Besides, the process doesn’t account for agility and iterations, as well as for parallel development that has sometimes to be done to hit a deadline, and, and, and…

But this is a topic for another story.

My first encounter with Interaction Design

My very first job was in a university HR department. Me and a friend of mine, two students of the same university, were appointed officially by this department as software developer apprentices. But, before we could start learning programming, our first task was to type in all the teaching stuff profiles that were available as staples of paper forms. For that task we were given two IBM PC compatible computers running MS DOS.

I didn’t object. My only previous experience with computers was a hand-made home computer using the TV set of my parents as monitor, my HiFi tape deck as storage device, and having a keyboard soldered by my father with usual buttons. Thus I was extremely excited to see the gray plastic monitor, which was specifically produced to be a monitor, not a TV. Excited to touch the real 101-key keyboard that has been made of the same gray plastic, and was looking just like the one on a photo from the “Information USA” booklet by United States Information Agency. As a child I liked to watch its photos and to dream to use these devices.

And I was excited to watch the real HDD blinking me with its LED as it was reading and writing files. Yeah, IBM was my first PC having an operating system and a file system, and these new concepts were especially fascinating for me. And yeah, it has been made outside of the Soviet Union, somewhere far far away, in the unknown and exotic West. The Russian word for HDD was for some reason “winchester”, and I believed my HDD was also coming straight from England, the land of Sherlock Holmes, Jerome K. Jerome and Winnie the Pooh.

So, in the first weeks, I felt myself in a fairy tale. I’ve enjoyed every button press. I loved the UI of the database software we were using. I watched the HDD LED closely and knew exactly, when our software is going to access it.

But, after some time, the charm went away. We still had plenty of profiles to type, and because we were creative young men, plain typing has underutilized our brains. We started to compete against each other, trying to reduce the time needed to enter one profile. Besides of having fun, this had a positive side effect of finishing our first assignment sooner and therefore starting to learn programming sooner. I have analyzed the data entry process and found some shortcuts, but also some innate deficiencies that could only be fixed by changing the software. Nevertheless, I’ve reduced the typing time from two-three minutes to around 50 seconds for a basic profile.

When the time of my first assignment came, I was excited to know that it was developing of another profile database software, this time to store student profiles. With around 10000 students in the university at that time, and knowledge that I will have to help entering the data myself, I was determined to reduce the form entry time as far as possible.

I didn’t know the word “usability” at that time, but I know about ergonomics, which was something my father always regarded with reverence and fascination, so I was simply applying the ideas of ergonomics in software area.

Entering a basic student profile with my database software took 15 seconds. It didn’t have cool colors (IBM supported only 16 different colors anyway), and it didn’t impress with fine graphics (we’ve used text mode, 80×24 chars, IIRC). But it allowed for very efficient form entry and, at the same time, reduced the number of typing mistakes.

This Week in Twitter

Powered by Twitter Tools

This Week in Twitter

  • @bobuk ?????????? ?????? ????? ???????, ???????? ??? ??????? ?????? ???????? ??? ??????????? ??? ??????????? ??????. #
  • @bobuk ? ????? ????? ??????? ????? ???????????? ????????????????? ???????? ? ????????? ??? ?????? ???. ? ???????? ???????? ????????????. #
  • Positively shoked by Android voice recognition: 100% accuracy for Russian (!) broken slang (!) words (?????? ??????, etc) #

Powered by Twitter Tools

iBad experience

As Apple has presented iPad 2 recently, it is time for me to sum up my iPad user experience. Because Apple focuses on the overall user experience, right? And the competition focuses on specs and features, and this is wrong?

At least this is how Techcrunch has understood the Jobs’ message. Unfortunately, I cannot confirm it with an original video from Apple.com, because this site requires me to install Quicktime browser plugin to watch videos, without giving any other possibility. And I’m not going to install it, because unlike Flash and Silverlight I know that a) Quicktime is only needed for this one single site in the Internet – the Apple.com, and b) I had a nightmare experience with some previous version of the Quicktime player for Windows before – this bloatware had installed ton of services eating up my memory and CPU cycles and had constantly tried to upsell me into the Pro version. So: no, thanks.

But I digress. So, the iPad 1, and its overall user experience. I didn’t buy it for myself, it was a gift for my mother. Everybody needs a computer nowadays, but she in her 60’ies is not very computer affine, even though she is a computer technician by her education. So I thought, an iPad doesn’t have a file system, nor device drivers, nor firewall & antivirus software, and iPad is from Apple that is being rumored to be a company that cares for user experience. So I thought, iPad is the best fit for my mother.

She is a normal retired person that wants to follow her children on Facebook and Flickr, get connected with her former classmates and friends, read books, occasionally write a couple of invoices, and otherwise read mail and try to surf in the Internet.

So I have bought the 16Gb iPad without 3G, from a local German shop.

The first very positive experience was that it came with the fully charged battery so that I could start using it right away. This is really cool and this is how all gadgets should be delivered.

And the first very negative experience happened soon thereafter. I’ve switched the UI language to Russian, because well, my mother is a Russian living in Germany.

Have you ever seen the German iPad switched to Russian language? Apple, have YOU ever seen it?

Let me read for you the application names the iPad has displayed: Safari, Mail, iPod, Youtube, App Store, ?????????. Yes, these names appear exactly like that in the UI, with only the last app (which is Settings) being translated. Now, don’t get me wrong: my mother is a great well educated women, but she speaks only Russian and German, and have learned French in the school. That is, no English. How is she supposed to understand what “Mail” is? How is she supposed to understand that Safari has something to do with the Web, and not with hunting in Africa? She has never used an iPod and so also has no idea what THAT could be. And Youtube she cannot even read properly.

And I remind you, it is the iPad bought in the German shop, switched into Russian UI language. What the hell all these English names think they are doing on its screen?

Let me spare detailed description of how exactly bad the localization of Apple software into Russian is. I will only provide you with one, the final example. The Pages app, also by Apple. Do you know how they translated the “Undo” button into Russian? “?? ?????????”, which means, “Must not use”. I’ve avoided to tap on this button, because I (me! a software developer!) was unsure about what exactly will happen if I would use it. Luckly, by chance I have seen a screenshot of the English version of Pages…

So, the first shock of the localization disaster calmed down, and I started to pre-configure the iPad with some useful stuff before I will present it to my mother. For example, I wanted to buy some content for her.

The first try: iTunes. I’ve searched for some movies in Russian (produced in Russia). Zero. Then I’ve searched for some movies produced in Russia, but translated into German. Zero. Then I’ve searched for popular German movies. I’ve found one or two, which wouldn’t interest my mother. The rest were Hollywood movies translated into German, with quite expensive prices for the German VoD market (think maxdome.de, download.mediamarkt.de, videoload.de). Not very appealing.

Then I’ve switched to music. I’ve searched for some Russian performers. Nothing. Then for some well-known German ones. Nothing. Then for some Chinese performers (I happen to like Chinese music). Nothing. What they have is basically the USA music charts. Not very appealing.

So I went to Safari and navigated to some Russian VoD shops, where you can buy a Russian movie and watch it online. What have I forgot? Yes, you’ve guessed it right. No Flash support in iPad! And those shops are all using Flash.

So….

Then I’ve tried the iBook app. Should I describe what happened? Yep, you’ve guessed it. No Russian content at all, not even Russian classics translated into German. Not even any interesting German book! Only English content. But wait. I can download a book as PDF and then read it with iBook, can’t I?

Yes, I can. I just need to connect the iPad to iTunes on my PC or Mac and use it to place the book into iBook app. I cannot “just” download the book in Safari on the iPad itself and read it in the iBook. Hm. But wasn’t the whole idea of the iPad in my case to be a replacement for a full PC or Mac? So why do I need an additional computer in my household? OK, I have by chance a “real” computer at home, but I don’t have iTunes, nor I need this bloatware on my Windows PC. Is that what Apple understands when they speak about overal user experience?..

But I digress again. Failed to provide tons of useful content, I’ve turned over to installing useful apps. I wanted to provide a cool option for her to follow me on Twitter, Facebook and Flickr. The only free Facebook app I’ve found is designed for iPhone. There were too many Flickr apps, but most of them were paid apps… And twitter client I’ve found some, but it wasn’t integrated with Facebook. I’ve spent perhaps an hour trying out several apps, and the best fit I could find was the Flipboard. Unfortunately, this app has also an English UI only, so that my mother isn’t using it often (or at all?). And, unfortunately, this app has only English language news sources (just like the Pulse app has), and doesn’t allow to add a custom RSS (for example this blog’s RSS). Well, again, here may be I’ve just missed a cool and useful app – if you can advice me with an app showing RSS, twitter, Facebook and Flickr and also allowing to post to your own Twitter and use all the features of Facebook, and that with UI translated to Russian or German, please let me know. But, actually, shouldn’t Apple have had prepackaged such an app with the iPad? After all, they have pre-packaged the web browser and the mail, something that Microsoft was not allowed to do in Europe…

So Ok, after some time and having prepaired the iPad as good as I could, I’ve presented it to my mother. She was clearly excited about its look and feel, and she could start sweeping and tapping on it almost instantly. I’ve ensured her that she cannot break its software, and that allowed her to overcome her usual fear for PCs. She has found Youtube and we could watch a couple of free (or should I say pirated?) and short Russian clips on Youtube. So the first day went quite OK, besides of the last thing my mother wanted to do with the iPad. She wanted to “say bye”. Let me explain that. Her first computer was a mainframe in the office she worked at. This mainframe had an IBM operating system with a command line interface. To begin to use it, you were supposed to type in ”hello” and then your user name. To log out, you had to type in “bye”. The mainframe operators were intructed very stricktly that they HAVE to “bye” to finish the work session with the computer. So what my mother was missing is the similar way for the iPad.

I must say that this is the feeling I’ve also had sometimes, for example with the Pages app. When you’ve finished writing a document, your “natural” wish is to “save” or “freeze” it somehow. But there is no button with “Save” on it that would give you that warm safety feeling.

Speaking of the Pages app, the thing I missed was a documentation (a user guide). I’ve spent may be 5 or 10 minutes trying to understand how to insert a new row above an existing row in a table, but no combination of tapping, sweeping, dragging and pinching could do the trick. After all these tries I’ve felt myself being an ape trying to open a coke can but now knowing how. So I was very impressed to see that my mother was able to use this app to type a whole one-page invoice, with all the formatting and details she needed. Apparently, she was not disturbed by absence of any clues of how to use the formatting features. Perhaps because she didn’t use any.

A similar experience I’ve had with some other apps, for example the iBook or Mail. When you compare iBook, Mail, Pages and Numbers, you will see that these apps sometimes don’t keep similar interactions in the similar ways. For example, the close button might be in the top left, top right, or bottom right corner. Or a button with a box and an arrow going out of this box could mean quite different things, like answering a mail, forwarding a post, or sending a document to printing. Again, my mother seemed to be not disturbed by such inconsistencies.

One of the use-cases for iPad that additionally appeared was using of Skype. So I went to a local shop with the idea of buying a web cam and a headset that can be attached to the iPad port, or an adapter for that. Nothing found. Do I understand correctly, that video conferencing is not supported? And why it isn’t? Does the iPad have a slow CPU and / or no GPU? Do we want to speak about features and specs, and the price I had to pay for the device now?

After all, I’ve spent $640 on it. That’s right, the device that costs $499 in the USA will cost 499€ in Europe. If I was buying a desktop PC for that price, I would be able to use Skype, read books without any additional software, use Microsoft Office (and have a usable physical keyboard for that matter), etc. Unfortunately, I would also have files, drivers, firewalls and other unneeded stuff…

So, my resume of this long post: all in all, it wasn’t a mispurchase. My mother has fun and manages to use the device, at least those apps that are adequately translated or don’t need any translation. But, it was quite an expensive fun, and it was a user experience quality level that I absolutely cannot match with all that hype Apple fanboys and fangirls are producing in the press.

As soon as anybody would produce a reasonable OS for a normal PC hardware, without all this file, driver, firewall stuff etc, I mean an OS suitable for seniors, there are chances I will immediately try it, and, who knows, the next computer my mother will get will not be an iSomething.

Daily time budget

I work 8 hours per day. If I’m in a normal mood and health and averagely motivated, I spend only 2 to 6 hours per day developing software, with average of 4 hours per day. The rest time I spend on other activities.

This is an absolutely deliberate decision of mine.

I can only be productive so many hours a day. If I would try to force me and develop software in my unproductive state, I would create more bugs than software. This effect is widely known among software developers and many cool names are assigned to that, for example the Flow that can happen in the Zone, in The Cave.

No matter how you call it, the lenght of the Flow can be trained: the best software developers I’ve even seen could develop software productively 6 - 7 hours a day on average, in a course of several weeks. The worst programmers I’ve ever met could only bring a half an hour once during the whole week.

Experience and training not only raise Flow duration, but also deepens understanding of the process: novice programmers don’t even feel when they are in the Flow and when not. Somewhat experienced developers can tell Flow zone apart of unproductive time, but would force themselves to work outside of the Flow time, sometimes because of a wrong understood discipline or loyalty, and sometimes in a hope to engage the next Flow period. And the most experienced developers would just switch and do something else.

There are plenty things to do. Communicating, documenting, specifying, installing, testing, participating in UI design and in business concept creation, trying out new things or just catching up with the news. Not that those things don’t require to be creative, but they require different brain parts than software development. And most of those things are either expected to be done anyway, or can be done by software developer and would bring additional profit to the company (as opposed to spending unproductive time with surfing on the Facebook or coffee klatching).

By being consequently self-disciplined and replacing software development outside of the Flow zone with these other activities, experienced software developers raise their efficiency (in terms of ROI on their salary).

So that is undoubtfully a Good Thing.

Having agreed on that, two logical consequences of mis-management can be considered.

The first one is that you cannot speed up software development by increasing working time. One can cleary see that increasing working time can only increase the time outside of the Flow, so that less experienced developers would produce additional bugs (but not additional software), and more experienced developers would produce more documentation or tests, but not software. The burn out after a couple of weeks will complete the desaster. The very best outcome of overtime are bugs that look like a usable software in the short-term perspective (so called clickdummies or throw-away code), which might have sense sometimes. Fortunately, most of people know about this effect and generally consider overtime as a “no go”. Many software developer contracts here in Germany prohibit overtime explicitely (you may not regularly work more than 40 hours a week), and that’s good thing too.

Another consequence is not that much known: you cannot speed up software development by freeing up the software developer from some of his non-development activities. Speaking of me as an example, I need 2 to 6 hours per day of a non-development tasks to fill up the time outside of my Flow. If you free me from some of those tasks, it doesn’t mean my Flow time will increase and I would produce software more quickly. No, it would only mean I will have to find out and do some other, may be less important, non-development tasks.

The only really working way to speed up software development is to increase the average Flow time. Speak with your software developer to find out more about how to do that.