The technology is too complex in the wrong sort of way. A lot of learning the user has to go through doesn’t really enhance their experience of technology. They have to do the learning to understand the over complex way the technology is put together and presented in the first place - so there is too much learning that needs to happen before the user can complete basic tasks.

What’s needed is easy-to-use and understandable computing. It would be interesting to look at how stripped down various applications could be taken and then test these different variations with end users. Do software companies do this already I wonder?