Web 2.0 is all the buzz, and now Microsoft announces "Live Software". In this new age the Internet will become a platform, and not just a transport. Users will not only use, but will also contribute. Content will be contributed through blogs, and photographs via services like Flickr.
But what else?
I get home from a long day of work, and my wife just got home herself, which means that there isn't any food cooked. Well, it's getting late, so maybe we should just order some Pizza from Jack's. I pick up the phone, hit the "Find" button, and say "Jacks". The phone, which is hooked up to my computer (of course) does a Google maps search in my area for "jacks", and verbally responds, "Jack's Pizza, 125...". I hit the "Site" button on my phone.
My television is also hooked up to my computer, and by clicking "Site" on my phone the website for "Jack's" now appears on my television. Using my TV remote (with a mini-joystick of course) I click the menu button. "Ahhh... a pepperoni and anchovi calzone, perfect!". I then hit the "Call" button on my phone.
Great, the food has been ordered. Unfortunately a friend of mine, Scott, just showed up at my door. He is hungry too, so I redial Jack's and add to my order.
Scott volunteers to pick up the food, but he isn't familiar with my town. I pick up the phone again, and hit the "Recall" button (not redial). I then hit the "Map" button. The map appears on my television, and of course has pre-plotted the route from my house. Scott is off to get the pizza.
The more I think about this, it seems extremely plausable to me. The technology is already there for most of this, and it seems to only thing that needs to be "built" are the interfaces between the devices.
But I am getting off the topic at hand. As a programmer, how do I prepare for this? As a consultant, how do I prepare my client for this? It just seems that information overload is already an occupational reality, and I just wonder how much more we can handle without simplifying something. Perhaps domain languages, smart tools, or adapters are the answer. So far though I am seeing a lot of big ideas, but not much about making this easier to do.
Perhaps in this new age the "web programmer" will go away, and be replaced instead by interface specialists. These specialists will only deal with specific domains, and interface their tools with the tools of other specialists.
Too many questions right now, and my crystal ball 1.0 is on the fritz.