Quickly

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


CategorySpec

DesktopTeam/Specs/Natty/Quickly (last edited 2010-10-29 20:16:16 by host194)