Quickly

Revision 2 as of 2009-06-04 22:35:33

Clear message
  • Launchpad Entry: UbuntuSpec:

  • Created:

  • Contributors:

  • Packages affected:

Summary

Quickly will offer a set of commands that can be issued by a developer to: 1. Quickly get a new project stated 2. Quickly create a deb package 3. Quickly upload or update a package to a PPA

The system will be simple to extend.

Release Note

Quickly is new in 9.10. Quickly makes it easy for developers to make new applications for Ubuntu, and to share those application with other Ubuntu users.

Rationale

1. Hard to get started 2. Hard to package

User stories

1. Writes a pencil ordering applicatin 2. Tests it 3. deploys it

Assumptions

Design

You can have subsections that better describe specific parts of the issue.

Implementation

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

UI Changes

Should cover changes required to the UI, or specific UI that is required to implement this

Code Changes

Code changes should include an overview of what needs to change, and in some cases even the specific details.

Migration

Include:

  • data migration, if any
  • redirects from old URLs to new ones, if any
  • how users will be pointed to the new way of doing things, if necessary.

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.

Unresolved issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.

UDS NOTES

automagic python build system is under development as a separate project by pitti.

A prototype of quickly is available here: https://code.edge.launchpad.net/~rick-rickspencer3/+junk/quickly

Pitti's BoF notes: lool: private PPAs? pitti: once LP supports it, it's easy; however, you can put a .deb on your company web server; PPAs are for "easy discovery" use case lool: right, so we need a non-PPA release method, outputting a .deb for instance

KDE support can be added with "quickly new kubuntu-project" (just a matter of adding templates)

  • use KAppTemplate

new functionality: quickly release -> bzr add new files, commit, tag as new release, update changelogs, upload to PPA (if configured)

promotion:

  • have a registry of quickly-based projects (code samples!)
  • update wiki instruction to point it out as easiest option
  • look at integration with ubuntu-dev-tools
  • install by default
  • add to github?
  • gedit is default editor -> provide access to quickly through menu

===== end of pitti's notes -- slightly updated by lool :-P ==== =====begin ken's notes========== Opportunistic programmer, generally different mindset than the systematic programmer

What is a opportunistic programmer?

  • Hobbyists
  • Creates simple quick applications
  • Iterate rapidly
  • Professionals
    • technical directors on movies
    • in-house tools written for very limited user-base

Application Layer Cake

  • How do end users find my app? - discovery and installation
  • How do I get my app to end users? - packaging
  • What language, APIs, editor, etc should I use? - Tools and APIs

iPhone has a great implementation, SDK to the app store

For ubuntu it is far more complex

  • Lots of choice in frameworks, editors, databases, etc
  • Confusing to learn how to package and distribute your application
  • Not easy for users to discovery your application (out of scope for quickly)

Current plans

  • Quickly - opinionated choice of frameworks, language, and coding style
    • python/pygtk
    • template driven
    • Uses the automagic python build
      • automagically creates simple deb packaging for python apps

Examples

  • iFlush
  • Pencil ordering app

Everything in quickly must be fun and easy

  • instant reward

Functions

  • new project
  • create deb
  • create ppa
  • add new window
  • add new dialog

Nice to have

  • add widget
  • save snapshot (perhaps commit/push a bzr branch)
  • stub events
  • other project templates
  • create a release, tarball, bzr tag, upload to ppa

How do we convice people that this is the way to create applications?

  • prominate link to "how to get started developing"
  • prove the ease of use, if Quickly is the easiest and fastest, it will win

Look at github for social ideas, but that is probably more of a github vs. launchpad discussion

Override default plugin perhaps make quickly a gedit plugin

What about Kubuntu?

  • integration with kapptemplate maybe?

=====end ken's notes==========


CategorySpec