Iterative Development

Items Shared By I don’t think it’s much of a secret that I’m a fan of Google’s web applications. I make use of Google Notebook, Google Reader, Gmail and Google Docs daily. Every time I see they added some new features it makes me very happy. It also reminds me of just how useful Iterative Development practices are, especially in the Web world. It’s great to get a solid product out there and then update it routinely with enhancements.

Along with all the talk about Gmail 2.0 up and coming, along with their new push for Open Social, Orkut and now Android I’ve found a few other updates.

  • Items Shared By… Google Reader’s shared items now displays who shared the item within the first few lines of the item itself. This is great if you (like me) subscribe to many friend’s shared item feeds and group them all together.
  • Tagging Notebook Entries… You can now tag entries in your Google Notebook. This is great for categorizing and quick lookups. I think I’ll be permanently switching over to Google Notebook over my own wiki now just because of this one feature.

Web applications are the future. There is no comparison. The immediate feedback you get from releasing an update over the web is simply an undeniable advantage over client-side installed applications. Applications like Microsoft Office will become a thing of the past. Bandwidth will cease to become an issue and we’ll have all the same features but with immediate updates at our fingertips. As mentioned on JoelonSoftware a few weeks ago, spending money and time engineering todays software to utilize today’s hardware is a waste. Instead just realize that the hardware will handle it and performance will cease to be a problem

Unique vs Shared keywords

Hide verses Archive

Ed Kohler recently posted an article entitled Archive vs Hide on Gmail and Google Docs. In this article he talks about the different keywords Google uses to describe essentially the same functionality. This is an issue that is not unique to Google. I’ve seen the same problem across teams where I work as well as within my own work. Another similar problem I see all the time is when the same keyword is used by two different products to refer to different things. This is something that runs rampant where I work and so I’d like to provide a few tips to help avoid these problems.

  1. Publicized Usage – Whether kept internal to the company or not, nothing can help reduce multiple keywords and multiple keyword definitions than letting other teams know what keywords you’ve used and for what.
  2. Regular Collaboration – Preventing the problem is better than dealing with the aftermath, but the only way to find out if the problem exists and to come up with strategies for resolving the problem is collaborating with the other teams.
  3. Publicized Standards – if standards exist the chance for collision of keywords is greatly reduced.
  4. Namespaces – Prefixing a word keyword used on a particular project especially in the case of ID’s helps people identify exactly what that keyword is when seen outside of the project.

If you have any other thoughts or suggestions please let me know!