Where to find applications ?
Not all OpenMoko apps are listed on this wiki - there are much more projects at the Openmoko GForge than the wiki can list, not to mention self-hosted applications on their own websites. Actually the phones can run most Linux based Free Software, using for example the Debian distribution. The mobile phones section of Freshmeat may be a interesting place to look.
- The applications included in the currently shipping Neo Freerunner are discussed in Om 2007.2 Applications.
- A list of GPS Applications is available.
- Games are listed in their own page. Watch your productivity !
- A selected list of applications are showcased with screenshots on the Openmoko Community Applications page.
The list of all pages tagged as Applications related is quite large at present. The table below links to a selection of applications described in this wiki. Most Openmoko-related software is relatively young, and a majority of applications are at a low maturity level (read: alpha, the feature set has not stabilized yet).
† Listed with a screenshot in the Openmoko Community Applications page.
Where to publish applications ?
So you have just made this cool program, and wonder what will be an efficient way to share it ? Consider the following options:
- Adding a link in the Applications directory page.
- Creating a page on this wiki.
- Packaging for the Community Repository.
- Hosting as a project on the Openmoko GForge
- Entering a record on Freshmeat or similar.
- Announcing on the community mailing list.
Tips and Principles to develop and port applications
- All modifications are saved instantaneously, there should never be a save command.
- Make sure users can't make interface operation errors, or that the effects are easily reversible, instead of just notifying them of the potential consequences of their actions.
- When you open a document you should be returned to the place where you were working when you last closed or save it (this is our concept of sessions).
- Label buttons with adjectives, which describe the state of the object affected
- Designers should seek an efficient monotonous solution to gain benefits, including ease of learning, simplicity of implementation, minimization of documentation, and lowered maintenance costs.
- Whenever you find yourself specifying an error message, please stop; then redesign the interface so that the condition that generated the error message doesn't arise.
- If the user gets no utility from a process, there is no reason to tell them that it is happening.
- Provide unlimited levels of Undo and Redo whenever possible.
- Consider adding a Trash or Deleted Items area that has everything the user has deleted. The user’s data is the most important priority. Let’s make it hard for them to lose anything and easy to recover it.
- Reduce at the minimum the need for unused space: borders, intra-widgets distance.
- Although Openmoko is designed for smartphones that use a stylus, it would be foolish to expect people to only operate their handsets with stylus. For this reason, some core phone-related applications will be developed with finger (as opposed to stylus navigation) in mind.