When Steve Jobs introduced the iPhone, he said that the problem with previous smartphones were that half the screen was taken up by fixed buttons that were there whether you needed them or not, taking up valuable screen real estate. So the solution was what we're all very familiar with now. The buttons we need will show up only when we need them to, and instead of showing up on the bottom half like on previous smartphones, they can show up anywhere. But even with this new, flexible and adaptable approach to UI, there are still things that are there whether we need them to be there or not. Take a look below:
1 is old smartphones. The bottom half is there whether you need it to be there or not. 2 and 3 are modern smartphones. Compared to diagram 1, there's a lot more usable space. But, there are still UI elements that are there whether you need them or not. The back button on the top left of diagram 2, for example, is only needed for one tap. Same with the app icons (shown as red squares) on diagram 3 - they only need to be tapped once to complete the action we want to.
And the reason for this because buttons and elements still have to be "present" and follow the rule of physics. Imagine a pencil on a desk. If I don't need to use it and I want it out of the way, I can put it away in my drawer. But if I need it again, I can reach into my drawer and pull it out. If the pencil is not there or the drawer pushes in when it's pulled, I would be going crazy. Same thing with the way we use our phones. If I tap an app icon, I expect it to open the app. And when I swipe up to go home, I expect app icon to be at the same spot that I left it.
So while the buttons are not permanent everywhere like with old smartphones, they are permanent on a per-screen basis. I.e. when I open a certain app, the back button and navigation buttons are permanently placed in that app like in diagram 2, and when I go to my home screen, the app icons are permanently placed in the home screen.
But software is the one thing that does not have to follow the rule of physics. Software can do anything that we want it to. So the next evolution would be breaking down this permanence and moving to something more fluid.
Permanence based on the real world (physical buttons, cannot change) -> permanence based on software (software buttons, can be changed) -> fluidity based on software (no buttons? our phones predict what we want to do next? I don't know)
So where do we go from here? I'm not sure.
One example that interests me is the way Tesla handles gear shifting in Model S and X. They have this feature called "Auto Shift on Park" which is in beta. What this feature does is in the name - if you get in the car, it will determine if you need to drive forwards or backwards to get out of that spot. This is an example of getting rid of what is essentially a UI element - the gear shifter (or the gear stalk in Tesla's case) - that is there whether you need it to or not.
But is this evolution even necessary? How much of this is just trying to reinvent the wheel?