Usually, one of the first development choices faced when building a web application is “What should I use to build it?”.
Often, the choice of client side technology is often determined by what you are using on your web server - for example Ruby on Rails lends itself much more naturally to applications build using HTML, CSS and JavaScript, however there are always instances where HTML may not always cut it, and you may be better off looking towards more richer presentation technologies such as Flash in order to deliver your experience.In corporate environments, this choice may be even more complicated - on one side you may have programmers used to working with a certain set of technologies, and perhaps not knowledgeable about the capabilities of other options, on the other side you may have business partners or design agencies hooked on a certain platform because it allows them to use pretty transitions all over the place!
Anyone with some experience developing websites should realize two important things:
- You need to keep an open mind.In our industry, things change every day, and as a developer it is important to at least be aware of these changes - wether it be a new technology platform such as SilverLight, JavaFX or Apollo; or perhaps just a new way of using existing technologies to add value… things like Microformats, CSS Sprites etc. Shutting the door to a particular technology leads to stagnation, and could potentially mean overlooking a perfect solution to meeting business goals.
- You need to keep your wits about you.When keeping an open mind, it is often important to also be realistic. Don’t be wow’ed by a new technology with a pretty demonstration page - pretty doesn’t always mean usable! As web developers, it is our responsibility to deliver solutions to our clients, but it is also our responsibility to deliver effective solutions. This may mean making decisions based on usability, maintainability and other best practices, and it may mean challenging the requirements of a project. A project need should not be “This should be delivered using technology xxxxxxx”. What is the underlying business need, and what is the best solution?
Technology choice is often one of the first decisions made in a project, and it has a direct impact on project success. One path may see a 20% increase in ROI, another may irritate your customers and result in lost sales. Its a tough call, but its essential that whatever you choose, you choose it for the right reasons.

