Czech Republike

Now that the Czech team is out of the Euro, this video came as a welcome boost for morale. It’s passionate about why you’ll like what you see in Czechia yet does it in a tongue-in-cheek way so that you don’t think we’re just full of ourselves here. Or maybe we are but when you come you’ll like it anyway.

(hat tip: myego.cz)

Nokia E6: the verdict

There are many ways of saying you were wrong and I’ve been searching for a good one lately.

Long story short, my attempt at time travel did not go very well. I took the Nokia and went back at least 5 years. Although it is good at making phone calls as I expected, its solid hardware is crippled by slow and under-performing software that gets in your way in many unpleasant ways.

While I stand behind my last take on Android 100%, turning back to Symbian was a folly.

Here’s a brief summary of my experience so far:

  1. Phone calls and messaging: just works. Good.
  2. Mobile browsing: works so-so; the embedded browser is based on Webkit and renders most sites reasonably well, but if the site is relying on JavaScript heavily, the world stops spinning. I whipped up a quick demo with jQuery Mobile: a simple form with ~ 10 fields, and I almost could not scroll down the page. Neutral, because I don’t use it for browsing much.
  3. General system responsiveness and ease-of-use: quirky and hostile.

    The boot-up seems fast up to the point where you enter your PIN code, then the UI kind-of  loads, but you have to wait 10-20 seconds before all application icons appear on your homescreen and you start using the phone.

    Then, whenever you scroll down the applications menu, the movement is jerky as if the phone is actively resisting your commands.Most apps except the dialer take their sweet time to load. Worse yet, you don’t get an immediate visual feedback that the app is starting and have to wait 2-3 seconds before it either loads or you tap the icon again in case the OS didn’t register it the first time.

    Even such a basic thing as unlocking the screen can become a fighting match as the phone acknowledges my jerking the unlock hardware key with an angry vibration, yet does not unlock the screen until the 2nd, 3rd, or 4th time.

    In summary, it feels as if the phone is living its own comfortable life and complains every time you disrupt it by wanting to use it. Bad, very bad.

With that said I cannot recommend the E6 at all, even disregarding its “smartphone-like” capabilities and only considering it as a voice and messaging device. Whether or not Nokia did a better job with the Windows Phone I do not know and am not particularly keen to find out. The only thing that’s still keeping it in my pocket is that it can share the data connection via a Wifi hotspot (ad-hoc mode only, though, and you have to pay for an app to do that, in my case JoikuSpot).

Goodbye, Android

This is it. I have had it with you, Android. Good-bye.

It was late 2008 and I was lusting after the first Android handset, the venerable G1. With subsidies being quite ungenerous here in the Czech lands, it was out of reach for me, costing upwards of 350 EUR. Later, I got a loaner Motorola Droid, which was so bulky I once dropped it face down on the street and scratched its display, and finally I purchased HTC Desire. That was January 2010.

It was a tumultuous relationship. The original HTC ROM didn’t allow for many applications to be installed as it was running out of available memory very soon. Hence I set up on the long and, ultimately, doomed journey of running community distributions. I put to work, in no particular order:

And I’m done. And before you think I’ve headed the obvious direction, to the Apple’s offering, let me say right now that I’ve returned to the brand that used to dominate the phone market like no other: Nokia. Yes, I bought the E6-00 model, full QWERTY keyboard, VGA gorilla display, touch-and-type, whatever: I got it because I need a phone that I can, you know, make phone calls with.

For me, Android worked great until I happened to arrive in this point in my career when I need to make quite a lot of plain old phone calls. Without further ado, here is a list of annoyances and little pains it’s given me during our affair:

1. Speed. Or, lack thereof.

Android is the phone equivalent of Microsoft Windows. It’s quite fast out-of-the box on a reasonably powered device such as HTC Desire. Yet it’s getting progressively slower over time as you install apps, many of them running background services. I can now see Steve Job’s wisdom in not allowing multitasking on the iPhone until recently. It incurs real, measurable cost on user experience.

After just weeks of running Runnymede HTC Sense 3.5 ROM, there were split-second delays after every interaction I had with the device. Unlocking it, popping-out the app menu, opening the dialer, every basic command would not complete immediately but only after a slight delay. It was as if the phone was hesitant in allowing me to do whatever I wanted to do. I don’t need a phone with an attitude.

True, some AOSP distributions like Oxygen were a bit faster, but they had their own share of problems.

2. Making calls is secondary.

Even though the dialer/telephony subsystem has the highest priority, the act of making and receiving phone calls can be unnecessarily cumbersome especially if your requirements include making SIP (internet) calls or using a Bluetooth headset.

Oh yes, Bluetooth. Granted, it’s a standard that is error-prone in other handsets as well. With my Desire, I used two: a cheap Nokia BH-something-or-other and lately a Jabra. The Nokia used to work for some time, but after a certain period, people would report echos on the other end. In the end the mic stopped working when paired with the phone (with my Windows PC it functioned just fine).

I couldn’t get the Jabra to work at all. Not with any of the distributions listed above. Again, does its job just fine when I’m Skyping on my laptop.

Going back to making and receiving calls, this was my workflow:

  1. Push the power button to light up the screen
  2. Swipe to unlock
  3. Touch the dialer icon
  4. Look at the list of recent calls, with the soft keyboard opened so the list only showed the last 3-5 items; if I wanted to see more, I had to lighly swipe downwards to hide the keyboard, however sometimes the system would interpret it as a click and start the dialing flow – cancel, go to step 3; if I wanted to see the address book, click on another icon and scroll to find a contact; click on the contact card to select a number to dial and start the dialing flow
  5. Dialing flow: wait for a popup to select GSM/SIP account
  6. Select SIP or GSM and dial
  7. After connecting the call, push the power button so that the screen get locked and I wouldn’t accidentally terminate the call

With regards to point #7, it would occasionally happen that the proximity sensor would not sense my cheek anymore and light up the screen. Since I don’t like the feel of plastic on my face, this would happen more often then I’d like.

In summary, calling people involved a cumbersome procedure and was prone to accidental termination due to the malfunctioning sensor. My learned experience with the system tells me that it’s first an application platform and only then a phone.

3. Notifications. As if I cared.

We are now moving away from the Android system itself and towards the app-land. Many apps are working fine and I’ll miss some of them, like the excellent Offi app to look for public transport connections in Germany.

I take issue with how many apps assume I want to be notified of every single event that’s happening in their life. Foursquare, for instance, would pop up a notification every time I’d unlock a badge, even though the app was running in the foreground and it has just informed me about the badge in the main screen!

Gmail, even though indispensable for my daily business interactions, gives me a heads-up every time I receive an e-mail, but as soon as I have more than 1 unread item in my Inbox, it would just show me the count of unread messages, forcing me to open the Gmail app to see if I need to care. No way to quickly see what’s there at a glance. And since opening an app involves some waiting every time, it becomes annoying very quickly.

With any other app, I’d disable their notifications after being annoyed more than a couple of times, but the thing is, I don’t have time to waste on the Settings application. That’s another 5-10 clicks just to remove a pain.

4. The ever-present threat of running out of power.

This is not just Android’s fault, in fact I blame the hardware vendors for not coming up with a disruptive battery technology already. Most today’s smartphones last only a day. Here’s where I have high hopes for my new Nokia as their devices I had used previously would be long-lived once fully charged.

Here is what my working day looked like when I used my Desire:

  1. Wake up and disable the alarm. Check that the device has charged overnight.
  2. Go to work, do my stuff.
  3. Have lunch. Come back from lunch, plug my Desire into a USB port.
  4. Oops, people are calling me. Unplug Desire, talk over the phone, forget to plug it back in.
  5. Oh, it’s 5pm already. Time to hit the town. Check the battery – jeez, it’s at 32%. Out on the street, make a Foursquare checkin, then enter the power saving mode, meaning no more Gmail alerts etc.

On a good day I’d make it back home with the phone still on, but I simply could not count on it.

5. Thanks, operators, for your “generous” data allowances!

Granted, it’s primarily the carriers who are to blame, but on an average smartphone data plan (200-300MB), you are forced to use Wifi wherever you can as the phone will happily consume the FUP for its day-to-day operations – that is, syncing shit. The more accounts you have (contacts, social networks, e-mail), the more likely it is that you’ll eat out your data limit on a week 3 of your monthly cycle.

I’d prefer for the phone to make smart choices as to what shit I want synced really often and what can wait, but Android is not really there, and I cannot be bothered configuring it manually (if it’s at all possible).

==

What I liked: the app ecosystem. I am a grown-up man, hence I don’t have neither time nor sympathy for the Apple’s curation, and I appreciate Google has kept their Market open. Despite its inherent inefficiencies (think half-baked apps, malware, etc.), it gives the customer more bang for buck. You can always uninstall anything you’ve downloaded previously and Google makes sure that the truly evil apps are being eradicated as soon as they claim their first victims.

Plus, many third-party apps are better than what Google has baked in, for instance PowerAMP vs. Music, which is something that can’t happen in the iOS land as Apple does not let developers compete with them but only supplement them.

I also used to enjoy the ability to root the device and tinker with its internals, but as I’ve gotten older and more busy, I no longer want to even think about that. No, I just want my phone to work flawlessly as a phone, with some Internet / app capability that will complement its telephony core competency (but not the other way around). Hence the Nokia.

===

So here I am. Just looking at the stats and trends, it’s obvious that I am not capturing the sentiments of the majority as the Android (with iOS and Windows Phone) are establishing to be THE handset OS choice for almost everyone. But I couldn’t care less. Here is hoping that Symbian’s fate isn’t completely sealed and I’ll be able to carry on with my Nokia for years to come.

Nejřemeslníci/TrustYard: find a good repairman

Say what you want about disruptors but the true ones do not come very often. Put together 12 startup founders and, of course, every one of them thinks they’re disrupting the living shit out off their niche. Put them together 5 years later and you’ll be surprised to find out that one of them had actually been on to something.

The best ones not only disrupt but ultimately improve the market they’ve entered. And this is the case of TrustYard / Nejřemeslníci, a Czech online business I’ve tested over the last week.

Their mission is simple: make it super-easy for home owners to find a reliable artisan who is good at what he does, charges reasonable rates, and communicates well. On the surface this does not sound like a challenge too big but as is the case with used cars salesmen, sex workers, or politicians, what you see mightn’t be what you get.

What they have is basically a review and rating system – people comment on how well the artisan had done his job so that customers coming later will have an easier time finding a reliable provider.

(now I hope you can read Czech but if you don't you can still probably guess what it's about)

My experience was pleasant. I entered details of the job I needed done, which was a couple of defects in the electrical installation in our apartment. Within four hours I received four bids. Upon close inspection it turned out all four vendors had above-average ratings. I selected one, we agreed on date, time, and price and he came as planned, did a perfect job, took my money and that was it. The system worked.

Which is the ideal use case and, while providing very boring reading indeed, it proved to me that these guys are doing a very useful service. One would almost say public service – and to customers it is as the service is free. I understand the artisans will eventually pay fees just like eBay sellers do.

Here is what I recommend TrustYard to improve: I had the job done and was thinking for a bit long how to properly close the case on their site and enter my review. And I was in my reviewer mode, meaning I intended to actually do it. I don’t think I would’ve bothered otherwise. Alas, stupid me did not take a screenshot then, so I’ll only say: when I am in the list of my active jobs, or on the job detail page, I’d like to see a big shiny button with text “It’s DONE – rate this provider” or something to that effect.

In summary, this online business has the ambition to improve an existing market and I’ll keep my fingers crossed they succeed.

Fitness for geeks: an annual review of the Stronglifts 5×5 program

If you are the prototypical geek, you’ve probably only seen the inside of a gym once in the 2nd week after Christmas. That was when the shame of the extra pounds gained over the holidays momentarily overpowered your will to spend time doing more useful things, such as producing Ruby code.

I have been there myself. Once you hit 30, however, your monitor-focused lifestyle can start exacting its toll on your health and well being, which is what happened to me in the summer of 2009.

Having developed a severe back pain, I was unable to complete my daily commute using the Prague public transport without gnashing my teeth in pain as I stood in the metro wagon. During our family vacation in Italy, we had to stop every 200 meters on our walk through Bologna as I had to sit down and shake off the pain. The pain had become intense and had not subsided even when I laid down to sleep.

One day I could no longer stand the sense of humiliation such ailment brings and started shopping for solutions. Physical therapy was one. And the therapist suggested I develop some back muscle to fight the root causes of my pain, which was obviously a by-product of my sedentary lifestyle.

I had been an on-and-off visitor to the gym since my teens but if I were to count the “on” days, they were outnumbered by the “off” days by a huge margin. You see, I don’t really enjoy exercising, though I do like the hormonal rush you receive after a good workout.

Looking for ways to make the exercise fun and effective so that I wouldn’t give it up after bringing the pain to bearable levels, I looked around the web for inspiration. It was then when I discovered the Stronglifts 5×5 program.

Long story short, it has cured my back pain completely after one month, I haven’t been ill once, and when I do occasionally catch a common cold, it’s gone in two three days tops.

I think that the appeal of Stronglifts for me was its simplicity and focus. It’s a weight-lifting program that’s designed to make you stronger. You alternate two workouts, which means no more wasting time deciding what exercise to do next. You plan your progress weeks ahead as you are only adding 2.5kg of iron each time. And, since you only do free weights, you no longer compete with other amateurs for the use of machines. Oh yes, free weights are one of key ingredients to success in this program.

Now, let me say that I have re-visited the SL website after a long time and I do not particularly enjoy its direct-marketing copy. Nor do I enjoy the fact that you can no longer download the ebook freely. You now have to sign up and wait until Mehdi releases a new batch of PDFs sometime this year (as if distributing a PDF carried any distribution costs!) This is bullshit; I’d much rather pay, say, $15 without having to get on the mailing list.

Perhaps I am missing something but this is a serious flaw of the program, one that does nevertheless nothing to stop you from jumping on board and progressing from a weak geek to a strong and fit one.

It has done wonders for me in the 12+ months that I’ve been doing it. I’ve gained about 10kg of muscle, which is actually a lot less than you can do; I am a smoker, and I’ve had trouble keeping my diet straight (I’ve only added breakfast to my menu this month).

It just works and you don’t have to necessarily become a body-builder in the process; just the increased fitness and strengthened immunity is a fantastic outcome. So yes, you can keep spending most of your day in your IDE and only invest 3 hours of your time every week to insure the well-being of your inner code monkey.

I am not associated with the proprietors of Stronglifts 5×5 website in any way and have not received any compensation of any kind (just that so we are clear). I am just that happy with what it has done for me and thought I should share.

Why I hate computers part MCLMXIV

You know why I hate computers? Because no matter how many years of experience you’ve got under your belt, they can still make you feel like a village idiot.

Case in point: I’ve recently bought a professional sound interface by M-Audio, the Audiophile 2496 PCI card. It did not initially work in Ubuntu but did in Win7. So I did things normal people usually do like install some software, play some games, configure things here and there, and after a few restarts, BAM! No sound coming out of my headphones.

Neither in Ubuntu nor in Windows.

So on I go and Google things like usual, and boy did I learn more than I’ve ever wanted to about the inner workings of audio in Linux! Indeed, I went ahead and taught myself the basics of digital audio so that I don’t stare at terms such as S/PDIF only thinking I had an idea what they meant. Nothing helped, though; no sound was coming out of my headphones.

What does a desperate man do in such a situation, then? Re-install Windows? Nope. Re-install Ubuntu? Sure, it was getting slower by the day and I figured it was about time anyway. No sound from my headphones at the end of the day, however.

What does a desperate man who’s lost all sense of self-worth by that time do, then? Pull some cards out of PCI slots and put then in again in different ones! And lo and behold, the music comes to life once again!

One would think that computers and operating systems would have learned a thing or two about IRQs and shit come 2010. Apparently, this is not the case. Or it is, but my computer has never revealed why it suddenly went silent. Or why it spoke again. Once thing is for sure, I’ll never again admit to being a computer expert.

Did Google actually arm its enemies with Android?

Interesting article over at HBR – it argues that since Android is open, manufactures might and indeed are sometimes replacing Google with other search providers in their handsets. As a result, “Google will not make a cent on this handset, despite having enabled its creation with Android. All the search revenue will flow to [other providers].”

Could be, but I think we have to consider the typical user approach to smartphone in general and Android in particular, which tends to be exploratory if not outright geeky. That’s very unlike Nokia use case (call & text) indeed.

So render me sceptical. In those markets where Google is the 500 pound gorilla, users WILL ask “Where is my Google?” and download / tweak their handset so that Google is back in play. Because in these markets, Google got there by delivering the best results, period. Users are not that “dumb” as when they simply used the defaults because going beyond defaults was going beyond pain.

Plus, there’s tons of other services (Mail, Maps…) which will continue to be present on these devices for as long as people use them, and through those channels Google will continue making advertising dollars.

I think Google’s main concern has been the oft-mentioned “fragmentation” caused by users having to wait for manufacturers to release OS updates. Once Google figures out how to deliver updates and upgrades with its own mechanism (Market or otherwise), they’re going to be just fine.

Product and Project managers: different beasts?

Are product and project managers invariable at odds? Originally a question on whether a product manager can also function as a SCRUM master, the ensuing debate has brought a number of important points on the responsibilities of product and project managers in general.

I am going to re-position the debate in this way: can a product manager be so distanced from reality as to actually not be involved in the implementation at all? Commenter Jonathan puts it thusly:

I, personally, do not care about the software development process nor do I ask my product managers to. I expect my product team to focus entirely on value creation and when developing software is necessary to create value, others with that expertise can step in.

Specifically, Product Managers should focus on customer value, customer experience and where appropriate, assets collected as a result of product activity.

There’s definitely a lot of merit for this argument – if the product manager was “hands-on” involved in the technical aspects of the product creation, which he’ll never be as competent in as his software people, he would spend less time on actually envisioning and designing the product and making sure it fits market needs.

But, if the product is a piece of software, I believe that the product owner / manager cannot just draw it on a piece of paper without having a very intimate knowledge of how it’ll translate into an app or website code. And the role where he can oversee the development of his product could be the project manager role.

Of course, project managers are tactical beasts and their primary goal isn’t bringing a great product to market but rather bringing whatever was agreed on to market on time and budget, which can and often does mean haggling with product people over cutting features if one of these conditions, time or money, cannot be met.

Product managers hate cutting features. Hence it would seem impossible for one person to perform both roles with excellence without developing a serious mental disorder.

Then again, cutting features is as important as creating them, if not more, as the success of stripped-down web apps from Basecamp on has proved. The reality of software implementation and its constraints can be a strong motivator for prioritizing features and perfecting your specs to deliver those with the highest value while leaving the rest out.

In summary, I believe that product managers should try out the project manager role at least once to see what it really is like to bring something (web app, software, whatnot) out of nothing (specs and lots of sweat).

Don’t throw that mock-up away

Are “throw-away deliverables” such as requirements, mock-ups, or use cases a waste of effort? Yes, said Ryan Singer of 37 signals as he illustrated their design process at this year’s WebExpo conference in Prague.

Is such advice applicable to people who do not work at 37 signals?

If you’ve worked for a corporate client, you’ll know that on any given software project, more paperwork is generated than actual code. Paperwork that has no value on its own. Would it make sense, then, to go lean and go from sketch notes directly to HTML / code?

Remember, we’re not talking about a startup project. Your team has 20 members and 50 different stakeholders. Get them build the thing now, no specs, just communication and craftsmanship.

I’ll say that even with the best people money can buy you won’t deliver.

The value of “throw-away deliverables” becomes apparent when you realize people have trouble imagining software work. It’s near impossible to visualize a complete application in your head unless and until you have taken several intermediate steps – and created a number of throw-aways in the process.

These intermediate steps are (roughly in that order but not necessarily so):

  1. Business requirements and Use Cases (what the thing does)
  2. Wireframes, mock-ups (how it looks)
  3. Technical specs (how it’s going to be built)

Visit Scott Sehlhorst’s series on requirements for a detailed information on how good requirements make better projects. Suffice to say, if you don’t say what you want, chances are you will not get anything or you will get something else than what you want.

Even if you and your team can read your customer’s mind, however, requirements still have a tremendous value for the people who write them.

Say it’s you who’s writing them. It opens your mind as you explore the problem domain and forces you to focus and express yourself clearly. Instead of saying, make me an app that processes invoices, which is a very lazy way of putting it, you’ll think about each action that has to be performed for an invoices to be processed, and in that process discover many, many requirements that would otherwise have gone unsaid – and, therefore, un-implemented.

Mock-ups, and product visualizations in general, are complementary to written requirements in that they illustrate, verify, and complement them. Most people are visual and a conceptual mock-up will let them think in terms of user interactions, instead of just objects and results. Graphic models alone can help create an app that does not just solve a customer’s problem but does it efficiently and perhaps with an added aesthetic flavor as well.

Then there’s the element of time.

For the sake of the argument, let’s stipulate your superb A team of ninjas and rock stars have read the customer’s mind and built a perfect app for your customer. A year passes by and you part ways with this customer. Then, a B team of ninjas steps in to continue your good work. Except, they are not telepaths and have nothing to go on except your source code. Your former customer has not documented their requirements and thrown those napkins away a long time ago.

Baaam! Good luck navigating this mess! (not that it’s your problem anymore but you could just as easily become a B team in another example)

As you see a well-produced set of ‘throw-away deliverables’ can help all parties involved in a software project. Yes, they are not valuable per se, just like a blueprint of your dream house isn’t. Now, would you try building it without it?

I will say that I envy 37s who can work this way. And there may be many other teams who are doing so, and maybe you can, too. The mundane, boring, and oft-criticized way of ‘getting there’ with a paper trail in your wake is, however, still the way for many more teams and projects and will continue to be for as long as making software is a hard, unpredictable process with uncertain results.

Creative Destruction At Work Again

The so-called creative destruction is a natural process that is currently eliminating many businesses such as newspapers. One can argue with it, one can try to deny it, but that’s about what you can do with it.

Creative destruction has many forms. It can mean market elimination, such as when Craigslist destroys the market of classified ads. Or, it can mean commoditization, which is what Fotolia, iStockPhoto, and now PhotoXpress are doing to the business of stock images.

The last one being the first to give away A LOT of images free-of-charge.

I worry about the photographic profession. It used to be that you had to pay upwards of $500 to purchase a single photo for your presentation. These days, I can feed an entire slide-deck with rich media for less that $20.

What’s really happening, though, is that amateurs* being equipped with affordable digital equipment are entering a market that has previously been closed to them. Crowding the market with supply, they drive the prices down with each shot they take. That’s how PhotoXpress can now offer 600 thousand freebies.

True art is not going to depreciate as a result, but anything less-than-awesome is an enormous pressure to price at or close to $0.

If I were a non-Pullitzer-winning photographer, I’d be deeply worried about my financial outlook. If I were a product manager at any of these companies, though, I would be worried as well. Being in the commodity business is not bad per-se (just ask your phone company about their profit margin from every SMS you send!) but you have to be big or get big enough very quickly AND customers are not really interested in your product innovations. Not as much as they would be if your product were not a commodity.

And I don’t think that the business of stock images is at a point where further innovation wouldn’t matter. My opinion is, then, that the commoditization / creative destruction has happened too quickly and too rapidly here.

Then again, one can argue with it but that’s not going to change anything. Here is hoping that the guys won’t stop innovating even as they are busy slashing prices every day.