Quickly Unchaining The Itch Scratcher

Download ogg Download mp3

In the Linux desktop world, Quickly has been causing quite a stir, with tales of easier application development, offering another way to help the Linux desktop rock that little bit harder. Jono Bacon and Stuart ‘Aq’ Langridge take the hype for a spin, talk about some applications they have written that use it (such as Lernid) and kick off another Shot Of Jaq community discussion about what opportunities Quickly holds for itch scratchers everywhere.

We want your your thoughts, we want to know if you have used Quickly, what you wrote, what you think and what you hope for in the future. Go on…take a listen and throw a comment at us…

80 Comments to “Quickly Unchaining The Itch Scratcher”

  1. gmb 11 December 2009 at 12:14 pm #

    I’ve used Quickly only a couple of times and I’ve never yet used it to produce something that was useful, but I, like Aq, am already a massive fan.

    Here’s what Quickly has done for me: it’s made me want to write Linux desktop apps. I’ve spent so long doing web stuff or writing CLI scripts… I don’t think I’ve written a Gnome app since 2005, and that was a remote control app for a USB rocket launcher.

    As Aq said, Quickly (to me) is to desktop apps what Django is to Python webapps. Both of these take a silly amount of setting up to do anything serious. I’ve finally got a way to put together the apps that I’ve always wanted to see on the Gnome desktop but I’ve never been able to get around to writing because it was so much work to put anything together and release it and all the rest.

    Is the hype justified? Too bloody right it is.

  2. Tim 11 December 2009 at 12:58 pm #

    I too think that quickly is awesome. But it still has a few limitations (bzr only, LP only) and you need a LP account. As long as you are happy with how quickly does things everything is shiny, but don’t ever try to do something different.

    On another note: Keep the Canonical marketing to a minimun. Hyping Ubuntu ARM, quickly and the Ubuntu music store is just borderline OK, (certainly better than not mentioning that Ubuntu One is not FLOSS on FLOSSweekly.)

    If you keep some distance, be honest and point out the real disadvantages things have people will like your podcasts even more.

    • jono 11 December 2009 at 8:24 pm #

      This is not a marketing machine. Canonical has not asked us to talk about these topics, and none of them are Canonical-specific. The ARM shot was general discussion of ARM, and Quickly is an Open Source project that came out of the Ubuntu community.

      Aq and I are bot concious to not make the show too Ubuntu focused, but on the other hand, we are not going to deliberately ignore some topic just because we are affiliated. :-)

      Oh, and Ubuntu One is FLOSS: as Aq said, you can get the code and build it for other platforms.

      • mg 12 December 2009 at 1:32 am #

        Actually, I think the rest of us know that talking about Quickly was just an excuse for pimping Lernd. ;)

      • Tim 13 December 2009 at 5:45 am #

        Thanks for answering.

        AFAIK the server side of Ubuntu One is closed source.

        Could you send me a link to the that source code?

        • sil 13 December 2009 at 9:25 am #

          The server side of Ubuntu One file sync is closed-source, yes. Server-side of the structured data service (contacts, notes, etc) is CouchDB (http://couchdb.apache.org/) with the SSL and OAUth work that we worked with the CouchDB team on and which is now upstream.

          • deadrabbit 14 December 2009 at 4:17 am #

            I this is getting off topic, but I was also annoyed to hear about Ubuntu One on FLOSS Weekly. Really, the client is such a small part of it, I think calling it open source is really a stretch. Is gmail open source, since you can access it with Thunderbird?

            quickly does sound really cool, but it is strictly tied to Ubuntu right? All the decisions that are made for you seems to include the distro as well

          • gmb 16 December 2009 at 9:13 pm #

            @deadrabbit

            No, quickly’s not strictly tied to Ubuntu. It’s just that at the moment the default template is for an Ubuntu app because the Quickly developers work primarily in Ubuntu-land. It certainly wouldn’t be hard to add other templates (Debian, Fedora, etc.) AIUI. I think this is discussed downthread somewhere.

    • Shane Fagan 12 December 2009 at 9:15 pm #

      Its not launchpad only and its not gnome only, quickly can be anything you want it to be because you can make new templates that change the functionality.

      • Derek 12 December 2009 at 11:20 pm #

        Is it python only? (haven’t tried it – not avail on 9.04?) Not that I don’t like python but I probably prefer Ruby, but haven’t coded much in either.

        • gmb 16 December 2009 at 9:15 pm #

          It’s designed for Python but again, AIUI, using templates you could make it use any language you wanted; I don’t see why it couldn’t generate the basic stuff for an app using C, for example, or Vala.

  3. Roger 11 December 2009 at 1:41 pm #

    Quickly is great for what it is. I had a quick look at it a while back and it wasn’t really what I needed at the time, but I’m sure that’ll change. Even if it doesn’t, it’s a great introduction for people who aren’t familiar with coding. That’s the important bit – it’s (hopefully) the next easy step up from the command line for beginners/casual coders.

    It is limited, but that’s not a bad thing. I doubt that the kind of opportunistic coding you’re talking about consists of creating packages that are libraries/have multiple binaries anyway.

  4. marxjohnson 11 December 2009 at 1:59 pm #

    I’ve not used Quickly, but from listening to the shot, I’d certainly like to.

    One thing that it sounds great for is exactly what was being discussed a few shots ago – prototyping interfaces. Perhaps more usefully than that, once you’ve created the prototypes with Quickly, you can use them as the base of your actual program since it’s already got packaging, source control etc. set up for you.

    Will it live up to the hype? We’ll see. One thing that seems in common with these sort of frameworks/project generators is that they’re tied to a specific language. Perhaps if there were other languages supported by Quickly (although Python’s already popular), it would enhance it’s popularity.

    • Roger 11 December 2009 at 2:15 pm #

      I’m not sure that having a single language matters, and it may even be an advantage. It depends who Quickly is being aimed at to a large extent. If the intention is to enable people who wouldn’t otherwise be coding to more easily scratch an itch, then a single language is better. It’s certainly easier to provide support/have users help one another if there’s only the single language.

      • marxjohnson 12 December 2009 at 11:49 am #

        Perhaps my point of view is actually less “I think it should support other languages” and more “I wish it used a language I already know” ;-) Not that Python’s hard to learn from what I’ve seen, but I would need 1) a book and 2) some spare time, both of which are somewhat lacking.

  5. draxil 11 December 2009 at 3:06 pm #

    So this was basically an advert for Quickly wasn’t it guys?

    Really hope that this idea spills over into other languages and cultures as this sounds very targeted at Ubuntu using Python weenies (no offence to that demographic). I’m sure it will as this is basically just stealing the good crack that all the web development frameworks have been using for ages.

    But yes, this does sound like a good program for lowering the tedium barrier between having an idea and releasing something useful.

    • sil 11 December 2009 at 3:35 pm #

      Yep. It would have been a more muanced discussion if, thus far, we’d found anything significant wrong with it. :)

      • jono 11 December 2009 at 8:20 pm #

        Indeed, while it was not an ad, it is difficult keeping in how much we both dig Quickly. Blame the Quickly folks. :-)

  6. fluteflute 11 December 2009 at 3:34 pm #

    Thanks for this, Quickly looks really interesting!

  7. rickspencer 11 December 2009 at 3:51 pm #

    As one of the primary authors of Quickly, I of course love this episode.

    I think they kind of glossed over one of the unfortunate difficulties with releasing a quickly app, which is getting your frickin’ keys set up. This is something that we are hoping to make much easier in the next major version.

    Cheers, Rick

    • sil 11 December 2009 at 3:53 pm #

      We did a little. Part of the reason for that is that the things that are hard at the moment — creating a Launchpad project, setting up a bzr branch to be the default branch for that project, creating signing keys for debs — are things that I am completely expecting quickly to make easy in the next release, and I shall be disappointed if it doesn’t. :)

      • gmb 11 December 2009 at 9:29 pm #

        I think all of those things can be done with relative ease via launchpadlib. Of course, you need a Launchpad account in the first place, which can’t be as easily automated.

        • didrocks 19 December 2009 at 12:52 pm #

          No, those things aren’t available in launchpadlib and I’ll work in it to make them available with LP guys.

          We will only prevent people from creating LP project from Quickly ubuntu-project template (imagine, hundreds “foo” projects around ;) !)

  8. rickspencer 11 December 2009 at 3:52 pm #

    Here’s a quickly app: http://launchpad.net/bughugger

    Cheers, Rick

  9. Roger 11 December 2009 at 4:22 pm #

    In terms of gaining popularity, something that would rock would be if it could also make rpm packages and upload to the opensuse build service. It’d help assuage some of the “it’s only for ubuntu” detractors as well.

    • sil 11 December 2009 at 4:37 pm #

      That’s entirely possible, I believe — quickly creates a project based on a “template”, and the default one supplied is “ubuntu-project”. I don’t think there’s any problem with there being a “fedora-project” template as well.

      • Roger 11 December 2009 at 5:52 pm #

        Hmm, ok. I was thinking more along the lines of “take-over-the-world-project” that’ll upload to both launchpad and the opensuse build service at the same time. There’s no reason to restrict your wonderful app to a single distro most of the time. Things like lernid are an exception, being ubuntu specific at the moment.

        • gmb 11 December 2009 at 9:33 pm #

          What would actually make Quickly really cool in that respect is a plugin architecture (note I speak with no authority when I assume that it hasn’t one at the moment).

          That way you could add plugins for working with various different build farms, and even for different forges (and potentially with different VCSes too, should you so wish).

          Jam tomorrow and all that…

          • rickspencer 12 December 2009 at 12:54 am #

            Quickly is built ground up to be totally plugable. Each “command” is really just a script that gets run. So if you can write a Python script to do what you want, you just drop it into the right directory and it automatically gets added as a command to that template.

          • gmb 16 December 2009 at 9:16 pm #

            @rickspencer

            Cool. I confess, I have little knowledge of the world outside Launchpad (that’s what you get for having your head in its guts every day) but I’d be interested to have a play with that. I’ll try to take a look in the new year if someone hasn’t already.

    • rickspencer 11 December 2009 at 5:35 pm #

      A patch for this would be most welcome

      • Roger 11 December 2009 at 5:54 pm #

        Alas, I don’t know python or how to package rpms and have precious little time to work on my own projects. Sorry.

  10. Bohdie 11 December 2009 at 5:40 pm #

    I personally have not made an application with quickly, and do find that I am pretty code phobic. My stack of programing books that I keep on the shelf looks like a lawyers office.

    With this said, I do like the ability to use quickly to mock up an idea to get the idea rolling and provide a conceptual idea of what I am trying to convey.

    The next point is that having freedom is great and linux buts the free in freedom, but since there is not I in team and no we either, the ability to but structure (standard ewh!!! I said it.) around a common approach will allow me as a want to be, to flow in and out of linux projects with a loose set of guides and learn the ropes faster without being bogged down with learning individual styles.

    I have started to use quickly to mockup a POS app for a jewelry store that provides a list of stores, staff and who sold what and a mortgage system that simly shows the amortization.

  11. rickspencer 11 December 2009 at 5:51 pm #

    note that the “ubuntu-project” template is, by definition “only for ubuntu”. That’s kind of the point. As Aq says, other templates are most welcome.

  12. mrben 11 December 2009 at 6:01 pm #

    Quickly sounds really good – I hope it does mean that we get a whole load of little apps like I gather they have on the iPhone ;) When I get a moment I may play with it.

    How easy is it to port an existing app into the quickly structure? eg I have a couple of GLADE/Python apps….

    • rickspencer 11 December 2009 at 6:57 pm #

      Mr. Ben,

      It’s pretty easy. What I did to convert bughugger was just used: $quickly create ubuntu-project bughugger

      and then I just started copy and pasting in code and redoing the glade files. It took about 30 minutes probably.

      Cheers, rick

  13. steffen 11 December 2009 at 6:35 pm #

    I made a vocabulary learning program with Quickly: https://launchpad.net/morewordsplease

    Before Quickly I knew a little Python programming and Glade before but nothing about packaging and bazaar. I found it a bit confusing that you have more overhead than in a simple python program. Also the documentation does not cover a lot of things, e.g. multi-language support. Maybe it is because English is not my native language, for me there was definitely a lack of information.

    Otherwise the Quickly guys are really nice and helpful. So for me Quickly makes packaging and publishing really easy. I like it very much. Thanks!

    If I have the time, I will write a tutorial in German.

    • jono 11 December 2009 at 8:18 pm #

      That looks awesome, Steffan. :-)

      Great to see more Quickly apps appearing. :-)

      Anyone else written a Quickly app?

  14. spencer.dupre 11 December 2009 at 7:26 pm #

    This sounds wonderful! Maybe I’ll finally get that speed-reader app made, you know, the kind that shows you a document one word at a time really fast in giant print, great for consuming project gutenberg…

    • jono 11 December 2009 at 8:19 pm #

      Sounds like an awesome idea. How about we start the clock ticking now and see how long it is before you have something running? Could be a fun challenge. :-)

  15. Pat 11 December 2009 at 8:23 pm #

    Never heard of quickly until day. Sounds very useful. I’m going to give it a try and let you know what I think of the process. I’ve been getting into the python for a bit and have an idea for an app.

    • jono 11 December 2009 at 9:48 pm #

      That would be awesome, Pat! Share with us your experience here and we could possibly feature it in a future show too. :-)

  16. b1ackcr0w 11 December 2009 at 11:42 pm #

    I’m teaching myself Python at the moment. Mainly because I want to write a linux version of http://www.logicweave.com/cachestats.html then make it better than that :) I can see me using Quickly.

  17. enhickman 12 December 2009 at 12:02 am #

    Removing the friction of development and distribution at any point in the software cycle is a good thing. It should increase contribution from experienced and non-experienced alike.

    We have discussed how Quickly can remove the barrier to entry for smaller apps. But if I wanted to write something large and serious will I find Quickly to be restrictive?

    How well Quickly can scale with larger projects and provide maintainable code, I think will be the determining factor in deciding if the hype is more than just hype.

    The big fear is that if everyone is relieving their itches on the quick projects will anything serious get done. = P

    • rickspencer 12 December 2009 at 12:57 am #

      [quote] How well Quickly can scale with larger projects and provide maintainable code, I think will be the determining factor in deciding if the hype is more than just hype. [/quote]

      The ubuntu-project template uses Python, PyGtk, bzr, and launchpad. So projects made with the ubuntu-project template can scale so far as those components can scale. I’ll be interested to see if any projects and up “outgrowing” quickly.

  18. mg 12 December 2009 at 1:12 am #

    What about applications that don’t have a GUI? I have a number of small (1500 – 10000 lines) Python programs on Sourceforge that I would like to package in debs for Ubuntu and distribute as PPAs, but I’ve never gotten around to figuring out how to do it. These are server programs with web interfaces. One also depends on Twisted and Nevow (the rest just use the standard Python library).

    So, the packages would be a mixture of Python, Javascript, and HTML. Can Quickly handle this somehow, or is it not really meant for that sort of thing?

    • rickspencer 12 December 2009 at 1:43 am #

      Well, you could either use quickly to wrap a quick gui around the scripts, and thus also get the benefits of the package and release facilities in the ubuntu-project template. But the ubuntu-project template is really meant for GUIs.

      Again, we would love to see a cli-project template for people who want to share cli apps.

      Cheers, Rick

      • enhickman 12 December 2009 at 6:43 am #

        @rickspencer Sounds good thanks for your work. I’ll try it out.

  19. jkt 12 December 2009 at 9:56 am #

    Hmmm I had never heard of quickly until now, going to look into it in a second as it sounds just the tool i need for a quick dev project that popped into my head a few days ago…

    as a side note (I don’t want to hijack the thread about quickly…hmm perhaps we need some kind of side discussion feature on the website?) last time i looked into ubuntu one…the client was open source and the server was not…is this still the case?

  20. Mez 12 December 2009 at 1:34 pm #

    testing commenting from irc

  21. Mez 12 December 2009 at 1:56 pm #

    simply sounds awesome, but sometimes, people prefer to just do things themselves. after all, we don’t want to replace all the hard work done by debian and ubuntu developers

  22. gordonjcp 12 December 2009 at 1:59 pm #

    wow, two eps to listen to – i need to check the site more than every couple of days ;-)

  23. Mez 12 December 2009 at 2:17 pm #

    isn’t that a “gentleman’s ball scratcher” in the picture? http://is.gd/5kv7y

  24. Derek 12 December 2009 at 11:39 pm #

    I love the sound of Quickly. I’d heard of it before but haven’t played with it. I’d often wondered about writing an app for my Ubuntu boxen but don’t know Glade, GTK (is that what Glade gives you?), deb stuff and all the rest. Something to give you all the defaults is excellent – it means I can learn how to customise config in my own time rather than needing to know it all up front.

    It sounds like a very good extension upon things like Rails, which you mentioned, but also in the Java (Groovy) world Grails (a web framework) but, importantly, Griffon, which is for building Swing desktop apps, but with all the MVC structure and convention over configuration than Grails and Rails have.

    Now Griffon’ll let me build an app that’ll run anywhere but it won’t integrate well with any particular platform, and it’d be great to get that for linux.

    Actually, just an idea, but could I write a python script for Quickly that launches and manages my Java app (Griffon-based perhaps) without showing Quickly’s UI? That might be a way to incorporate other languages like Ruby too, but taking advantage of all the deb/lp/bzr infrastructure of Quickly.

    Neat. :)

  25. Derek 12 December 2009 at 11:42 pm #

    One more question. In the shot you guys said you just type in ‘quickly release’ and it checks all code into the (bzr, I’m guessing) repo, builds a deb and uploads it to your ppa.

    Is there also a way to just build the deb and not do all the checkins and uploads to ppa so you can test it first?

    Hmm, now that I say that, I’m sure there must be.

    • sil 13 December 2009 at 12:46 am #

      “quickly package” is your friend here.

  26. popey 13 December 2009 at 12:59 am #

    shotofjaq is like a tiny piece of very well made pie.

  27. aquarius 13 December 2009 at 1:00 am #

    honestly, i’d love to say that i can see anything genuinely wrong with quickly, but realistically the only problems i can see with quickly are about creating new projects and those things are already on rickspencer’s list to be fixed.

  28. Scott Lavender 13 December 2009 at 7:19 pm #

    In some ways this all quite a bit disappointing.

    I just got the GNU Make book and was looking forward to really understanding all the gobbledygook and now Quickly has gone and taken it all away.

  29. marxjohnson 14 December 2009 at 1:24 pm #

    On a side note, that picture of the guy with the back scratcher isn’t Ade, is it?

  30. Stuart 14 December 2009 at 2:13 pm #

    I saw the video demo of quickly at the ubuntu conference. The point that a couple of other posters have made is that it is all template based, so other behaviors can be plugged in to the framework. As I understand they are working on a pygame template as the next alternative.

  31. SpandexBob 14 December 2009 at 2:19 pm #

    Well now I’d never heard of Quickly. Sounds very promising. There is nothing more tedious than trying to do packaging. Thanks for introducing me to it.

  32. Mykal 15 December 2009 at 12:11 pm #

    Quickly sounds awesome and I’m really looking forward to making some apps with it. I’m sort of an opportunistic programmer and a researcher of languages but I have yet to make anything substantial. One thing that I think Quickly needs to help boost excitement and get people motivated is better documentation and more screencasts. Is there any plans for a dedicated website for Quickly – not just the Ubuntu Wiki or LP? I’d be happy to help with documentation as it would help me learn too.

    Keep up the great job, Rick (and Devs). Quickly is quickly becoming the next big thing.

    Also, I LOVE “Shot of Jaq”! Jono and Aq, you are an inspiration to us all. Keep the shots coming.

  33. Derek 15 December 2009 at 12:32 pm #

    I had a look at this earlier on my Karmic box at work (still haven’t figured out how to put it on 9.04) and I was really impressed. The Glade editor looks pretty damn cool for building a GUI easily. I’ll have to look into the templates next.

  34. merelyjim 15 December 2009 at 4:48 pm #

    I’m just learning Python now, with very little experience in other programming languages. Am I missing out by not knowing how to make this all happen the hard way?

    • Derek 16 December 2009 at 12:01 am #

      I know python to a workable level but know bugger all about Glade/GTK packaging for debs, installing programs into the Desktop’s menuing system, etc, and I get the impression that’s what Quickly gives you. Because of that, I think it will let you concentrate on learning Python rather than spending your time figuring out all those other things.

      I think it’d be a good framework to learn Python within, especially as it makes UI stuff easier, so you get visual rewards as you learn (as opposed to CLI stuff which isn’t quite as pretty).

      Just my two cents.

  35. Gareins 15 December 2009 at 4:53 pm #

    What about Quicli for CLI apps? But you will probably make cli option in quickly as it is. Just an idea… :)

  36. Javier 16 December 2009 at 10:26 am #

    This is the best Shot! Passionate, informative and entertaining. Great work.

  37. Tony Whitmore 16 December 2009 at 9:05 pm #

    Hmm, lolcopter could be useful. It might even be as epic as raccoonshow.

  38. sheepeatingtaz 17 December 2009 at 8:17 am #

    I Love quickly. It has given me an insight into GUI development that I have had difficulty getting in the past. I learn best from seeing how things are done elsewhere – which is really hard when you are looking at well established projects that have their idiosyncrasies well entrenched. I like the fact that projects being done through quickly each follow the same pattern – at least in the early stages – and it’s easy to find them on launchpad to learn and get involved in other projects too!

  39. Oded 23 December 2009 at 10:42 am #

    I don’t buy this quickly thing – the first annoyance I had was that the website you link to (on Ubuntu Wiki) sells Quickly high but does not mention that its only good if you intend to develop in Python for GNOME on Ubuntu – if you want anything else, and you didn’t listen to Shot of Jaq, you might have downloaded and wasted a couple of hours playing with it before you figured out it is worthless for you.

    The second thing is this – this is supposed to let you easily create, manage and develop applications. It sounds like something I heard about before… hmm.. yes – its called an Integrated Development Environment, or IDE for short, and its been around for better then 20 years now! So Quickly is an IDE stripped of everything except the “new project wizard” – how is that a good idea?

    I suggest to drop this and concentrate on IDEs – they do provide a lot more features, such as a good programming editor, inline debugging, project management and easy source control integration. If you feel that the project wizards shipped with your favourite IDE are insufficient, why not improve there instead of going on a tangent and developing something wholly incompatible?

    • .james 10 January 2010 at 2:08 am #

      If you’ve not used Ruby on Rails or some similar piece of very opinionated software, I can see why you’d come away with this impression. But an IDE is not the same as one of these highly specialised towards one purpose frameworks.

      What does get me, though, is how much goes into making a template. A quick ls in the /usr/share/quickly/ folder reveals a fair number of files to create.

      james@metatron:/usr/share/quickly/templates/ubuntu-project$ ls | grep -v pyc available_licenses bin change-lp-project.py commandsconfig create.py data dialog.py edit.py glade.py help internal license.py package.py project_root python release.py run.py save.py share.py tutorial.py

      • .james 10 January 2010 at 6:46 am #

        I should clarify, though, that I’m not complaining in the sense of not being prepared to try and nonetheless write a template or two for myself and share back. Instead, I’m just noticing.

        Hats off to the folks who put this together: I’m enjoying learning how to use it.

  40. [...] I have talked about extensively recently has been my passion to see opportunistic developers served well on the Linux desktop. [...]


Leave a Reply