Quickly
Launchpad Entry: appdevs-desktop-n-quickly
Created: 2010-10-13
Contributors: MikeTerry
Packages affected: quickly
Prior art: 10.10 spec
Summary
Ubuntu 9.10 introduced Quickly as a tool for creating apps based on templates. The 10.04 version has an emphasis on making the first setup and make the prospective developer life easier. The 10.10 version was supposed to make it easier for developers to setup their machine and develop with gedit. A lot of that spec ended up being postponed. So we'll try again for 11.04.
Release Note
TODO
Rationale
Ubuntu is focused on opportunistic developer to create quick and fun apps for its platform.
User stories
Jono don't want to bother about pushing an ssh/gpg key to launchpad, creating a ppa, or to sign the CoC manually to access to it.
Brian wants that editing code brings all the needed tools for developing, but don't want to clutter his GNOME gedit environment when only writing a note.
Chris wants to use GroundControl to setup his launchpad and don't want to use Quickly by command line
Design
The design is around 3 elements:
- Make it easier to create/setup the account, which means:
- pushing ssh/gpg key to Launchpad (already matched or created automatically but Quickly in lucid)
- force user to read and sign if they accept the CoC without using gpg command line
- creating an ppa for the user
- Have a dedicated gedit code editing session in activating plugins and settings needed
- Integration to GC for nautilus interaction with Quickly
Implementation
As discussed with Launchpad, the current only effective way to push ssh/gpg key is by faking a browser. The read part has been done in previous cycle with the API, the push will be done this cycle by faking a webbrowser.
gedit will be patched to activate some plugins and settings on demand. This switch will be use by Quickly on "quickly edit". The 10.10 spec contains the discussion from UDS about which settings/plugins to activate by default.
An API (some experimental one already available) will be pushed to enable some interaction with Quickly. Icons and effects are already on the way.
Migration
New features are being added, existing features will continue to work as before.
Test/Demo Plan
Check all the user stories can be completed with the updated version of Quickly.
Notes from UDS
https://blueprints.launchpad.net/ubuntu/+spec/appdevs-desktop-n-quickly Previous action items: Move boiler plate into base classes so that it's simple: DONE Add the delegate handler functionality: TODO def button1_clicked(self, widget, data): automatically hook to glade same for widget names self.label1 self.ui.label1 <- winner *but* also likely add iterator so we can do: for w in self.ui: self.ui["label1"] <- open question, doesn't hurt make a "quickly add preferences": TODO Tony has a branch for this, make his example option a little more generic adding packaging template: TODO Drop this, it is pkgme make the needed tweaking for GC to know about launchpad and other integration: TODO Put on Martin Owens hack gedit to activate/unactivate plugins on demand: TODO libpeas handles this for us. So we just need to hook into this Want to activate gdp python completion plugin [rickspencer3] Port Rick's ctags plugin push wanted plugins pieces into universe: TODO [curtis] port to libpeas [mterry] will push once that's done push a gpg key faking a browser to launchpad: TODO Worst case the above can take over 30m. So just make it very clear to user how long it will take, maybe a countdown timer. Maybe even write a file or something so if user reboots or quits, we can continue waiting on next run. Otherwise, we will likely just try to push directly to LP (because it think it's in keyserver) and fail. push a ssh key faking a browser to launchpad: TODO make an easy way to sign CoC: TODO [curtis] Not in LP yet [mterry] Finish create a ppa when needed faking a browser: TODO [curtis] Also not in LP yet [mterry] Finish make it easier to attach to widgets (use introspection so you can write signal handlers without using Glade, can refer to widgets defined in glade without using self.builder): TODO integrate extras.ubuntu.com custom metadata support to Quickly (see https://wiki.ubuntu.com/PostReleaseApps/Metadata for details): TODO /opt support: [mterry] move in postinst [mterry] sed egg [didrocks] work with dh_python2 ubuntu-application tutorial command: open up ubuntu developer manual instead of current tutorial
DesktopTeam/Specs/Natty/Quickly (last edited 2010-10-29 20:16:16 by host194)