There have been many evolutions in software over the years. Evolution in software happens in response to user needs, and as software developers see what works and does not work.
A few of the biggies:
- The switch from text-based to windows-based, multi-tasking operating systems
- WYSIWIG text editing (that is, “What You See Is What You Get”)
- Applications that could run on both Windows and Mac (and, ahem.. Linux)
- Web-based email
- Followed by.. web-based everything else
In my view, two of the most significant recent evolutions in software recently have been:
- Applications and systems that provide various synchronization features. We want/need our data to be available wherever we are, on any type of device.
- Continuous auto-save. We never (ever!) want to accidentally lose data again. If the computer or network bombs-out, we should fully expect our data to still exist and be readily available, with no recovery process needed.
Of the two, auto-save has been perfected. The applications that provide it have generally done so flawlessly. Of course, Microsoft’s various Office applications provided extremely lame versions of this functionality for years, but the new players in software have done it right, right from the start. It is nice.
But synchronization – there is a technology which has barely reached its infancy. Yes, lots of vendors have implemented synchronization, but nobody (and I really mean nobody) has come close to providing the killer app.
The big missing features:
- Ability to easily create intuitive synchronization sets which can scale from your largest data stores (like you Google account or your desktop computer), all the way down to your smallest (like your cell phone).
- Ability to easily share and secure synchronization sets of various slices of your data.
- Easy updates and summaries of latest data and some sort of statistics.
- Transformations of data in a synchronization set, so that you may view a mobile-optimized or hi-res version of your photos, depending on where you are doing the viewing.
- Good pruning, backup, revision history, and searching (even for items that are not actually available on this device).
- Easy ability to manage and understand many nodes (where each node can be the master).
- A common synchronization platform for all types of data.
And some of the most significant players in synchronization technology (all of which need significant improvement):
- Google Desktop
- Google Gears-enabled sites such as Remember The Milk, Google Docs, Gmail, Google Calendar, Google Reader
- Outlook (cached Exchange mode)
- Android-based phones
Each of these excel in a particular area. Some are better at search, some provide more flexibility in the type of data stored, some provide excellent performance/responsiveness and a great user interface. All of them play a part in my technology day.
A long time ago, Cisco had an advertising campaign where the slogan was something along the lines of, “There is only one important piece of information – the one you want.” Of course, that has a lot to do with search and availability, but with the number of disparate networks we live on each day, good synchronization plays a huge role in ensuring the data you want is readily available.
What about you? In the flurry of information we receive and store every day, what tool do you appreciate the most? Which one most often helps you to find the right data at the right time?