This mini-series focuses on ad-hoc quick-and-dirty product development, building a mini-product from scratch. In my previous posts I’ve summarily talked about the product idea generation process and product naming strategies and it was fun. It’s now time to get into it and we’ll start with probably the most important product decision we’ll have to make – “who’s gonna use it and who’s gonna pay for it?”. I know you have an idea and it’s the best idea ever – something catchy, that actually does something…Continue Reading “dailytraks – a mini-product from scratch – #3, who’s gonna use it and who’s gonna pay for it”

In my previous post I introduced you to a mini-product that I’ll be building in the open. I talked about the idea, or the “why” of our product. But hey, if we’re going to build a product we need a way to refer to it… basically everywhere. It’s OK to call it “the product” but that’s cold and inexpressive and we don’t really like that, so we’ll need a name. Don’t worry, this doesn’t have to be the final name – most likely it won’t be the…Continue Reading “a mini-product from scratch – #2, the name”

Because I need to tune my process I’m going to build a mini-product from scratch. First, some history. Once upon a time… just kidding.   So let’s begin. The core product, idea, “the why” or the “benefit” is the first thing that we need to figure out. That’s the need for the product, and the seed crystal that everything else gravitates around. You can get it from an instant flash, an organized idea pool or brainstorming session or you may even steal it (and make it better…Continue Reading “a mini-product from scratch – #1, the idea”

Taking an app to production successfully brings a whole new set of challenges. Everything from user experience, resource usage and server load can be influenced by the way your app interacts with web assets such as JavaScript, CSS, fonts, images and even multimedia files. Good user experience and low resource usage demands having as few server round-trips as possible and retrieving assets that are optimized for bandwidth and browser processing (or even resolution-optimized images and multimedia assets). These requirements may complicate or even compromise your…Continue Reading “the static asset pipeline – optimized production experience, uncompromised development flow”

I like to keep my client-side code completely decoupled from the server-side but I still want to keep one message source for localization. The ruby stack I use includes Sinatra, Sinatra::I18n and the I18n gem for localization and this is the simplest and most effective way (that I’ve found) of accomplishing this: The Sinatra route: This way the yml locale file is loaded and served and wrapped for quick use. In the client just request the messages script and then when you need a message…Continue Reading “accessing ruby I18n locale messages from the web client”

new endeavours – things to avoid

When you want to start something new,  be it a business or a new product you always start up with an idea or, if you don’t have one you come up with one (by who care what process… brainstorming, calling a friend, stealing). There’s no better idea than yours. I mean, it’s a pot of gold. What am I saying… it’s the mother-load, the ultimate cash cow. Well, before the money starts rolling in, you may want to analyse it a little further, especially regarding…Continue Reading “new endeavours – things to avoid”

cause and effect – more testing doesn’t necessarily improve software quality

A short story about cause and effect I had in my backlog.

Jim works for a software company or, why not, he may even own it.

Jim realizes that the quality of the software that gets built in his company decreases year-by-year, all over the board. He’s been seeing it for some time now but it seemed like the guys have it under control. You know, the guys know what they’re doing.

After awhile things seem to slip even further….

Continue Reading "cause and effect – more testing doesn’t necessarily improve software quality"

If there’s any single thing that you’ll never get back, it’s time. Time is the most valuable resource that you posses. It’s your currency. Things and people are in a never-ending race, competing for your time, but ultimately, if you respect your time, you should decide who receives it. Lao Tzu said “Time is a created thing. To say ‘I don’t have time,’ is like saying, ‘I don’t want to.” and that’s… well, deep and true. Only give your time to the people who respect it…Continue Reading “competing for your time”

Back when I was green and naive I thought that real physical things are valuable. I thought that people work together based on common interest, as opposed to working together based on the intersection of personal interests. I know, it seems like a semantic difference… it’s not. Once you realize that this is a fact, not just some philosophical gibberish your whole collaboration mindset will change. Nobody actually wants to work toward a distant goal that will benefit us all, without searching for a personal benefit. You’ll…Continue Reading “semantics”