We’ve been joking a long time about the rate new technologies arise and how we as software developers need to keep abreast of the new so we don’t get completely outdated and irrelevant. With web development though, we’ve set a new standard.
One thing has been constant about web development throughout; at the end of the day your website boils down to a few lines of HTML, CSS and Javascript. This simplicity has been one of the most attractive aspects of web development. You just change a line somewhere, refresh the page and Voila! It works, or it breaks.
With the introduction of web-applications though, the game changes. How to create rich clients in the web with our simple stack? Well, with a lot of effort. This is the motivation for these layers of abstraction over what we have come to take for granted. It’s also the reason we’re seeing all these multiple approaches to web application development and this huge abundance of choice.
This amount of choice can be mentally draining and really feel like fatigue. The term Javascript fatigue has been swirling around and gained more traction with Eric Clemmons post on the topic. There have been several follow-ups like this one from Josh Burgess looking at the flip-side of things.
I think it’s a given that we as developers need to keep up to date on new trends and technologies to stay current. But is being completely up-to-date on everything new and shiny really the best use of our time, skills and effort? If we’re constantly focusing on what’s new, when are we going to find the time to ship great products and experiences for our users? Are you a facebook and need to innovate to be able to deliver then that is where you have to be. But facebooks users needs aren’t going to be your users needs. Users want good and shiny, but at the end of the day they just want something that will make their lives easier in some way.
I tend to agree with Josh’s view on things. We’re pushing some boundaries and there are many aspects that need to be adressed, but this innovation really has been pushing our tools and possibilities forward. After being one of those pushing the latest and greatest, I find myself sitting on a stable (not-so exciting) stack delivering values to thousands of users on a daily basis.
On that note I’ll leave you to it. What technologies serve your users the best and keep your product and yourself moving forward at the same time?