First Vinay's original list:
- Security (Wireless)
- Application performance (Wireless)
- Various forms of UI (WAP et al)
- And yes, will we have to "come" to work in future (Will there be a physical office)?
Here are my comments (in italics).
- Security - Agree - it is my understanding that popular current wireless security is pretty weak (though I am not an expert in this area).
- Application performance - Not sure I agree that this will be a big issue - currently the only scenario I find wireless performance lacking is when I need to transfer massive amounts of data (like the Rational Software Architect installation files) from another computer on a local area network. In this case wireless is the bottleneck and I plug in to a land-line for 100 Mb - 1 Gb/second performance. But if I'm transferring large files over a wide area network (i.e. the Internet) then the broader network is the bottleneck; not my wireless connection. If we're talking about a truly global wireless network, I guess I would be curious to find out what current transfer rates are like (e.g. for people who connect via a celluar connection vs. a wireless router located 20 meters away). I think that if the global wireless network of 2010 could reach current local area wireless network speeds of 11 Mb/second, most would consider this adequate performance. But this might be too presumptuous of me - perhaps in the future we will routinely send much richer and larger content (such as video) over the network, making greater performance necessary.
- Various forms of UI - Agree, but I'm an idiot when it comes to devices. I need to study up on this topic. I know that IBM sees this area (which we call pervasive computing) as a huge growth area over the next couple of years.
- Coming to work - I currently work from home, so to me this would be nothing new. That being said, there is a lot to be said for face-to-face collaboration. This isn't a technology issue - it's a human sociology issue. This is actually what I'm currently working on - "How can software development tools make geographically distributed teams (whether on the other side of the building or the other side of the Earth), work better together?" (If there are any computer science students out there reading this blog, I seriously encourage you to take classes in sociology!)
For an excellent read on some of the issues related to software development and distributed teams, I recommend you check out the paper "Collaborative Development Environments", by fellow bloggers Alan Brown and Grady Booch. It was written several years ago and was way ahead of its time and full of interesting ideas. It's available from Alan's personal website.
Also, the IBM Cambridge Research lab is currently doing a large amount of "inventing the future" in this area. You can read about some of their efforts here (one of my favorites is "Jazz").