May 10 2012

Software as a Pegboard Set

Software is not like traditional engineering disciplines. Unlike a bridge whose requirements are essentially set in stone, software requirements consistently change and evolve with the needs of the business. The requirements, of say civil engineering, are more firm and concrete than that of software engineering because the artifacts that are being constructed are usually large physical objects like a road or bridge. In the other hand, software is malleable and it often refactored easier than business constraints, that is why product managers often prefer to wedge a round peg (software) into a square hole (requirements) as business constraints evolve. But unlike a kid’s shape sorter or pegboard set, the peg and the hole are consistently changing and not always into the same shape.

Shape Sorter Toy

Shape Sorter Toy


Sep 30 2011

Avoid overloading Meaning to Existing Database Column

I’ve always found that when defining a database table it is always best to create a integer primary key, even if a unique key such as social security number, ISBN, or some other business value. Recently I had to go through the unpleasant process of updating a database table and associated scripts, resources, and code that had used a business attribute as the primary key but because of business requirements it was no longer unique and had grown to have different meanings. Because your business requirements will change, don’t use business attributes as primary keys for you database design. In addition, don’t overload attributes to more than one meaning. For example, the database that I was working with had a database column called Sequence that functioned as the primary key, the line number, and a workflow execution order to process the data. It is a source of confusion and bugs to overload one attribute to so many different meanings.


Mar 21 2011

The Great Hacker News Lifestyle Business Flamewars of 2011

There was a great flame war over at Hacker News about what entrepreneurs should aspire to when they start their business, a lifestyle business or a VC funded multi-billion dollar valuation company like Facebook, Zynga, Google, YouTube, etc. It all started with a angry rant by Justin Vincent about how VC “holds us back from our true potential.” He rambled on to say that the idea of being the next big thing is keeps us, entrepreneurs, occupied and keeps them, I guess VCs and tech pundits, in business. My favorite line of the article is the following…

If every developer was to focus on the very achievable goal of building a lifestyle/micro business – the entire house of cards would crumble.

Another choice quote is…

The absolute truth is that each and every one of us can build a business that can support us. We don’t need to build a million dollar business to survive. We just need a regular paycheck.

If I could paraphrase the rest of the article, Justin believes that not all startup founders will have a multi-million dollar exit in so instead of shooting for the moon we, as entrepreneurs, should shot for Milwaukee, that is a $10k/month small business. So, if you know you won’t come in first in the race, complain that the Olympic commission is corrupt, that the judges take brides, and instead go play Wii Sports because you there you will get a participation badge.

The tone in article reminded me of something that Jason Calacanis complained about millennials. In This Week in Startups #47, Calacanis said…

Participation means nothing, your fulfillment means nothing, nobody cares if you are fulfilled, nobody cares if you participated. You were lied to. There is no trophy in life for participation, except your tombstone.

Things got a little heated in the Hacker News comments for this article. Paul Graham, who goes by pg on HN, said that if every developer worked on their lifestyle/micro business “the whole world would crumble, because we wouldn’t have any technology bigger than could be built by lifetstyle businesses.” After this, things got a little more interesting when Alex Payne, username al3x on HN, said the following…

There’s a middle ground between web application “lifestyle businesses” (like duping credulous customers into overpaying for a time-tracking tool styled with this month’s CSS trends) and trying to start the next Facebook. … There’s nothing wrong with being a small software company. People have been doing it for decades now. It’s boring, but there’s nothing wrong with it. Don’t expect anyone to celebrate you for doing it, though.

At this point some “lifestyle” business operators took offense, most notably Amy Hoy, username ahoyhere, took offense in the above statement since she is mentioned in the original article and has a time tracking application that uses the latest JavaScript and CSS trends. After that Amy went on a dogmatic crusade against what she called the “dominant paradigm.”

In one side of the argument you have people that believe that as long as a business covers operating costs and brings in anywhere from $10k to $100k a month and you don’t have to do much to run the company you have the leisure of a lifestyle business. Such a lifestyle business affords you time to spend with family, participant on your children’s school activities, join a community organization, take time off to travel, in addition to being your own boss and making your own rules. I can’t knock someone for having a gig like this. People in this camp might subscribe to Tim Farris’ book the Four Hour Work Week and in the folks behind 37Signals who wrote Rework. I remember Jonathan Coulton describe on an episode of This Week in Tech (TWIT) about his music business. Jonathan has a strong following as a singer/songwriter in the self-described geek community. On that TWIT episode he said something to the affect that if you have 1000 followers willing to pay $30 for a premium experience or content then you can make a decent living (he probably doesn’t live in California).

An income of $10k/month pre-tax, pre-health insurance for a family of four and a home mortgage in California is not a “lifestyle” I would like to aspire to. Ramen profitable is only profitable if you in college. Some critiques of the Four Hour Movement rightly ask that if someone can bootstrap a business with only working four hours a week, how much more profitable will the business be if they spend more time into it? The truth is that there is a generational gap in the way of entrepreneurs think and a bubble of some magnitude in every aspect of the industry, including in the “lifestyle” businesses.

I can’t find the source but recently I read a tweet where someone said something to the effect, “You know there is a bubble because every tech conference is sold out.” The conference circuit is one popular business with “lifestyle” crowd, in particular the tech, startup, social media conferences. You know there is a conference bubble with the large number of regional and national conferences, seminars, webinars, master classes, ninja training dojo summits, product mastermind madrasas available online. For example, 37signals runs a one day workshop for 37 people at $1k, that is $37k for one day’s work, especially you can reuse the same material many times over for different batches of students. I’ve been involved for the past several years as an organizer for a non-profit which puts on a one day conference for students that nets $50k in profits.

There is nothing wrong with running a small business, especially if you can get paid by non-technical folks for a calendar with last year’s JavaScript and CSS trends or for a one day training on how to use Twitter and Facebook. I mean, if someone would pay me $1 for adding up any two single digit numbers to support my lifestyle I would outsource that shit to India and work from some mojito island somewhere. But there is something to be said about aspiring to build something great. I want the narrative of my work to speak for itself; I’ve worked in some great companies that have had lofty goals such as understand the human genome and possibly curing cancer. Those goals can’t be meet with someone working for four hours a week and $10k/month.

This country will move in the opposite direction in the socioeconomic standard that we have enjoyed if we listen to such advice, if we don’t strive to build the best businesses we can. These millennial web 2.0 designers might not even remember how there was a time before 1999 were their predecessors could have charged anywhere from $30k to $100k for a website design. Economic pressure has pushed the price of a web design down to $300-$1000 for a awesome design from some kid in Russia. Even now, these small time “lifestyle” operations are under threat by solutions from the developing world, where $3/month can afford developers there a very lavished “lifestyle.”

One of my favorite quotes from Robert Frost is the following.

By working faithfully eight hours a day, you may eventually get to be a boss and work twelve hours a day. – Robert Frost

I believe in hard work, not easy baked cookie cutter one trick unicorn project that some folks are calling a business. You got to put in the time, differentiate your product, and think big if you want to be a successful business. It is widely known that somewhere around 50% of small business fail after 5 years, don’t let the reason you fail be because you didn’t take opportunities when they presented themselves.

In the end, everybody is free to run their business as they want and the invisible hand of Google’s search algorithm will be the judge.


Dec 29 2010

Threadless

I recently received the Threadless: Ten Years of T-shirts from the World’s Most Inspiring Online Design Community book. I’ve never submitted a design or voted for a design on Threadless but I wear shirts and I’ve always been a fan of their products. The book was in my wishlist and someone in my family bought the book for me as a gift. The book is full of great designs which have been used on Threadless shirts over the past ten years. While reading about how Threadless started and the company culture one thread, pun intended, stood out. The community is the key to the success at Threadless. Threadless started out in a thread post in an online design forum where designers submitted designs for review and the best one was printed. As a business model, it seems very straight forward, but you can’t stress enough how important the community is to the company. As a classically trained software engineer, I approach everything from the aspect of technical specifications and software requirements so when I see a site like Threadless I think of the software features, like voting, commenting, etc. But reading this book I realized that Threadless is not a technology solution, but a living community. Fostering communities trumps technology. As engineers, we often quote and misunderstand the saying, “If you build it they will come” to mean technology focused website. At least, this was Google’s mistake with Google Wave, they built a great technology but no one came. I now believe that what the saying is referring to is not technology, but community.

Here are some other things I learned from the book. Threadless included free stickers with every order. Stickers have been used for years to spread word of mouth, and it pre-dates viral marketing. Stickers are a physical real world viral marketing vehicle. Everyone that has been to a developer conference has seen a conference speakers’ Mac Book Pro full of web 2.0 logos and stickers.

Networking is really important. For Threadless, this meant sharing office space with fellow designers and developers. Creating shared experiences builds community. Participating in events is fostering community. Provide the tools and means for the community to spread the company message and brand. Jeff Howe, who is credited with coining the term crowdsourcing, said the following in an essay in the book. “It takes a special company to understand that their ego – their creativity, their brilliance, their ideas- are welcome, but not necessary.  What’s necessary is the room in which the party takes place.”

Threadless

Threadless Designs

Here is my favorite quote from the book. “Jacob and I also began teaching a course at the Art Institute of Chicago.  That made us feel a little better about dropping out of school.”


Dec 10 2010

The Right Domain Name for Your Startup

It used to be that single the most important aspect of starting a new business was location, location, location. With online businesses, this translates to domain name, domain name, domain name. The domain name of you business is important for several reasons, because it will be your de facto business name, because this will be one of the avenues of how users find you, because there is a short supply of good domain names left, because you want to stand out from your competitors, etc. But in addition to finding a good domain name for your business you should see if it’s also available on Twitter, Facebook, Tumblr, WordPress, and any other relevant social networking site. As soon as I buy a domain name, I try to lock up the twitter account, the Facebook page, the Tumblr and WordPress blog for that domain.

Depending on the business or product or simply to proactively protect your business from competition and spammers, you should think about snapping up domain names that reference your company or trademarks. For example, try to buy the .net, .org, .me, and other TLD versions of the domain name you are considering if available. In addition try to lock up domain names that reference your company or product in a disparaging way.

Because most single word domain names are already taken, people often combine two words or more. It is common practice to not hyphenate two or more words in a domain name. But when placing two words together be careful that it doesn’t accidentally read something different than what you intended. For example, There is s site called Therapist Finder whose domain name is therapistfinder.com which can also be read as The Rapist Finder. The is a website called Speed of Art whose domain name is speedofart.com whose domain name can also be read as Speedo Fart.

Try to avoid using a name that ties your product or service to a particular technology. Find an inspirational name that denotes a feeling of though about what you are doing but not the technology you are using. For example, Twitter is a great name for their product. No most people use Twitter with mobile device apps over 3G, but SMS was a key aspect of Twitter in the early days. The word tweet denotes so well what people do on the service, they simply post a tiny comment. Once Twitter became a success and they opened up their API to third party applications then you saw the opposite, company formed around Twitter and named themselves a such like Twitpic. Twitpic is successful despite their bad choice of name but they it does narrow people’s view on you. In the case of Twitpic, they also have the problem that they misspelled the word tweet with twit. Twit has a completely different meaning than tweet.

Another example of a company name that relied heavily on a particular technology was PodShow. PodShow later rebranded itself to Mevio but only after the whole podcasting industry was threatened by Apple copyrighting and trademarking the term podcast. The term podcast itself relies on Apple iPod product line. The industry as whole talked of using netcast instead of podcast, but that never took off. By rebranding themselves to Mevio, the company speaks to broader audience, does not tie itself to one technology or open itself for legal dispute over trademarks or copyrights issues. In the case of Mevio, the name suits it well. The prefix is me and postfix vio sounds like the last syllable of video.

In the current state of search, short and clear domain names are known to get more Google juice to complicated, hard to spell, hyphenated domains. Your domain name should be easy to say and understand over a phone, it should evoke your industry, product, or service. The right domain is worth its price for the right entrepreneur. Not to take anything away from the founder of diapers.com, but I believe that the domain name had a lot to do to the online retailers credibility with customers which ultimately lead to diapers.com being purchased for over $500 million dollars by Amazon.

Owning the right domain name can help to take your business to the next level.


Sep 4 2010

How to Developed a Business Case Model in Google Docs

If I’ve had a dollar for every time someone come to me with a half baked business idea, that wouldn’t make for a good business plan but I would have enough for a latte. Everybody at some point has had a great idea about a new business or product, but very few people do anything about it beyond telling a friend. I’ve had way to many friends and family come to me telling me about how if we can get into such and such market and sell such and such product we could make such and such amount of money. It’s almost funny to see people like this just make up numbers up how much money we would make. Every time I hear someone make up a number, I ask for for simple spreadsheet with some basic formulas that describes the business case model. To understand the business risk, you need to understand the cost and benefit of the business.

Let’s imagine we are thinking of getting into the online t-shirt business, we can use a spreadsheet to calculate the estimated costs of running the business to profitability before even getting started. If you are thinking of selling t-shirts online its good to track the base cost per shirt, the markup per shirt, shipping costs, the monthly operating cost. Having these figures you can calculate the total price of the shirt (base cost + markup + shipping) to for each item and how many shirts you would need to sell to cover your operating costs. If your business plan is simple, such as this, the minimum you can do is create a spreadsheet to describe it and model your business.

You can use Microsoft Excel or with spreadsheet document in Google Docs. I’ll be using Google Docs but the following would also work in Excel. In Google Docs create a new spreadsheet. In the new spreadsheet add a header for each variable you would like to track, such as base cost, markup, shipping, operating cost, expected sales, and expected gross profit.

Let’s say that it costs $10 for the each shirt, and we would like to make $4 off of each shirt sold, and that on average it costs $3 to ship, we can easily calculate what our recommended sale price of each shirt is by adding all of this together. To add it all together in the Cost/Item cell, type into the cell and enter the equal (=) symbol. This would allow tell the spreadsheet that this cell will be a formula. You can add two values from two different cells by the something like the following = A2 + B2 + C2. The formula will add the value at A2 with that of B2 and C2 and put the computed value in the cell with the formula.

Using Formula on Google Docs Spreadsheet

Using Formula on Google Docs Spreadsheet

If we expect to sale 50 items at this price we can calculate how much money we will take in by using another formula, the cost per shirt times the number of shirts you plan to sale, and in this example the formula would be the following = E2 * D2.

Calculate Expected Revenue

Calculate Expected Revenue

Now the value of simplifying your business into a spreadsheet like this is that if you can easily visualize the effect on your business if the base cost per shirt goes up or if you don’t hit your target expected sales numbers. If you model your business in a spreadsheet in something other than a cocktail napkin you can simulate different business scenarios more easily and come up with numbers closer to reality and based on some thought. Of course, when modeling a business you will have a lot more variables to take into account, but fortunately spreadsheets like those supported in Google Docs and Excel have a wide range of formulas and functions.