For awhile now the year of the Linux Desktop has been trumpeted – year after year after … Here I present a list of my own thoughts of what is needed for the Linux Desktop to succeed. Feel free to agree or disagree as some of my thoughts may be controversial and some of them may seem negative but you can’t be introspective if all you do is think about the things that we did right:
#1 Mobile is the only way forward – if you aren’t thinking of mobile with every decision you make you are designing for the past. Even desktops can go in power saving modes, sleep and hibernate.
#2 Instant off/on is becoming a reality and something that doesn’t have to be bolted on given that we have access to every layer of the OS. This is not enough by itself to be compelling over entrenched Desktop OS’s but combined with some other advantages and it becomes a killer feature.
#3 Super battery life – Get beyond the 5 hour mark of heavy use and you start to get a full day of passive use on one charge – you can watch 2 DVD’s, a student can take notes in all of their classes, etc.
#4 Single 3rd party application format – e.g. I write software for one class of mobile devices, it runs on all devices with the same security profiles. I don’t care about where the bits come from or how they are stored, just that a person can write something and submit it to multiple vendor’s app stores and have it just work.
#5 Forget about the general purpose desktop – ok don’t forget about it upstream but when making a product you are going to run into the “this doesn’t work like Windows” syndrome. Don’t even mention the Mac because they have been around for a long time and are just figuring out how to push their desktop – and that is through targeted devices like the iPhone and iPod. Even their desktop is geared towards media creation and viewing. The general purpose desktop is just too big a target and will always get compared to the current leader. Guess what, it won’t be the areas where it is better that will get talked about, it will be the areas that don’t quite measure up. In my opinion (brace for it because people will hate me for saying this), all of the Netbook makers putting out general purpose desktops do a disservice to the market by saturating it. Companies coming out with truly innovative products based off the Netbook/Linux combo will be drowned in a sea of Windows wanabe’s. See the next thought.
#6 Products need to be targeted – no one cares you can’t run a full word processor on your phone but they do care when you are selling them a “computer”. Why, because phones do a couple of things really well and every year they can add more computer like functionality without the expectation that it should run like a full computer. Netbooks come from the opposite direction – they are expected to run like full computers but fall short of that goal. Pick a target audience and make it work really well for them and they won’t care that it doesn’t do all the other stuff. In the long run your costs are lower because support is confined to specific functionality. Oh and whatever it does make sure it hooks up to the Internet in some meaningful way.
#7 Change the form factor – if it looks like a laptop, sort of quacks like a laptop, it will be expected to work like a laptop. See above for the issue with that. 20/20 hindsight being what it is I wish the gen 1 OLPC’s were designed like the gen 2 is (it looks like a book), because more than a computer, the XO was a learning device. That kind of got drowned out, first because the project was named One LAPTOP Per Child (catchy but totally forcing us into a box where the rest of the project was thinking outside of it) and secondly because people were asking things like “does it run Word?”. It really should have done a couple of things really well – surf the web, act as an eBook reader and facilitate communications. To be truthful there are a lot of great application written for the OLPC project but by not focusing on targeting the device nothing was highlighting the advantages (of which there were many). The discussion started to revolve around what it couldn’t do instead of what it could (we get back to the fact that phones don’t suffer this phenomenon).
#8 Shed the cheaper is better mantra because while inexpensive can be a selling point that is a different beast than cheap. Inexpensive implies getting more value than what you are paying for, cheap implies getting what you paid for. I hate to say it but the Linux Desktop is considered the cheap alternative. Why was the Linux Server able to avoid this trap? It really is all perception but as they say, perception is reality.
#9 Stop trying to compete in such a small market segment. All of the mobile developers need to work closer together to grow the market, solidify the technology, set meaningful standards and bring down prices while adding value.
#10 Differentiate yourself through the services you offer – if you are targeting a specific group of people there might be some overlap with competitors but the truth is there are so many target groups these devices can appeal to that as a whole the market will have a higher chance of flourishing. Having too many similar choices will just confuse people and they will end up going to what they are familiar with. By tying to services that are of interest to your target group you give them a reason to acquire your device over another and have a vehicle to keep them engaged (e.g. you have a potential continuous revenue stream as opposed to a oneoff)
Feel free to flame me but imagine this scenario – you are going on vacation and you don’t want to lug your work laptop with you. You know there is always going to be waiting involved so you buy a $300 Travel Companion Netbook. You just happen to be a member of Netflix and the box says it works with Netflix. You set it to download a couple of movies and since you also like to read on the plane so you buy a couple of e-books from Amazon. An alert notifies you that you have three hours until your flight but there is a delay so make that four. This is because you configured your Travel Companion to hook up to your travel service provider. You get into the checkin area of the airport and you don’t have to wait for an open kiosk because your Netbook can check you in and the barcode on your screen can be scanned for the ticket. You get on the plane and start watching one of the movies you downloaded but the flight attendant tells you to turn off your device for takeoff. You close the lid and instantly it turns off. As soon as the flight is in the air you flip it open and instantly you are watching the movie you had paused. You read some books on the device, catch some sleep and then wake up checking the flight status which get updated from the plane’s onboard server. You notice the flight is playing that movie you were dieing to see so you stream it from the plane’s server and watch it in full HD. Once landing you pull up a map of the current terminal and directions to the baggage claim. While you wait for your bags you start making reservations for dinner and notify the hotel that you are on your way. You are looking forward to well deserved rest and relaxation and take some pictures of yourself with a big grin, adding a nice “You wish you were here” banner on it. You then send it off to all of your co-workers who are picking up your slack back at the office.
If your Netbook could do half of what I described in the above scenario, no one would be asking, “but does it run Word?” And to think, travellers are only one target audience.
[read this post in: ar de es fr it ja ko pt ru zh-CN ]
Great post. I agree with almost everything you said. To the “web 2.0/mobilified” desktop.
Comment by Joseph Smidt — February 1, 2009 @ 12:57 am
You forgot #0: being able to confidently buy equipment that will just work with Linux, no hassles required. This doesn’t mean that Linux needs to support every device, but we need to have several reliable choices for each peripheral (webcam, wireless card, etc) and this has to include products currently on the market (hardware compatibility lists are full of obsolete hardware, and reports devices as working that once worked but are now broken).
Comment by Joe Buck — February 1, 2009 @ 1:15 am
Joe, it DOES require supporting every device. If Windows does and your OS does not, then your OS is simply inferior in that regard.
Free is meaningless. Time is money. I only care about Free Software because I believe it will imminently be the Best Software. If OS X is best in the mean time, well, I’ll be on it while I wait..
Comment by ethana2 — February 1, 2009 @ 3:28 am
I’ve used unix for many years, dating back to before Linux. Unix used to be an awesome workstation desktop. Sure it /really/ needed some polish, but everything was there, you could use it for things that other desktops couldn’t even begin to comprehend.
And with the “recent” (and by recent, I mean last 5 years or so) desktop environments, that’s been lost. People dumb down the desktop environment to make it “easy for the end user”. The end users are using Windows. People that want to a proper powerful workstation are using various unixes, and are getting pissed off at having to fight their desktop environment all the way.
While I agree that linux on laptops, and for cut down devices is an great target, I also think that targetting linux towards the high end professional work station is also important. Make it easy to support large numbers of windows, from applications spread across multiple machines. Why can’t I say “I also have a login to this machine, merge it’s applications menu with mine”? There should be more keyboard shortcuts. (Alt right click to resize? Where did you go?) The 10 “custom commands” in metacity is laughable, and nearly impossible to configure. I should be able to talk to dbuses from multiple machines — if I plugin a usb disk to any machine I have access to, it should turn up on /all/ my desktops on all the machines I’m logged into.
I should be encouraged to login to multiple times. I should be encouraged to be able to migrate X applications from one display to another.
Unix users are used to have mulitple workspaces/desktops/viewports and run applications on them and switch between them. Drag a window off the right hand side of the screen? Move it to the next desktop. Push the mouse against the right side of the desktop? Switch desktops.
Removing these features because they confuse “new users” (not just disabling them by default — removing them completely) means all the power users are running twm, fvwm, ion, or windowmaker and giving up on modern desktop environments all together, because they’re sick of fighting gnome/kde. These are your best audience — they’re already here, they are fiercely loyal, they /can/ code, they /will/ produce useful bug reports. These users will appreciate a more polished desktop than twm, but they are also the audience that are most likely to be offended by the dumbing down of the desktop.
If you want to attract these users, make the desktop easily extensible by scripting, and make sure it’s documented with lots of examples. Make sure the command line is useful, don’t treat it as something to be hidden away. By all means make sure things are easily exposed via a gui interface, but make sure that it can be scripted, and queried from the command line too in an obvious, Try and replicate functionality that was available in older desktop environments such as twm, fvwm and windowmaker.
Please stop pissing off the power users and treating them like they don’t know how to tie their shoelaces.
Comment by Perry Lorier — February 1, 2009 @ 5:08 am
Mobile + form factor change = different pixel density
Every time you see a post that says “just force 96dpi” when X correctly detected the hardware was something else, just because our desktop apps are by and large unable to cope with differently-sized pixels, you see something that won’t work on most mobile appliances without high-maintenance kludges.
Comment by Nicolas Mailhot — February 1, 2009 @ 6:06 am
lol @ #4
This’ll never work. You’ll get laughed off every linux distro mailing list: “Oh, this will mostly help only proprietary vendors – do we really want that?”. And then when “the others” try to help themselves by building the whole portable system they get rejected again: “Oh, it doesn’t fit in perfectly with our distro and oh, it duplicates the job of our already existing native pkg manager.”
I’ve seen the cycle repeat with different proposed solutions. Just forget it, it’ll never work. Linux distros are condemned to unix fragmentation and the only tool we have is autoconf.
Comment by xix — February 1, 2009 @ 6:38 am
@xix: Well said. I was one of those “others” and we ran into the exact scenario you described.
For #4 to succeed the community needs an attitude change.
Comment by Hongli Lai — February 1, 2009 @ 6:53 am
Hi,
What a surprise! You say going mobile is the way, still all the communication setup you refer to are from the user to some companies using central web (more or less) service. I see no mention of communication client to client using the internet, like Instant Messaging, VoIP and such.
This peer-to-peer area is both the natural use of the internet and the area where users are tied to proprietary protocols.
Peer-to-peer scenarios for users are more meaningful than peer to server scenarios:
* most, if not all, servers can send their alerts using VoIP tools and the VoIP protocol can help reaching the user (e.g. the server will try to reach the user at home and the VoIP protocol will forward to where the user is),and you can set privacy policy. VoIP protocols are designed for instant interactivity.
* Using service provider servers is fine as long as you fit in. What about self organisation between colleagues, friends, etc.? Most of the time, your activities are social, related to a group. An effective mobile tool will need to help you managing your stuff with your contacts. VoIP protocols are designed this way: think of features like instant status, geolocalisation, conference, the ability to define different policies based on how to categorize your contacts (family, work, etc.)
Sadly, nowadays, most popular free softwares in this area try to use proprietary protocols. This is a really bad situation for improving our tools dealing with free protocols such as SIP or XMPP as the features available in those multi-protocol softwares tend to be the lowest just to fit with all those protocols.
Thus i disagree with the argument going mobile will benefit proprietary softwares. It can be seen this way, like e.g. canonical do in this advertisement:
http://www.canonical.com/projects/ubuntu/unr
Or we can improve and promote our offer for VoIP.
Best regards,
Yannick
Comment by Yannick Defais — February 1, 2009 @ 10:01 am
Linux on the Desktop will win when the posts of people like LH no longer contain even a shred of valid criticism (i.e. pure lies or complete misinformation that can be safely ignored). While such vitriol has any meaningful basis (no matter how small) the competition will still be on.
Comment by Anon — February 1, 2009 @ 12:33 pm
Hopefully as time passes more and more people put their steam behind KDE as the leading linux desktop. None of this gnome/mono stuff.
Comment by silv — February 1, 2009 @ 12:56 pm
I strongly disagree with #4, I think the current packaging model is the way to go, there’s no other OS where installation of software is as easy as on GNU/Linux. You just open your package manager and select what you want and voilà, it’s here. I don’t see why we should have to track down applications in several “app stores”, it’s much nicer to just be able to install them from our distro’s repository. Not to mention that the idea of “app stores” implies that payment is required, which is a step backwards. I like my software to be both Free as in free speech and downloadable from free of charge repositories. (Software in those “app stores” most likely will be neither, as a license requirement that you can only download the software from the fee-based “app store” is non-Free.) I’m pretty surprised (negatively) to hear this suggestion from you; after your insightful post about open media formats a few months ago, I wouldn’t have expected you to suggest making proprietary software distribution easier.
I think free of charge repositories of Free Software properly packaged for the distribution is the model we want to promote, not fee-based “app stores” of proprietary software built as generic binaries which integrate poorly into the distribution and do not use its features. (And I realize there may be intermediates, but still I think that the closer we stay to the first model and the farther from the second, the better!)
@xix: Well, you’re quoting exactly the reasons why such a “solution” (in quotes because the word incorrectly implies that there’s a problem to be solved in the first place) is a bad idea. (Well, you’re missing one: Having everything in the central repo makes it easier to install it.) So how is it a bad thing that those “solutions” get rejected?
Comment by Kevin Kofler — February 1, 2009 @ 1:02 pm
@silv: While I don’t disagree with your statement, what on Earth does this troll have to do with the contents of the post you’re replying to?
Comment by Kevin Kofler — February 1, 2009 @ 1:04 pm
kevin, lets call it the #11 of what is needed for linux desktop to win.
Comment by silv — February 1, 2009 @ 1:56 pm
kevin, lets call it the #11 of what is needed for linux desktop to win.
Comment by silv — February 1, 2009 @ 1:56 pm
@silv:
I totally disagree with you.
Even if QT is considered as a better toolkit than GTK+, I personally don’t like KDE, and I don’t think that limiting the user to only one desktop experience will increase Linux adoption.
Comment by Spykes — February 1, 2009 @ 5:30 pm
@kevin: Here we go again
. The whole argument can be boiled down to a single question – “is the centralized closed model of software packaging and distribution in popular linux distros ok?”
You seem to say yes. I say no, it’s not (good enough), because it rejects certain useful approaches to software development.
It doesn’t have to do with closed/open/pay/free software issues at all.
Comment by xix — February 1, 2009 @ 5:46 pm
First I like to say wow it is nice to see a civil debate.
@kevin
On #4 – I’m not saying get rid of the way packages are distributed, just make it easy for a 3rd party to write an application and submit it to every distro/app store and have it just work (e.g. gets compiled and packaged in their packaging format). Yes I talk mostly about people trying to sell apps because I’m talking about bringing Linux to people who aren’t part of the culture. If a person wants to sell their app and the maintenance burden is higher on a Linux/Netbook than it is for a Windows/Netbook, plus there are more computers running Windows, then they just won’t support it because they wouldn’t be able to make money off of it. If however the maintenance burden is minimized and you get the network effect that all of the users for these devices can be categorized under one large pool of Linux users, you now have a large enough market for 3rd parties to sell their apps. Note that each app store would be tied to a device so app store/repository are interchangeable.
The reason the server market doesn’t work this way is that the margins on server software are so high that they offset any maintenance costs and every company can develop their own cross platform strategy. But with razor thin margins and a larger pool of companies for consumer software money is made by being constantly innovative without getting dragged down by infrastructure issues such as the cross platform maintenance burden. In essence you want your market to concentrate on innovation, not on reinventing the wheel.
Since when does proprietary software have to be the only software that makes money? My own salary is supported through sales of Open Source and Free Software. Notice the big F because I don’t believe in small f free (I am an unabashed capitalist – but please don’t think of capital as just money – time, effort, talent, etc. are all part of the mix) . There is always a cost involved to somewhere. Users who are willing to pay with currency are supporting the further development of FOSS without having to get directly involved. Users who don’t pay with currency help out in other ways – e.g. time, effort, talent. Those who refuse to support the efforts of others but benefit from those efforts, work against all of the incentives that make those efforts possible. In essence if an effort fails to gain traction it is because of lack of support or in more general terms, lack of capital. If a person relied on that effort but failed to provide capital they have no right to complain when efforts which the person felt we somehow inferior succeed. Of course there are those who can’t provide capital and it would be immoral to deny them the fruits of the efforts if those fruits are essential and can be provided with little extra cost to the effort itself (eg copying bits are pretty much a low cost endeavour). However, there is a fine line between having no capital to offer and just not wanting to spend capital.
Comment by J5 — February 2, 2009 @ 12:40 am
@Spikes
Experience goes beyond what toolkit you use. We need to start thinking about how to make a users life easier, not how a button is created. If you want to talk about toolkits, guess what toolkit a majority of users use the most – HTML. Yes the toolkit at the lower level is an important factor to the overall user experience but that is all implementation details that casual users (the ones who are in the majority) don’t really judge by. They judge by whether or not the device is useful to them. Is it something they use every day and make their lives easier or is it something they use for a bit but it ends up gathering dust in the attic after a few weeks. The best Linux devices out there are devices the average person doesn’t even know runs Linux.
Comment by J5 — February 2, 2009 @ 12:54 am
@Joe Buck
reread #5 – ideally your Linux netbook would come with everything you need out of the box. Eventually the general purpose desktop idea can be reborn at which time device makers would have been targeting the netbooks with their devices because the market made it reasonable to do so.
P.S. Nothing ever gets close to ideal so users will eventually want peripherals to work outside the standard mass storage devices (e.g. cameras) but if you give them what they want up front you can let the device market catch up. Look at the video game console market for an example of this at work.
Comment by J5 — February 2, 2009 @ 1:34 am
It looks like in your “traveller” scenario, the user is completely locked in some proprietary services (Netflix, Amazon, whatever streaming the airline is using, etc.), so you liberate your desktop by using Linux only to get locked again at the next step.
Comment by nicu — February 2, 2009 @ 2:55 am
@nicu: +1, I’m worried a lot about this trend of integrating with proprietary web services. Even more so when you have no choice because the services are “tied” with the netbook you bought. This may be even more worrying than the idea of app stores.
Comment by Kevin Kofler — February 2, 2009 @ 3:33 am
Or instead of buying a $300 netbook, you use your smartphone/device and download applications as you go/as you need them.
And I might decide to do it all on my phone because I don’t want to carry anything else and my SO might bring along a netbook or a tablet because he wants a bigger screen to watch his movies on. And we could both do all the things you described on very different devices.
Comment by Stormy — February 2, 2009 @ 11:45 am
Why does there have to be a “winner” anyway? If I wanted to be in a competition, I’d play poker.
Comment by Jeez — February 2, 2009 @ 2:35 pm
@Stormy
How about a netbook/phone combo where the phone is the processor but you have a dock with a bigger screen. That is really rethinking the form factor.
Comment by J5 — February 2, 2009 @ 3:46 pm
@nicu – What commercial open source services? Google already ties everything to their services. The netbook doesn’t have to tie to one service. They can make deals with any service provider just as long as the experience is as seamless as iTunes. If an open source provider can beat the proprietary service in the market all the better but waiting for that to happen before you develop a consumer Linux Desktop is basically giving the market to Apple, Microsoft, GOOGLE, etc. These things have to be developed in tandem and meet in the middle.
Comment by J5 — February 2, 2009 @ 3:56 pm
But my netbook has plenty of storage space, I took care of that when purchasing it, so I can very well read the books as PDFs from there, watch a movie the same way, maybe play a game… only if the battery would last enough.
As for barcode reading, I fear the biometric ID cards with RFIDs will be rollev over in EU quite soon (AFAIK, really soon in my country) and at the airport terminal I will only have to hear “Hello Mr. Yukkamoto and welcome back! “
Comment by nicu — February 3, 2009 @ 4:50 am
@Nicu
But where do you get those books and movies? From some type of service (might be p2p). If the netbook maker could make that seamless, it is going to win out in the market place plus generate revenue for the netbook vendor. Now someone may use a p2p service and you may think it is (little f) free but it costs in time and effort to find what you want at the quality you want. Why do you think iTunes makes money when you can get mp3’s for free?
As far as RFID’s are concerned, they are scary but you can’t let that stop innovation. The Internet has a lot of scary uses too. Personally if I want people to know who I am I want to be able to do it as easily as possible with enough safe gaurds in place so that when I don’t want someone getting my info they can’t. For example, I have a frquent flier card. I love it when they say, “Hello, Mr. Palmieri, welcome back”. Now if I didn’t have any relationship with them that would be scary. While the information stored in that card can be abused it is equally a tool for my convenience. RFID’s make it easier to abuse but it is hard to just dismiss it out of hand when that would mean I would have to do the same for any technology that could be used for evil purposes (and that is all technology). Use in a national ID card though is something I would be against.
Comment by J5 — February 3, 2009 @ 1:04 pm
I’m 100% with Perry Lorier. It’s also what points #5 and #6 say.
Distributions are so focused on the “desktop” user, whatever that means because is such a big thing, that in the end they’re just a bunch of software put together without any clear direction. What drives desktop Linux? Nothing! Do you know what drives the Mac? If you watch this old Steve Job’s video (http://www.youtube.com/watch?v=p9dmcRbuTMY) about the NeXT Computer Business you will find that it hasn’t changed a bit. They’re still a Worsktation company, and what drives them is pulling out power in professional applications and developers. For example, they have the best audio core because they want to put the best audio apps, they’re investing in the LLVM Compiler, OpenCL, Grand Central because they want to make the best future multicore & GPU computing possible. Do you think they want this for desktop computing? No! What pushes them to improve are the pro applications this things could have. If you stop a little bit and think about the Linux Server, that focus was also what made improve this much.
You have desktop Linux on the other side. They’re just a bunch of software put out together and driven by nothing. They don’t care changing OSS for Alsa for PulseAudio for whatever… as long as it still plays music. As Perry Lorier pointed out, the X Server is loosing it’s meaning, because all the important features that made it different are getting no use on this desktop meaningless focus.
And what should a developer choose as a platform? If distributions don’t care about changing 1 for 2, what should we do? Package Managers can be seen as a solution, or as noted here maybe they’re more part of the problem. KDE 4 libraries have a separated layer (like a façade) to abstract developers from the underlying implementation that it’s a good start also. I still haven’t seen an easy way to produce my code and after that, just pack my software so a PM can use it. The problem with libraries and Major / Minor versions didn’t exist before PM became too sophisticated.
You know, Linux is such a powerful platform for trying new things. Linux should be the top of Lance of OS. But all improvements will get hidden because probably their application on the desktop is not obvious at first sight. There’s incredible great professional OSS, like Osirix for medical 3D imaging (built for the Mac), clustering with Beowulf (can you imagine what would become if we made this thing a lot easier to use?), X Server (interacting with applications which are run from different computers), dbus…
I really think a change of perspective can work for Linux. Instead of focusing on Personal Computing (desktop), focus on Professional, and the other will come. I’m already working on it, so if someone has any suggestion or likes the idea, maybe we can work out something.
Comment by CharlyChango — February 4, 2009 @ 2:53 pm
At allmyapps, we’re working towards making #4 a reality… I agree the foss community is not a strong supporter of the idea but it has to be done if we want to see the linux market expand. Hopefully, technical solutions exists to make #4 a reality and we’re already working to prove it
As we’re building an app store for Linux, it is one of our challenge to provide solutions to developers to be able to deploy / sell your product on every distro out there.
Comment by Thibauld — February 5, 2009 @ 9:57 am