Phil Wright : Component Factory

Monday, May 30, 2005

microISV, Think of a name

Deciding on the name for your company is much more important than most developers would think. This is the first point of contact for any potential customers and so creating the right impression from the outset is important.

As our target customers are actually other software developers we have the advantage of doing all our selling via the internet. If a programmer wants to buy a software component they are almost bound to start by using either a google search or by visiting an online component store such as Component Source.

We want to have a domain name that instantly tells the potential customer what it is we do, so they know they are coming to the right place. So the name needs to be specific enough to tell them what we do but not so specific that creating other products invalidates it. Getting the balance right is important but tricky.

There are two obvious approaches to creating a name. Either create a completely new word that is not in the dictionary or create a name from correct English words. A good example of the first approach would be Microsoft and the second would be Rational Software.

After spending an hour working on the first approach I gave up. Coming up with a new word is really hard and no matter what I tried it sounded really stupid. The best I managed was Visiwig and so you can see how bad things were! So I kicked this idea into the long grass and opted to try the second approach.

I began by creating a list of words appropriate for the company. As we intend to sell visual components to developers I can up with the following set of words:-

Art, Visual, Widget, Doodads
Component, Software, Dynamic

From this I derived lots of potential names that were then thinned down to the following set that appealed to me. You will of course instantly notice that the first one has no relation to the what the company does and is not related to the list of original words either.

Crazy Software
Visual Widgets
Visual Dynamics
Software Dynamics

This is an interesting phenomenon that might be just me or maybe it occurs to everyone. But as I was thinking of names a new idea would suddenly pop into my head from nowhere. If I liked the idea I would write it down.

Next I showed the list to the wife to see how they sounded to someone else. Lucky for me she was sat down when I read out Crazy Software because she doubled up with laughter for about 5 minutes and almost wet herself. So I scratched that one off the list.

Next up was Visual Widgets, which only evoked a quizzical look because being a girl and from Australia she had no idea what a Widget is. The last two were given the seal of approval with Software Dynamics being the clear favorite. It was also my favorite and so the decision was made.

You can probably guess what is coming next. I tride to registier the domain name and sure enough was already registered. Well I should not be surprised, if it sounds good to me then it probably sounds good to someone else. But there was a glimmer of hope. Instead of being registered to a trading company it was held by one of those domain name sharks that is holding it with the sole purpose of selling it on at a profit to some poor mug like me.

Well I sent them an email and after about a day they responded saying it would cost a mere $6000 to buy. But I had better be quick because domain name prices are rising all the time! As a microISV that is more than I want to spend in the first year of starting the company and so that idea is out the window. Not to mention that I object to lining the pockets of the these domain name sharks anyway.

But one good thing came out of the process and that is finding a good use for the search page on the sharks website. Now instead of generating potential domain names myself I entered my list of keywords into their page and let it come up with lots of ideas for me. You can try it yourself by entering a list of words into the Keyword(s) field and then pressing the Search button on this Search Page.

Obviously all the ideas they come up with are for domains that they happen to want to sell, but it does create lots of variations which lead you to new ideas. It certainly beats using a pen and paper. After doing this for a couple of minutes I came up with the Component Factory name. This appealed to me because it encapsulates exactly what the company produces, components. Plus the use of the word factory would make it easy to create a distinctive logo and identity for the company.

It also conforms to the criteria I started with. Specific enough to describe what the company does but not too specific that it would become obsolete quickly. Most important of all it has the feel good factor. It feels good and appeals to me which is important because the whole point of being your own boss is to do things your own way and enjoy the process.

Now all I had to do was register the name and its various extensions in the way described in my last article. On investigation it turns out that the name is already registered by a shark, albeit a different shark this time. This time the shark only wanted $600 for the name. I did think about ditching the name and starting all over again just as a matter of principle. But in the end I decided I could afford that amount and I really wanted to get hold of that name.

So I bought the domain name for $600 and then purchased some other variations such as, .us, .org, .biz, .name and .info and ensured they were all fully paid up for 5 years into the future. I used Network Solutions to register the names, perform the transfer from the shark and host a website.

At the end of the long winded process I can recommend that you leave yourself plenty of time to come up with a name and be prepared to find that your first few ideas have already been registered. But make sure you do not give in and keep going until you get something you are 100% happy with because your going to be using it, hopefully, for many years to come!

Tuesday, May 24, 2005

microISV, Domain name mistakes

Now that we have decided on the type of software to be produced, visual components for Windows .NET developers, we need to think about a domain name (the company name will be the same as the domain name).

Coming up with a good name is actually much harder than you think. It took me several weeks to get from starting to think about possible names to actually having bought the domain names. Right at the start I was determined to avoid two mistakes I have made in the past when doing the same thing.

My first mistake was to create a domain name that was exactly the same as the name of the product. On first inspection this does not seem such a bad idea. Users that can remember the name of your product can find the website without having to remember the name of the company that produces it. I certainly sometimes struggle to recall the name of the company associated with a particular product and vica versa.

If you are definitely only ever going to be a one product company then I suppose it is an appropriate strategy. This is the way that Winzip has developed itself. Their website is and we have all heard of the product.

But what happens when you create your second product? You need to have another domain name for that new product and then you have to start from scratch in building up awareness of the new name. Now if you created Winzip then it's not a problem, your laying on the beach in Hawaii sipping a gin and tonic without caring about product number two.

For the rest of us there is a good chance there will be a second product and we might as well leverage all the effort in getting the company name into the customers mind. When they come back to our website to check for a later version of product number one we have a chance to tell them how cool our second product is. When product one is discontinued because of changes in technology we still have that brand name of the company in their head.

My second mistake was to let a domain name I had registered lapse. This was not deliberate but a simple oversight because I was not keeping track of when it was due to expire. Once I realised my first years registration had lapsed, and it was only about one day afterwards, I tried to register it again. You can guess what happened. Someone else had registered the name straight away and now suddenly I had lost the domain name!

I was lucky in that the domain name was the domain name of the company and not the product and at that point the vast majority of people were using the product domain name. So although I did not lose any real business it did mean that from then on I was stuck using the product domain name as the website access to not just the product but the whole company.

From these mistakes I have come up with the following domain name rules that I intend to follow this time around:-

1. Think of a domain name for the brand
2. Register popular variants (.com, .net, .org etc)
3. Register all domain names for 5 years
4. If possible enable auto renew for after the 5 years

If your hosting company allows you to auto renew then you could just initially pay for a single year and let the automatic renew handle it from then one. That would reduce the initial costs for your own microISV.

But after the pain of losing a domain name in the past I am determined it will never happen again and instead will definitely stump up for an initial 5 years cost in one go. Actually, if your only registering a single domain name this cost is not that prohibitive anyway, it is really only when doing this for several different domain name extensions it starts to add up.

Now all I have to do is think of a decent name for the company!

Wednesday, May 18, 2005

microISV, Do something easy

Do something that comes easy to you but not to others.

That is the best career advice I ever heard and I think it applies equally to a business. But it also has to be combined with the work ethic to really get the maximum benefit. This is the guiding principle used to decide on the type of software and the market to target with my microISV.

My development background is based on 8 years of C++ on Windows and then using C# and .NET since it was first released as a Beta version. During all this time I have spent more time working on user interface controls than anything else.

This has been a deliberate focus because I find working on visual components easier then working with databases, middleware or other areas. Being easier meant it was enjoyable and fun rather than feeling like a chore. I also find it easy to work hard in this area precisely because I enjoy it, which is not something I have ever been able to say about database schemas!

So after many years of spending long hours working on various custom controls and user interfaces I think I understand this area well. More importantly I believe that I can produce software as good as anything else on the market.

Therefore it is an obvious decision on what type of software to produce and the market to target. My microISV is going to produce user interface components for the Microsoft Windows platform based on C# and .NET technology.

Tuesday, May 17, 2005

microISV, The vision thing

With any new business you're supposed to create a business plan. I can see the point if you're going to start a new mobile phone company. You're investing a few hundred million and I can see your investors wanting to see a bit of documentation before going ahead. But for a microISV I really don't see the point.

The big advantage of being a one man outfit is speed. You can change direction in an instant and react to events on the moment. I'm not trying to convince a bank manager or outside investor to stump up some cash so I am not bothering with the business plan. Far more important is to have the vision thing.

Every successful software project I have worked on always has one person that has the big vision and it is always a techie. They have a vision inside their head of how the product is going to work. Not just in the look and feel but also the design and structure of the resulting code. Every developer gains confidence from this and you end up working as team and all moving in the same direction. The net result is a good chance of success.

As it happens I already have the vision of where I want the company to be and the kind of products it will be producing. Just as important I can visualise the first two product ideas very clearly, both in terms of how they will look and also the overall design.

Now we need to turn the vision into some concrete goals. After all, the reason most people never achieve their goals in life is simple. They never actually set any. So lets define the overall goals for the company itself...

Goal 1: Achieve first sale
Goal 2: Annualised sales equal to day job salary
Goal 3: Annualised sales twice day job salary
Goal 4: Net revenue twice day job, quit day job!

The whole point of the microISV is to earn enough to quit the day job and work full time for myself. I have no idea how long it will take to achieve this and so see no point in putting target dates against the goals.

From now on I am focused just on the first goal, working towards the first sale.

Wednesday, May 11, 2005

microISV, The impossible dream

I want to live the impossible dream.

For the first few years of being a programmer I never even thought about the possibility of being my own boss, of actually owning and running my own company. That was the sort of thing a few lucky others might do but never me. I only thought of myself as a code monkey, grinding away at the keyboard and enjoying the technical challenges involved.

But then things started to change. After being made redundant from my permmie job I became a contractor and enjoyed the easy money that went with the dot com boom years. Although being a contractor meant having a company it was really only a half way house to being a real business. But I started to dream the impossible, to dream of a day when I would actually start and run a real software business.

Then for a couple of years I had a little accidental success. Whilst investigating the new Microsoft .NET technology, then just being released, I created a small software library as a learning exercise. I managed to turn this little spare time project into something that could be sold to other developers. This has made a little bit of money and I learned some useful lessons from the process but this came about more by accident than by planning. But it wetted my appetite.

Since then I have read with interest the articles by Erik Sink about the concept of the microISV. The idea of a one-man company that produces software products in order to create a viable stand alone company. Of actually giving up the day job and working for yourself, not as a contractor or self employed, but as a fully-fledged product based business.

This microISV concept has really fired my enthusiasm and I have read every blog and article I can find on the idea. Combine this concept with a few ideas I have for products and suddenly I am not just dreaming about the impossible but planning on living the dream.

So that's the purpose of this blog, to track the process of starting a microISV from ground zero and seeing where it goes. It might be very embarrassing if it turns into a complete turkey, but I think the extra motivation of trying to avoid public humiliation will help me during the long dark hours ahead.

And this is where you come into the picture. I am hoping that you will be able to provide useful feedback and ideas to help me out along the way. As I share some of the problems and issues I encounter I would love to hear others ideas and suggestions. So join me for the ride and lets see where it goes!