Examples of Developer Documentation

Platforms which invite people to write apps for them follow these principles for developer recruitment:

  • Capture the interest of potential developers.
  • Give them a start-to-finish path, with clearly-defined goals and milestones.
  • Help their work shine and be recognized.

This is a tried and tested approach, which is part of the reason for these platforms' success. Here are their app developer pages, plus some thoughts on how GNOME can adopt this approach. Feel free to leave your own comments in the whiteboard area at the bottom!

Android developers' site

Take note:

  • "Design," "Develop," and "Distribute" are all treated as equally important, and there are loads of Android design resources to help people create attractive apps.

http://developer.android.com/index.html

Apple developers' site

Take note:

  • Apple's top-level developer site has to break things down by platform, because Apple has a lot of platforms for people to write for.
  • The Safari web browser is treated as a platform in its own right.
  • Apple emphasizes the difference developers make in people's lives, and how much fun it is to write for Apple's platforms.

https://developer.apple.com/

Windows Store developers' site

Take note:

  • Microsoft has had online developer resources for some time, but is just now adopting the "App Store" model for its flagship OS, Windows.
  • Like Windows 8 itself, Microsoft's "Windows Store" app developer site is clean and sparse, and clearly intended to help people get where they want to as quickly as possible.

http://msdn.microsoft.com/en-us/windows/apps/br229512.aspx

Takeaways for GNOME developer docs

GNOME should treat design as a core part of the development process. Students shouldn't just learn how to write apps, they should learn basic approaches for designing UI and workflow. Basic UI guidelines, inspired by Apple's and Android's, should both exist and be easy to memorize and apply.

GNOME should offer comprehensive documentation for each core language. Instead of offering multiple platforms to target, GNOME currently offers an approach of multiple languages to target one platform. GNOME should choose which of these languages are core and supported, then provide an easy entry point for each, and let third parties (like PyGTK+) support the others.

GNOME developer documentation should be friendly and engaging. They shouldn't just explain how to write GNOME apps, they should show how much fun it is to do so, and give people a starting point to become involved in the community (or create their own).

Whiteboard area

Leave your own thoughts and examples here!

TarynFox/AppGuide/Examples (last edited 2013-12-03 16:34:12 by WilliamJonMcCann)