Amateurs 
Alright, here's how it is:
Back in the day, computing power was cool because it allowed a lot of automation to happen, like reliably crunching thru math equations.  Then you had your productivity tools, which allowed you to create documents much more quickly than using pen and paper.  Then Al Gore invented the Internet, and suddenly the PC was a good way of accessing remote information and then an interesting way of communicating with others.  So that's basically where we are today... with me sitting here and you sitting there, posting away on Anandtech.  So throughout the years, a PC has basically been designed for a single person to use the PC at a time (one keyboard, one mouse, one 17" or so monitor) or for many people to share a processor as if they were the only person using the PC.  But this is very limiting... for example if I'm doing a school group project, and each person writes a portion of a paper, they all have to email their sections to a single person, who then has to combine everyone's pieces, and then everyone has to re-read the paper to make sure it's all good, then everyone sends back comments, and it takes forever.  Alternatively, everyone sits around a screen while one person types, and each person points to a place on the screen and says "change this."  In either case, in the final document it's impossible to tell who wrote what and why.  So this process could be dramatically improved... create a multiple user interface where everyone can participate in the creation and editing of the document simultaneously, and where the document tracks who contributed what so that it's easy to consult the person on their rationale.  The multiple user interface wouldn't even have to be with people in the same room... I could be sitting in my room, and you in yours, and we could both be editing the same document and the interface would track who made what changes.  Coincidentally, this would be a good use for 3d UIs... each person might get a layer, or when a data conflict occurs, the conflicting data could be presented along the z axis... a totally flat document would have no conflicts, a bumpy document would have multiple conflicts, and each person would be represented by a different color in the conflict stack.
Another direction that I see the industry heading is towards more support for handwriting... not just text recognition, but also for the following case:  I'm reading an Acrobat document for a class, and I see something I want to highlight.  Can't be done!   I have to print it out and highlight it.  "Well that's a pretty easy mod to Acrobat!"  you say, but then this applies to any program on your PC, and why should I be restricted to highlighting?  What if I want to add comments in the margin, or draw arrows, or whatever?  The interface has to have native support for persistent freehand editing (save, close, reopen and the comments are still there) of any document, and of course the multiple user rules must still apply - I want to know if it was Joe or Jim who wrote the insightful comment in the margin.
Software creation will change... there are already UML tools that create Java or C++ code from UML diagrams.  It's only a short time before UML becomes more refined and standardized, and is able to completely specify the actions of software so that the Java output will be unnecessary and the UML tool will become a compiler, ie it will turn diagrams directly into bytecode/assembly.  As a result, we may see more and more people able to write their own software, sort of like how the emergence of "high level languages" like c++ and Java have enabled many more people to write software than when software was only written in assembly.
And then all the standard software predictions... smaller screens will become more prevalent, so people will be using pens more instead of mice, programs will grow in size and functionality, web services will be big, etc...