More on that next week. To ensure to not miss anything, please follow the Quickly Google+ page.
Par Didier Roche le jeudi, juillet 26 2012 (12:45)
More on that next week. To ensure to not miss anything, please follow the Quickly Google+ page.
Par Didier Roche le mardi, juillet 24 2012 (19:15)
After having worked on the local radio scope for the music lens, I spent some time with pure python3 code, which made me experiencing a bug in Dee with pygi and python3 (now all fixed in both precise and quantal)
In addition to that, it was the good timing to experiment more seriously some mocking tool for testing the online part of the lens, and so I played with python3-mock, which is a really awesome library dedicated to that purpose.
So here was my playground: an Unity dedicated radio lens! You can search through thousands of online available radios, ordered by categories with some contextual informations based on your current language and your location (Recommended, Top, Near you).
As with most of lenses you can refine any search results with filters. The supported ones are countries, decades and genres. The current track and radio logos are displayed if supported and double clicking any entry should start playing the radio in rhythmbox.
Was a fun experiment and it's now available on quantal for your pleasure
didrocks@tidus:~/work/unity/unity-lens-radios/ubuntu$ nosetests3 ..................................................
Ran 50 tests in 0.164s
 loving the patch decorator!
Par Didier Roche le lundi, juillet 16 2012 (08:35)
Just fresh hot of the press, session-migration is now available in quantal.
This small tool is trying to solve a problem we encountered for a long time as a distributor, but had to postpone it way too long because of other priorities. It basically enables packagers and maintainers to migrate in user session data. Indeed, when you upgrade a package, the packaging tools are running under root permissions, and only hackish solutions was used in the past to enable us to change some parts of your user configuration, like adding the FUSA applet, adding new compiz plugins on the fly… There are tons of example when a distribution needs to migrate some user data (logged or not when the upgrade is proceeding) without patching heavily the upstream project to add a migration support there.
This tool is executed at session startup, in a sync fashion. It contains caching and tries to execute the minimal chunk, based on the design of the excellent gconf->gsettings migration tool. It contains as well a dh-migrations package, with a debhelper hook (
--with migrations calling
dh_migrations), so that client desktop packages just have to ship a
debian/<package>.migrations file linking to their migration scripts which will be shipped in the right directory. We can even imagine in the near future that when you install such a package, you end up with a notification that a session restart is necessary (and not a full reboot). Note as well that the migration happens per user and per session, so it's really important that the scripts are idempotents.
Was 3 days of fun coding this. All of the C and perl codes are covered by a short, but complete testsuite run during the package build, so no breakage hopefully. Associated man pages are session-migration and dh_migrations.
The illustrated session icon is under a GPL licence, found on iconfinder.
Par Didier Roche le mercredi, juillet 4 2012 (08:55)
Just got it merged (and will be freshly available in Unity 6.0 coming soon in quantal)!
I spent few hours last week to add rhythmbox radios (and writing unit tests) for the music lens. It's been a long time I didn't write some serious vala (I guess last time was for unity's Alt+F2). I confirm it's still not my favorite langage
Coming back to the radios, they will now show as the last row (after tracks, albums and eventually online purchase ones), and they respect (if the metadata are provided in rhythmbox) to every usual music lens filters. Some obligatory screenshot:
Coming soon, some more news about online radios searching directly in unity (just need a patch in dee for python3 support being released first)
Par Didier Roche le samedi, juin 30 2012 (15:25)
I've never been impressed by Meego installed on it as a developer preview, performance and feature-wise. I've found yesterday evening those instructions and links about a corvusmod rebuild of cynagenmod and I gave it a try! Of course, as this is not an arm device but x86 one, not a lot of applications are working out of the box, but overall, the UI is totally functional and browsing the web is a delightful experience.
After migrating to a google nexus phone (my previous phone had android 2.2), I'm now full ICS at home and I love it! Well done Android team for taking hard decisions and focusing on the user experience itself. This tremendous turn on having coherent and well-designed UI gave a lot of credits to the whole OS. Everything is now smooth on my phone AND my tablet and I love the whole ecosystem integration.
I hope we will be able to deliver the same kind of experience on ubuntu, coherent and centralized ecosystem where going from one device to another is almost seamless. I noted as well that the base OS image is only ~170 Mb. I wonder if we could achieve something similar seeing for how many releases we stroke to find enough space on the old 700Mb limitation… I guess we will have to take drastic decisions, but this time, keep them straight as we already tried 2 years ago with the netbook edition flavor
 And I'm really happy that at Canonical, we are currently doing the same on Ubuntu
Par Didier Roche le mardi, juin 12 2012 (10:15)
Bonjour à tous,
je passe le message que Rick Spencer (un américain perdu en France depuis presque un an, responsable d'ubuntu engineering chez Canonical) veut lancer quelques sessions interactives en français pour apprendre les bases de la programmation, en python. Python est un langage très accessible et excellent pour débuter dans ce domaine. Il permet aussi bien de créer de petits scripts que de vraies grandes applications (la plupart des applications spécifiques à ubuntu comme le software-center, update-manager, jockey, ubuntu one sont écrits dans ce language!).
Bref, n'hésitez pas à venir laisser un commentaire sur son blog pour trouver les meilleurs horaires si vous voulez participer à l'aventure !
Annonce sur le blog de Rick.
Par Didier Roche le jeudi, avril 12 2012 (21:00)
Most of the time, after an Unity release, I look like that:
Well, ok, not really, but in fact, this is after doing some exercice after an unity release, so it's exactly the same, isn't it?
This particular release didn't follow this rule though. Even if last Friday and Monday were a little bit rushy, we kept merging latest patches on a regular basis to polish the Unity experience on 3D as well as on 2D for Ubuntu 12.04 LTS. Nothing scary emerged at the last minute. Also, thanks to the community testing (85 results for unity 3D and 7 for unity 2D, you rock guys!), we were able to analyze and fix the most important issues that were raised before releasing, taking our time to upload Unity before the Finale Freeze. The long stability trail we had in Unity for the whole precise development release clearly shows that the new processes in place and the maturity of Unity are paying off.
I'll even tell you a secret, since we started the Unity journey, I've never been so proud and positive about any unity release than I'm on this 5.10. Consequently, this finale version of Unity on this quality-based ubuntu 10.04 LTS sounds like a Perfect timing for a Precise release for the Pangolin.
In addition to that, this latest release will give you a nice extra cookie for configuring the HUD key in the launcher category of the shortcuts in gnome-control-center for both Unity 2D and 3D.
Of course, it's not the complete end of the unity story in precise, we will maybe be able to fix some crashes that a wider testing would potentially give us before the finale release (and we have two small issues in minds we want to fix also before precise is released or in a first SRU), but we are very confident that Unity in 12.04 LTS will be the greatest Unity experience ever! Good job team, thanks to everyone who contributed through bug reports, code, translations, testing… We won't be were we are now without you!
Par Didier Roche le vendredi, mars 23 2012 (17:30)
As I write Unity 5.8 is currently building on our official builders and will reach ubuntu precise soon. For this release, a big part of the stack was uploaded (14 components) including unity, unity-2d, nux of course, but also compiz 0.9.7.2 and the lenses (with some ABI breaks in the middle).
What's new on this unity release? Well, you can see the 3d milestone and 2d bug fixes (look also at this one for unity 2d which landed last monday). Keep in mind also that some 3d bug fixes benefits 2d as well! So, a lot of bug unitfixes, but that's not only it! We also got some UI refinements, some very visible, some more hidden, but it's all those little touch which makes the whole experience better!
Do not forget as well that the music lens is now taking back an important role as it supports rhythmbox in addition to banshee!
Also, we won some multimonitors new capabilities in both 2d and 3d. Basically, you can now decide if you want sticky edges between your monitors or not, and decide if you want one launcher (which is then set on your primary monitor), or a launcher on each monitor. Gnome Control Center was patched to add those default options (which only appears on an unity session) back to the main experience. You will now notice as well a more "unityish" preview with a panel and a launcher displayed. Dragging the launcher also enables to change where you want to set it in addition to the combobox (think about clicking on apply to get the choice taken into account!).
We encountered some hiccups but we either fixed them or workarounded other issues for landing the new stack in beta2. We still have an annoying issue which seems to be appearing rarely (only on some configurations). This is logged as critical on this bug. If you encounter this latter, you should choose the unity-2d session for now on your logging screen. Well done to everyone involved on this release!
We are trying as well a new approach to avoid having the current development version of ubuntu uninstallable for a while (because of a long dependency chain in all the related unity components) while everything is building. Basically, we are using experimentally the -proposed pocket and once everything is built, it will be copied to the main archive. Thanks for the release team to push the right buttons to enable this, let's hope this experiment will be successful and that we can generalize it in Q for every unity release and other components (and not only when we are frozen)!
Hope you will enjoy this release and precise beta2, which is just around corner!
Par Didier Roche le lundi, mars 12 2012 (15:10)
Phew! it's been a long road to release the next unity, but I'm more than happy to finally announce the release of 5.6. Unity components (dee, libunity, bamf, lenses, nux) and unity itself, plus some compiz snapshots (post 0.9.7.0) are part of this release. The packages are currently building on the official builders and should be soon available to you.
No particular new feature apart from better ibus support are part of it, plus a tons of bug fixes and some miscelleanous improvements: - Daniel van Vungt landed a patch in compiz that enhances its performance for more than 51%! When you test it, I can ensure you feel a real noticeable difference (in particular on older machines, like mine). - The alt tap false positive revealing the HUD is now part of the past. We know this one was annoying people, I can only tell you it's been technically challenging ;). This has been a rocking combined effort in compiz/unity sides. - the file lens can now find files that were never opened before.
I mentioned challenge… Yeah this release was challenging both process-wise and technically one. We noticed once we had frozen the code quite a fair number regressions. Tracking them and fixing took some times, regressed other things to track, asked for a new round of testing, regressed another part… That was a funny quite of race between issues as you can infer. But we keep it straight, we didn't release before everything was ready. Precise is about quality, and we will keep this strict path until 12.04 LTS is here (and continue after that!). All branches that enter trunk, at release time, have sensible tests associated. Tests are improved everyday and becoming easier to write thanks to the restless Thomi's work. We are more and more confident in everyone's work thanks to that.
Of course, everything is not perfect, the freeze process is debated and we will discuss how things can be improved, particularly when we have a long freeze time because of multiple regressions like this time. We are building upon those feedbacks and hope to make the process even better as soon as for executing it for unity 5.8, our next target.
Well done product stategy team. Keep it on!
Par Didier Roche le vendredi, février 3 2012 (11:50)
Phew! It's been a crazy ride to release Unity 5.2 once ubuntu precise released its alpha 2, but we finally get there!
Thanks a lot for all the community participation, we actually got 27 testers answering to Nick's call for testing. Those were high quality contributions and enabled us to get closer to the unity release.
So, what's new since 5.0? Well, a lot! More precisely, we got multimonitor support with screen edge detection, "push to reveal" launcher behavior to avoid false positive when hitting the back button of firefox, per workspace alt-tab switcher, new home dash, automaximize only on netbooks and a lot of small details that matter.
Here are some feedback after 5 hours that I took to collect and analyze the test results from all the (numerous) comments that were on the test results:
- Testers confirmed that some of the issues spotted on 5.0 are now fixed, which is a great news! Not all of them, and of course, we have some minor regressions. I added those issues to the list of "distro priorities". You can look at them there. This list doesn't show all the defects we have, of course, but give a good overview of the big ones we track to ensure they are fixed as soon as possible.
- Some tests have been updated due to new upstream behavior (like the per workspace scale option and new home dash which now retains its search status). Thanks for people testing it and to have spotted that we missed those changes when updating the tests! We also rephrased with the given suggestions some of them.
- Some people seem to get difficulties to open menus from the application and the indicator when clicking on them in the panel (only Alt or F10 seems to work). I strongly invite them to open a bug repot with a video attached and giving more info as I couldn't reproduce it there.
- There is a bamf bug revealing only on some particular circumstances (8 fails, and last time, we also get some failures on this test) when testing launcher/quicklist-pin. I personnaly couldn't reproduce it here. Then, I asked seb128 to give it a shot and he could get the issue. I tried again and this time, I got it! However, this seems to not be reliable or reproducible 100%. We opened a bug and put it on the priority list. Well spotted everyone!
- Also some testers made some interesting design request, I'm reminding you of this link on how to join the relevant mailing list to participate in unity design (the introduction text stated it though ;)).
- We got also some comments of "key above tab" and why we used this terminology rather than directly telling, let's say "`". Please remember that this is a keyboard dependent configuration! The usa keyboard is normally using `, my azerty keyboard is using ², it seems that for some other configuration it's < or ~. So yeah, we have to keep the test cases as generic as possible, bare with us, please!
- We added some new test cases as well due to a very particular way of triggering some bugs like for instance bug #877778. Thanks to the one adding a comment to explain how to trigger it!
- Despite our strong efforts to make an easy way for unity restarting on a simple click from the tests (and improving it), it seems that the glibmm/compiz bug preventing to restart it reliably on demand is still an issue. It's not a very important bug for everyday use, however, it will be nice that we can get it over for the tests in particular. Fortunately, checkbox enables you to continue the tests where you stopped even if you had to restart your session.
A story of boot time
Finally and probably the most important feedback from the whole list, peope started to feel that "it was longer to start/boot". Jumping on this fact, we made some bootcharts on our machines to get real and precise values and you know what… the comments were right! The multimonitor support made the boot time badly regressing. Consequently, we decided to delay the release until today to get that fixed rather than pushing a version with this performance impact on intel cards. We finally got the fix, push it to trunk and now, this is all old story! Thanks to all the community for spotting this one, it's better to remark it earlier than later and this participation really had a visible impact (or rather avoided some real visible impact ;)) for a bunch of users. Well done!
The importance of testing defaults
Some testers remarked that in the system settings test, we never told to add gnome control center to the launcher. However, in the introduction text, we clearly expressed that we expect testers having the default settings (you have the guest session for it, use it, love it!) and the system settings is by default pinned in the launcher. For instance, intellihide is the default behavior and we didn't say anything to ensure that intellihide is there. If we did it, there will be a long list of prerequesites on the top of each test that I'm sure testers don't want to see? We strongly recommend people using the guest session to ensure all settings and environment are correct for the tests!
To sum up
Unity 5.2 is now building in the official repositories and should soon be available to all precise users. Thanks again to everyone participating in this project and see you soon for… 5.4 (or maybe a little bit before for an incoming compiz release that I heard of) !
Par Didier Roche le jeudi, janvier 26 2012 (11:10)
Just finished some hacking for implementing some unity configuration options that are blessed by the design team, as shown in this official specification.
It contains as well other ui tweaks. You can notice in particular the "Restore defaults" options that work on each tabs and restore every page's defaults.
Those options are impacting both unity and unity-2d. This gave particular challenges as their features don't align (for instance, we don't show the "set launcher icon size" for 2d) and they don't have the same kind of "launcher hide mode". Also, some configuration options have more choices in ccsm than those shown in the ui (like if you want to reveal the launcher on the bottom-left corner, or if you are using the "dodge active window" mode. We tried to be clever on the ui side and not resetting any different setting you can have set in ccsm by just launching the ui.
We also had to do some choices, like what settings to take by default (on first ui launch), when you have different settings between unity 2d and unity 3d? As there are more ui to tweak 3d than 2d, I thus decided to take the settings from 3d at startup (and then, the settings will align).
Note that the "reveal spot" doesn't work right now for Top Left corner, but this is a compiz/unity bug and not yet (but soon will be!) implemented feature in 2d.
Finally, if you are using a non unity session like the gnome-panel or gnome-shell one, you won't be impacted by those new settings. You will still gain a new "Restore defaults" option though.
The package is currently building and will be available soon in Precise, enjoy!
Par Didier Roche le mardi, janvier 17 2012 (09:25)
Flying back from Budapest, I hacked on a long-time awaited design whishlist: "Nautilus quicklist does not contain the locations previously found under the 'Places' menu.". This is about getting the Unity quicklist for the nautilus launcher icon to display the list of the user's bookmark. It was unexpecdictly more "fun" that what I thought it would be.
Indeed, there is already one dynamic quicklist, appearing when you are making a copy operation which can take some time (when the copy dialog appears), giving the possibility to "display the copy dialog" and "stop all current copy operation". In addition to that, nautilus removes quite regularly all bookmarks and read them.
Surprinsingly, there is no API in libunity/dbusmenu to create "chunks" of menu and merge them at the end, which would be useful in cases like this one when an application have multiple quicklist update source. That means that we need to be nitpick so that one quicklist source doesn't erase the other. I've created some UnityQuicklistHandler GObject class for that impemented into Nautilus. Also, Nautilus can have multiple desktop files in the launcher, all of them are updated in the quicklist (and I tried to minimize memory consumption there).
Par Didier Roche le vendredi, janvier 13 2012 (17:56)
Now that the Canonical rally is ending, I'm happy to announce that we released and uploaded Unity 5.0 to precise!
This is by far the most exciting and the best Unity released we ever had, and I'm happy that we've be able to accomplish all of this thanks to the community and the excellent developer team. We received a lot of testing and got more than 50 test results from my previous call for testing. Well done everyone! For some stat fans: 22 packages have been built for this release, and it's only the start! If you missed this test call, don't worry, next unity release is coming in a couple of weeks and you will surely hear about it!
Now, I think it would be useful to share the notes I've taken from the test results we collected. Here are some highlights on what seems to be relevant in my opinions:
We now have a tool to get the user test results from the result-tracker (posted by the hardware database). You can find it there: lp:~didrocks/+junk/resulttrackercollect (it only shows relevant data, not all tests that passed without any comment).
For upstream code:
- the wrapper we wrote using the "unity" binary to make restarting unity easy for testers didn't work quite well: a lot of people got compiz hanging (seen as well on the forum). This is mostly due to compiz randomly hanging when using compiz --replace. Proposed solution: add in the unity tool a "killall compiz" before restarting it.
- when restoring a semi-maximized application, the window placement is not the expected one (shifted compared to the cursor position). This is not a regression.
- the "most used app entry" is not available to some users, we experienced that ourselves as well and had to kill zeitgeist-daemon (mhr3 was looking on the system but has no clue on what it can be). This should be looked seriously.
- 8 people didn't get zeitgeist returning the newly created "foo" file in dash/global-search-files-apps. as in the previous point, mhr3 looked at it and restarting zg fixed it. There is something to investigate there.
- each time you click on the minimize button in the panel, dash opens, it becomes brighter (not a regression IIRC)
- Multiple complains that the music lens doesn't show all the banshee library content.
- 2 people reported a failed launcher/quicklist-pin telling that running application icons aren't in the launcher anymore. Seems a bamfdaemon issue.
- alt + F1 enters the keyboard navigation mode, but the second alt + F1 doesn't exit it. This is a regression from oneiric.
- when you put the mouse under the launcher area, launcher hidden, press super, release it, the launcher stays displayed when it should hidden because you didn't move the mouse (design request, was working on Natty, is failing since Oneiric. This is a nux event issue.)
- there is multiple reports about dragging icons in the launcher that are frozen and you have to initialize a drag again to fix it. I think this is not a regression.
- tabs navigate between lenses, which is not what design specified (not a regression)
- people complained on wm/menu_basic that right clicking in the title bar works and bring a menu, but not when the application is maximized (as the title bar is in the panel). If we don't want to change that design-wise, we need to rephrase the test.
- alttab/windows-focus-betweenapps-multiple-one was a design oversight with the new alt-tab, we discussed that with Jason and John and it's getting fixed. Not a regression as well.
We fixed one ourself in our pre-testing and so it's fixed in the release:
- dash/show -> All lenses but the first one use the "broken" icon. I fixed it upstream.
Some work on checkbox/checkbox-unity
- we need to rephrase launcher/intellihide-clickhold as it puzzled people or see how to make easier for people to trigger it (3 Fails, without any comments, seems user's error)
- we removed "blank desktop" from the description on unity/startup after noticing some users were expecting "blank to be totally blank"
- we made some checkbox patches (like, when checkbox crashes, the restore dialog asking you if you want to continue is focusing "yes" now instead of "no" (some people cried on the forum because of that! :/). There is one pending on making "escape" not quitting it.
- checkbox doesn't work on a guest session due to sudo rights
- on wm/auto_maximize, seems that there is wrong fail reports. We think that's because people are starting an application which is not big enough to be maximized (75% of the screen). We will write a test application for the user to just run "test" and size it at a suitable size.
- we had more than 30 people starting the test on the french forum. 96 messages were exchanged related to those tests. We had people reporting the result manually on the forum because it seems they couldn't or they were not sured that the report got into result-tracker (there is no clear feedback that your report was successfully reported).
- we need to rename in launcher/move-icons "bfb" to "first icon the launcher"
So, as a summary, it seems that there is no big blocker there and that can be fixed in the next release. You can now enjoy your new shiny Unity 5.0 on your precise installation! Thanks again to everyone involved in all this hard work put together and all the testing that have been done. You all rock!
Oh, and if you are on Oneiric, there is a new stable release update for unity 4.28 that will soon reach oneiric-proposed. It comes with a bunch of bug fixes, and even more! Do not hesitate to test and report feedbacks following the traditional SRU procedure.
Par Didier Roche le mercredi, janvier 11 2012 (16:10)
The Canonical ubuntu platform and product strategy teams are gathering in Budapest this week to tackle as much work as possible on precise pangolin. Despite the promise of snow and cheap beers, we are working hard on getting Unity 5.0 out of the door.
One of the goal of this release is to increase quality, precision, no regression on the work we push to the unstable version of ubuntu. The desktop experience team made automated and manual tests for that and we can already see the first benefits from it. We pushed an automated building infrastructure with public test reports to have commits automatically tested, pushed to the trunk of development branch as well as available packages in a ppa.
With all those news features and requirements, we needed to redesign the release process and that's what we have done last Monday. Let me expose the few steps I will explain there.
- On Monday evening, we have frozen the trunk, which means, no more new code can enter unity at this point (as well for all the related components like unity-2d, nux, dee, libunity, bamf, unity lenses). Only selected branches can now get in, and those are picked only if they contribute to getting closer to this release quality.
- Then, after ensuring on Tuesday that people can safely install the new release candidate, the unity-team ppa started to contain the whole latest of what will soon be the 5.0 version of unity. If you install from this ppa, you will see a kind prompt asking you to contribute when logging back to your desktop.
- This prompts help getting to our main goal, which is ensurin the quality of the new release. Multiple things have been put in practice for that. The desktop experience team qualified the release using their manual tests and running automated ones again. Aurélien and I run our own manual tests (120 of them, trying to covering the whole Unity functionnalities). This finished on Tuesday evening (we rephrased some) and we rebuilt all needed packages again, as well as some other dependencies like update-manager, usb-creator, nautilus, empathy, and gwibber to still make them working when you install from the ppa (ABI bumps). From those test we spotted regressions and get them fixed/fix them, regenerate everything and such.
- The manual test wrapper over checkbox is also automatically installed from the ppa. Which means that *YOU* can help too! I'm bootstrapping this process with the French Musketeers to ensure everything is correct and ready for the next release. How to help there will be widespread for Unity 5.2. More on that soon!
- On Thursday morning, we will collect the results from the tests, see what's still needed to be fixed (if it's the case) and then cycle back on the previous steps.
- At the same time, the bugs that are fixed will be milestoned, some cleanup will be done and everything will be then ready to format an explicit text of what's in the new release.
- Then, the process is well known: we will issue tarballs for every projects we need to upload
- Packaging them properly, with the right build-dependencies and needed tweaks will be done, and upload to precise to share the love!
- Finally, every non fixed bugs but targeted will be reported to the next milestones.
And that's it! Everyone will be able to enjoy the whole new shiny Unity 5.0, containing a bunch of bug fixes, as well, as all the layout and ground for being rock solid, speeded up and just… precise Unity version!
Par Didier Roche le lundi, octobre 31 2011 (14:05)
L'Ubuntu Developer Summit commence à Orlando, Floride, juste à l'instant. Même si cela fait déjà une semaine que je suis sur place (et malheureusement, la Floride n'est plus la même que l'année dernière : pluie, brouillard, etc. Par conséquent, une raison de plus de travailler encore plus dur !
Comment cela fonctionne ?
Je vous invite à relire le post que j'avais écrit il y a peu sur comment participer à l'UDS, car participer, même depuis votre maison, est totalement possible. Plus d'information ici.
Voici le lien vers l'UDS lui-même pour suivre en direct le schedule, les sessions, les flux audios, les channels IRC. Il ne tient qu'à vous d'aider et décider du futur d'ubuntu et plus particulièrement de la future LTS, ce cher Precise Pangolin !
 c'était mieux avant :p
Par Didier Roche le mercredi, octobre 5 2011 (14:40)
A little bit of retrospective
OneConf is a pet project I'm trying to push since UDS Barcelona. The full idea is originally described on this wiki page:
OneConf is a mechanism for recording software information in Ubuntu One, and synchronizing with other computers as needed. In Maverick, the list of installed software is stored. This may eventually expand to include some application settings and application state. Other tools like Stipple can provide more advanced settings/control..
Well, the definition today is quite different as you will see below.
Since then, a lot of other projects like unity took my time off and I couldn't really concentrate in this pet project. But now, even with some small late churn due to software-center moving to gtk3, OneConf is installed by default in Oneiric and syncing is active since beta2! It doesn't depend anymore on Ubuntu One but using its own infrastructure (linked to ubuntu sso, so a launchpad account, a ratings and review account, or still an Ubuntu One account is working with it). The sync is done linked to the new software-center webui infrastructure.
I'm really happy I've been able to take enough time to bring the needed polish so that I'm confident with OneConf installed by default right now on your Oneiric machine.
You can activate it in software-center by clicking on File -> Sync between computers… You will get the first time an ubuntu sso dialog asking for your crendential if you never reviewed any application in software-center (OneConf is using the same credential). Then, you are directed to the "Installed view" which is tweaked to show OneConf hosts.
The first item "This computer (name)" will show the traditional Installed view from software-center. What is interesting is when you start setting up more than one computer in software-center to share your inventory. Those will show up in the view, and selecting one of them will show the difference between installed applications (and technical items) on the current computer and the remote one. Selecting the different elements enables you to install/uninstalled applications as you are traditionnaly able to in software-center.
Syncing is done regularly in the background as soon as you start sharing your inventory and you can see the last time the computer was synced. All data (basically the package list) on the syncing infrastructure are personals and linked to your unique sso id.
Note that the applications and package list is refreshed with any kind of installation method you are using: software-center of course, but as well, apt, synaptic, aptitude… PPAs application also will show up if the ppa is installed on the local computer.
You can as well stop sharing the current computer in the UI, and you will see it synced shortly to others.
That's cool, but can I have more?
Now is the right time to wonder what can be done for the next LTS.
Improving what we already have
Finishing plumbing the testsuite and some tweaks to the software-center ui is probably the way to go. In particular a way to "install all"/"remove all" buttons in the UI to just sync the same packages in both computer. I would love as well bringing back search as we had in the gtk2 version. Small nice speed enhancement opportunities are also totally achievable.
Finally, having the wallpaper as preview on the host icon is totally doable (in fact, it's already there, but not synced) but need some syncing infrastructure discussion.
Wouldn't it be cool to be able to install a new computer and just tell "please, install it like <list of computer>". We need as well a checkbox to tell "this is the new foo" (if you are reinstalling foo). As we have the information that you installed an application on purpose (manually installed) or as only a dependency without doing that on your own, we can have an accurate list of what need to be installed.
Ubiquity integration will probably give us an unique feature and push the concept further. It only needs some UI integration work that can be done for next LTS.
This one can be particularly enjoyable. Now that we have the really nice http://apps.ubuntu.com website and knowing that our package list is stored there, can we make both of them communicate? What if I log in with my sso account on this online software center, then see my computer list, select one, and look at what I have installed on this computer? What if I can add some pending actions, like "install this, remove that…". Finally, once I'm back on my machine and launching software-center again, I get a dialog "you have xx pending actions", do you want to complete them now?
I don't think we should do that automagically but rather rely on a confirmation in the software-center ui side as this requires root permissions, and can impact the current host: hence this software-center additional step. We should give a clear UI about what will happen on your computer if you acknowledge the change, let a way to remove pending actions (and then, sync that back in the webui), or just dismiss them for a later ack (like, I'm on battery right now).
This feature requires a lot of cross-team work (design, isd, platform), but I am really excited about it now that we have all the ground layers now ready and hope to be able to start working on it!
Another idea, linked to previous one, is about hosts syncing. What if I can say "foo and bar should have the same applications installed" (because they are two desktop stations), and "tidus, yuna and rikku are 3 netbooks and should be synced as well" (with a different application list as it's a different usage).
This one has challenging engineering question as, for the same reason as before, I don't think we should apply the changes without user confirmation and dismiss possbility. Adding than 3 PC and the previous "webui" idea as another source of changes and it results in very interesting cases, just of one of them is:
- yuna added "foo"
- tidus had "foo" previously and just removed it
- the webui has a request to remove "foo"
-> which one should win? We can work on timetamp to estimate what's the last action was and this one wins. But in this case, if removing "foo" was the last action and I dismiss it on "yuna" when seeing it wants to remove it, what should happen? installling "foo" on tidus and select it on the webui as it was the last action trigger by "no please, don't remove foo on yuna"? If not, the other hosts won't be in sync anymore?
I have thought about tons of cases like that and we should carefully design what to do in every one of them to present the options in a clear and not confusing way to the user.
Those "sets of installation" can also brings a very interesting and handy feature I've never seen anywhere before (but maybe I'm wrong and it already exists). From an engineering point, it can become quite challenging to get it done in a reliable and efficient way. All this complexity should be hidden to get a clean, simple, efficient UI to our user base.
With the data in the webui, we can have better recommendations in software-center, like "people installing the gimp also installs inkscape". All this needs to be anonymous of course as it is on popular website already. Can be a very nice way to discover new applications.
User system settings syncing
For this one, I would think we should go using Ubuntu One. This was part of the initial spec in May 2010 (see the wiki link): having your wallpaper automatically synced between computers, some credentials to not have to configure again your system and other dedicated system settings (like the theme choice, the suspend after <x> min configuration…). We need to provide a way to select what to sync and having a set of sensible defaults. We don't want to sync everything, my power policy is different on my laptop and my desktop, but targeted options picked with care can really enhance the ubuntu experience.
Note that applications settings syncing like thunderbird are a different topic to this one which target system user info and choice.
This is only few ideas on what can be done with some cycle works (obviously, we can't target everything for P…) to make our ubuntu experience better and (I hope) innovative. There will surely be some UDS discussions about it and I hope to see a lot of people coming there! And youn, what do you think? Do not hesitate to share any of your crazy ideas and come participating to this effort, every single help is welcomed.
I want to thank everyone that helped in any way pushing that to Oneiric, and in particular, tremolux and mvo from the software-center (and motivation) side, mpt for the OneConf redesign in the new software-center and achuni for a wonderful job on the isd side. I'm really happy and thanksfull to have so many awesome coworkers!
Par Didier Roche le jeudi, juin 23 2011 (12:15)
Accessibility is one of the core value of Ubuntu.
When we announced that Unity 2D will be the fallback if you have no required hardware or driver for unity 3D, one of the compulsory request for that is that Unity 2D should be accessible. Even if one of the goal for the cycle is to make Unity fully accessible we should still consider people needed accessibility and not filling the requirements for it.
In addition to that, we have now in Oneiric Qt installed by default as previously decided, and if we want to be toolkit agnostic, we need a good accessibility story on that toolkit as well… and Qt is known to have a blurry story about accessibility
Unity 2D is written in QML, and so based on Qt technology. So what happens?
It's been already some monthes that Qt people are working on accessibility in Qt and QML itself, basically working with at-spi2 technology (the same used in GNOME). Last week, a lot of Qt contributors gathered at the and I had the chance to spend some time in Berlin there too. The awesome and very friendly Frederik Gladhorn worked to backport the QML accessible branch (done in a in-development 4.8 branch, with some nice features of Qt 5 ;)) to cut all non relevant parts down and backport to a 4.7 branch (as we have 4.7.3 in ubuntu and will probably stick with 4.7.4 in Oneiric looking at the schedule). I just started from it, rebased on 4.7.3 and uploaded today (after some staging test days in the ubuntu-desktop ppa) to Oneiric!
So, if you upgrade your oneiric box and install as well the new qt-at-spi package (in universe right now, but should be soon land in main), you will get an accessible Qt and QML! To activate it (it's not activated by the global configuration over dbus right now), launch Orca or accerciser (common accessibility tools) and run your Qt application with QT_ACCESSIBILITY=1. We know right now that it's a little crashy (only with the environment variable set), but do not hesitate to test! Please report crashes/issues to the Qt package in launchpad and tag them a11y so that it's easier for us to find and leverage issues upstream. We can't do it without your helps and we need feedbacks, so please test.
That won't unfortunately make unity 2D instantly accessible though. Indeed, QML has not right now a standard desktop toolkit, every QML project creates right now its own components, and so, there is no accessiblity magic to now what to expose or not. Consequently, the unity 2D guys will implement and test the new property to be set so that Orca (for instance), can read the widgets content. Accerciser though already introspects unity 2D and other QML projects content, which means that it seems to work.
Thanks again to Frederik, it's a pleasure to work with him and thanks to all guys working on Qt making that possible! Let's continue working together and push accessibility in Qt and QML as far as possible
Par Didier Roche le vendredi, juin 17 2011 (12:35)
Beaucoup de personnes semblent se demander où trouver l'information sur ce qu'il passe sur la version de développement (actuellement oneiric ocelot, qui deviendra la 11.10 en octobre prochain).
Cependant, c'est assez simple et Canonical ainsi que la communauté dépense énormément d'énergie pour que tout le développement soit le plus transparent possible.
Comme indiqué dans mon post précédent, toutes les décisions sur une version de développement sont prises à l'UDS (Ubuntu Developer Summit), conférences et discussions ouvertes à tous et gratuitement. Si jamais vous n'avez pas la chance de pouvoir vous y déplacer, j'ai indiqué dans les liens précédents les moyens conséquents mis en place pour suivre en directe les nombreuses discussions en parallèles ainsi que de donner quelques retours en directs (par IRC que l'on lit lors des sessions)… et ceci, tous les 6 mois !
Si jamais vous avez manqué ces discussions, vous avez un channel youtube pour revoir les vidéos des sessions importantes (il n'est malheureusement pas possible de filmer toutes les sessions). Cependant, toutes les sessions ont eu un flux audio disponible et enregistrée (par le flux que l'on passe en direct) et sont disponibles). Donc il est toujours possible de rattraper! Il y a un article partageant l'expérience de suivre l'UDS à distance qui semble indiquer que cela fonctionne plutôt bien.
Bien sûr, ceci n'est pas suffisant pour avoir une méthode de développement globale et ouvertes. Nous avons de nombreuses listes de diffusion où chacun peut s'inscrire (certaines listes sont modérées si vous y écrivez quelque chose et les ubuntu member peuvent directement y poster, les autres ont besoin d'une relecture avant l'acceptation sur la liste).
Cependant, si vous voulez suivre le projet globalement, cela n'est pas suffisant. Il faut savoir que tous les blueprints (spécifications) que l'on créé sur launchpad sont disponibles. Un blueprint en général correspond à une discussion à l'UDS. Nous essayons de diviser ces blueprints en "tâches" et indiquons un statut sur chacune d'elle (todo, in progress, done, postponed…). Il est possible d'avoir une vue générale sur cette page récapitulant tous les statuts.
En regardant globalement, vous pouvez voir les sujets les plus importants, voir le statut par équipe, par individu au jour le jour et voir les progrès! Il est également possible de voir tout simplement, ce qui est prévu pour les prochains milestones alpha2, alpha3…
Pour des annonces plus hauts niveau, il y a encore le fridge récemment renommé ubuntu-news. Mettez un sticker dessus
Bref, peu de projet à ma connaissance mettent autant d'effort pour avoir un process de développement aussi ouvert et accessible facilement à qui veut se renseigner, donc n'hésitez pas à y jeter un oeil !
Contribuer au développement
Nous essayons également de promouvoir de plus en plus et d'aider la contribution au développement du projet même. Pour cela, je ne paraphraserais pas l'excellent post et interview qu'à posté Daniel hier. Avoir des petites tâches identifiées et faciles d'accès mais qui font toute la différence est le meilleur moyen d'avoir une première contribution couronnée de succès !
Je voulais faire cet article depuis longtemps, j'espère qu'il servira et pourra faire référence quand quelqu'un demande ou indique qu'il ne sait pas ce qu'il passe ou ce qui arrivera dans la prochaine version. Les informations sont là et sont de plus en plus accessibles à toute personne ayant un niveau basique en anglais. Pour les autres, faîtes appel à votre entourage ou à la communauté pour vous aidez à traduire
 et d'argent
Par Didier Roche le dimanche, mai 8 2011 (08:00)
Demain débutera l'UDS Oneiric.
Pour rappel l'UDS est le lieu de rendez-vous de toute la communauté afin de discuter, planifier, décider quelles nouvelles fonctionnalités et quelles décisions seront prises pour le prochain cycle de développement d'ubuntu. Dans ce cas, Ubuntu Oneirc Ocelot (qui sera la 11.10).
Pour cette édition, nous sommes tous à Budapest, Hongrie afin de travailler dur, discuter, mais évidemment ne pas délaisser la partie festive de l'évènement (oui, la bière coule à flot tous les soirs).
Étant déjà sur place depuis la semaine dernière, je peux vous affirmer que l'hôtel est plutôt sympatique et sera le lieu idéal de discuter de tout cela.
Mais que s'y passe-t-il?
Le détail de l'évènement est disponible à cette adresse. Prenez garde, celui-ci change très régulièrement ;). En plus des sessions plénières assez classiques (présentation, hilight sur certaines parties du projet), la majeure partie de la journée est en réalité des discussions regroupées par sujet précis (firefox vs chromium, unity design discussion, power manager on server…).
Voici par exemple le programme (chargé) de lundi: http://summit.ubuntu.com/uds-o/2011-05-09/#
Ces sessions sont centrées sur la participation de tout à chacun, ce qui signifie que l'évènement est ouvert à tous (et Canonical sponsore une grande partie de la communauté pour le voyage, l'hébergement ainsi que les déjeuners/dîners). Si jamais vous êtes en Hongrie dans les prochains jours, vous savez où venir
De plus, le process de développement étant complètement ouvert, nous essayons que toute la communauté puisse avoir accès, suivre et participer à ces discussions. C'est pour cela que toutes les sessions sont broadcastées en direct sur l'Internet (vous pouvez donc les suivre en directes). Mais ce n'est pas tout: toutes les salles projettent une channel IRC (sur freenode) sur un des écrans. Il est donc possible pour vous de participer et de discuter directement avec la salle afin que cette release ait votre impact! Cela a marché de manière fantastique aux derniers UDS, j'espère que cela continuera
Tous les détails sur les moyens de participer à l'évènement tout en restant à distance sont disonibles à cette adresse: http://uds.ubuntu.com/participate/remote/
Alors n'hésitez pas! Il est rare qu'une distribution mette autant de moyens afin de permettre tout à chacun de participer à son niveau au processus de développement… et cela tous les 6 mois! Profitez-en et si vous êtes à Budapest, n'hésitez pas à me pinguer. La french connection sera là
 Ubuntu Developer Summit
Par Didier Roche le vendredi, avril 1 2011 (13:10)
Being sad reading the GNOME reschedule announcement in this 1st April 2011, I think most of people missed a very important point. That part is:
We are particularly encouraging module proposals from alternate desktop shells, which will be given careful consideration.
After, talking to the GNOME release team, I'm really happy to see that they are considering now alternative desktop shells and I'm particularly excited to see a new area of cooperation with GNOME. I'm looking forward to see all those interesting discussions about unity.