[personal profile] mjg59
I was at the OpenStack Summit this week. The overwhelming majority of OpenStack deployments are Linux-based, yet the most popular laptop vendor (by a long way) at the conference was Apple. People are writing code with the intention of deploying it on Linux, but they're doing so under an entirely different OS.

But what's really interesting is the tools they're using to do so. When I looked over people's shoulders, I saw terminals and a web browser. They're not using Macs because their development tools require them, they're using Macs because of what else they get - an aesthetically pleasing OS, iTunes and what's easily the best trackpad hardware/driver combination on the market. These are people who work on the same laptop that they use at home. They'll use it when they're commuting, either for playing videos or for getting a head start so they can leave early. They use an Apple because they don't want to use different hardware for work and pleasure.

The developers I was surrounded by aren't the same developers you'd find at a technical conference 10 years ago. They grew up in an era that's become increasingly focused on user experience, and the idea of migrating to Linux because it's more tweakable is no longer appealing. People who spend their working day making use of free software (and in many cases even contributing or maintaining free software) won't run a free software OS because doing so would require them to compromise on things that they care about. Linux would give them the same terminals and web browser, but Linux's poorer multitouch handling is enough on its own to disrupt their workflow. Moving to Linux would slow them down.

But even if we fixed all those things, why would somebody migrate? The best we'd be offering is a comparable experience with the added freedom to modify more of their software. We can probably assume that this isn't a hugely compelling advantage, because otherwise it'd probably be enough to overcome some of the functional disparity. Perhaps we need to be looking at this differently.

When we've been talking about developer experience we've tended to talk about the experience of people who are writing software targeted at our desktops, not people who are incidentally using Linux to do their development. These people don't need better API documentation. They don't need a nicer IDE. They need a desktop environment that gives them access to the services that they use on a daily basis. Right now if someone opens an issue against one of their bugs, they'll get an email. They'll have to click through that in order to get to a webpage that lets them indicate that they've accepted the bug. If they know that the bug's already fixed in another branch, they'll probably need to switch to github in order to find the commit that contains the bug number that fixed it, switch back to their issue tracker and then paste that in and mark it as a duplicate. It's tedious. It's annoying. It's distracting.

If the desktop had built-in awareness of the issue tracker then they could be presented with relevant information and options without having to click through two separate applications. If git commits were locally indexed, the developer could find the relevant commit without having to move back to a web browser or open a new terminal to find the local checkout. A simple task that currently involves multiple context switches could be made significantly faster.

That's a simple example. The problem goes deeper. The use of web services for managing various parts of the development process removes the need for companies to maintain their own infrastructure, but in the process it tends to force developers to bounce between multiple websites that have different UIs and no straightforward means of sharing information. Time is lost to this. It makes developers unhappy.

A combination of improved desktop polish and spending effort on optimising developer workflows would stand a real chance of luring these developers away from OS X with the promise that they'd spend less time fighting web browsers, leaving them more time to get on with development. It would also help differentiate Linux from proprietary alternatives - Apple and Microsoft may spend significant amounts of effort on improving developer tooling, but they're mostly doing so for developers who are targeting their platforms. A desktop environment that made it easier to perform generic development would be a unique selling point.

I spoke to various people about this during the Summit, and it was heartening to hear that there are people who are already thinking about this and hoping to improve things. I'm looking forward to that, but I also hope that there'll be wider interest in figuring out how we can make things easier for developers without compromising other users. It seems like an interesting challenge.


Date: 2014-05-20 02:28 am (UTC)
From: (Anonymous)
i'm using Linux since 2008-*, i accept during early days up-to 2005, they never cared much about user experience. But this scenario changed after release of Unity and Gnome 3, developers wanted some thing that doesn't get in their way of daily task, this GNOME really cared about. I would say in recent time GNOME changed a lot than Unity when it comes to user experience.

i have used OSX for some time through my friends laptop, i don't like how touchpad works which makes me lose my mind in what i want to do. then again this is my experience. Moreover this is not needed for developers for never used macs on their first time basis.

Tools and App needed is already available in linux world, but it takes one distro to put it all together which is exactly what Fedora is trying to do. On Hardware, apple does offer something that rivals can't match, most important thing is battery which is huge when compared to others. i disagree on battery lifetime. it is greatly improved in 2013-present timeline.

My conclusion is 2014 will be good year for development on user experience on gnu/linux.

Re: LInux

Date: 2014-05-20 12:49 pm (UTC)
From: (Anonymous)
I thought the opposite. I used Linux from about 1998 (RH 5.2, pre Fedora and pre RHEL) and I thought the opposite. The GNOME2 desktop didn't get in the way, nor did KDE 3.5 (I used both). I found that with GNOME3 and Unity, they thought that I was an idiot and needed help navigating around my computer to find files, directories and applications. If anything, the UI got in the way because it was very difficult to do anything (and particularly difficult to do something using the keyboard only).

They confused the desktop with a tablet interface. When I have two 24" screens on my desk, I don't want some weird popup at the side and don't want to be waving my arm left to right and back just to get stuff done. I would argue that the Linux desktop and new strange desktop paradigms (more like tablet paradigms) are a step backwards; probably usable on netbooks but not for me thanks.

Re: Linux

Date: 2014-05-21 11:06 am (UTC)
From: (Anonymous)
Currently, Red Hat is almost exclusively steering the Linux desktop using "freedesktop.org" and other proxies, which make it look like a "community", which it isn't. It's a completely corporate operation.

One of RH's biggest customers is the US government, or more specific the US military. It's well known, that the military doesn't have the brightest people in their lower ranks, but these people must be able to use current computerized weaponry, too. So it is very likely, that Red Hat dumbed-down the Linux desktop for a very important customer. Which makes it unusable as a general-purpose desktop.

So the main question is: Why would anyone with a MacBook running OS X switch to something like a front-end GUI of a UAV remote control unit to develop software for it?

Unity lacks keybinding supports

Date: 2014-05-25 04:06 pm (UTC)
From: (Anonymous)
1. No multi desktop (and its keybindings) by default (Ctrl-Alt-arrows)
2. Alt-tab by default includes minimize all opened applications, which is by mistake is hit quite often.
3. Alt-tab is super-slow-sluggish
4. Lack of proper (I used to) keybindings
5. Sometime while I scroll a webpage gigantic ubuntu search popup hides 2/3 of the whole screen. Could not figure out how it is triggered. It happens 1-2 times per hour. No pattern yet.

I have a 4 year old laptop, and I still use it with ubuntu 10.10, because it just *works*. Despite I bought a 2200USD laptop. It just sits idle with ubuntu 14.04.
- The high resolution display dont work well.
- gigantic touchpad dont work well (you cant grab an icon from left to right, if you run out of touchpad. Middle button does not work for CAD).
- crappy battery life (because of linux and lack of battery carefulness)


Matthew Garrett

About Matthew

Power management, mobile and firmware developer on Linux. Security developer at Google. Ex-biologist. @mjg59 on Twitter. Content here should not be interpreted as the opinion of my employer.

Page Summary

Expand Cut Tags

No cut tags