Attracting Application Developers

Registered by James Westby on 2011-05-10

What can we change about Ubuntu to ignite a community of application developers who target the platform?

Blueprint information

Status:
Not started
Approver:
Evan
Priority:
Undefined
Drafter:
James Westby
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

== UDS session notes ==

What can we change about Ubuntu that will ignite a community of application developers who target the platform?

- Provide an SDK for developers. Too many choices for audio, video, etc.
- An abstraction layer can smooth the pain of upgrades.
- Give them a good example (contract with id software or similar)
- Statistics for downloads.

Ubuntu is doing a pretty good job at being opinionated about what people should use
unless they have a better idea. (GTK, Python for quick start)

Should make it clear there are other options if you need them.

dpm is the owner of developer.ubuntu.com

Documentation of tools and APIs is important.

Lack credible static programming language.
  - C is not great
  - C++ is worse
  - vala is immature?

Do we need an IDE?
  - Is this another place to be opinionated?
    - Anjuta? MonoDevelop? Eclipse? QtCreator?
  - People tolerate poor languages more than they will tolerate poor IDEs?
  - Auto completion
  - UI Design

Are we attracting developers from other platforms. If so then they know existing languages. Should we enable them to use those languages already? (C#, Objective-C)
  - Migration guides?
  - Porting existing applications from other platforms in their existing languages.

Who are we targeting?
 - Developers for Software Center? Little $2 apps. Python would be adequate there. Build confidence to go on and develop more apps. (Improvements to the tools and APIs for PyGTK.)
 - If "easy to use" isn't the highest priority (e.g. Objective-C isn't easy, but people learn it to build apps) Vala can be a good choice for robust, more complex apps.

Games - Creating media assets
  - CC licensed repository of media assets to help with creating a game?

Socialising development experience
  - Development tools generally conceived of before the Internet came along (e.g. IDEs modelled on VisualStudio)
  - Can we hook up developers with artists and other developers?
  - forest (website)
  - Build up teams to help develop applications as one person doesn't generally have all the skills needed.
  - developer.ubuntu.com user accounts for this?
  - dating site

Payments
  - Consult for porting app? Revenue sharing for UX people?

ohloh.net as reputation for developers?

Isn't this UX talk like Openusability?
  - Sounds similar, definitely should be a conversation with them
  Cool

Showcase good apps and downvote bad apps.

Celebrate good patterns and designs - little big detail website?

Highlight platform apps that can be aspirational in terms of being a good app

Can we encourage good design with the tools we recommend? QtCreator looks pretty good in this regard. Glade doesn't.
  - They should encode the design guidelines as their defaults
  - Glade was apparently the biggest sticking point in the developer user testing

Is packaging as .debs the right model for these things?
  - Should be transparent to the user.

Sandboxing could be a good avenue to alleviate some concerns around this

There is some research on automatic UI and UX creation for apps. You would need some AI.

Is quickly working in this role?
  - xdatap1 (who is a super newbie in programming) thinks it is very close. The only thing that he misses is an auto-completing IDE.

Webby apps in the desktop (Javascript, HTML5).
 - Javascript is not well adapted to the desktop (the language would be entirely unfamiliar with a different set of "desktop objects" to interact with).

 What kind of apps do we want?
  - Visually appealing (snowball effect of inspiration by example)
  - Look at the first iOS/Android apps, what succeeded early on
  - Look at what's represented now in iOS/Android, that doesn't exist in Ubuntu

(?)

Work Items