Closing Party BannerFriday was a light day as far as sessions were concerned (at least sessions which I found interesting). The first session was about multi-monitor support in Unity. This has been a big pain point for some users in the last couple of releases so I’m happy to see it given some priority. The primary focus this cycle will be two displays (two monitors, or one monitor + one projector), which is the most common case. There was some design work done on how to place the launcher (along which edges and what to do if the user wants to move “through” the edge) and how to decide which is the “primary” display. There was a six-monitor demo set up in the hall which we could play with to get an idea of how it will work. It was just a prototype so it took no time at all for users to break it. 🙂 (blueprint, notes)

Next up for me was a discussion on making sure that there is a base set of packages which will be cross-compilable to ARM. This is a big one for my group since much of our target hardware is ARM-based and our current options for building packages (slow ARM hardware or even slower virtual machines) make development challenging. I’m definitely looking forward to seeing this one accomplished. (blueprint, notes)

After lunch were a set of “lightning talks”, 5-minute talks about whatever interesting subject the speaker could come up with. I could detail them here, but it’s likely that you won’t care. On the off-chance that you do you can watch them yourself:

http://www.youtube.com/watch?v=Qnh7f36xkRA

The only other session I attended was on finding and fixing the regressions in boot speed in the last couple of releases. Martin Pitt showed off some boot charts from lucid and maverick looking for specifics on where things have slowed down. It looks as if compiz and nautilus are the worst offenders, but there will be plenty of cleanups to go around. (blueprint, notes)

Super CEO

In the evening was the much-beloved after party which had a super hero theme this time around. I spotted The Hulk stomping around the room and our CEO gave her “thanks for all the hard work” speech dressed as Supergirl. The party itself was loads of fun, with the Ubuntu All-Stars playing some classic tunes (can’t go wrong with “Wish You Were Here”) and lots of alcohol-inspired dancing.

After an exhausting week it was time for one more sleep then the a short plane ride home.

Caribe RoyaleI started Thursday out at a session discussing automated cross-building of packages for ARM. The current problem is that the only way to know if a package will cross-compile successfully is to set up an environment and try to build it. The discussion revolved around setting up build machines that will automatically do this and log the results. (blueprint, notes)

Next was the makeup session discussing the relationship between Linaro and Ubuntu. Since Ubuntu’s ARM support comes from Linaro it’s important that the two projects maintain some sort of synchronization even if their main release cycles differ quite a bit. There was some discussion about how the two projects can maintain solid communication and some talk about how to get fixes, etc. synchronized between them. (blueprint, notes)

After lunch was a plenary with a few interesting talks. The first was about how OpenStack integrates with Launchpad and how they use continuous integration. The second was an introduction to the Ubuntu Friendly project, and the third was about how UEFI Secure Boot affects Ubuntu.

Next session was a tech preview for the Wayland compositor, which will supposedly replace the X server sometime in the future. The “preview” consisted of a hilariously short, very crashy demo of the software, which is to be expected in a “tech preview” since the “tech” doesn’t quite exist yet. I think that Wayland will be very useful in some cases, as in portable or other low-power devices where X is overkill, but I’m not sure that it will end up replacing X across the board.

After that I went to a session discussing GNOME session saving for power users. There are some users who would like to have the desktop remember the running programs and their window layouts between logins. The team came up with a list of pitfalls and pain points with this feature as it exists now and they will be working this cycle to resolve them. (blueprint, notes)

Due to some scheduling errors, the last session of the day that I wanted to attend was on power management from a whole-system perspective. The session had actually happened earlier in the week but was left on the schedule for reasons unknown. Since I had some time to kill I helped new recruit Matt debug a video driver problem.

In the evening a few of us caught a shuttle to Pointe Orlando for dinner. We settled on Maggiano’s where we ate family style. Four courses involving chicken, pork, and salmon with crème brûlée and tiramisu for dessert. Quite tasty.

After dinner it was back to the hotel and a (relatively) early night.

This Must Be The PlaceWednesday started with a session on power savings on multi-core ARM using cgroups. The gist is that cgroups allow assigning all running processes to one or more cores, allowing the other cores to go into an idle state and not draw power. The one problem they’re noticing with this scheme is that sometimes IRQs or timers are assigned to a CPU that is supposed to be idle, leading to more frequent wakeups and higher power draw. The Linaro guys are working on this issue but even without solving it they are seeing 90% of the power savings compared to CPU hotplug. (blueprint, notes)

Following that I went to a session on server management on ARM. Mostly it was an attempt to list the various multi-server management tools that are in use today and  figure out if they are broken on ARM. There was also some discussion about DMI, which is useful for servers but only available on Intel platforms. The interface will need to be replicated or something equivalent will need to be created for some of the server tools to work. (blueprint, with notes)

Next was a lecture by Vincent Guittot of Linaro about potential power savings to be found when the multicore/cluster scheduler is tuned to be aware of power consumption as well as performance concerns. Unfortunately the presenter was supposed to dial in but the conference phone wasn’t working. He dialed in to someone’s cell on speaker but it was so hard to hear that the presentation itself was nearly worthless. The good news is that they put up slides[odp] and a wiki page with the relevant information.

Last session before lunch was on the upcoming enhancements to Thunderbird to make it easier to use as well as fit in better with the Ubuntu desktop. Upcoming changes include simplifying the message list by getting rid of redundant information and getting rid of the confusing multiple search and filtering boxes in the main UI. You can actually follow along with the development process at the Thunderbird project’s Tumblr site. (blueprint, notes)

After lunch was a plenary session with two presentations. First a representative from ARM went over the current ecosystem around their platform and the upcoming changes in ARMv8. Then we had a speaker from OIN talk about defensive patents and the current state of software patents in general. Finally they took everybody outside (under the Daystar!) to take a group photo. Considering how tightly the 700 or so of us were packed I thought the jump shot was a bit on the dangerous side.

Back to the normal sessions, I went to a discussion on enabling folks to more easily customize Unity, specifically helping derivative distributions, OEMs and corporate customers get the experience they want out of the box for their users. I was happy to hear that many settings which are currently stored all over the place will be consolidated into gsettings. (blueprint, notes)

Next I attended a workshop on Qt Quick. It was a nice demonstration on the kinds of interfaces you can design using Qt Quick’s declarative QML language. They were very careful to emphasize a separation between logic (C++ or python) and presentation (QML).

Last session of the day was a planning session for Ubuntu on phones. The discussion largely centered around the problems which arise when trying to move from a full desktop environment to a phone interface, from memory requirements and touch interface to what framework to use for phone functionality and location services. (blueprint, notes)

In the evening we had a small gathering for our group with drinks and hors d’oeuvre. Not being satisfied with that a bunch of us walked about a mile along the side of a highway to get to an Irish pub in a nearby strip mall. We ate, drank, and made merry then headed back to the hotel (some folks wimped out and took a cab) for more of the same.

Tuesday began with a session on how to improve Quickly, which is a tool to help Free as in...beginner programmers “quickly” get started on a new project. Most of the discussion revolved around porting to the new Python 3 hotness, including moving to PyGI from PyGTK. There was some talk of automatically converting users’ projects, but that seemed pretty high-risk so it’s more likely that the tool will advise the user to run 2to3 on their code if they wish to upgrade. There was also some discussion (again) of new project templates for Qt Quick, Vala, and Unity Lenses. (blueprint, notes)

Next was an introduction and Q&A session with the Ubuntu Desktop Design Team. Lots of things were discussed including how users can get involved and collaborate on designs, the settings that were removed from GNOME 3 which we need to add again (like choosing fonts, icon themes, etc.), and features for advanced users like multi-monitor support and focus-follows-mouse support. (blueprint, notes)

After that I was supposed to go to a session on improving the collaboration between Ubuntu and Linaro, but that seemed a lost cause as nobody from Ubuntu showed up (I don’t count since I don’t work on the distro). The meeting was postponed until they could convince someone to come. In the meantime I had a nice hallway discussion with Alex and Michael about personal backup solutions.

Last session before lunch was on infrastructure improvements for development release maintenance. The main thrust was that we have lots of tools to help find problems in the archive but they are all disconnected from each other and don’t provide a good overall picture of the problems that need to be addressed at any given time. Ideas included extending Harvest to be a more general place to assign/take tasks and setting up some automated upgrade testing. (blueprint, notes)

After lunch was a set of short talks. First up was a couple of guys from OpenStack talking about automated testing of code before allowing that code to be merged into their main tree. For functional and integration testing they have a slick tool which automatically sets up an Ubuntu machine with the software needed to run OpenStack and fires it up with the code to be tested.

Next was another OpenStack talk about DevStack, which is a script which allows you to quickly set up an OpenStack development environment.

Following that talk was the Steve George, the VP of Business Development for Canonical, talking about the need to bring consumer applications into Ubuntu if we want to reach a critical mass of users. The talk largely centered on developer.ubuntu.com and similar efforts to make it easy and attractive for developers to get their software into Ubuntu.

The final talk of the series was by a gentleman from Nokia discussing the Qt ecosystem. He mentioned that Qt is run by the Qt Project rather than Nokia itself, and that it’s already being used in many products including home media devices (I found out later that the PS3 Netflix application is written in Qt). He also talked about the features we can expect in Qt 5.0, due out in 2012.

Back to regular sessions, I attended the one on performance tuning and optimization for ARM servers. General consensus was that we shouldn’t turn on options just because certain websites say we should and that each candidate (kernel options, for example) should be investigated individually comparing real-world performance with and without before any decision is made. (blueprint, notes)

Next was a session on U-Boot improvements in Linaro. Lots of talk about what’s currently supported in U-Boot versus potential improvements that would be helpful to both Linaro and Ubuntu. Let me just say that I have never been to a discussion about bootloaders that was not terribly dry, and I’m typing this after having attended this one. (blueprint, notes)

My last session of the day was a demo put on by the Qt guys showing off some of their work in the embedded space. They demoed Qt Quick on Ubuntu core running on both a PandaBoard and a Tegra 2 board. They also had a hilarious interactive demo of a working calculator which spins in 3D and turns into a scene with a wheeled robot cruising around.

In the evening we had a happy hour with plenty of beer but a dearth of food, so a bunch of guys from my group ordered pizza and downed it in the hotel lobby (near the bar of course). I got to meet two new recruits to the group, both of whom started this week. I was happy to discover both that I am not the only person that got thrown into UDS on their first day of work, and that I am no longer the “new guy”.

Sunday evening I arrived in Orlando after a short flight, which was only stressful Precise Pangolinbecause I had no word about the ongoing Steelers/Patriots game until we landed. I was happy to hear that it ended the right way, and could relax and focus on the business at hand.

The shuttle to the hotel was full of Linaro guys, and we had a nice talk about ARM development boards during the ride. It was a short one, and we arrived at one of the biggest hotels I’ve ever seen. It’s not really one hotel as much as it is a complex, with several towers full of rooms and a convention center surrounding an outdoor pool/lounge area (here’s a picture). After checking in I took a walk around the grounds trying to get a feel for the place and have some idea of where the important areas (conference rooms, bars) are. I stopped by the hotel bar and chatted with some other UDS folks. I met Thomas Bushnell of Google, who works on their internal Ubuntu desktop OS (chatted with him about Android) and a nice chap from ARM whose name escapes me (chatted with him about… ARM). Eventually I met up with some folks from my group and others who I knew from the UDS in Budapest and we got caught up before calling it a night.

Today was an exciting, action-packed adventure full of sitting in rooms and listening to people talk. Actually I attended some very interesting sessions and got to make my own humble contributions to the discussions.

First up was Mark Shuttleworth’s keynote, where he discussed the what’s coming up for Ubuntu. There are some really exciting things in the pipeline, including bringing Ubuntu to phones, TVs, and IVI devices. The next couple of years are going to be full of new gadgets for me to buy… you know, for “work”.

After the keynote the regular sessions began. The first one I attended was on providing image-building tools for customers and community members to allow them to make their own ARM builds and installers. The current situation is a bit of a mess, with poorly-documented, broken, or incomplete tools being the only options right now. Another obstacle is that any solution will have to fit into the Launchpad build infrastructure. Clearly there is plenty more work to do here. (blueprint, notes)

My second session was showing off the upcoming improvements to the Unity Greeter, which recently replaced GDM as the default greeter in Ubuntu. The authors showed off some of the new bling, like the background morphing into the selected user’s wallpaper, a greeter-inspired replacement for the lock screen, and messaging indicators showing when new messages arrived while you were away. You can see a mockup of some of the new features in this video. Some of the other OEM guys requested an easy way to customize the greeter for our customers, but the greeter authors seemed to think it would be easier to just write our own seeing as the code is very simple. (blueprint, notes)

The last session before lunch was a discussion about adding Google+ support to Gwibber once the API is released. Most of the discussion centered around how to represent the Google+ “circles” concept in the UI, with the possibility raised of creating a separate UI (still on top of libgwibber) for it. In the end Ken VanDine called for mockups of proposed UI for the new plugin, but nothing concrete was decided. One positive thing to come out of the session was Thomas Bushnell saying he was planning to package the Google+ API and bindings for Debian. (blueprint, notes)

After lunch was a plenary session with a couple of talks from Cloud Foundry about deploying web apps in the cloud. Also there was a short talk from the Debian Project Leader about the history and current state of the relationship between Ubuntu and Debian. In short, it’s better than it was, but there are still areas ripe for improvement.

Next up was a session on how to better integrate applications with the Unity desktop. Most of the discussion was around which apps need an indicator or better integration with the launcher, or how to get icons for web apps that don’t suck. (blueprint, notes)

Following that session I went to a discussion about cleaning up the GNOME Control Center, and better integrating Ubuntu’s desktop and applications with it. The discussion devolved into (IMO) a bit of bikeshedding about the Ubuntu One control panel, and its eventual implementation in Qt, which would make it difficult to integrate with the control center, and (according to reports) would also make it look like crap on OSX (cross-platform compatibility was the reason behind the Qt port). (blueprint, notes)

The last session of the day for me was the Debian Health Check. Several topics were raised, including easier bug sharing between Debian and Ubuntu, encouraging first-time packagers for Ubuntu to get their work into Debian, and how packages for which Ubuntu is an upstream (specifically Unity) could be integrated into Debian. (blueprint, notes)

In the evening was a meet and greet event complete with free food and drinks. I ended up talking to Karen Sandler, the newly-minted executive director of the GNOME Foundation, and a couple of the developers behind the Shotwell photo manager about baseball and real-life story behind Moneyball. Later I met up with my team members again and my newly-minted boss (Hi, Alex!) bought a round of drinks for everyone.

After a bit of socializing I decided I’d had enough fun for one night and packed it in. Plenty more action to come this week.

Ubuntu 11.10 Oneiric OcelotCongratulations to the Ubuntu team on a great release!

This is my first release as a Canonical employee, and while I didn’t directly work on Ubuntu this cycle it was great to see from the inside how excited and proud everyone is about what they’re creating and what they’ve accomplished. On to Precise Pangolin!

P.S. Go get it!

P.P.S. Take the interactive tour!

  • Up early; drank coffee; made weird faces at friend’s toddler.
  • Long drive home. Read some more of A Clash of Kings while Emily drove. Emily napped while I drove. Always happy to see the “Welcome to Pennsylvania” sign, but less happy to see the ever-increasing amount we have to pay just to reenter our home state ($4.30? What The Frick Park?)
  • Excited to see that while I was away the good yinzers behind rstat.us got the site up and running again with full OStatus support. I’ve had my eye on them for a while both because I believe that the more open-source interoperable social networking sites we have the better and because I like to see awesome nerdy stuff come out of Pittsburgh.

  • Up early; short walk and a bagel before work.
  • After work I made spaghetti with ground turkey sauce for dinner. Not bad, if I do say so myself.
  • Finally watched Citizen Kane from Netflix. I say “finally” both because I had until tonight lived over 28 years without having seen it, and because it’s been sitting on my mantle for three or so weeks. I think it would be tough after 70 years to come up with anything original or profound to say about this movie, so I’ll just say that I enjoyed it and that it belongs on all of those “Best Movies Ever” lists that constantly place it at or near the top.
  • Started testing bip out as a replacement for my long-time SSH+screen+irssi always-on IRC solution. I’ve been using XChat with the irssi proxy module since I joined Canonical because with IRC being the primary means of communication with my coworkers I wanted to have desktop notifications to make sure I knew when someone wanted my attention. However irssi’s proxy module doesn’t provide a backlog of messages received while you aren’t connected so I would end up connecting to my screen (actually byobu) session to read the old messages anyway. Now I can just connect with whatever client I wish and I have both my missed messages and fancypants notifications with a single step.

  • Up early; time for work.
  • Emily made baked pasta with summer vegetables for dinner. I’m going to nom the hell out of those leftovers. Very tasty.
  • We took a walk to Rita’s on Forbes for some of their custard and Italian ice. It’s a bit cooler out than it’s been so the walk was mostly pleasant but the frozen treats really hit the spot.
  • When we got home I decided that I don’t have enough challenges at work so I’ve upgraded my work laptop to the development version of Ubuntu, which isn’t due to be released in October. The upgrade went well, and there’s lots of nice new bling in this version. Most of it even works! It’s nice to be keeping up with Ubuntu development again (my work is mostly with released versions).