My field is distributed systems but this one is relevant to software development in general. I think we will see a paradigm shift in the way people see and developers create "applications" and their relationship with "devices". I think as users own more and more devices (PCs, mobile phones, TVs, car systems, home systems, smart watches, smart glasses...) we will have to start thinking in terms of a single application running simultaneously on several devices (and perhaps "in the Cloud" as well) instead of multiple applications accessing the same service. This will cause some technical issues, because distributed state management and coordination is hard, but we are seeing progress on that front (e.g. CRDTs). One of the hardest issues will probably be to get the programmers to change their mindset and adapt to this new paradigm. Eventually I would say that we will move from applications running in several places to applications running *everywhere* ("ambiant" or "ubiquitous" computing). There are several ways this could turn out: several isolated "operating systems" running for separate users, or a single huge system used by everybody. For obvious privacy and power control reasons I would prefer the second option (because, who would control that single big system?). The first one is the natural evolution of our current "Cloud" model. I don't think that second part, ubiquitous computing, will happen in the next five years, but we are seeing the first signs of it. The movie Her is one, in my opinion :)