Nowadays smartphones, tablets and desktop/laptop computers are all siblings. They use the same UI paradigms and follow the same idea of a programmable and flexible machine that's available to everyone. Only their hardware feature set and form factor differentiate them from each other. In this context, does it still make sense to consider them as separate devices as far as software development is concerned? Wouldn't it be a much better idea to consider them as multiple variations of the same concept, and release a unified software platform which spreads across all of them? This article aims at describing what has been done in this area already, and what's left to do.

The first step in that direction would be to create an operating system which works well on all platforms. As it turns out, major actors of the OS market have already made some steps in that direction, probably realizing the benefits of this approach in terms of development resources usage, cost, and UI consistency.

Apple's iOS is the most blatant example of this.

I found it hard to continue to take the article seriously after this. Surely Linux is a better example, or if you want to argue it's "just a kernel" you could say Maemo/Meego.

Would you call Linux (alone) a major actor of the personal computer market, comparable in size to Windows, iOS, Android, or even Mac OS X, without a smile ? Would you say that usual Linux distros adapt themselves well to tablet or smartphone use, that they do anything in the realm of cross-device portability ?

Linux has its place in this article, but in its Android fork only, in my opinion. Thus I mentioned it. The "vanilla" Linux world remains a minor actor, and most distros are desktop/laptop-only. Meego is not even released, and Maemo's market is even smaller than desktop linux's one.

Would you call Linux (alone) a major actor of the personal computer market, comparable in size to Windows, iOS, Android, or even Mac OS X, without a smile ?

Yes. Very yes. What is a smart phone if not a personal computer? If by "Linux" as distinct from "Android" you mean the traditional userland stack on top of Linux, then the answer is still yes.

Would you say that usual Linux distros adapt themselves well to tablet or smartphone use,

The "usual distro" of OS X isn't used on the iPhone, either, nor is the "usual" Windows stack. I'm not talking about "usual" desktop UIs, and neither are you, I'm talking about mobile UIs. Have you been following the UI work being done for Meego? Have you been following recent KDE UI work?

that they do anything in the realm of cross-device portability?

I know what you mean is "Cross-device runtime UI portability", but you don't say it. If you want portability Linux is certainly worth mentioning since it is (arguably) the king of portability. If you mean "UI portability," interfaces that dynamically adapt to the current screen and input method, then even there some good work has lately been done.

Linux has its place in this article, but in its Android incarnation only in my opinion. And I mentioned it. The rest of the Linux world remains a minor actor, and most distros are desktop/laptop-only.

Android certainly deserves mention, but you leave it as an afterthought following a thick paragraph about Windows, of all things, which is all rumor and maybes. And, a quibble: All Microsoft OSes do share a common kernel, easily as much as iOS and OS X do. Windows deserves far less mention here than does Meego, much less Android.

Although the heading talks only about "personal computers", the first sentence of the article expands the scope of discussion considerably to include "smartphones, tablets and desktop/laptop computers". In the latter context, Linux is a significant player.

If one also considers a further ambition beyond mere "cross device compatibility" within one or other OS family, one might also talk about "cross platform compatibility" as well as cross device compatibility.

Your determination to try to dismiss Linux/OSS from the main discussion has IMO caused you to miss an interesting technology in the very arena of the topic.

Given that OSX and iOS are both basically versions of NeXTSTEP from the late 80's, that phones are higher-powered than the workstations that OS ran on originally, and that the development frameworks differ almost exclusively by the UI widgets... what's your problem with iOS as an example? C/Obj-C based, Unix, nice UI... what, it's not X or open source? I guess I didn't realize that was a requirement for OS convergence.

UI differences between 'hide this menu' vs. 're-think how to use screen space' are the difference between getting a Windows Mobile type of app (what the example looks like) or a clean one.

You're going to be very busy building the ultimate rules framework and tons of code to support it instead of making the best app you can if you decide to 'save time' avoiding spending time on the UI. Or it will be second rate.

But then you will have to re-code your app's UI and users will have to re-learn it each time you move to a new device. It's the good old single-platform vs multi-platform debate, really... Only this time, multi-platform is something more interesting than just a way of supporting niche OSs.

So far, it has not been proven that the concept of multiplatform apps is fundamentally wrong. Only that Windows Mobile sucks on a touchscreen. Which is not relevant in this context, considering that 1/WM was designed for stylus use to begin with and 2/WM apps are not ported Windows apps, contrary to popular belief.