DeveloperNetwork

Differences between revisions 1 and 2
Revision 1 as of 2012-06-28 18:50:31
Size: 1543
Editor: mhall119
Comment:
Revision 2 as of 2012-06-28 21:22:35
Size: 3376
Editor: 99-41-167-234
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
 * '''Contributors''': [[LaunchpadHome:mhall119]]  * '''Contributors''': [[LaunchpadHome:mhall119]] [[LaunchpadHome:jonobacon]]
Line 32: Line 32:
== User Experience ==

The goal of the site is to pull together quality machine generated documentation with the ability for users to contribute content. The goal here is to also bring together other useful support and resources into the site.

The user experience would work like this. Firstly the user can browse different libraries that are available in this system (this would initially be GObject Introspection libraries):

{{http://farm9.staticflickr.com/8005/7462966704_78a5b52e69_b.jpg}}

You can see on the right that there are a series of questions linked from Ask Ubuntu and a clear place to ask further questions.

When a user clicks a library they see the following as an example:

{{http://farm8.staticflickr.com/7123/7462966814_f97dbb5a12_b.jpg}}

Here we break the library down into sections so the user can more easily browse them. We also provide a list of tutorials of general interest to GTK+ (these could be from the cookbook portion of the site. We may also want to include some general user-added documentation here (e.g. such as an introduction to GTK).

When a user clicks on a class we see the class information page:

{{http://farm8.staticflickr.com/7113/7462966558_1aebce7662_b.jpg}}

This page has a number of features:

 * The function / signal / properties are shown at the top for those developers who want a quick reference.
 * This reference content is displayed for the appropriately selected language (the language selector is at the top of all pages).
 * The description box can be user submitted and edited content providing a good introduction to the class.
 * The right sidebar includes user editable content such as a single line summary of the class, a screenshot for visible widgets and user submitted samples of the class in action.
  • Launchpad entry: TBD

  • Created: 2012-06-28

  • Contributors: mhall119 jonobacon

  • Packages affected:

Create a new web project for hosting searchable, browseable and editable documentation for the APIs that are used in Ubuntu application development.

Rationale

Our API documentation is sparse and in static HTML. This makes it difficult to find specific documentation.

User stories

  • Alice is writing an new app in Python and GTK3, she wants to lookup specific GTK3 classes as well as their methods, properties and signals.
  • Bob is adding an Application Indicator to his program, and needs to see the correct API to use as well as example of it's use.

Required Functionality

  • Parse GObject introspection data and save it in discrete fields in a database
  • Display API in multiple programming languages (C, Python, Vala, etc)
  • Allow searching all the API fields
  • Allow multiple versions of the same API (Gtk 3.4, Gtk 3.5, etc)
  • Define collections of API versions as a distro release (Ubuntu 12.04, Ubuntu 12.10, etc)
  • Allow linking between one API and another
  • Allow manual addition of descriptions, explanations and examples (using markup)

User Experience

The goal of the site is to pull together quality machine generated documentation with the ability for users to contribute content. The goal here is to also bring together other useful support and resources into the site.

The user experience would work like this. Firstly the user can browse different libraries that are available in this system (this would initially be GObject Introspection libraries):

http://farm9.staticflickr.com/8005/7462966704_78a5b52e69_b.jpg

You can see on the right that there are a series of questions linked from Ask Ubuntu and a clear place to ask further questions.

When a user clicks a library they see the following as an example:

http://farm8.staticflickr.com/7123/7462966814_f97dbb5a12_b.jpg

Here we break the library down into sections so the user can more easily browse them. We also provide a list of tutorials of general interest to GTK+ (these could be from the cookbook portion of the site. We may also want to include some general user-added documentation here (e.g. such as an introduction to GTK).

When a user clicks on a class we see the class information page:

http://farm8.staticflickr.com/7113/7462966558_1aebce7662_b.jpg

This page has a number of features:

  • The function / signal / properties are shown at the top for those developers who want a quick reference.
  • This reference content is displayed for the appropriately selected language (the language selector is at the top of all pages).
  • The description box can be user submitted and edited content providing a good introduction to the class.
  • The right sidebar includes user editable content such as a single line summary of the class, a screenshot for visible widgets and user submitted samples of the class in action.

Unresolved issues

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.


CategorySpec

DeveloperNetwork (last edited 2013-05-27 17:36:58 by mhall119)