There have been a couple of times in the last 50 years when a combination of technology, societal, and market forces converged to create a dramatic change in how we work and play. Inflection points, if you will. One example is the emergence of the Apple II and IBM PC in the early '80s. No one then had any thought that there was a need for personal computers. Another more dramatic example is the nearly simultaneous commercialization of the Internet by NSF, explosion of Open Source software (e.g., Linux) and the '96 Telecom Deregulation Act. What was this World Wide Web thing that was created by a scientist at CERN in Switzerland and why would anyone want to use it?
We're in the middle of one more of these inflection points, which is taking us toward ubiqitious, mobile computing. Wide adoption of the ARM RISC architecture, dramatic advances in battery technology, access to 3G/4G and WiFi networks is providing a groundwork that will change our lives.
The Android platform is going to play a big part. Unfortunately, as a developer, you can't be an expert in all the contributing technologies. It would be nice to develop new applications and technology for all the platforms: Android, iDevices, Blackberry, Nokia, WinMobile. All of these platforms have their merits. Android, emerging as an Open Source project, with development tools that are diverse and widely available, is a familiar environment. My background includes developing on Unix and Linux platforms, using C/C++, Perl, and now Java and Python. It's going to be fun watching the new devices and uses that emerge over the coming years. I'm looking forward to being surprised.
Currents an App displaying coastal tidal currents
Out on Nantucket Sound the tidal currents can flow over three knots in some places. That may not sound like much but when you're beating into a foul tide in a moderate breeze on a sailboat going under six knots, you're not going anywhere! Knowing what the tidal current is doing is critical in some coastal areas if you sail, fish, or kayak. There are books published each year that provide this information. But...wouldn't it be nice to just grab the Droid and take a quick look at what the currents will be for any given day and time? Fortunately, thanks to NOAA, this data is available on the Web. It's in table format, though. With Currents, I've taken the NOAA data, transformed it so it can be displayed graphically, and built an overlay on Google Maps. This was more of a challenge than I originally thought, given the relatively limited CPU, memory, and network constraints of mobile devices.