This is the developing plan for MeeGo 1.0 SDK development.
The purpose behind it is to capture and define the content for the first version of the MeeGo SDK.
While the discussions to create it have so far taken place within Intel and Nokia, the intention has been to make the plan public as soon as possible. Hence this document. If anyone is aware of any other SDK requirements documents, please mention (preferably integrate) them here.
This plan is composed of suggestions: none of this is set in stone yet, and the points below cover the current working assumptions and practices of people working on the SDK (mainly Intel and Nokia employees).
This plan should be taken under the wing of the Development Working Group, if the Proposal for a Development working group is accepted.
The SDK will be developed under the following assumptions:
- Devices/platforms to target
- Meego1.0 Handset (ARM-based):
- Meego1.0 Handset (Atom-based)
- Aava (Handset DUI on Netbook)
- Meego1.0 Netbook (Atom-based)
- SDK Architecture
- The mainstream approach will be:
- Qt Creator
- MeeGo runtime (a real device, emulator (qemu) and/or simulator (xephyr)?)
- Other options are possible, but how are they weighted against Qt?
- Release date? to be agreed
Project planning will use:
We need to agree on how to distribute the Meego SDK.
What needs to be decided:
- Where will it be made available?
- How will it be packaged (tarball, RPMs)?
- How will the installer work?
- Qt SDK Beta provides a good example installer
- Which OSs/versions will be supported (Windows, Linux, Mac OS)?
The SDK includes the following components.
- Code (should be in gitorious if possible, so anyone can contribute code by following proper patch approval process)
- Who are the maintainers of each project?
- Whay is the proper patch accept/approval process
- Projects which should be in gitorious (some are already)
- QT Creator
- mad-developer for different platforms (S60, N900, CDK, Netbook etc.)
- Simulator (xephyr)
- Emulator (qemu)
- Installers (Windows, Linux and Mac)
- Code examples
Status of component projects
For each, we need to define:
- Why each project is included
- Where it is located
- Who maintains it
- What's left to do for the first SDK release
Developers need documentation to build MeeGo applications.
The audiences defined for MeeGo are covered in Audience for MeeGo developer documentation
Elliot Smith (Intel): http://meego.com/users/elliot; employed full-time to work on the SDK, focused mainly on documentation
Documentation which needs to be written:
- The documentation backlog is currently maintained at Documentation backlog. This covers all kinds of documentation, and isn't necessarily prioritised.
- As a minimum, we probably need the "Getting Started with MeeGo development" tutorial.
- The high-level "this needs to be done for MeeGo 1.0 SDK" items will be moved to MeeGo bugzilla, under the Documentation product, inside the SDK docs component.
Policies around how documentation is maintained:
- Do we distinguish between "official" and "unofficial" documentation? How would we even do this on a wiki?
- Do we have a central control point for "official" documentation? Or do we give everyone access to everything?
- Is http://developer.meego.com/ official, while the wiki is unofficial? How do the two relate to each other?
To support SDK guides and tutorials.
To enable community members to post code snippets.
No location decided yet. Some suggestions:
- git repository; but makes a barrier to entry for drive-by coders and provides no annotation capability
- Something like http://www.refactory.org/ (peer-reviewed code snippets site)
- ReviewBoard (http://www.reviewboard.org/): open source web-based code review software; wraps comments around git-based (or other VCSs)
Dave Neary suggested this in an IRC conversation.
Elliot Smith was thinking along similar lines; he previously maintained http://git.moblin.org/moblin-sdk-examples for Moblin.
Decide where to put code samples.