This guy (and his Nexus 7)!
Yesterday I stopped off to get a flu shot, mostly as a precaution for UDS (since I no longer ride the bus regularly my immune system isn’t what it once was). I made polite conversation with the pharmacist as she gave me the shot, but because my mother raised me right, these lines were running through my head the way they have every time I’ve gotten a shot since I was a kid:
Just a little pinprick
There’ll be no more aaaaaaaah!
But you may feel a little sick
Can you stand up?
I do believe it’s working good
That’ll keep you going through the show
Come on it’s time to go
Friday 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:
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)
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.
I 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.
Wednesday 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 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 because 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.
- Up early, caught the shuttle to the airport.
- Long wait at the check-in desk. Looks like the self-check-in machines were broken, but in such a way that each person got to try to check-in twice before being sent to the desk to have it done manually.
- Got myself checked in and made my way to the gate. Lots of other UDS folks also heading to Frankfurt. Talked to a few of them. Sat next to one of the other OEM team members on the plane.
- This time the connection through Frankfurt airport went smoothly. I did have to head out and find the US Airways check-in desk to grab my remaining boarding passes but I had plenty of time and made it to my gate without incident.
- On the plane back to the States I sat next to one of the gentlemen from Monday’s Frankfurt Airport Support Group. We caught up a bit and soon after we took off he was fast asleep.
- Finally caught the end of Green Hornet. The movie itself was OK but it seems like Seth Rogen’s style of comedy didn’t really fit the character or tone of the movie. It just felt off. Also watched a documentary on rice that led to a nice 40-minute nap and another on personal flying vehicles that I actually found fascinating. Also watched the Tom Cruise/Cameron Diaz vehicle Knight and Day which was surprisingly entertaining.
- Arrived in Philadelphia and waited an hour in line to go through immigration, then through customs and another half an hour to get back through security for my flight to Pittsburgh. Once again no hiccups but I was in no mood to stand in line all evening.
- Landed in Pittsburgh just ahead of a thunderstorm. Unfortunately they can’t unload baggage from an airplane during a lightning storm so about three planefuls of people had to sit at baggage claim for an hour and a half before we could collect our things and head home. Emily showed no end of patience and even had a granola bar and a bottle of pop waiting for me in the car when she picked me up. Have I mentioned that I am a very lucky man?
- We drove home through some heavy rain. Unpacked and passed right the hell out.
- Up rather late, had to skip breakfast. Probably for the best.
- First session of the day was a roundtable discussion about desktop technologies that will appear in the next release. Most notably there was lots of discussion on porting the manifold Ubuntu-specific tools and apps to GTK/GNOME3. (notes)
- Next was a review of desktop performance. Much time was spent looking at timing diagrams of what took how long to do what during startup. There was also some discussion of which programs were causing the CPU to wake up most often. (blueprint, notes)
- Then there was a session on speeding up software upgrades. Apparently there are lots of post-install operations that are run multiple times depending on which packages are updated which could be delayed to run once at the end of the upgrade. Other tweaks and some crackerific hacks were also on the table. (blueprint, notes)
- After lunch there was a group of “lightning talks”, quick 5-10 minute presentations on cool things going on with the project. Lots of improvements to Launchpad and byobu.
- Thanks to a lack of interesting sessions after that I had a chance to walk around Budapest for a while. I ducked into a couple of shops and generally tried to take in as much as I could before returning for the wrap-up talk.
- At the wrap-up Jono announced that the next UDS will be in Orlando. I haven’t been there since I was a kid so I’m looking forward to seeing it with a different perspective.
- At 7 the UDS party got into full swing. There was free food and drink, music and merriment. The Ubuntu Allstars is a group that gets together for every UDS and puts together a loose set over the course of the week to be played at the after party. The music ranged from ballads to blues to classic rock and 80s pop. Matt Zimmerman sang a rousing rendition of George Michael’s Faith.
- Around 10 I’d decided I’d had enough fun and called it a night. I was exhausted from this marathon week and had to catch a shuttle at 7AM to the airport. Sleep came easily.
- Up early, down to breakfast.
- First session was on what to do about ubuntu-dev-tools, a set of scripts that make Ubuntu developers’ lives easier. Mostly the goals were to get all the relevant ones into Debian and split the rest into more topical packages. (blueprint, notes)
- Next was a session on integrating applications that ship by default with the Unity interface. Most of the ideas revolved around adding items to the right-click menu for each of the icons in the launcher bar (that’s the spiffy icon bar on the left if you’re using the latest Ubuntu) or little progress bars in the icons for things like downloads. (blueprint, notes)
- Then there was a session on what the default email client should be in the next Ubuntu release. It was decided that Mozilla Thunderbird will get the nod if certain conditions are met (the most onerous being enough space on the CD). (blueprint, notes)
- Next I attended a session reviewing the Linux kernel configurations for the various flavors of Ubuntu. This was every bit as boring as it sounds. (blueprint, notes)
- After lunch everyone got together for a group photo (if you zoom in you can see me towards the front on the left).
- There was a session discussing the relationship between Ubuntu and GNOME. There was a bit of tension as the two projects have started moving in different directions and those differences haven’t always been communicated with the utmost tact and diplomacy. (blueprint, notes)
- Next was a pretty interesting discussion on session saving, or saving the set of open programs and their state when you log out. This was removed in the last release but they’re looking to put it back in, though in a less hackish way than before. (blueprint, notes)
- Last meeting of the day was a session on how to reduce the number of patches carried in Ubuntu packages. This session quickly degenerated into a review of specific patches against GNOME packages. (blueprint, notes)
- The OEM team had its team dinner, which started as a cocktail hour, then moved to a nearby restaurant for pizza (again!) and beer, then to another place for even more beer. I got to know my new teammates a bit, and got to chat with the likes of Jono Bacon, Stuart Langridge, and Ken VanDine. Eventually I made it back to my room and promptly passed out.