What technology should you use?
Should your next website or software app use PHP, ASP, AJAX, JavaScript, Flash, or another technology that you’ve just heard about? Should it be hosted on your LAMP or Windows server, or reside in “The Cloud?”
I recently had a friend pursuing his entrepreneurial spirit who wanted advice on how to create a new interactive website. He has a fantastic idea and some basic understanding about current Internet technologies and asked if he should use a wiki, blog, HTML, custom PHP, or an out-of-the-box solution to run his website.
Over the years I have had many clients come to me with technology questions. Some people read an article and get very excited about the “Technology Du Jour” when their time would be better spent focusing on the user experience and scope of the project lifespan. Others get very involved in the technical details, when defining the big picture would address their concerns.
As a rule, I steer clear of potential clients who know that they want to use Flash, or AJAX. The success of the project rarely depends on the type of tools but rather on the expertise of the person using them. I learned this from my father - he was a successful auto mechanic who guaranteed his work and would be cautious of a customer that brings his car in and asks for a new brake master cylinder to fix the squeak in the front end. It is always best to fully evaluate the challenge at hand and then look for the best solution, rather than try to make the solution fit with a particular technology.
When approaching a new project, as developers, we always keep the user experience in mind. We first focus on what the project is trying to accomplish and then determine about how to get it done later.
As he eloquently explains in this video from the Business of Software conference, Jason Fried uses a similar approach to develop and manage 37Signals. [Watch the video]
I use this same approach when developing new software such as a shopping cart, CMS, or online registration system. We build it in stages and add features as we go. I encourage this approach for any project that does not require a big rollout or specific launch date for a “finished” product. We systematically build momentum by achieving small milestones without getting bogged down with the details.
As for my friend, since he doesn’t have much of a budget and will be working on the project outside of his “day job” – I recommended doing as much as he can himself, so that when it is time to pass off the project to a professional firm, he will have a good understanding of what is needed. A clear vision written on a cocktail napkin can be more effective for jump-starting a project then hours of researching what features a particular technology can achieve. To coin a phrase–Just do it.
Best wishes on your web development project!
Frank







Comments