Quickly
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==========