What I want in edgy+1

Now that edgy has been frozen for the beta release in a week’s time, and the next developer summit, where the plans for the next release will be discussed, has been announced, I think it’s the perfect time to start thinking about the kinds of features we want to see in that release.

At our recent sprint in Wiesbaden, Mark reminded us that when Ubuntu first released we were leading the field in many of the components we installed by default. Many users came to us because we provided Linux 2.6, hotplug/udev and Project Utopia by default; along with the latest GNOME release and development framework. Now everybody does that, butwe led the way.

With the dapper release, we produced something that could be supported for a long time. With edgy we’ve scratched our itches and fixed things under the hood that have been causing us problems. edgy+1 seems a good time to integrate the hottest new technologies and lead the way again.

So what do I think is exciting, and what do I want in edgy+1?

telepathy, farsight and galago

Anybody who has used the 2006 software release for the Nokia 770 Internet Tablet will have seen these in action already.

They’re, in my opinion, some of the most exciting projects currently being worked on; and ripe for integration into Ubuntu.

Telepathy is a communication framework built on DBus that allows any application to establish communication with users all around the world, using any protocol from IRC to MSN to VoIP.

It uses Farsight to provide the codecs and protocol support on top of the GStreamer media framework.

And Galago glues it all together; providing presence information about contacts and allowing users to specify their own status.

Galago Presence Applet

This means that you’ll be able to contact your contacts. Your calendar alarm tells you that it’s a colleague’s birthday, you’d be able to click their name and see a selection of different ways that you can contact that person right now. From e-mail, opening an MSN or Jabber window or even establishing a VoIP or SIP call to them.

The most exciting thing is that because every application on the desktop has easy access to this, people are coming up with fantastic ideas for using it!

zeroconf

By this, I mean zero configuration networking. Something the OLPC project appears to be going to do very well indeed.

Where no existing network infrastructure exists, your computer should still be able to communicate with other nearby computers. It should use ad-hoc wireless networks, link-local IP addresses and server-free DNS resolution with libnss-mdns.

Play games with your friends on the train without touching a button. Chat with other people in a lecture hall or at a conference where the existing network is unavailable. Hassle-free home and office networking without any complicated set up.

Networking that “just works”.

avahi

Whether your computer is on an infrastructure or ad-hoc network, it should be able to locate resources on the network and share its own to other people.

Avahi allows applications to, via DBus, do this by using a mulicast form of DNS; compatible with Apple’s Bonjour protocol.

The immediately obvious benefits of this are that one can locate such things as file servers without any complicated directory; more fun things can be done too, such as sharing your music from RhythmBox with other users on the network.

Combine it with telepathy, etc. and you can establish communication with anyone else, with a wide range of different protocols.

The immediate problem here is that we currently have a “no open ports” policy, which if we’re going to give the users the opportunity to establish ad-hoc networks is almost certainly a very good thing. We already have exceptions for that policy for DNS and DHCP, it may be that Avahi (mDNS) joins that list. Another option is a “mobile-phone like” interface for enabling and disabling discovery and sharing.

Bluetooth

I don’t think we should stop discovery and sharing at 802.* networking either. Linux actually has a pretty decent bluetooth stack, it’s something that we should start taking advantage of.

Your computer should be able to discover paired or known bluetooth devices when in range without intervention and communicate with them.

If I attempt to establish a network connection, and my phone is nearby, that should be offered as a method for getting on the Internet. If possible, it should also be offered through telepathy as a method for contacting people in my address book!

Synchronisation

These technologies together give us a really big possibility, automatic synchronisation of user’s information.

When I bring my laptop home, it should automatically update my desktop with any changes I’ve made to my address book or calendar, and any shared files, etc.

Likewise it should be automatically be updated with any changes made on the network, to a company address book on a server, for example.

And why stop there? Don’t use share your music, synchronise it so that your laptop, desktop and iPod have the same selection available at all times.

Hassle-free backups is an obvious win here.

But we’re stopping again. Why is my mobile phone, and PDA excluded from this? Via bluetooth, my address book and calendar should be automatically updated from these and these should be automatically updated themselves.

If I add a new number to my phone’s memory, it should appear in my computer address book; and my computer should offer me the ability to contact that person (using VoIP, for example).

26 thoughts on “What I want in edgy+1

  1. beza1e1

    Amen, brother!

    After installing Ubuntu one of the first things i do is getting Avahi up and configured. This feels like OS X, where you have to get all the cool software manually yourself. In Open Source land we can deliver all the goodness by default and we should.

  2. Gustavo "stratus" Franco

    I think you forgot to mention or isn’t in the loop on free flash player (gnash) and java (gcjwebplugin) that would be a huge win for the Joe user, together with totem-mozilla on top of totem using xine library or gstreamer supporting more formats well (eg.: .mov).

    gnash isn’t stable enough atm, it’s a GNU project and is already packaged in Debian (experimental). AFAIK, not in Ubuntu.

    gcjwebplugin-4.2 (ubuntu/universe) future seems to be interesting.

    That’s it.

    regards,
    – stratus

  3. Lucy

    There are just two things I crave: 1) being able to change the text color on the gnome desktop panel, and 2) an easy way of configuring the login screen so that I can load up the network profile of my choice on my laptop when I’m in different locations.

  4. nicj

    Sounds great, but honestly I’d prefer optimizations (speed, battery usage, memory). For me, most of your use cases are focused too much on trend-setting, ever-mobile folks. That’s fine, but first I’d like to see improvements on things that bother all average users, and especially those with non-bleeding hardware.

    Most people I introduced to Ubuntu are perfectly happy with its functionality, but not with the performance of the Desktop.

  5. Wolki

    Very good ideas, I hope we can see a lot of them working for edgy+1. I’m especially looking forward to Telepathy and good IM clients. :)

    The synchronization problem is something I encountered recently when I got a used notebook to complement my desktop. I really didn’t want to maintain all my data twice – email and files and everything should always be on both computers (as long as there is enough disk space :) ). I solved it for now by using unison, but that approach has some problems when I want to use both machines at the same time – conflicts happen again and again. A few days ago I stumbled over the conduit project [1], it seems to me that this could become an interesting and flexible way of solving the problem. I hope it develops well.

    nicj: Optimisations are of course always a good idea, things are getting better all the time though, and I’m sure this will continue while we get the new, interesting things :)

  6. John Stowers

    Scott,

    I see synchronization as a big challenge also, and I have been working on a sync application for GNOME called [Conduit](http://www.conduit-project.org).

    I have seen considerable interest in the project since I started working on it, showing that Ubuntu users also want this.

    In addition to the use-cases you outlined above, I hope to allow people to synchronize their stuff with the many online webservices available; evolution contacts with Gmail for example

    John

  7. Spanky

    I’d like to see something like Suspend2 that I once had WORKING come to match up with all other goodness (like Nvidia-legacy drivers) because it literally hibernated up and down to all the way off in Three blindingly fast seconds. Besides, don’t you think the more stable OS’s are the ones that can really benefit from this hybernation?

    Also, I’d like the OPTION of seeing a simple blinking (or scrolling) nice looking bar in a nice Kubuntu graphic (like we have now) and NO text unless I hit the named key stroke. Then and only then, it could look as it does now. It’s could (and should) toggle back and forth as desired. After all first impressions are everything.

  8. Robin

    The sync stuff was something I’d never considered using until I moved from Windows over to MacOS, and it works in a similar way to how you mention. I populate my address book with people and my calendar with dates. The calendar also gets populated with birthdays from the address book. I can then sync the whole lot over to my phone via bluetooth with a single click (obviously no clicks would be better!). Conversely, any changes I make on my phone (new people, numbers, meetings, etc) gets synced back to the Mac at the same time. In a less roundabout way, my iPod also gets updated with the same data as a backup copy.

    If you could bring this stuff to Ubuntu you’d pretty much cement it as my next OS :)

  9. Ted

    I’d like to see pervasive ALSA support by default.

    Recent releases of ALSA use dmix by default for hardware that doesn’t do its own mixing. I should be able to run _any_ application and hear its audio output without manual configuration. This is not currently the case.

  10. peter

    All these would be cool to integrate into ubuntu. The sync stuff seemed a little like utopia for me, but then I found opensync (nex-gen multisync). Mentioning Bluetooth, do not forget about irda users aswell. Lots of cell phones and PDAs only have irda and no BT. At the moment we need to compile irda-tray ourself and apt-get install irda-utils to get it work at all.
    Easy steps though, still not Joe user friendly (and not the coolest solution anyway). Let’s hope for the best in edgy+1

  11. Quim Gil

    It’s cool to see your focus integrating and syncing desktop, local networks and Internet. This is a strong trend where connectivity and openness -two global strengths of free software- are key factors. A step in the way to have a really user centered desktop.

    Personally I’d like to see some experimentation around “About Me” and the permissions dialog adapted to the context you are drawing, allowing users to have a one-fits-all introduction/identification system plus easy to manage policies to share whatever I have in my Home folder.

  12. Thomas Hecker

    I think the most important is, that ubuntu/linux needs a steady standby and hibernate as well as built in multimedia/codec support. With these, we would attract much more users.

  13. Stéphane Loeuillet

    I second the “OpenSync” comment.

    pilot-link and gnome-pilot should DIE.
    They’re crappy, only do PDA/Palm and are barely maintained.

    KDE supports OpenSync too.

    For phone sync, it’s actually a mess between Gnokii, Gammu, gsmtools, gnome-phone-manager, …

    Each one supports one subset of features or phones.

    Lets not forget there are :
    serial/usb, IrDA, Bluetooth, proprietary cable, OBEX, whatever connections for this kind of thing.

    It’s far from simple to do it “the GOOD way”

  14. Markus Wolff

    All these ideas sound fantastic, although the biggest problem I’m still having with Ubuntu/Kubuntu is the incomplere Wireless support. Why on earth is it so darn complicated to setup a WiFi connection using WPA-PSK??

    Unless there’s a dead-simple, tightly integrated solution for making a secure wifi connection using a modern encryption standard like WPA, why bother with other mobility features? Mobile Ubuntu is next to useless without this in this day and age.

  15. Mikko Saarinen

    I second Markus’s WPA-PSK comment.

    I have a ralink wifi card and it just won’t work with any gui-tool I’ve tried.

    But the ideas sound great and I can’t wait to see Edgy+1 in action =)

    mikk0

  16. anand

    I would like to see an Enterprise flavor of Ubuntu, resulting from a normal Ubuntu install. This could be through a post-install script, adding features which most enterprises need viz: connecting to a Directory Server transparently supporting either a FedoraDirectoryServer or ActiveDirectory or OpenLDAP.

    In fact this could be generalisation effort:

    Have a default setup — Stage A

    Now We wish to reach Stage B with some stated objectives, Enterprise setup, Multimedia Setup, School Setup, Library Setup, etc etc

    Run a one-click pre-designed custom designed Policy/Package and you are at — Stage B

    This will tremendously ease deployments for the average System Admins who do’nt have time enough to read through HOWTOs.

    Additionaly, as a separate community project we could come up with customised LiveCDs for specific apps:

    1. I want a proxy server. My office uses a MS Proxy server or bvetter still does’nt have one. I use a customised readily available LiveCD, Bootup answer a few questions and proxy is ready.

    2. My office has an outgoing mail server. My present server has an issue and queue is growing and growing. As an emergency, I simply boot up the readily available and customised LiveCD as a standby mailserver, and let the mails proceed, while I sit and resolve my issue.

    etc
    etc

    anand

  17. lior

    i dont understand why someone need both desktop and laptop computers..
    the laptops today is good enough to replace the old desktop computer..

    in the future we will all have a small computers in our pockets, which will replace cellphones, normal computers, cameras, our brain :-p and everything else, (when we will be at home the small computer will be auto-connected to a big wireless screen and keyboard), so there will be no sync problems, and you should be ready for the future (-: .

  18. Nicolas

    regarding a gui for wifi (network wired or wireless) I found Netswitch profile manager to be superb letting my switch networks (open or encrypted) with the simplicity of a click.

  19. kwilliam

    I’d just like to second pretty much everything you said! (Although, the perfect syncing solution is probably still a long way off.) I’m not sure I understand some of the underpinning technology involved, but from the user standpoint, zeroconf networking and easy communication/data-sharing sounds awesome!

    I’d pariticularly like it if this magic ad-hoc networking would work between Ubuntu laptops and Windows ones! I’m already imagining a little applet in the Kicker, with a dropdown that lists all the laptops, pda’s, and cell phones nearby.

  20. jimcooncat

    Regarding telepathy and related things:

    What would be very cool for business users is to be able to send a message in the most appropriate way possible. People should be able to concentrate on the message, not the medium.

    So two things.

    1. Don’t forget the old-fashioned printed letter or memo. A word processing template (or LaTeX?) might be attached to this system with auto-filled addressing.

    2. Be able to specify a preference in how you’d like to be communicated with. Just because I’ve got my Jabber client going doesn’t mean that’s my preference. I might be running back and forth between offices that day — give me a call instead.

    p.s. A real solution would take into account who the conversation start is. “If you’re a salesman, don’t bug me. Send me your stuff via snail mail. Preferably with free samples.”

  21. Mika

    Very good ideas, I hope we can see a lot of them working for edgy+1. I’m especially looking forward to Telepathy and good IM clients. :)

  22. feh on bluetooth and avahi

    The first thing I do is disable them. I don’t have any bluetooth devices, and leaving it open is a potential security hole.

    Avahi is not ready for prime-time. It’s a big fat pain the butt. For example, when I add or change a network interface on a multihomed box, avahi-autoipd generates an error message. The interface works anyway, which leads me to suspect there is Yet Another New Mysterious Way To Manage NICs. Like we need another one.

    Users should be able to turn these things off in the services control panel, but on Kubuntu you still have to edit /etc/default/avahi to keep the dommed thing from starting at boot. And sometimes it starts up anyway; I assume some other process needs it. On a small, static network I don’t want Avahi, so it should be possible to easily disable it. It should be easy anyway, as user control is a fundamental Linux principle.

    All this shiny new stuff is awesome, eventually, but it’s very frustrating when it doesn’t work right and there is incomplete documentation. Now we have all these automated subsystems that are supposed to make our lives easier- udev, avahi, HAL, hotplug- but they actually make hardware management more complicated and difficult, because troubleshooting is more complicated and difficult, and making any manual changes is hell itself because of the learning curve. Please let’s have some better docs and better user interfaces before throwing this stuff out into the world.

  23. Johny

    i dont understand why someone need both desktop and laptop computers..
    the laptops today is good enough to replace the old desktop computer..

Comments are closed.