Since the advent of smartphones and tablets much has been said about the idea of convergence. The word is used to refer to different concepts that are related to some extent. I think at at the core of the discussion the word convergence is code for how you think the devices from the near future will be and how will they interact with each other.
So why not take a peek at how different groups talk about convergence? It will give us a better understanding of what they think the future will or should be. Let’s start by the two big corporations and then contrast that with the ideas from various free software groups.
Microsoft’s approach: Tablet-laptop Hybrids
Why carry two devices if you can carry one? In Microsoft’s version of convergence, tablets and PCs become a single entity. While smartphones, given their different size, maintain their position as an independent device. According to the then CEO of Microsoft, there were the devices that fit in your pocket and those that don’t. This is expressed in Microsoft’s software decisions: Windows 8.x is their PC and tablet operating system, while Windows Phone is their smartphone platform.
To start with, the idea seems a bit odd considering the hardware form of these two devices are not that similar. They both have a screen, but the main source of input on PCs is entirely absent from tablets. Microsoft’s idea then had to expand beyond software: the hardware itself should change and be able to morph between these two.
It’s worth noting that hybrid hardware has been, for the most part, underwhelming and has not generally seen as offering any advantage over a regular tablet or laptop. The only decent piece of hybrid hardware seems to be Microsoft’s own Surface.
Then we have the software side of things. If two devices will become one, then the interface should become one as well, don’t they?. This is the core of Microsoft’s idea of convergence. In this view of the world, not only will the hardware of tablets and PCs converge into a single form factor, so would their graphical interfaces.
In the last point is where we find Microsoft’s horrific mistake, different inputs have proven to require different interfaces and to fit different use case scenarios (imagine using your computer with a remote control or your TV with touch input). Microsoft’s by trying to merge them, ended up devaluing both use cases. Their modern interface and menu make for a bad experience when using Windows with a mouse and keyboard, in the other hand, their traditional desktop is horrible to use with touch input.
They didn’t even achieve a jake of all trades, master of none status. They ended up with a device that isn’t good at any of them, instead of being at least decent at both.
Apple’s approach: PC and touch devices
While Microsoft thought process is all about the portability of the device, Apple’s approach is built around the type of input. PCs are used with keyboards, mouse and touchpads and the interface is designed with those inputs mind. On the other hand, tablets and smartphones share the same kind of input, so they use the same operating system and mostly the same interface (with tweaks given the differences in size). For Apple, products are divided in how the user is expected to interact with the software.
It doesn’t seem like Apple has any intention of merging OS X with iOS, they’re happy to port ideas from one to the other if they think they will work or share some underlying technology or creating a unified aesthetic language, but nothing beyond that seems in their plans.
Rather, Apple’s idea of convergence is all about your different types of devices communicating seamlessly. Efforts like Continuity and iCloud show Apple’s vision: they want your data to converge across devices, not the interfaces or devices themselves.
This style of convergence seems sensible. Moreover, it’s pretty resistant to future devices, whether that’s smartwatches or smart TVs. The one problem it has is ignoring Hybrids. As I mentioned, a successful hybrid piece of hardware is yet to be seen, but technology changes fast. The Microsoft Surface seems pretty decent (hardware-wise) and as technology moves forward the ability to merge them into a single coherent piece capable of switching elegantly between a tablet and laptop mode increases.
Canonical round 1: A single device to rule them all?
Perhaps somewhat forgotten by now was Canonical’s idea of “Ubuntu for Android“. The idea is the power of smartphones is now enough to run a desktop operating system at about the performance level of a Netbook. The idea was that most people probably don’t need a lot more, so you plug it to a monitor or TV using HDMI or perhaps a dock, and your desktop is there. You don’t need to care about syncing your desktop with your smartphone, all the information is there.
Canonical’s first idea of convergence was the merging of smartphones and desktops into a smartphone (and therefore their data) alongside some docks or cables. The problem with this is the raw amount of changes in hardware and use patters that are needed. And the advantages don’t seem particularly great. Clearly just syncing the devices is less of a hassle. It was somewhat tried by Motorola too and it failed. It seems at this point like Canonical has abandoned Ubuntu for Android, but not he idea just yet.
Canonical round 2: A more Apple-like approach
Canonical was not able to convince OEMs to ship Ubuntu for Android, so it switched its strategy. Unity and Ubuntu are now divided into different branches based on the input and the use case. We now have Ubuntu Desktop, Ubuntu Touch and Ubuntu TV, which resembles Apple’s approach enormously (OS X, iOS, Apple TV).
The first difference is there’s higher integration. Since Ubuntu Touch applications are QML you can install them on your desktop. Furthermore, the idea of plugging your Ubuntu Touch device to a monitor still allows you to run an entire desktop. While the attractiveness of this idea doesn’t change much, it now at least just seems to be an extra feature, as opposed to the main feature. Since is similar to Apple’s style it suffers from a similar problem, it won’t be able to deal easily with Hybrid devices (although it’s higher integration may give Ubuntu a big advantage if that day ever comes).
KDE’s idea: Dynamic adaptation
One underlying system to rule them all. KDE’s approach is about the system being smart enough to change to the correct interface based on the available hardware. Convergence is about one system being able to cover any use case you need, not by trying to merge the graphical interfaces, or the hardware, or anything, but by adapting to it.
So if there’s a keyboard and a mouse/trackpad plugged in, KDE will show you its desktop layout. If there’s no keyboard and mouse/trackpad, but there’s a touchscreen, then it will show you its “touch layout”. Since changes can be triggered based on hardware changes, it’s natural to expect layouts to be divided (mainly) by input too.
However, unlike Apple’s or Canonical’s or Microsoft’s approach, there’s no reason to believe KDE’s approach either devalues the desktop use case or tablet use case, or would’ve any issues with hybrid hardware, as it could change its layout as soon as the keyboard is (un)plugged.
Moreover, KDE’s approach is very aware of the existence of different form factors, even if they don’t run KDE. They don’t seem to expect a big hardware convergence, specially regarding smartphones. This is showcased by the excellent KDE Connect for example. Another thing it has going for it, is creating new layouts is (relatively) simple compared to other’s approach and is open to new layouts by third parties. Even more? KDE is well known for being the most customizable desktop out there, so I’m sure you will be able to configure hardware triggers if you desire.
What do you think?
I think it’s obvious I consider KDE’s approach the best of all. Perhaps because is designed to adapt to whatever shape the future will have, instead of trying to guess the future. KDE’s only big prediction is that it will need to be able to adapt to different form factors, including the main ones of today’s world. I think it would be interesting to read what are your thoughts on this, which approach you think is better?.[sharedaddy]
3 thoughts on “Convergence”
The problem of KDE’s approach is apps. Microsoft has spent big chunks of money to lure developers into writing metro apps for windows 8/8.1 and (perhaps) so did Canonical for Ubuntu Touch. Plasma may be able to adapt to different inputs but you can’t just expect a ‘traditional’ desktop app to fit into a tablet without showing a horrible UI. My point is, if you want one single OS (or UI) for desktop and tablet and phone, you need to have developers rewrite their apps so that they can work well and look good across devices with different screen size.
The point is exactly that KDE apps could be able to change their GUI (or merely share the underlying technologies), and is reasonable to expect that to grow beyond just Plasma’s layouts. Developers making apps or not for a particular hardware configuration, in my opinion, won’t be a problem different from what he have today on the desktop
As long as there are free software users and developers invested in one hardware type there will be free software apps for that platform (just like there are open source music players, desktop environments, browsers, console emulators, games, video editors, image editors, and pretty much software of any kind today for the desktop).
I don’t know if this is really a problem. Think about the Web pseudo-standards that have been adopted for mobile frameworks. I think if you need an idea of where traditional desktop UI’s need to move to, look at the web. Remember when DHTML menus were all the craze? Then mobile’s hit the market and now the web needed to adapt the UI dynamically to that device. Now we have the (in)famous “three bars” at the top of your website to display the menu! I guarantee it will force the application developers to be mindful of the different devices when developing their app frameworks, but the UI itself will change to meet the use case, not the entire application. Think twitter bootstrap, foundation, backbone….
Call to undefined function echo_views()