An interesting thing has happened in the past few weeks. I’ve fallen in love with the web again. For the past two years I’ve worked exclusively on Windows client applications. First in Windows Forms and then in WPF. Recently, however, I moved my website to a new domain and on to a new platform, WordPress. Learning WordPress has plunged me back in to the minutiae of the web with all it’s challenges, frustrations and rewards.
There is a school of thought that says that creativity comes from constraints. The constraints of working on the web are opportunities to find creative solutions. In the past few weeks I’ve explored the 960.gs CSS grid system, Cufon and @font-face font embedding and been introduced to the latest in platform specific CSS hinting. All of these are workarounds for constraints and they all produce amazing results.
Another happy consequence of diving back into working on the web is a new fascination with design. I’ve been reading tons of design blogs and articles. For some reason, I’ve always drawn a clear distinction between development and design. because I self-define as a developer I assumed that design was for other “creative” types. Since I don’t use or have an interest in Photoshop, I assumed that I was not a designer. But the truth is that I have always been a designer. I’ve been designing user interfaces for years. Usability, I realize now, is the primary design motivation with prettiness coming in a distant second or third. By copying other user interfaces such as Outlook and gradually modifying them according to feedback from users I was absolutely doing design.
This realization lead me to think of myself more as a designer. I’ve always been most interested in helping users solve problems. The debates about how the application talks to the database in the software development community are tiresome and tedious. I know all the technical details and have my own opinions about how best to implement that detail, but it is just an operational detail in a much bigger story. Delighting users is the only thing that truly matters. Why do I do this thing called software development? Because it is creative and therefore personally satisfying, but also because it is useful and ultimately satisfying to others.
I am more firmly convinced than ever before that HTML is the lingua-franca of user interfaces. The advances coming in HTML 5 and CSS 3 are game changing. I think platforms such as iOS and WPF offer amazing possibilities for designers and developers, but like MP3 was to audio accuracy, HTML 5 will be more than good enough for the majority of users. I don’t think that HTML interfaces will ever replace platform native user interfaces, but I expect to see toolkits where the majority of the UI is built in HTML with hooks for platform specific features much the way we include -moz and -webkit in our CSS today.
Moving my website onto WordPress has re-invigorated my passion for software development in a way that I never could have predicted. I have ordered three books on user experience and web design and am constantly consuming new information via RSS feeds. There is much to learn and as always whatever I learn, I’ll be sharing it via talks and blog posts and rants on Twitter, so stay tuned for more!