One of the most challenging things of trying to start something is to continually motivate yourself and stay on track. All people go through ups but also downs - points where their motivation is at its lowest. That's the time to take action. The longer you wait, the more difficult it is to make a come back.
The 'tenapes' project is a continuous learning experiment for me in the art of staying on track. Here's a list of six important things I have learnt:
1. Get into a simple everyday routine
It's simply not working trying to work whenever you have time. It is much better to set some time aside for your project. Try to wake up one hour earlier every day or go to bed one hour later and spend that time working on your project. One hour it's not enough, but the routine of it will force you to get into the mindset of "delivering" every day. A very powerful thing for staying on track.
2. Bridge the gap in small steps
One of the biggest problems in software engineering in general and in building something on your own is that people don't know how to bridge the gap between where they are and where they want to get. Usually the objectives are expressed in generic or abstract terms and people only realize that when they have to get them done. The key here is to build a mini roadmap of how to get from 'now' to 'shipping date'. Ask yourself the question ... What can I do next? Or, for a top-down approach ... decompose your abstract goals into very refined tasks that you can do next.
3. Stop reading and DO IT
In the information age, we're constantly bombarded with tons of information from all directions. It's so easy to get carried away and read blogs, watch clips on youtube or try to find the latest hype in the whole it will all give you a bit of competitive edge. The biggest challenge is to realize that your time is finite and all the time spent doing these things is time spent away from DOING. Away from building what you're supposed to be building.
4. Reinforce your vision every day
Guy Kawasaki in his book "The art of the start" used a very appropriate analogy between business/development attitudes and microscopes vs. telescopes. When you're DOING, you're working with the microscope. That can be tiring and it's easy to lose motivation and confidence in your own project, especially when you bump into problems. That's when you have to use the telescope, look at the bigger picture, think about what you're doing and why, think about the big vision that's motivating you. Once your energy levels are replenished, you can go back in front of the microscope.
5. Don't give up unless it's time to give up
Never give up for the wrong reason. The wrong reason is always lack of motivation, procrastination, not doing what you're supposed to or finding it much harder than you'd thought it would be. These are problems and there are problems in everything ... don't give up just because it's not a walk in the park.
However, giving up can happen for the good reasons. You might discover that you jumped into an idea before doing the proper market research and suddenly you discover people that do what you do but better. Then it's time to ask yourself ... how am I different from these people? If you can't find a satisfactory answer, give up and put your energy into something more useful.
6. Learn from mistakes
It's useful to write your past mistakes and/or conclusions on a paper. Externalizing the information makes you more aware of it. Think how these mistakes and conclusions apply to your current situation. Are you repeating them? Maybe in a different form but same root cause?
A moment of honesty with yourself can work wonders.
Friday, August 24, 2007 6:10:48 PM (GMT Daylight Time, UTC+01:00)
Outsourcing is a big topic and rentacoder.com is an established company already taking advantage of the trend to outsource projects or parts of projects. They cater for the small to medium businesses. I have used rentacoder twice so far, for two small sub-projects and I have decided to write in my blog about it.
There is a certain attraction towards outsourcing. The very idea of getting some help from someone else and shipping my product earlier than planned is very attractive. In every project there are parts that are tedious, not very attractive or require a lot of time but they must be done. These are the parts that it is so easy to convince yourself that you'd be better off outsourcing them to someone else.
At the same time there's an inherent fear that comes with outsourcing and losing control over certain areas of your code. While the attraction is obvious, here is a list of my three main fears when it comes to outsourcing.
1. Quality
I'm not sure how good the result will be and while I can set some clear goals for the project, I definitely need to check that the goals have been met. That means writing extensive acceptance tests, test plans and performing extensive manual testing. Again, I could outsource this task too, but then we'd be going recursive.
Quality is not only restricted to the functional aspect. It is also the quality of the source code, how maintainable it is, how extensible it is, etc.
2. Detailed specs
Outsourcing forces you to write very detailed specs. You have to cover even the most obscure corner cases, otherwise you might get back a lemon. If you want control over HOW not just WHAT gets delivered, then you will need to write design/architectural specs in addition to functional specs. You might even have to write code templates.
The risk here are obvious:
a. Provide too little and they might come back with too little or too badly designed/implemented (funnily enough, it might be exactly what you've asked for)
b. Provide too much and it will take you more to write specs than it will take you to do the work yourself
The positive side is that writing specs forces you to think about use cases, even obscure ones. You might discover flaws in your thinking and in your assumptions.
3. Source code leakage
Giving away your source code is always risky. You can sign NDAs as much as you want, but in a global world, you soon find out that you can't enforce NDAs easily, especially if you work with developers located in places like India or Russia.
The nightmare scenario is to wake up one day and find out a clone of your software, doing exactly the same thing, sold at a fraction of what you're selling it.
The solution here is to break the project into mini tasks and hand them to different developers and never outsource the core of your software.
Wednesday, August 08, 2007 5:21:47 PM (GMT Daylight Time, UTC+01:00)
I think answering this question involves a lot of market research that I cannot afford both in terms of time and money. So I'll answer it from a very personal perspective. So let me rephrase the question.
Why do I write a blog before having a product to sell?
Well, here's how I convince myself to write entries into my blog:
1. It's good because you will have a 'mature' domain name. Search engines usually rank websites based on how 'mature' they are, among other things. That means ... how long they've been around for. Having something online, even if it's just your pre-shipping blah-blah-blah, it's good for enough for bots and search engines.
2. It's good to build up content that search engines can index and start ranking your website. Content takes time to build up. The sooner you start, the better.
3. It's good if you manage to grab attention or hype up your product before it is launched. Making your potential customers interested is great since that means potential sales from DAY 1. It also means you might be able to find beta testers more easily. But generating buzz is no easy thing to do. Blogs are no guaranteed recipes for success and if you don't know how to use they can have a dark side.
4. It's good to reinforce your vision and share your vision with the world, even if you only do it gradually.
It can be a tool to re-motivate yourself, primarily by getting back in touch with your vision behind the product, project and ultimately the main reason for writing the blog.
5. It's learning exercise.
The main reader of the blog is the writer herself. Writing can be a good tool to find out what you know and what you don't know, what you can and want to share with others and what you can't or don't want to share with others. It is a good exercise to force you to think about the dusty corners of your endeavour.
Friday, July 20, 2007 9:44:34 PM (GMT Daylight Time, UTC+01:00)
ISV, definition from Wikipedia:
Independent Software Vendor (ISV) is a business term for companies specializing in making or selling standardized software, usually for niche markets, such as that for real estate brokers, scheduling for healthcare personnel, barcode scanning and stock maintenance.
Micro ISV is a term invented by Eric Sink when he used to write for the Microsoft Developer Network. A micro ISV, as the name suggests, is a very small software vendor, usually with just one software developer responsible for everything from writing code to managing sales, marketing and PR. If a company has more than 5 developers or gets venture capital, it is not considered a micro ISV.
Micro ISVs take full advantage of the power of the internet to recruit customers, sell and manage their supply chain. This ease of interaction with potential customers make micro ISVs very attractive as the start up cost for a micro ISV is very low. Anyone with a computer, programming skills and a good internet connection can create software and sell it online, irrespective of their location in the world.
In his book "The world is flat", Thomas Friedman argues that the Internet is a major flattening force that allows small companies to act big. Anyone can establish an online presence and appear to be bigger than they actually are. They have easy access to technologies like CRM that allow them to provide the same service as big companies. Sometimes small companies, keen to succeed, they provide an even better service than bigger companies.
There is no secret that tenapes.com is a micro ISV. The goal is to use technology to provide better service and better products than bigger, less agile companies on the market. After all, the customer is king, whether the company is multinational corporation or a micro ISV.
Wednesday, June 06, 2007 3:31:02 PM (GMT Daylight Time, UTC+01:00)
The source code is the bread and butter of every software company. As such, having your source code stolen must be one of the most frustrating experiences. What's the worst it can happen though?
1. Someone else uses it to build a clone of your software and make big money competing with you
Usually it takes time to transform source code into something that looks differently. But still, there are companies that do it. There are many companies secretly using GPL code for example.
Your options: If they start making big money, you can sue. That's if you can figure out it's your source code they're running.
2. Hackers use the source code to expose and/or exploit security holes in your software
This is nasty. Sometimes hackers will use these security holes silently and it will take a long time before you discover the problem. You might even get sued by compromised customers if you're not careful.
Your options: Keep a close relationship with your customers, ask them to submit problems about your software. Conduct regular security audits. Be serious about security and try to identify security holes internally or working with a specialized security expert.
3. Your competitor got their hands on your source code and they use it to improve their product
This can pose serious problems, especially if you have innovative technology that you invested a lot of money and effort into. However, usually it takes time to refactor source code and integrate it into another product. So it's not as bad as it seems.
Your options: If you can figure out they have stolen your source code, you have the law on your side. In order to protect innovative ideas, you can patent them.
Monday, May 21, 2007 8:18:49 PM (GMT Daylight Time, UTC+01:00)
If you are wondering why I have chosen "tenapes.com" for the domain name, this blog entry hopes to clarify that. Let me first dismiss some possible scenarios that might cross your mind:
1. I will not have anything to do with apes - selling, protecting, saving (not that it's not a brilliant idea!), feed or start an online zoo
2. I do not consider myself of my customers to be big, ugly, clumsy (ape - noun : 4. Informal. a big, ugly, clumsy person. Source: www.dictionary.com)
3. 10 is not my favorite number, although it sounds kind of sexy in "10 million dollars profit"
So what is going on then? To better understand my choice, I need to present you what my requirements were for defining a "good" domain name.
1. A short name
2. Most short .com names are already taken, so please, something that makes sense (that disqualifies zxppewmfwuh.com and the like)
3. I need a domain name that is memorable, a word that sticks - again the challenge is to find something that sticks and it is not taken yet
4. It is not important to be connected to my domain of activity. Simply from a branding perspective 1-3 (especially 3) are much more important that being connected to a particular area.
During my search for a domain name that satisfies all the above, I realized that it is difficult to find common names or combinations of popular names. Speculators snatched most of them, with a small minority of them being active domains with some useful web content.
However, I discovered that if you take a random popular word and add a number before it, the chances of finding that domain name available are highly increased.
So I took the word "apes", a short word, easily satisfying 1-3, added the number "ten", which is short enough and got "tenapes.com". I consider it quite memorable. I don't expect people to go ape over it, I only expect them to remember it and be able to simply type it.
Wednesday, April 04, 2007 8:23:12 PM (GMT Daylight Time, UTC+01:00)
I dropped the other idea. You simply cannot chase two ideas at the same time without losing focus on both of them. You need to constantly focus on the project and reassure yourself all the time it's all for a good cause. In my efforts, the forum on joelsoftware was extremely useful. It's very motivating to be in a forum/group of people who share the same passion for software and for starting a small software business.
Friday, February 02, 2007 8:20:02 PM (GMT Standard Time, UTC+00:00)
I have sinned.
I have promised not to divert my attention to any other product before I ship my main product. But I just couldn't resist the temptation. Now I will spend the rest of this blog entry explaining my reasons. Of course, that wouldn't change the fact I'm a sinner.
In a previous blog entry, I was writing why having a new idea is a bad idea. I still believe it is and I still believe the most important thing in delivering things and getting things done is focus. Focus. FOCUS!
It strange how people usually write about things they cannot follow themselves. In fact, most people write as part of the strategy of trying to convince themselves that what they write is true. The advice they give is usually one they need. It's an advice for themselves.
Focus and getting things done is one of my areas where I know I need to do more. No surprise I put it down on my personal resolution list for this year. And for the last year. And the year before that. It's an ongoing thing, alright?
So I started. It was a paper based to-do list whereby each task is given a certain number of points. At the end of the day, you count the points you scored that day. It's an interesting game-like method to motivate you to get things done. It's not new and it surely is not rocket science.
But the funny thing is ... it worked. And my productivity soared.
The thing to keep in mind: Focusing and getting things done is not rocket science, it's all about discipline. It is also about breaking down the complexity of a pile of work into do-able tasks. And start doing...
So, I've decided to move the whole paper based system on the desktop and create something that would be easily used from a computer. I personally don't like to carry too much paper with me and keeping track all mountains of paper is not exactly a trivial matter. Last but not least, it might help saving some trees.
Friday, January 19, 2007 6:49:31 PM (GMT Standard Time, UTC+00:00)
Today, looking at one my personal resolutions, I suddenly came up with a new software idea. It is so funny in some ways ... and sad in others.
The funny part is that it might be a professional defect, in other words, because I'm a software engineer. You know what they say ... when all you have is a hammer, all problems look like nails. Or something like that, I forgot the original saying. This case is no different.
It's no surprise that looking at my personal New Year resolutions, the first idea that pops into my mind is "Wouldn't it be nice if I had a software to help me solve this problem and achieve my personal resolution?"
Software engineers are so predictable. While that might be funny, let me tell you why I'm not laughing...
One of the sad parts is that in fact I'm diverting from my real target here, the personal resolution, to something else. A software idea. It is quite sad as it's a convenient way of sweeping resolutions under the carpet. I have to forget about that. Unless I come with an idea of a tool to automatically generate the software that will solve my personal problems. Or automate that automatic tool too. Well, you get the picture and it's not nice. It's recursion without escape.
The other part why this is sad is because it diverts attention from my main software idea. This is a serious topic and many people fall into that trap. It happens with software ideas. While you are working on your next software product, suddenly you think about another product. You think it's much better than the previous. Or much easier to do. In any case, you get excited and instead of focusing on continuing your work, you spend a lot of time focused on this new exciting idea.
If you're not careful, you end up starting working on the new idea thinking this one is for you, only to realize somewhere down the line that you have yet another cool idea that's even more brilliant. In the end nothing gets completed.
It's not something that happens only with ideas. It happens with tasks and things to do. If you don't clear your To Do list by actually Doing them, you end up with an ever increasing pile of tasks. The more tasks you have, the more tired you will be, as you will psychologically perceive yourself as being swamped with a lot of work which you can never finish.
At some point you feel you need help, you go buy a book that basically tells you how to get things done and ultimately feel good about yourself. It's amazing the relief when you clear your TO DO list. You really feel good about yourself.
There are many techniques to teach you how to do things. You can buy tons of books and/or software to help you with the problem. But ultimately it's all about focus. You get things done by focusing on them and Doing them. There's no magic potion that will do the work for you.
The key however is in the focus.
There's only so many things people can do concurrently. They actually need to focus on something in order to DO it. Many techniques suggest that you should prioritize things in your TO DO list, in order to reduce the number of tasks that fight for your attention. One technique reduces everything to one. Focus on the most important thing on your list, do it, move on to the next. It's all about focus.
Same goes for implementing a software idea. You need focus and perseverance. That's why I'm going to lock my new idea in the back of the mind (it's still a good idea) and revisit it a bit later, once I get my product out.
Monday, January 08, 2007 9:47:42 PM (GMT Standard Time, UTC+00:00)
I would like to wish all my readers a Happy New Year 2007. Let it be a more productive year for everyone.
And since I mentioned productivity, I'm still working (last minute finishing touches) on my resolution for the year. I won't bore you with personal resolutions, but business resolutions might be interesting to share. As part of my pledge for openness and transparency, I am definitely going to share my business resolutions with all the readers.
Happy New Year everyone!
Thursday, December 28, 2006 6:28:46 PM (GMT Standard Time, UTC+00:00)
Being open is great. As you share more about your company, your application and yourself, you let the potential customers have a glimpse of what, how and who is actually behind the software they are supposed to buy or the website they are supposed to use. The more information they have, the more likely they are to trust you enough with their money.
But what if you don't have the application already? What if you're developing it?
Eric Sink recommends in his book "The business of software" that you should blog about it, let people know you're doing it. The argument is that when you release your application, you would already have potential customers, early adopters to beta-test it, download it, play with it or just spread the word about it. The idea in itself is a fantastic one. It promises a smooth transition from development into production whereby your customers magically know everything and trust you from day 1.
But where to draw the line? How much should you be sharing and how much should be keeping to yourself?
The argument for sharing being the one above, the argument for "keeping to yourself" needs no introduction. It's the most natural thing to keep your ideas to yourself, afraid that some mysterious competitors you know nothing about might steal it from you and implement it and bring it to market before you. It's the traditional way of doing business and it's what NDAs and other confidentiality agreements were invented for.
The transition to an open model is not an easy one. You have to balance the benefits of communicating with the early adopters and spreading the word early with the scare of losing your business to a smart competitor lurking amidst your readers.
I don't know the answer and I don't believe there are easy answers here.
What my intuition is telling me is that it should be a gradual process. You start with general information and you narrow down to specifics as your development approaches the end and your product is ready for the market. And this is what I am going to do. I am slowly and gradually going to share more about my application and the development effort. I am also hoping to build a sort of curiosity in the readers and hopefully that will keep them coming back and reading more about the progress. And hopefully some of them might even be curious enough to download a beta version and give it a try.
The whole process of writing this blog is supposed to provide a better insight into how and where to draw the line between sharing information about yourself and also safeguarding your idea.
Wednesday, December 20, 2006 6:18:26 PM (GMT Standard Time, UTC+00:00)
During a normal purchase, a customer will part with their money and with some of their personal information in exchange for a service or product you provide. That means they have to trust the other party enough to share information and give their money away.
It is only fair you share as much information about yourself as you can. The more information you share about yourself, the safer the customers will feel. The safer the customer will feel, the more likely he/she is to actually hit the Purchase button.
You can share information about yourself in many ways:
-
About us - this is vital information. The more you share here, the safer the customer will feel and it might repay you back by sharing their information and money with you
-
Blog - make it more personal that the usual boring company stuff. It is not a PR release. Instead show the customers some of your world there.
-
Privacy Policy - not many people read this section but many of them expect it to be there. Avoid the legal language and explain it in plain English.
-
Real names - names are very important, it is sharing data and showing there are real people behind your business. Instead of using support@yourcompany.com, use a real name.
-
Contact Us - allow the customers to contact you by email and other means if viable. Try to reply within a reasonable amount of time. A reply is an acknowledgement of your customer and that the customer is important to you. Ignoring your customers will ultimately catch up with you.
-
Live help - this is a nice trick especially for support or sales. It lets people talk with a live person. Usually when they have a problem or a question, customers want the answer immediately. Otherwise they might go to your competitors' websites. If it's viable, add Live Help to your website.
-
Allow and listen to customer suggestions - it's important to give a voice to your customers. This will provide a useful feedback to your business and it is invaluable marketing research. Allow them to ask for new features. Open source projects used this trick for years.
-
Treat your customers respectfully - in ALL circumstances, even if it's their fault, even if you're in a bad mood. Word of mouth is an invaluable marketing tool. Because the way trust propagates, word of mouth is vital. Customers will trust more easily information that comes from a resource they trust. Don't underestimate word of mouth. And with the explosion of blogs, word of mouth just got bigger and more important in your marketing plan.
Tuesday, December 05, 2006 5:15:26 PM (GMT Standard Time, UTC+00:00)
In the beginning there was the Web. No one knew it was 1.0, everyone thought it was a one off. Then the late 90s came along and the dotcom crash put people off all things web. Investors stayed away from the web and put their money in other areas. Something had to be done. Something as dramatic as increasing the versioning number, pushing the javascript to new levels of asynchronicity and boasting on your blog about it all.
Now seriously...
There have been some interesting changes in the shiny new Web2.0. We had an explosion of social, community websites. Some of them selling for billions of dollars. Like most of you, I wish I was the entrepreneur behind one of them.
People got all excited about it. They call it a new revolution in the way people interact online. But ultimately, there's nothing revolutionary there. My prediction is there will be out of fashion soon as the novelty will wear off. Same way newsgroups went out of fashion.
Blog of mouth
The blog had a more serious impact however, both for businesses, customers and personal experiences. Suddenly the individual had a voice and a choice. The Content2.0 suddenly became much more personal.
The reason blogs have become so important is that they represent real persons, real experiences. They represent a more personal and intimate way of connecting, be it at a personal level or at a business-to-customer level.
They (in theory) are unbiased and not marketing & PR exercises as the old news and PR releases were.
This is a very important change.
Some companies want to ride the blogosphere, but don't understand these simple rules about blogs and blogging. They still use the old formula with the new tools. They use the old boring company news and PR releases but they deliver them on what they call a blog now. They miss the point entirely.
The point about blogs is openness, real information, direct and honest communication with your customers.
Unfortunately, as many more companies will try to reach customers without changing, I see more and more blogs with hidden agendas springing up. These simply don't work. People trust the information in the blog, and not the concept per se. Simply calling it a blog won’t work.
No doubt blogs will be abused in the same way email was abused, as a channel to get to customers fast.
The sign of great times
Google is a great company, one that caught people's imagination. It has started small and with a very pragmatic approach. Forget all the details, let's do what people want: search. And they did that better than anyone else. It soon became very profitable and for a good reason. It is a flexible company that listens to what customers want.
People point to Google as being the champion of the whole Web2.0 philosophy. It is profitable they point out, not like the dotcom companies of the late 90s. And this is the main argument for a 2.0 versioning of the whole Web. Companies are now profitable and their business models are more pragmatic and profitable.
But if we had a closer look, we would soon realize that Google is not profitable for its cool 2.0 gadgets. It is profitable for the same old thing that it did in the past and it continues to do well: Search. The search engine is their main business, everything else is unprofitable and sustained by the Search.
If we look again at Web2.0 companies and take the social networking websites. Some of them were sold for billions. Are they profitable? Are they profitable2.0? The same old business models apply. If they choose to display ads, they are profitable. Otherwise, they're not. So nothing changed there, still old Web1.0.
AJAX is the king.
AJAX is a nice little trick. I have played with it and liked it. It changes the boring old web user experience into something richer and something that can compete with the desktop experience. That has been a real revelation to many people and suddenly there was a rush for people to develop with AJAX, praise AJAX and see nothing else but AJAX from now on.
As every new technology rush, there are always people that think that one new technology is the universal panacea for all their problems. No surprise people start announcing the death of the desktop, while the web is the new king.
I think it's very premature to start with such ideas. From a pure technological point of view, AJAX is an awful technology. It's slow, it doesn't scale, it's limited. The major benefit is that it works in the limited world of a browser's sandbox. It is cross-platform and cross-browser.
This is what people want. The market leaders have sniffed the trend and they're driving that way. Microsoft is coming up with the new .NET 3.0 framework which will allow developers to create applications that run both on desktop and in the browser, same code (well, with some security limitations of course). While this offers a wonderful view for the future, it is a Microsoft dream and it runs on Microsoft OSes only. Well, we wouldn’t expect anything less from Microsoft, right?
I must admit, Microsoft is onto something here. Unfortunately, they want to keep it to themselves, they want to keep it as a competitive advantage. If they shared it with the world and truly commit to open standards that work cross platform, that would be the real dawn of what you could truly call Web2.0. That would also spell the beginning of the end for Microsoft's current business model. So they won't go there.
Conclusion
While Web2.0 can be the beginning of great things to come for the Web, we shouldn't jump ahead of ourselves and fall into the same mistakes as in Web1.0. Ultimately, profitability, pragmatism and following customers' needs is the same old 1.0 recipe for success. One technology or the other is just the means to get there.
Wednesday, November 29, 2006 3:46:43 PM (GMT Standard Time, UTC+00:00)
I'm a regular reader of Joel on Software forum about Business of Software. It's interesting to see people trying to do what I am trying to do, read about their problems on the way, read about their experiences and ideas. It's a source of inspiration. It keeps me motivated to go on.
Today I was reading the forum and someone asked if there was a product doing exactly what my product is trying to do. I read through the replies, but no one actually pointed out to a software application that does exactly that. It's a motivation to continue. Maybe this product will sell after all.
And this is one major problem that all small business entrepreneurs encountered. Doubt. Will it sell? Is it really a good idea? Or am I trying to kid myself? Ultimately the customers decide. But the road to getting your product to the customers is generally a long one. If the product solves a real problem, then it will sell. There will be people out there buying.
My rule of thumb is asking myself ... Would I buy this product? Generally I'm a very selective. I'm a software engineer and I always think I can do things myself, reinventing the wheel instead of paying for it. That's generally how software engineers think.
Business people on the other hand, they think "How much money will this product save me"? "How much time will it save me?"
If it saves money and time, then there's no reason why a product wouldn't sell. Except if your customers don't know about it. But that's a different story altogether.
Wednesday, November 22, 2006 4:07:10 AM (GMT Standard Time, UTC+00:00)
This is where I'll talk about a technology. I'm a technical person, a software engineer. I have worked in many roles. Technology should be as easy to deal with as a walk in a park. Not quite so. Starting a business is not about technology, it's about making technology work, about solving real problems. Technology ceases to be a purpose in itself; it's merely a tool to deliver solutions to real life problems.
It's an entirely different mindset. As a software engineer, you grow to love technology, you get attached to some technologies, you hate others. You might even get caught up in a flame on newsgroups trying to prove your technology is better than other people's.
There's that saying ... when all you have is a hammer, all your problems look like nails.
And this is true. Software engineers become obsessed with technology and try to choose the technology first and then look at the problem they're trying to solve. Many times companies do the same, just because their people are all trained in a particular technology.
But technology for technology's sake is not a viable proposition. Unfortunately some people found out the hard way during the dotcom crash in the late 90s. When something is cool and sexy, you can easily lose your head and all your money.
In my approach I've decided to take a pragmatic approach. I will choose the technology that helps me solve the particular business need. It hasn't been easy, and, in fact, there's still a battle going on between the software engineer who always favors some technologies and the businessman who doesn't care about technology, all he wants is problem fixed.
In my product, a key requirement was that the application should support as many Windows OS flavors. For the time being I'm not going to support Mac, Linux or other OSes. However, this decision can be revisited later on if it becomes viable to support other OSes.
Another requirement was that the application should require minimal dependencies to be installed. For the time being this disqualifies .NET, although this is the direction Microsoft is paddling at the moment. I like .NET, however I think it needs some time to mature.
There were other choices: VB, Java, Delphi, etc. but since the businessman didn't care that much, the software engineer chose in the end the technologies he was more familiar with: C++, COM, ATL. See, it's never easy to be totally business focused when you come from a software engineering background. However, since the learning curve for other technologies might significantly affect the time to market, the businessman conceded.
But this is a major problem for many companies, the technology vs. the business. The business is always driving the requirements while the technology tries to solve the problems while keeping the pace and avoiding deprecation.
Thursday, November 16, 2006 3:51:11 AM (GMT Standard Time, UTC+00:00)
The product I'm going to develop comes out of a necessity for me. It is something that I need and that I would use. This is a good motivation to start working on it. If no one out there would be using it, at least I will. It might sound like sour grapes and it probably is. But the need is nevertheless there.
Filling a need is a great way to start. Many people start a product just because they have a cool idea. Well, unfortunately I had so many cool ideas and, in the end, I always ended up not believing in them. There has to be something pragmatic. Something that fixes a real life problem.
My product at the moment is just in my mind. To my knowledge, there's nothing like this on the market, although there are some products that come close to it. But don't start thinking it's something to do with rocket science. It won't be as revolutionary as the sliced bread either. It's a niche product. And that's why I think I might work. I don't want to conquer the world. I just want to sell some software and make a living. I must say, I wouldn't complain if, as a side effect, I become a millionaire. Ha!
I'm kidding.
In fact, the product I have in mind is quite simple. As I said, it's all in my mind, so I can't talk about it too much. In fact I'll try to keep it in the realm of the abstract as much as I can. And that's simply because I would hate to waste all the effort I'm going to put in developing this application, just to discover that someone else beat me to it by reading my blog.
Hopefully as the product takes shape, I will share more about it.
In the meantime, this blog will be a testimony of my effort and of everything that goes into delivering a product to market, supporting it, making money ... or not. It will also be a testimony to my openness, which is one of the key statements in my business philosophy.
And the first thing I will change is the "we" to "I". Reading back my first entry, I realize how ridiculous it sounds. We are doing that, we are going to blah blah. I must be very honest with you. At the moment there's no "we". It's only an "I".
People use the "we" in the idea that this will create the impression of a bigger company. Customers don't trust one man bands. They want an army of people developing and supporting the product and being there for them.
And it's true, the bigger the company, the more guarantees you have. The less likely it is that the whole thing is a scam. The more likely it is they won't be out of business just after you buy the product.
Committing myself to openness and openly admitting I'm a one man band is a very dangerous strategy.
However, I was reading some statements from some companies that I knew they were one man bands. And this "we" sounds so ridiculous. Knowing there's an "I" behind it, you start wondering if the person behind is trying to mislead you or insult your intelligence.
And many times that's how I take it. In fact, whenever I want to buy a product, I try to find out as much as I can about the company. I tend to trust more companies that share more about them than those that don't.
I hope my future potential customers will think the same way. They will appreciate openness. Openness is actually a commitment to your customers. It's saying ... I have nothing to hide. I believe it to be the right strategy. Time will tell.
Thursday, November 09, 2006 3:25:14 AM (GMT Standard Time, UTC+00:00)
This is the first post in the blog and I am going to talk about what we are trying to do here. TenApes.com is a small software development company located in London, England, United Kingdom.
We do not have a product yet, but we intend to deliver our first version of the product within 2 months. In the meantime, we would like to take the opportunity to write a blog, develop an online presence, talk to potential customers and not ultimately, share the development and progress with everyone. Before we start, here is our mission statement:
Openness
We are going to keep in touch with everyone via our blog, which we don't intend to have just for company news and other PR mumbo-jumbo. It will tool to track the progress of our company and products.
Customer satisfaction
This is something that comes out of a personal frustration with all the services out there. Everything nowadays is less satisfactory when it comes to customer support. You have to hold the line for hours before speaking to customer support. And when you get through to them, they're sorry for not being able to help you with your particular problem, while entirely "sympathetic" to your cause.
Products that work well and do what they say they do
This is vital and goes without saying. However, there are so many products out there claiming to do so many things and in the end, it's all so disappointing to see they're not quite working as they should.
Customer input
The customers will have the input to what direction a particular product will go. For each product will have a section to ask for new features, suggest improvements and raise problems.
Making money
Well, we have to be honest. We have to make money in order to make a living and support/improve products; otherwise it's not really sustainable. While many businesses don't put this in their blog, everyone knows this is the case. However, the intention is to put the customers first and have a product that works. Pricing also helps if it doesn't cost an arm and a leg.
Our objective is to live and be guided by our mission statement. Please tell us how well we are doing.
Wednesday, November 01, 2006 4:49:52 PM (GMT Standard Time, UTC+00:00)