Quickly Unchaining The Itch Scratcher

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”
Leave a Reply



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.
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.
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.
Actually, I think the rest of us know that talking about Quickly was just an excuse for pimping Lernd.
Ahem.
Thanks for answering.
AFAIK the server side of Ubuntu One is closed source.
Could you send me a link to the that source code?
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.
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
@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.
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.
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.
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.
Exactly, Quickly is entirely distribution, langages and plateform agnostic. Core just though templates command conditionned by the context. But template commands are just executable files and can be anything (even LaTeX files!).
So, people wanting other stuff than ubuntu-project template, just give it a hand. I’m eager to merge others templates
More info on http://blog.didrocks.fr/index.php/post/Build-your-application-quickly-with-Quickly%3A-part1
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.
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.
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.
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.
Can’t help you with the time, but here’s a great free ebook for learning Python:
http://www.swaroopch.com/notes/Python
I’m already stuck in spencer, thanks!
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.
Yep. It would have been a more muanced discussion if, thus far, we’d found anything significant wrong with it.
Indeed, while it was not an ad, it is difficult keeping in how much we both dig Quickly. Blame the Quickly folks.
Thanks for this, Quickly looks really interesting!
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
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.
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.
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
!)
Here’s a quickly app: http://launchpad.net/bughugger
Cheers, Rick
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.
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.
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.
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…
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.
@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.
A patch for this would be most welcome
Alas, I don’t know python or how to package rpms and have precious little time to work on my own projects. Sorry.
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.
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.
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….
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
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.
That looks awesome, Steffan.
Great to see more Quickly apps appearing.
Anyone else written a Quickly app?
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…
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.
Sure will, thanks!
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.
That would be awesome, Pat! Share with us your experience here and we could possibly feature it in a future show too.
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.
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
[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.
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?
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
@rickspencer Sounds good thanks for your work. I’ll try it out.
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?
testing commenting from irc
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
wow, two eps to listen to – i need to check the site more than every couple of days
isn’t that a “gentleman’s ball scratcher” in the picture? http://is.gd/5kv7y
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.
Derek: what if it worked the other way around. A Griffon app that is able to interface with Gtk, even load glade files, applying the same conventions as any other Griffon application?
http://twitter.com/aalmiray/statuses/7258600844
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.
“quickly package” is your friend here.
shotofjaq is like a tiny piece of very well made pie.
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.
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.
On a side note, that picture of the guy with the back scratcher isn’t Ade, is it?
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.
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.
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.
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.
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?
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.
What about Quicli for CLI apps? But you will probably make cli option in quickly as it is. Just an idea…
This is the best Shot! Passionate, informative and entertaining. Great work.
Hmm, lolcopter could be useful. It might even be as epic as raccoonshow.
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!
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?
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
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.
[...] I have talked about extensively recently has been my passion to see opportunistic developers served well on the Linux desktop. [...]