Interview: John Lenton, Senior Engineering Manager for Ubuntu One
In this continuing Ubuntu One interview series, Amber Graner talks to John Lenton, Senior Engineering Manager for Ubuntu One. Lenton give a little about his history with FOSS and how he found his way to Canonical. He addresses reader comments about the Ubuntu One proxy issue and gives users and developers links and information on how to participate in the Ubuntu One project and more.
Amber Graner: John what is your role at Canonical?
John Lenton: I'm the Senior Engineering Manager for Online Services. Basically that means everything engineer-ish that is done under the Ubuntu One and affiliates umbrellas is done by somebody on my team. And what that means in practice is that when Ubuntu One breaks, it's my fault.
Amber Graner: How long have you been involved with Free and Open Source Software and what made you get involved? When and how did you get involved with Ubuntu?
John Lenton: I started using TeX in 1994 while in university, when the formula editor in MS Word 2 couldn't keep up. I'd been dissatisfied with the quality of its output for quite a while, but didn't know better, and then things got so complicated it killed the machine trying to typeset some (fairly basic, in retrospect) formulas.
Somebody told me I should learn TeX, and pointed out the TeXbook in the library. Next I knew I was getting an account on a machine that had internet access (only professors had this at the time), an early slackware, where I used lynx to download emTeX to run on my dad's 386.
I managed to save up enough for my first computer, and put slackware on that, but rapidly got annoyed with (read: broke) the packaging system there. Then Debian 2.0 came out, and I switched and never looked back. I used (and advocated) Debian from then on; I teamed up with a couple of local people and started the Córdoba Free Software user's group (this was somewhere around 1999). Later I got involved in more meta aspects of the free software culture and was active in Fundación Vía Libre (a local foundation that is something like a cross between the FSF and the EFF) before moving to the UK this year.
I got my first laptop shortly before Warty came out, and was in quite a bit of pain because of suspend not working right and random bits of hardware not being supported; in Warty it just worked, so I switched. By the time I started my own company (together with my brother and a friend) in 2005-ish it was Ubuntu everywhere.
Amber Graner: As the Senior Engineering Manager for Ubuntu One, can you tell readers what your team does for Ubuntu One?
John Lenton: From an engineering perspective there are two basic building blocks to what we do: file sync on the one hand, and structured data storage on the other. The first is for keeping big things like your photos and music in sync between your devices (and the web); the second is for keeping fiddly things like your contacts and notes similarly synchronized.
There's also services we build on top of these, like for example music streaming. So you put your music up there, and we can stream it to you. This one is actually built on both, because while the music files come from file sync, the playlists come from our structured data storage service.
There's a bunch of other stuff we're looking at doing on top of these building blocks, and we are open to further suggestions (even though we have limited resources to go and implement some of these suggestions...) so keep them coming.
For most of the work being done I can point at individual Free Software projects on launchpad, but there's a lot of it. It boils down to a few things, though: the Ubuntu One storage protocol (both the REST API and the google protobuf one); clients of those protocols for Ubuntu, Android, iOS, and Windows; clients of the Ubuntu Single Sign On REST API (so the log in or registration to Ubuntu SSO-enabled apps like the software center is done by our software), desktopcouch and all the bits for adding syncing of structured data to different apps, things like a backend for evolution data server to keep contacts in sync, things like that. And there's the music streaming clients, primarily for Android and iOS. It's all in launchpad.
Amber Graner: What do you believe the biggest advantage Ubuntu One offers end users? Why would a user want to choose U1 over dropbox, Amazon or similar services?
John Lenton: There's nobody out there who does everything we do, everywhere we do it. That in and of itself is no minor thing. Another reason is that right now we're offering more bang for the buck. However, the real reason I personally think we're better is that we're doing as much as we can in the open, using and building free software and free standards. There are a few bits of the server side that are not free, and that is enough reason for some diehards to not use the service, and that is fine. For the rest, I'll continue pushing us to offer services that build on and enhance users' data without us sequestering their data in the process.
Amber Graner: What is your favorite feature that Ubuntu One offers the end user? Why is it your favorite?
John Lenton: My favorite feature is not built yet: it's the feature that is going to be built by people extending our services. It gives me a thrill every time I see somebody playing with our services and APIs, building things or integrating the things they've built to make use of our services. All the things I can think of are *boring*, compared to some of the third-party ideas I've seen.
Amber Graner: What is the best way for users to find out how to use Ubuntu One most effectively. How can the average end users become super Ubuntu One users?
John Lenton: If my job were done, they wouldn't have to *learn* the best way, because it would be obvious and second nature to them. Until that time comes, using our services, letting us know which aspects were surprising, which didn't behave as they expected, which they had trouble learning, will both help us make it better and help the user understand the underlying technology better (mostly because often explaining what you did makes you think of other ways of doing it that are better or more efficient, but also because sometimes we need to answer "well don't do it that way then" when something breaks if you do it in a particular way).
Amber Graner: What are the plans for Ubuntu One for 11.10 and how can the community help? What can non-developers do to help with Ubuntu One? What do you need from developers?
John Lenton: For 11.10 we're working with the DX team on integrating the Ubuntu One music store (and laid the groundwork for integrating other music stores) with the Unity music lens; we're working with the Ubuntu Desktop team to get contact syncing working with Thunderbird, and we're doing quite a bit of legwork keeping things working as new versions of the software we integrate with have undergone changes and improvements.
There are *lots* of rough edges, especially on the structured data storage side of things, so very often you'll paint yourself into a corner with contacts or notes not syncing. We've gotten rid of some of the worst issues, by dropping features entirely when they proved too problematic (so for example we got rid of the service we used to sync contacts to phones, because too often it would “omnom” your contacts). So getting good feedback on what is and isn't working is essential to making things work better across the board, and that is something that this community is great at. Telling us where we suck, so we can make it better, is awesome. Having patience with us while we work through the issues is also something I can wish for, but don't often get.
One particular pain point that was mentioned by Nerv in the interview you gave Stuart Langridge is proxy support; several of the client bits are lacking in this respect. We've had this issue from the start, and it's the kind of apparently minor issue that actually takes quite a lot of work to get right (especially because of the several flavors of authentication and encryption out there); compounding that, proxies are very common in the mainstream, but somewhat rare in early adopters, so as we've moved towards the breach it's becoming more and more important that we do this. Having said all that, work on proxies is set to start early next month. I hope to get an initial pass (without covering NTLM, socks, nor kerberos) before UDS. But that's an estimate, not a promise.
From developers, as I said above, I'd love to get our services integrated into your apps. Again, rough edges on structured data storage, and we'll be addressing those issues en masse this coming cycle (so there might be some API refactoring), but the bigger problem is often not the particular APIs we offer but the modification of the app to work with synchronizable data. Talk to us, because we can probably help; you'll find us in #ubuntuone on freenode.
Amber Graner: What resources do you have for users who want to learn more about Ubuntu One and get involved? Where can these users and developers give you feedback.
John Lenton: We have consolidated all the help material we have under our help subsite, https://one.ubuntu.com/help/ and our developer-oriented material at https://one.ubuntu.com/developer/. You can ask general questions in Ask Ubuntu under the #ubuntu-one tag, http://askubuntu.com/questions/tagged/ubuntu-one or if things break really badly you can reach us via the support contact form, https://one.ubuntu.com/support/contact/. You can also say hi on IRC.
Amber Graner: Is there anything about Ubuntu One that I haven’t asked you about that you would like to tell readers about now?
John Lenton: We recently made our public URLs longer, because our users rightfully raised some security and privacy issues with our old "guessable" public URLs; this has made it so our public URLs are now unsuitable for some use cases like dictating them over the phone (because they now look like http://ubuntuone.com/7hvUcFrr3evAKBdiHsEjrS). Using only public APIs, so putting myself in a 3rd-party-appdev position, I built a url shortener for public file urls, so the above link would also be reachable as http://u1.to/sil/1. And if I did this, what cool things could *you* do?
Thanks John for taking time to share more information about Ubuntu One with our readers and to answer readers' comments as well.
For more info on how you can participate in and contribute to Ubuntu, visit: http://www.ubuntu.com/community/participate.