How to create a great website, pt 5: Building functionalityJul 14, 2009
Every day someone contacts me to discuss starting their website project. More often than not they have compiled a list of "I wanna" functionality instead of having a realistic view on how it'll be actually used. The more "I wannas" — the less likely you'll find a single existing tool matching it.Solution? It's inevitable — someone suggests a brilliant idea to waste all your company's time and money — to set up a new server, install some all-in-one solution and develop all the missing parts from scratch. After all, that's what you wanted, isn't it? The problem is that you'll end up with a Frankenstein's monster of a website that costs a fortune and has little practical use. So, how do you avoid this?
Don't do it!
- Don't build from scratch. A web system developed only for you to perfectly match your needs can easily turn out very expensive and very dead. What if your needs adjust or you were wrong about them?
- Don't build dead functionality. Some of the ugliest things you can find online are forums without discussions, headline news dating back to 2001 and intranets with zero users.
- Don't trust all-in-one solutions. A tool that solves one problem is a good focused tool. A tool that solves all your problems, focuses on nothing and therefore solves nothing.
- Don't over-automate. You are planning to sell 50 products a month through your web store? Then why would you need the online synching with the warehouse for?
How to do it then?
- Just launch it. Being flexible with your needs saves a lot of time and money. Build your web store with Shopify, website with Edicy, intranet with Basecamp. These are simple and basic tools that solve one of your problems at a time. But they really do it and they are ready and set up for launch.
- Extend it. Even if the core system doesn't have everything included, it's rather easy to extend it for (almost) free and white label. You can add extensive galleries from Flickr, site search from Google, time scheduling from BookFresh. Use a variety of different great tools instead of one terrible all-arounder. Newsletters can be sent with CampaignMonitor, documents can be kept in GoogleDocs.
- Follow real life, don't try to reinvent it. Extend and develop your site continuously instead of a) letting it rot or b) trying to build a perfect thing with the first effort. You're already getting 30 support e-mails a day? Great, time to set up a forum. You really have something new to tell more often than once a year? Nice, set up a news section on your site.
- Use real people. To some extent, automating is inevitable. But to get started, real people are better. That's how you learn how and what to automate. Not to mention that real, personal and friendly support instead of automated troubleshooting helps you to grow a loyal customer base. Automate when you are likely to grow out of manpower soon.