currently interested in awesomeness and how to create it

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.

Thoughts on the Diaspora project

On one of the StackOverflow podcasts, Joel and Jeff discussed what made StackOverflow tick, as they usually did. Jeff made a point: anybody could hack a StackOverflow clone over the weekend. It wouldn’t be as polished but the core use cases are simple enough for this to be a weekend project.

StackOverflow did not take over the Q&A space because it’s great software. I think it actually is pretty good on the software side, but it’s been a runaway success because the guys have managed to create a community, fast. Its launch was a mother of all online launches:

  1. the community was in a dire need of a better solution to Q&A
  2. the product delivered that solution (that’s the software part)
  3. by pre-seeding the site with good content and with persistent evangelism, they got enough user mass for the project to take off

People came and kept coming back because the product rewarded them for doing so. Not unlike Facebook that also rewards you for being there, although in a different way.

Speaking of Facebook, what are the chances that Diaspora will give them a run for their money?

Again, it will not be determined by the quality of their code. Open source alternatives to Twitter, for instance Status.net, did nothing to slow Twitter down. By the time these clones have started popping out, Twitter had enough people bought into it that it didn’t matter if you could download a clone and run it on your server.

Why would you? All your friends were on Twitter already.

With Facebook the game is even harder. My dad is there, and so are million other dads and aunts and non-techies. They won’t run their own Diaspora; their highest technical accomplishment is uploading a photo on their Wall.

So, technically, yes I could run my own quasi-Facebook but would anybody come? Hell I run this blog but for many people Facebook has replaced the internet so if I am to reach them, I have to first link to this post from my FB.

Perhaps the question itself is wrong. As The Onion recently reported, “New Social Networking Site Changing The Way Oh, Christ, Forget It, Let Someone Else Report On This Bullshit“. With a plethora of existing tools already at your disposal, you indeed have all you need to share whatever you want to share with whomever.

The guys behind Diaspora would have to answer our need to share in a very different way, and doing so they’d also have to be excellent community managers, just like the StackOverflow team has been. What I think is that Facebook doesn’t suck badly enough for them to have a clear shot at victory. And without a pressing, dire need, no product to satisfy it can be made.

PS Not feeling so social? Check out the Mine! Project for a very different take on owning and (selectively) sharing your data.

Adobe folds

Adobe is not going to war with Apple and will abandon its code translation tools. Hence no avalanche of Flash developers suddenly being able to target iPhone/iPad. Funny, I thought Apple updating its terms would lead to an uprising that would ultimately lead to mobs breaking the walls of their walled garden.

Microsoft couldn’t even ship a  media player with Windows without getting slapped with an anti-monopoly fine from the EU commission but Apple can apparently do whatever they want even though they are the undisputed leader in their smartphone niche.

But perhaps Adobe’s defensive statement “the iPhone isn’t the only game in town” isn’t just about sour grapes. It really isn’t. When a close friend and a devoted iPhone addict recently admitted that my Droid (Milestone in the EU) felt markedly faster in every way, I saw that as a turn of the tide. Developers won’t be voluntarily submitting to Jobs’ despotic rule when they have an alternative that is no longer “just” viable but actually superior in some ways.

Is Google Buzz Catching On?

At launch time I used to have 2-3 updates daily in my Buzz. These days, without extending my follow list, I get maybe 25. Sitting there, a real-time component in a decidedly asynchronous Gmail.

Making assumptions based on anecdotal evidence is rarely a good idea. Still, Buzz could be seen as a moderate success – simply thanks to its distribution model.

With a 100+ million users monthly, you can push a lot of mediocre stuff and still get a log of usage.

Long term, though, I don’t see how Google could take it up a league to compete with Twitter. Not unless they take if off Gmail.

It lives inside Gmail so that it gets traction as a result. But an inbox is the last place where I’d want to check for updates. E-mail is broken; it’s either sporadic (for the lucky ones) or overwhelming (the rest of us).

You are scared of inbox because it usually means bad news (or more work – but that’s bad news, too). If you weren’t, there wouldn’t be GDD methods such as Inbox Zero. Whereas real-time messaging is where you go for information and fun, something you’ve unlearned to expect from e-mail.

Taken off Gmail, Buzz could be a technological rival to Twitter but I think that ship has sailed. Unless they can come up with a new model for real-time messaging,  I think Buzz catching up is largely due to its distribution strength and not a sign of an adoption based on new, unique value.

Google catching the tablet frenzy

Does Google’s purported entry into the tablet market make it a viable market?

With the iPad being widely perceived as a trying to reverse the decline of the print media – making it essentially a book reader with net access – I side with the pundits who concluded that it’s too big to be useful as a  carry-on device and too constrained to serve as an all-purpose computer.

Whatever deals Apple can strike with publishers, though, Google can get better ones. On Google Books, you can already search over 7 million titles. And Google’s settlement with the Association of American Publishers can open doors to many millions more.

Thus if Google delivers its own tablet/book reader, we are likely to get not a selection of high-brow subscription options but potentially a Book Market with an unlimited catalog and very interesting pricing.

This being an utter speculation of course, I still think Google is far better equipped to create this market. Kindle was the first step but it’s just a book reader, making its $259 price tag seem big. iPad is sexier but Apple doesn’t have as much clout with publishers as Google does. Google just might get this right.

Next Page »