http://openmoko.org/api.php?action=feedcontributions&user=Digisus&feedformat=atomOpenmoko - User contributions [en]2024-03-29T12:12:46ZUser contributionsMediaWiki 1.19.24http://openmoko.org/wiki/DistributionsDistributions2008-12-28T15:52:25Z<p>Digisus: More compact layout</p>
<hr />
<div>{{Languages|Distributions}}<br />
<br />
{|align=right<br />
|__TOC__<br />
|}<br />
<br />
= About distributions =<br />
Openmoko distributions are designed to run on various mobile devices, with the primary aim of supporting Openmoko Inc.'s [[GTA01:Neo 1973|Neo 1973]] and [[Neo FreeRunner]] phones. They are GNU/Linux distributions -- complete operating systems including user applications. You can install any of them on your phone or even have a dualboot system with two distributions installed. For downloads see [[Download]], for installation instructions see [[Flashing the Neo FreeRunner]].<br />
<br />
Besides, Openmoko distributions also run on [[Supported devices|other]] mobile devices and some other software distributions also run on the phones of Openmoko Inc.<br />
<br />
=== Choosing a distribution ===<br />
* Official/current. As of December 2008, the phones ship with [[Om 2007.2]]. It is not supported by Openmoko Inc. anymore. But community developers continue to work on its phone stack in the [[SHR]] project. The branch currently supported by Openmoko Inc. is [[Om 2008.12 Update]], which is the second minor upgrade of [[Om 2008.8]] (the version formerly named ''ASU'').<br />
* Official/future. The current trunk tip is a "base image" on which the next major release should be based. This next release can be previewed by installing milestones of the [[FSO]] - Free Smartphone.Org project. If you want to develop anything that last, your platform is [[FSO]] (and the choice between EFL, GTK+, Qt, Java, Python or whatever is open). The [[Debian]] packaging team also track that branch.<br />
* Openmoko community. Based on [[Om 2008.8]], the community made the [[FDOM]] distribution by adding lots of fixes and applications to it. Most new users find [[FDOM]] the most comprehensive and functional distribution.<br />
* Other community. The FreeRunner is also a reference platform for TrollTech's ''Qt Extended'' (formerly [[Qtopia]]) distribution. If you want "just a working phone", try [[Qtopia]].<br />
* Other communities. [[Android]] work is in progress; [[Debian]] and [[Gentoo]] are for people who do not need to ask which distribution they should use.<br />
<br />
{| class="wikitable" style="float:right;width:200px;background-color:#FF6600;text-align:center;border-collapse:collapse;font-weight:bold"<br />
|<font color=white>Distributions</font><br />
|-<br />
! style='background-color:#333333;color:#FFFFFF'|<br />
<div align=left><br />
* <font color='#BBBBBB'>Openmoko (official)</font><br />
** [[Om 2008.12 Update]]<br />
** [[Om 2008.9 Update]]<br />
** [[Om 2008.8]]<br />
** [[Om 2007.2]]<br />
** [[OpenmokoFramework|FSO]]<br />
* <font color='#BBBBBB'>Om Community</font><br />
** [[SHR]]<br />
** [[FDOM]]<br />
* <font color='#BBBBBB'>Other</font><br />
** [[Qtopia]]<br />
** [[Debian]]<br />
** [[Gentoo]]<br />
** [[Android]]<br />
** [[Hackable:1]]<br />
</div><br />
|-<br />
|}<br />
<br />
=== Please note ===<br />
<br />
* Stable in the FreeRunner world does not mean the same thing as stable in the Debian world.<br />
* Most distributions use the same bootloader, kernel, drivers and hardware. Therefore, the same low level bugs are commonly found in all distributions. The latest and greatest software usually has most bug fixes, plus a whole set of new fresh bugs.<br />
* Most of these distributions also have package repositories. It is a BAD idea to feed from another distribution's repository.<br />
* Upgrade path between these distributions are mostly not tested, thus updating by changing the feeds will most likely end in broken packages or even an unbootable system. It is advisable to reflash the whole filesystem with [[dfu-util]] to switch between the different distributions, with the reminder that a dual-boot setup (e.g. via sdcard or NFS) can be used.<br />
<br />
= Official Openmoko releases =<br />
<br />
'Release targets' offered by Openmoko Inc. are built out of different branches of the [[OpenEmbedded]] metadistribution source tree.<br />
<br />
=== Om series ===<br />
<br />
* '''Om 2008.12 Update''' is the second point release after the initial ''Om 2008.8'' release.<br />
<br />
{{Main|Om 2008.12 Update}}<br />
<br />
* '''Om 2008.9 Update''' is the first point release after the initial ''Om 2008.8'' release. Openmoko recommends that all existing installations of Om 2008.8 should be updated to that version. Quality-wise, we are still far from the goal, but this version includes general stability enhancing operating system improvements and a new splash screen. No applications were added or removed. Users with basic telephony needs will find it tolerable as an everyday phone.<br />
<br />
{{Main|Om 2008.9 Update}}<br />
<br />
* '''Om 2008.8''' was released on August 8, 2008, to replace 2007.2. Prior to that, its codename was ASU (April/August Software Update). This is still the name of the branch in the version control system. This distribution integrates the [http://trolltech.com/products/qtopia Qtopia] phone stack with a set of new Openmoko applications based on the Enlightenment Foundation Libraries. Qtopia being a more mature product than the GNOME Mobile stack, the standard phone applications (dialer, contacts, calculator, calendar) work better than in 2007.2. The Qtopia used in 2008.8 was ported to run on X11, contrary to standard Qtopia which uses the framebuffer. This allows non-Qt applications to safely share the screen with Qt applications. This is a .0 release, many unresolved issues remain in the lower layers (kernel power management, sound, wifi drivers...).<br />
<br />
{{Main|Om2008.8}}<br />
<br />
* '''[[Om 2007.2]]''' is the base-system which is installed on FreeRunner when it leaves the factory. The interface was totally finger-oriented, optimized for 285ppi, and very orange. It used the GTK+ stack, which is part of the [http://www.gnome.org/mobile/ GNOME Mobile] platform. This distribution is now considered obsolete and not being worked on by Openmoko Inc or by OpenedHand. There is a community effort (see [[SHR]]) to port the GTK based telephony applications to the future middleware from [[FSO]].<br />
<br />
{{Main|Om 2007.2}}<br />
<br />
=== FSO series ===<br />
<br />
'''FSO''' is an abbreviation for FreeSmartphone.Org. Openmoko is working on a stable system services back-end. Focus is on stable highlevel services that you can access from whatever language or UI that supports [http://dbus.freesmartphone.org/ dbus]. The framework will be used in forthcoming Openmoko distributions. FSO is all about middleware, but if one stacks a bootloader+kernel under it and telephony applications on top, one gets a functional distribution. These are made available as FSO-image milestones. <br />
<br />
* '''FSO Milestone IV''' was released on November 11th, 2008 and named 'Homework'. People report that despite its infancy, the phone server part in FSO is already more solid than anywhere else. The kernel under it is a Linux 2.6.24 with modules packaged separately. The telephony application on top of it is Zhone. This is a basic Python dialer/homescreen designed as scaffolding to test the FSO functionalities (even if Zhone is pretty, code path coverage is more critical to it than user-friendliness).<br />
<br />
{{Main|FSO}}<br />
<br />
= Openmoko community releases =<br />
<br />
=== SHR - Stable Hybrid Release ===<br />
<br />
SHR is a community driven distribution. It contains some basic GTK+ based applications which make use of the FSO. There currently is a EFL (with elementary) dialer, messages and contacts application programmed in C. As of November 9th, 2008, there is no stable release of this distribution yet, as the SHR team doesn't feel it to be good enough. You can find images though on the [http://shr.bearstech.com/shr-testing SHR buildhost].<br />
<br />
{{Main|Stable Hybrid Release}}<br />
<br />
=== FDOM (FAT and Dirty Openmoko) ===<br />
<br />
[[FDOM]] is a distribution based on Openmoko's currently supported image, updated with many ready-to-use applications and with fixes posted in the mailing lists. A combination of applications (everything goes) and fixes to demonstrate the capabilities of the Freerunner and to have a functional phone (sort of). This all while retaining the ability to update through the official feeds.<br />
<br />
{{Main|FDOM}}<br />
<br />
== Non-Openmoko distributions ==<br />
<br />
These are not Openmoko (and OE) based distributions. These are alternatives you can run on your Openmoko phones.<br />
<br />
=== Qt Extended ===<br />
<br />
The Qt Extended distribution was formerly known as Qtopia up to version 4.3.x included. It comes from [http://www.trolltech.com Trolltech], a Nokia company, the makers of the Qt cross-platform application framework. This distribution aims to provide a ready-to-use image for Openmoko devices. It features a noticeably robust telephony stack. Recent release 4.4.2 also sports a webkit-based web browser and Gtalk support.<br />
<br />
{{Main|Qtopia / Qt Extended on FreeRunner}}<br />
<br />
=== Debian ===<br />
<br />
Debian is "the universal operating system". It comes with thousands and thousands of packages (most of them designed for desktops or servers so far). So in the words of Joachim "nomeata" Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team, this is not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the Stable Hybrid Release software in our archive. So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)<br />
<br />
{{Main|Debian}}<br />
<br />
=== Gentoo ===<br />
<br />
Gentoo is all about choices. When installing Gentoo, this is made clear to you several times -- you can choose how much you want to compile yourself, how to install Gentoo, what system logger you want, etc. Gentoo is a fast, modern metadistribution with a clean and flexible design. Gentoo is built around free software and doesn't hide from its users what is beneath the hood. Portage, the package maintenance system which Gentoo uses, is written in Python, meaning you can easily view and modify the source code. Gentoo's packaging system uses source code (although support for precompiled packages is included too) and configuring Gentoo happens through regular textfiles. In other words, openness everywhere.<br />
<br />
{{Main|Gentoo}}<br />
<br />
=== Android ===<br />
<br />
Android is a mobile phone platform by Google, and later the Open Handset Alliance (OHA). Openmoko is fully supporting Android running on the Freerunner. Details along with images are being constructed at the moment. Visit the user web page for [http://wiki.openmoko.org/wiki/User:Seanmcneil3 Sean McNeil] for further details. And you can download kernel and image [http://people.openmoko.org/sean_mcneil/ here]. To boot the Kernel you have to adjust your [http://www.denx.de/wiki/U-Boot u-boot] environment to support a Kernel of more then 2 MB or your have to change to the [http://wiki.openmoko.org/wiki/Qi Qi] Bootloader.<br />
<br />
{{Main|Android}}<br />
<br />
=== Hackable:1===<br />
Hackable1 is a community distribution for hackable devices like the Neo Freerunner. It is based on Debian and implements the GNOME mobile platform. <br />
{{Main|Hackable:1}}<br />
<br />
=== Others / unreleased ===<br />
<br />
* The [http://www.neopwn.com/software.php NeoPwn] network auditng system's core is a modified Linux 2.6.24 kernel, with cross-compiled module driver support for the numerous compatible addon devices running on a FULL Debian (ARMEL) operating system. The filesystem has been optimized for performance and size and includes the NeoPwn menu system and several GUI dialogs for hardware control and attack automation. ''Status: Unknown, the GPL requires source code to be distributed only to customers''.<br />
* [http://runningbear.org/trac RunningBear] is an innovative, yet free and open-source Operating System for hackable devices driven by Bearstech. Lightweight, Portable, Secure, Friendly and Useful. ''Status: In development''.<br />
* [http://pokylinux.org/ Poky] and Sato, by OpenedHand/Intel. An open source platform build tool derived from OE. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both ARM and x86 based platforms. ''Status: The "Nightly Build" Image works fine on Neo Freerunner, but phone functionality doesn't.''<br />
* [http://pyneo.org/ PyNeo] pyneo is a stack for mobile devices excessivly using dbus, glib and evas. Mickey Lauer used most of the technics & architecture, library & language choices of pyneo in fso. ''Status: still active, ask around on #neo1973-germany ''<br />
* [http://www.quantum-step.com/ mySTEP] by Openmoko distributor Golden Delicious Computers is based on GNUstep and brings a Objective-C API to the Neo. Core GUI frameworks are "Foundation" & "AppKit". It has been shown on FOSDEM 2008, LinuxTag 2008 and SYSTEMS 2008 to run on the Neo 1973. If someone reengineers UIKit, (open) source code compatibility to iPhone apps appears achievable. ''Status: it does not have its own kernel so a Freerunner distribution waits for a solid basis and an arm-linux-gnueabi toolchain that runs natively on Mac OS X is currently lacking.''<br />
<br />
= Features by distribution/release target =<br />
<br />
Generally, distributions can differ on one or more of the following components:<br />
* The bootsplash screen image. This is purely decorative.<br />
* The bootloader. Theoretically, any version of ''uboot'' could be used with any distribution. In the future ''Qi'' will replace ''uboot''.<br />
* The kernel. GNU/Linux kernels versions 2.6.24, 2.6.26 or 2.6.28 can be found. Some have modules compiled in, others have modules compiled separately. If compiled separately, modules can be distributed in the same package file as the kernel or separately.<br />
* Middleware: daemons to handle GSM calls or GPS, sound system, personal information storage and so on. Qt and Android have their own subsystems, FreeSmartphone.Org (FSO) is working towards a standard-based Free Software one.<br />
* Display driver. The original ''Qt Extended'' uses the framebuffer, most other distributions today use ''X11''.<br />
* Libraries and application framework (widget toolkit and and graphical environment) : EFL, Qt, Gtk+ or Java ?<br />
* Basic telephony applications: voice calls, SMS, alarm clock...<br />
* Smartphone applications: GPS, media player, simple games, web browser...<br />
* Open source applications: more games, scientific, you name it...<br />
<br />
=== Hardware Support ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTA01 || ?? || ?? || ?? || {{Yes}} || ?? || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| GTA02 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Connectivity ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Telephony || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| SMS || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[GPRS]] || Not through UI || Not through UI|| Not through UI || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[WiFi]] || {{Yes}} (*) || {{Yes}} || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| VoIP || ?? || ?? || ?? || ?? || {{Yes}} || {{Yes}} (1) || {{Yes}} || ?? || {{no}}<br />
|-<br />
| Bluetooth || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| GPS (1) || {{Yes}} (1) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Power ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Suspend || ?? || ?? || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ?? || ??<br />
|-<br />
| Resumes on Event || ?? || ?? || ?? || ?? || {{Yes}} || {{No}} || ?? || ?? || ??<br />
|-<br />
| Functions after Resume || ?? || ?? || ?? || {{Yes}} || {{No}} || {{No}} ||?? || ?? || ??<br />
|-<br />
|}<br />
<br />
=== User Interaction ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|Om2008.8 !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Stylus friendly || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| Finger friendly || Partially || Partially || Partially || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}}<br />
|-<br />
| Accelerometer || {{Yes}} [[Rotate|(1)]][[Gestures|(1)]] || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Applications ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Terminal || {{Yes}} (1) || Basic (2) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| PIM || {{Yes}} || {{Yes}} || {{No}} || N/A || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || ??<br />
|-<br />
| Phonebook || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Dialer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Web Browser || {{Yes}} (1) || {{Yes}} (1) || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Mail Client || {{Yes}} || ? || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| XMPP Client || {{Yes}} [[Instant Messaging|(1)]] || {{Yes}} (1) || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || || ??<br />
|-<br />
| Media Player || {{Yes}} (1) || {{Yes}} || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Toolkits / Runtimes ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTK+ || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || ?? || ??<br />
|-<br />
| Qt/Qt Extended || {{Yes}} || {{No}} || {{Yes}} ? || {{Yes}}? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| Middleware || qtopia-x11 || gsmd/neod || FSO || FSO || qtopia-x11 || Qt Extended || FSO || ?? || ??<br />
|-<br />
| [[Java]] || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes}} || ?? || {{Yes|CacaoVM, JamVM}} || ?? || ??<br />
|-<br />
| [[Python]] || {{Yes}} || {{Yes}} || {{Yes}} || {{yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| [[Mono]] || {{Yes}} (1) || {{Yes}} (1) || ?? || {{no}} || ?? || ?? || {{Yes}} (1) || ?? || ??<br />
|}<br />
<br />
=== Images ===<br />
Latest and stable combinations for Neo FreeRunner gta02<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
| || OM || FDOM || Qt Extended || Android<br />
|-<br />
| current bootloader || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] ||<br />
|-<br />
| future bootloader || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu ||<br />
|-<br />
| splash || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz ||<br />
|-<br />
| kernel || [[Linux]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest uImage.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/uImage-android 2.6.26-android]<br />
|-<br />
| modules || ? || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz ||<br />
|-<br />
| rootfs || [[Main_Page|OM]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest rootfs.jffs2 || [[FDOM]] from [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/ TuxBrain] version [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/Fat_and_Dirty_OM.200809_20081023.rootfs.jff2 200809_20081023] || [[Qtopia_/_Qt_Extended_on_FreeRunner|QtExtended]] from [http://qtextended.org/modules/mydownloads/viewcat.php?cid=6 TrollTech] latest qtextended-gta02-flash.tgz or from [http://other.lastnetwork.net/OpenMoko/ Hypnotize] latest qtextended-gta02-rootfs-release-working.jffs2 || [[Android]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/androidfs.jffs2 android]<br />
|}<br />
<br />
Footnotes:<br />
<br />
(1) works, but need additional software to be installed<br />
<br />
(2) unusable due to lack of certain keyboard characters. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]<br />
<br />
(*) unstable<br />
<br />
==Quick download page==<br />
<br />
[[Download]]<br />
<br />
== See also ==<br />
<br />
* Mickey Lauer's post "[http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!]" describes the differences between distributions 2007.2, ASU and FSO.<br />
<br />
[[Category:Distributions| ]]</div>Digisushttp://openmoko.org/wiki/DistributionsDistributions2008-12-28T15:46:32Z<p>Digisus: Merged sections => 'Choosing a distribution'</p>
<hr />
<div>{{Languages|Distributions}}<br />
<br />
{|align=right<br />
|__TOC__<br />
|}<br />
<br />
= About distributions =<br />
Openmoko distributions are designed to run on various mobile devices, with the primary aim of supporting Openmoko Inc.'s [[GTA01:Neo 1973|Neo 1973]] and [[Neo FreeRunner]] phones. They are GNU/Linux distributions -- complete operating systems including user applications. You can install any of them on your phone or even have a dualboot system with two distributions installed. For downloads see [[Download]], for installation instructions see [[Flashing the Neo FreeRunner]].<br />
<br />
Besides, Openmoko distributions also run on [[Supported devices|other]] mobile devices and some other software distributions also run on the phones of Openmoko Inc.<br />
<br />
=== Choosing a distribution ===<br />
* Official/current. As of December 2008, the phones ship with [[Om 2007.2]]. It is not supported by Openmoko Inc. anymore. But community developers continue to work on its phone stack in the [[SHR]] project. The branch currently supported by Openmoko Inc. is [[Om 2008.12 Update]], which is the second minor upgrade of [[Om 2008.8]] (the version formerly named ''ASU'').<br />
* Official/future. The current trunk tip is a "base image" on which the next major release should be based. This next release can be previewed by installing milestones of the [[FSO]] - Free Smartphone.Org project. If you want to develop anything that last, your platform is [[FSO]] (and the choice between EFL, GTK+, Qt, Java, Python or whatever is open). The [[Debian]] packaging team also track that branch.<br />
* Openmoko community. Based on [[Om 2008.8]], the community made the [[FDOM]] distribution by adding lots of fixes and applications to it. Most new users find [[FDOM]] the most comprehensive and functional distribution.<br />
* Other community. The FreeRunner is also a reference platform for TrollTech's ''Qt Extended'' (formerly [[Qtopia]]) distribution. If you want "just a working phone", try [[Qtopia]].<br />
* Other communities. [[Android]] work is in progress; [[Debian]] and [[Gentoo]] are for people who do not need to ask which distribution they should use.<br />
<br />
{| class="wikitable" style="float:right;width:200px;background-color:#FF6600;text-align:center;border-collapse:collapse;font-weight:bold"<br />
|<font color=white>Distributions</font><br />
|-<br />
! style='background-color:#333333;color:#FFFFFF'|<br />
<div align=left><br />
* <font color='#BBBBBB'>Openmoko (official)</font><br />
** [[Om 2008.12 Update]]<br />
** [[Om 2008.9 Update]]<br />
** [[Om 2008.8]]<br />
** [[Om 2007.2]]<br />
** [[OpenmokoFramework|FSO]]<br />
* <font color='#BBBBBB'>Om Community</font><br />
** [[SHR]]<br />
** [[FDOM]]<br />
* <font color='#BBBBBB'>Other</font><br />
** [[Qtopia]]<br />
** [[Debian]]<br />
** [[Gentoo]]<br />
** [[Android]]<br />
** [[Hackable:1]]<br />
</div><br />
|-<br />
|}<br />
<br />
=== Please note ===<br />
<br />
* Stable in the FreeRunner world does not mean the same thing as stable in the Debian world.<br />
* Most distributions use the same bootloader, kernel, drivers and hardware. Therefore, the same low level bugs are commonly found in all distributions. The latest and greatest software usually has most bug fixes, plus a whole set of new fresh bugs.<br />
* Most of these distributions also have package repositories. It is a BAD idea to feed from another distribution's repository.<br />
* Upgrade path between these distributions are mostly not tested, thus updating by changing the feeds will most likely end in broken packages or even an unbootable system. It is advisable to reflash the whole filesystem with [[dfu-util]] to switch between the different distributions, with the reminder that a dual-boot setup (e.g. via sdcard or NFS) can be used.<br />
<br />
= Official Openmoko releases =<br />
<br />
These different 'release targets' offered by Openmoko Inc. are built out of different branches of the [[OpenEmbedded]] metadistribution source tree.<br />
<br />
=== Om 2008.12 ===<br />
<br />
The ''Om 2008.12 Update'' is the second point release after the initial ''Om 2008.8'' release.<br />
<br />
{{Main|Om 2008.12 Update}}<br />
<br />
=== Om 2008.9 ===<br />
<br />
The ''Om 2008.9 Update'' is the first point release after the initial ''Om 2008.8'' release. Openmoko recommends that all existing installations of Om 2008.8 should be updated to that version. Quality-wise, we are still far from the goal, but this version includes general stability enhancing operating system improvements and a new splash screen. No applications were added or removed. Users with basic telephony needs will find it tolerable as an everyday phone.<br />
<br />
{{Main|Om 2008.9 Update}}<br />
<br />
=== Om 2008.8 ===<br />
<br />
''Om 2008.8'' was released on August 8, 2008, to replace 2007.2. Prior to that, its codename was ASU (April/August Software Update). This is still the name of the branch in the version control system. This distribution integrates the [http://trolltech.com/products/qtopia Qtopia] phone stack with a set of new Openmoko applications based on the Enlightenment Foundation Libraries. Qtopia being a more mature product than the GNOME Mobile stack, the standard phone applications (dialer, contacts, calculator, calendar) work better than in 2007.2. The Qtopia used in 2008.8 was ported to run on X11, contrary to standard Qtopia which uses the framebuffer. This allows non-Qt applications to safely share the screen with Qt applications. This is a .0 release, many unresolved issues remain in the lower layers (kernel power management, sound, wifi drivers...).<br />
<br />
{{Main|Om2008.8}}<br />
<br />
=== Om 2007.2 ===<br />
<br />
[[Om 2007.2]] is the base-system which is installed on FreeRunner when it leaves the factory. The interface was totally finger-oriented, optimized for 285ppi, and very orange. It used the GTK+ stack, which is part of the [http://www.gnome.org/mobile/ GNOME Mobile] platform. This distribution is now considered obsolete and not being worked on by Openmoko Inc or by OpenedHand. There is a community effort (see [[SHR]]) to port the GTK based telephony applications to the future middleware from [[FSO]].<br />
<br />
{{Main|Om 2007.2}}<br />
<br />
=== FSO Milestone IV ===<br />
<br />
FSO is an abbreviation for FreeSmartphone.Org. Openmoko is working on a stable system services back-end. Focus is on stable highlevel services that you can access from whatever language or UI that supports [http://dbus.freesmartphone.org/ dbus]. The framework will be used in forthcoming Openmoko distributions. FSO is all about middleware, but if one stacks a bootloader+kernel under it and telephony applications on top, one gets a functional distribution. These are made available as FSO-image milestones. Openmoko Framework Image milestone IV was released on November 11th, 2008 and named 'Homework'. People report that despite its infancy, the phone server part in FSO is already more solid than anywhere else. The kernel under it is a Linux 2.6.24 with modules packaged separately. The telephony application on top of it is Zhone. This is a basic Python dialer/homescreen designed as scaffolding to test the FSO functionalities (even if Zhone is pretty, code path coverage is more critical to it than user-friendliness).<br />
<br />
{{Main|FSO}}<br />
<br />
= Openmoko community releases =<br />
<br />
=== SHR - Stable Hybrid Release ===<br />
<br />
SHR is a community driven distribution. It contains some basic GTK+ based applications which make use of the FSO. There currently is a EFL (with elementary) dialer, messages and contacts application programmed in C. As of November 9th, 2008, there is no stable release of this distribution yet, as the SHR team doesn't feel it to be good enough. You can find images though on the [http://shr.bearstech.com/shr-testing SHR buildhost].<br />
<br />
{{Main|Stable Hybrid Release}}<br />
<br />
=== FDOM (FAT and Dirty Openmoko) ===<br />
<br />
[[FDOM]] is a distribution based on Openmoko's currently supported image, updated with many ready-to-use applications and with fixes posted in the mailing lists. A combination of applications (everything goes) and fixes to demonstrate the capabilities of the Freerunner and to have a functional phone (sort of). This all while retaining the ability to update through the official feeds.<br />
<br />
{{Main|FDOM}}<br />
<br />
== Non-Openmoko distributions ==<br />
<br />
These are not Openmoko (and OE) based distributions. These are alternatives you can run on your Openmoko phones.<br />
<br />
=== Qt Extended ===<br />
<br />
The Qt Extended distribution was formerly known as Qtopia up to version 4.3.x included. It comes from [http://www.trolltech.com Trolltech], a Nokia company, the makers of the Qt cross-platform application framework. This distribution aims to provide a ready-to-use image for Openmoko devices. It features a noticeably robust telephony stack. Recent release 4.4.2 also sports a webkit-based web browser and Gtalk support.<br />
<br />
{{Main|Qtopia / Qt Extended on FreeRunner}}<br />
<br />
=== Debian ===<br />
<br />
Debian is "the universal operating system". It comes with thousands and thousands of packages (most of them designed for desktops or servers so far). So in the words of Joachim "nomeata" Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team, this is not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the Stable Hybrid Release software in our archive. So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)<br />
<br />
{{Main|Debian}}<br />
<br />
=== Gentoo ===<br />
<br />
Gentoo is all about choices. When installing Gentoo, this is made clear to you several times -- you can choose how much you want to compile yourself, how to install Gentoo, what system logger you want, etc. Gentoo is a fast, modern metadistribution with a clean and flexible design. Gentoo is built around free software and doesn't hide from its users what is beneath the hood. Portage, the package maintenance system which Gentoo uses, is written in Python, meaning you can easily view and modify the source code. Gentoo's packaging system uses source code (although support for precompiled packages is included too) and configuring Gentoo happens through regular textfiles. In other words, openness everywhere.<br />
<br />
{{Main|Gentoo}}<br />
<br />
=== Android ===<br />
<br />
Android is a mobile phone platform by Google, and later the Open Handset Alliance (OHA). Openmoko is fully supporting Android running on the Freerunner. Details along with images are being constructed at the moment. Visit the user web page for [http://wiki.openmoko.org/wiki/User:Seanmcneil3 Sean McNeil] for further details. And you can download kernel and image [http://people.openmoko.org/sean_mcneil/ here]. To boot the Kernel you have to adjust your [http://www.denx.de/wiki/U-Boot u-boot] environment to support a Kernel of more then 2 MB or your have to change to the [http://wiki.openmoko.org/wiki/Qi Qi] Bootloader.<br />
<br />
{{Main|Android}}<br />
<br />
=== Hackable:1===<br />
Hackable1 is a community distribution for hackable devices like the Neo Freerunner. It is based on Debian and implements the GNOME mobile platform. <br />
{{Main|Hackable:1}}<br />
<br />
=== Others / unreleased ===<br />
<br />
* The [http://www.neopwn.com/software.php NeoPwn] network auditng system's core is a modified Linux 2.6.24 kernel, with cross-compiled module driver support for the numerous compatible addon devices running on a FULL Debian (ARMEL) operating system. The filesystem has been optimized for performance and size and includes the NeoPwn menu system and several GUI dialogs for hardware control and attack automation. ''Status: Unknown, the GPL requires source code to be distributed only to customers''.<br />
* [http://runningbear.org/trac RunningBear] is an innovative, yet free and open-source Operating System for hackable devices driven by Bearstech. Lightweight, Portable, Secure, Friendly and Useful. ''Status: In development''.<br />
* [http://pokylinux.org/ Poky] and Sato, by OpenedHand/Intel. An open source platform build tool derived from OE. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both ARM and x86 based platforms. ''Status: The "Nightly Build" Image works fine on Neo Freerunner, but phone functionality doesn't.''<br />
* [http://pyneo.org/ PyNeo] pyneo is a stack for mobile devices excessivly using dbus, glib and evas. Mickey Lauer used most of the technics & architecture, library & language choices of pyneo in fso. ''Status: still active, ask around on #neo1973-germany ''<br />
* [http://www.quantum-step.com/ mySTEP] by Openmoko distributor Golden Delicious Computers is based on GNUstep and brings a Objective-C API to the Neo. Core GUI frameworks are "Foundation" & "AppKit". It has been shown on FOSDEM 2008, LinuxTag 2008 and SYSTEMS 2008 to run on the Neo 1973. If someone reengineers UIKit, (open) source code compatibility to iPhone apps appears achievable. ''Status: it does not have its own kernel so a Freerunner distribution waits for a solid basis and an arm-linux-gnueabi toolchain that runs natively on Mac OS X is currently lacking.''<br />
<br />
= Features by distribution/release target =<br />
<br />
Generally, distributions can differ on one or more of the following components:<br />
* The bootsplash screen image. This is purely decorative.<br />
* The bootloader. Theoretically, any version of ''uboot'' could be used with any distribution. In the future ''Qi'' will replace ''uboot''.<br />
* The kernel. GNU/Linux kernels versions 2.6.24, 2.6.26 or 2.6.28 can be found. Some have modules compiled in, others have modules compiled separately. If compiled separately, modules can be distributed in the same package file as the kernel or separately.<br />
* Middleware: daemons to handle GSM calls or GPS, sound system, personal information storage and so on. Qt and Android have their own subsystems, FreeSmartphone.Org (FSO) is working towards a standard-based Free Software one.<br />
* Display driver. The original ''Qt Extended'' uses the framebuffer, most other distributions today use ''X11''.<br />
* Libraries and application framework (widget toolkit and and graphical environment) : EFL, Qt, Gtk+ or Java ?<br />
* Basic telephony applications: voice calls, SMS, alarm clock...<br />
* Smartphone applications: GPS, media player, simple games, web browser...<br />
* Open source applications: more games, scientific, you name it...<br />
<br />
=== Hardware Support ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTA01 || ?? || ?? || ?? || {{Yes}} || ?? || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| GTA02 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Connectivity ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Telephony || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| SMS || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[GPRS]] || Not through UI || Not through UI|| Not through UI || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[WiFi]] || {{Yes}} (*) || {{Yes}} || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| VoIP || ?? || ?? || ?? || ?? || {{Yes}} || {{Yes}} (1) || {{Yes}} || ?? || {{no}}<br />
|-<br />
| Bluetooth || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| GPS (1) || {{Yes}} (1) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Power ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Suspend || ?? || ?? || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ?? || ??<br />
|-<br />
| Resumes on Event || ?? || ?? || ?? || ?? || {{Yes}} || {{No}} || ?? || ?? || ??<br />
|-<br />
| Functions after Resume || ?? || ?? || ?? || {{Yes}} || {{No}} || {{No}} ||?? || ?? || ??<br />
|-<br />
|}<br />
<br />
=== User Interaction ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|Om2008.8 !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Stylus friendly || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| Finger friendly || Partially || Partially || Partially || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}}<br />
|-<br />
| Accelerometer || {{Yes}} [[Rotate|(1)]][[Gestures|(1)]] || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Applications ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Terminal || {{Yes}} (1) || Basic (2) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| PIM || {{Yes}} || {{Yes}} || {{No}} || N/A || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || ??<br />
|-<br />
| Phonebook || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Dialer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Web Browser || {{Yes}} (1) || {{Yes}} (1) || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Mail Client || {{Yes}} || ? || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| XMPP Client || {{Yes}} [[Instant Messaging|(1)]] || {{Yes}} (1) || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || || ??<br />
|-<br />
| Media Player || {{Yes}} (1) || {{Yes}} || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Toolkits / Runtimes ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTK+ || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || ?? || ??<br />
|-<br />
| Qt/Qt Extended || {{Yes}} || {{No}} || {{Yes}} ? || {{Yes}}? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| Middleware || qtopia-x11 || gsmd/neod || FSO || FSO || qtopia-x11 || Qt Extended || FSO || ?? || ??<br />
|-<br />
| [[Java]] || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes}} || ?? || {{Yes|CacaoVM, JamVM}} || ?? || ??<br />
|-<br />
| [[Python]] || {{Yes}} || {{Yes}} || {{Yes}} || {{yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| [[Mono]] || {{Yes}} (1) || {{Yes}} (1) || ?? || {{no}} || ?? || ?? || {{Yes}} (1) || ?? || ??<br />
|}<br />
<br />
=== Images ===<br />
Latest and stable combinations for Neo FreeRunner gta02<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
| || OM || FDOM || Qt Extended || Android<br />
|-<br />
| current bootloader || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] ||<br />
|-<br />
| future bootloader || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu ||<br />
|-<br />
| splash || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz ||<br />
|-<br />
| kernel || [[Linux]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest uImage.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/uImage-android 2.6.26-android]<br />
|-<br />
| modules || ? || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz ||<br />
|-<br />
| rootfs || [[Main_Page|OM]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest rootfs.jffs2 || [[FDOM]] from [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/ TuxBrain] version [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/Fat_and_Dirty_OM.200809_20081023.rootfs.jff2 200809_20081023] || [[Qtopia_/_Qt_Extended_on_FreeRunner|QtExtended]] from [http://qtextended.org/modules/mydownloads/viewcat.php?cid=6 TrollTech] latest qtextended-gta02-flash.tgz or from [http://other.lastnetwork.net/OpenMoko/ Hypnotize] latest qtextended-gta02-rootfs-release-working.jffs2 || [[Android]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/androidfs.jffs2 android]<br />
|}<br />
<br />
Footnotes:<br />
<br />
(1) works, but need additional software to be installed<br />
<br />
(2) unusable due to lack of certain keyboard characters. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]<br />
<br />
(*) unstable<br />
<br />
==Quick download page==<br />
<br />
[[Download]]<br />
<br />
== See also ==<br />
<br />
* Mickey Lauer's post "[http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!]" describes the differences between distributions 2007.2, ASU and FSO.<br />
<br />
[[Category:Distributions| ]]</div>Digisushttp://openmoko.org/wiki/DistributionsDistributions2008-12-28T15:25:00Z<p>Digisus: </p>
<hr />
<div>{{Languages|Distributions}}<br />
<br />
{|align=right<br />
|__TOC__<br />
|}<br />
<br />
= About distributions =<br />
Openmoko distributions are designed to run on various mobile devices, with the primary aim of supporting Openmoko Inc.'s [[GTA01:Neo 1973|Neo 1973]] and [[Neo FreeRunner]] phones. They are GNU/Linux distributions -- complete operating systems including user applications. You can install any of them on your phone or even have a dualboot system with two distributions installed.<br />
<br />
Openmoko distributions will run on [[Supported devices|other]] mobile devices too and some other software distributions will also run on the phones of Openmoko Inc. (see below).<br />
<br />
For downloads see [[Download]], for installation instructions see [[Flashing the Neo FreeRunner]].<br />
<br />
=== Which distribution should I use ?===<br />
* Most new users find [[FDOM]] the most comprehensive and functional distribution.<br />
* If you want "just a phone", try [[Qtopia]].<br />
* If you want to develop anything that last, your platform is [[FSO]] (and the choice between EFL, GTK+, Qt, Java, Python or whatever is open).<br />
* [[SHR]], [[Debian]], [[Gentoo]] and [[Android]] are for people who do not need to ask which distribution they should use.<br />
* Tracking the "base image" by updating daily from testing/unstable is a different game either.<br />
<br />
===Status as of December 12th, 2008 ===<br />
* The phones ship with [[Om 2007.2]]. It is not supported by Openmoko Inc. anymore. But community developpers continue to work on its phone stack in the [[SHR]] project.<br />
* The branch currently supported by Openmoko Inc. is [[Om 2008.12 Update]], which is the second minor upgrade of [[Om 2008.8]] (the version formerly named ''ASU''). Based on that, the community made the [[FDOM]] distribution by adding lots of fixes and applications to it.<br />
* The trunk tip is a "base image" on which the next major release should be based. This next release can be previewed by installing milestones of the [[FSO]] - Free Smartphone.Org project. The [[Debian]] packaging team also track that branch.<br />
* The FreeRunner is a reference platform for TrollTech's ''Qt Extended'' (formerly [[Qtopia]]) distribution.<br />
* The Android port is work-in-progress.<br />
<br />
{| class="wikitable" style="float:right;width:200px;background-color:#FF6600;text-align:center;border-collapse:collapse;font-weight:bold"<br />
|<font color=white>Distributions</font><br />
|-<br />
! style='background-color:#333333;color:#FFFFFF'|<br />
<div align=left><br />
* <font color='#BBBBBB'>Openmoko (official)</font><br />
** [[Om 2008.12 Update]]<br />
** [[Om 2008.9 Update]]<br />
** [[Om 2008.8]]<br />
** [[Om 2007.2]]<br />
** [[OpenmokoFramework|FSO]]<br />
* <font color='#BBBBBB'>Community</font><br />
** [[SHR]]<br />
** [[FDOM]]<br />
* <font color='#BBBBBB'>Other</font><br />
** [[Qtopia]]<br />
** [[Debian]]<br />
** [[Gentoo]]<br />
** [[Android]]<br />
** [[Hackable:1]]<br />
</div><br />
|-<br />
|}<br />
<br />
=== Warnings ===<br />
<br />
* Stable in the FreeRunner world does not mean the same thing as stable in Debian world.<br />
* Most distributions use the same bootloader, kernel, drivers and hardware. Therefore, the same low level bugs are commonly found in all distributions. The latest and greatest software usually has most bug fixes, plus a whole set of new fresh bugs.<br />
* Most of these distributions also have package repositories. It is a BAD idea to feed from another distribution's repository.<br />
* Upgrade path between these distributions are mostly not tested, thus updating by changing the feeds will most likely end in broken packages or even an unbootable system. It is advisable to reflash the whole filesystem with [[dfu-util]] to switch between the different distributions, with the reminder that a dual-boot setup (e.g. via sdcard or NFS) can be used.<br />
<br />
= Official Openmoko releases =<br />
<br />
These different 'release targets' offered by Openmoko Inc. are built out of different branches of the [[OpenEmbedded]] metadistribution source tree.<br />
<br />
=== Om 2008.12 ===<br />
<br />
The ''Om 2008.12 Update'' is the second point release after the initial ''Om 2008.8'' release.<br />
<br />
{{Main|Om 2008.12 Update}}<br />
<br />
=== Om 2008.9 ===<br />
<br />
The ''Om 2008.9 Update'' is the first point release after the initial ''Om 2008.8'' release. Openmoko recommends that all existing installations of Om 2008.8 should be updated to that version. Quality-wise, we are still far from the goal, but this version includes general stability enhancing operating system improvements and a new splash screen. No applications were added or removed. Users with basic telephony needs will find it tolerable as an everyday phone.<br />
<br />
{{Main|Om 2008.9 Update}}<br />
<br />
=== Om 2008.8 ===<br />
<br />
''Om 2008.8'' was released on August 8, 2008, to replace 2007.2. Prior to that, its codename was ASU (April/August Software Update). This is still the name of the branch in the version control system. This distribution integrates the [http://trolltech.com/products/qtopia Qtopia] phone stack with a set of new Openmoko applications based on the Enlightenment Foundation Libraries. Qtopia being a more mature product than the GNOME Mobile stack, the standard phone applications (dialer, contacts, calculator, calendar) work better than in 2007.2. The Qtopia used in 2008.8 was ported to run on X11, contrary to standard Qtopia which uses the framebuffer. This allows non-Qt applications to safely share the screen with Qt applications. This is a .0 release, many unresolved issues remain in the lower layers (kernel power management, sound, wifi drivers...).<br />
<br />
{{Main|Om2008.8}}<br />
<br />
=== Om 2007.2 ===<br />
<br />
[[Om 2007.2]] is the base-system which is installed on FreeRunner when it leaves the factory. The interface was totally finger-oriented, optimized for 285ppi, and very orange. It used the GTK+ stack, which is part of the [http://www.gnome.org/mobile/ GNOME Mobile] platform. This distribution is now considered obsolete and not being worked on by Openmoko Inc or by OpenedHand. There is a community effort (see [[SHR]]) to port the GTK based telephony applications to the future middleware from [[FSO]].<br />
<br />
{{Main|Om 2007.2}}<br />
<br />
=== FSO Milestone IV ===<br />
<br />
FSO is an abbreviation for FreeSmartphone.Org. Openmoko is working on a stable system services back-end. Focus is on stable highlevel services that you can access from whatever language or UI that supports [http://dbus.freesmartphone.org/ dbus]. The framework will be used in forthcoming Openmoko distributions. FSO is all about middleware, but if one stacks a bootloader+kernel under it and telephony applications on top, one gets a functional distribution. These are made available as FSO-image milestones. Openmoko Framework Image milestone IV was released on November 11th, 2008 and named 'Homework'. People report that despite its infancy, the phone server part in FSO is already more solid than anywhere else. The kernel under it is a Linux 2.6.24 with modules packaged separately. The telephony application on top of it is Zhone. This is a basic Python dialer/homescreen designed as scaffolding to test the FSO functionalities (even if Zhone is pretty, code path coverage is more critical to it than user-friendliness).<br />
<br />
{{Main|FSO}}<br />
<br />
= Openmoko community releases =<br />
<br />
=== SHR - Stable Hybrid Release ===<br />
<br />
SHR is a community driven distribution. It contains some basic GTK+ based applications which make use of the FSO. There currently is a EFL (with elementary) dialer, messages and contacts application programmed in C. As of November 9th, 2008, there is no stable release of this distribution yet, as the SHR team doesn't feel it to be good enough. You can find images though on the [http://shr.bearstech.com/shr-testing SHR buildhost].<br />
<br />
{{Main|Stable Hybrid Release}}<br />
<br />
=== FDOM (FAT and Dirty Openmoko) ===<br />
<br />
[[FDOM]] is a distribution based on Openmoko's currently supported image, updated with many ready-to-use applications and with fixes posted in the mailing lists. A combination of applications (everything goes) and fixes to demonstrate the capabilities of the Freerunner and to have a functional phone (sort of). This all while retaining the ability to update through the official feeds.<br />
<br />
{{Main|FDOM}}<br />
<br />
== Non-Openmoko distributions ==<br />
<br />
These are not Openmoko (and OE) based distributions. These are alternatives you can run on your Openmoko phones.<br />
<br />
=== Qt Extended ===<br />
<br />
The Qt Extended distribution was formerly known as Qtopia up to version 4.3.x included. It comes from [http://www.trolltech.com Trolltech], a Nokia company, the makers of the Qt cross-platform application framework. This distribution aims to provide a ready-to-use image for Openmoko devices. It features a noticeably robust telephony stack. Recent release 4.4.2 also sports a webkit-based web browser and Gtalk support.<br />
<br />
{{Main|Qtopia / Qt Extended on FreeRunner}}<br />
<br />
=== Debian ===<br />
<br />
Debian is "the universal operating system". It comes with thousands and thousands of packages (most of them designed for desktops or servers so far). So in the words of Joachim "nomeata" Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team, this is not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the Stable Hybrid Release software in our archive. So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)<br />
<br />
{{Main|Debian}}<br />
<br />
=== Gentoo ===<br />
<br />
Gentoo is all about choices. When installing Gentoo, this is made clear to you several times -- you can choose how much you want to compile yourself, how to install Gentoo, what system logger you want, etc. Gentoo is a fast, modern metadistribution with a clean and flexible design. Gentoo is built around free software and doesn't hide from its users what is beneath the hood. Portage, the package maintenance system which Gentoo uses, is written in Python, meaning you can easily view and modify the source code. Gentoo's packaging system uses source code (although support for precompiled packages is included too) and configuring Gentoo happens through regular textfiles. In other words, openness everywhere.<br />
<br />
{{Main|Gentoo}}<br />
<br />
=== Android ===<br />
<br />
Android is a mobile phone platform by Google, and later the Open Handset Alliance (OHA). Openmoko is fully supporting Android running on the Freerunner. Details along with images are being constructed at the moment. Visit the user web page for [http://wiki.openmoko.org/wiki/User:Seanmcneil3 Sean McNeil] for further details. And you can download kernel and image [http://people.openmoko.org/sean_mcneil/ here]. To boot the Kernel you have to adjust your [http://www.denx.de/wiki/U-Boot u-boot] environment to support a Kernel of more then 2 MB or your have to change to the [http://wiki.openmoko.org/wiki/Qi Qi] Bootloader.<br />
<br />
{{Main|Android}}<br />
<br />
=== Hackable:1===<br />
Hackable1 is a community distribution for hackable devices like the Neo Freerunner. It is based on Debian and implements the GNOME mobile platform. <br />
{{Main|Hackable:1}}<br />
<br />
=== Others / unreleased ===<br />
<br />
* The [http://www.neopwn.com/software.php NeoPwn] network auditng system's core is a modified Linux 2.6.24 kernel, with cross-compiled module driver support for the numerous compatible addon devices running on a FULL Debian (ARMEL) operating system. The filesystem has been optimized for performance and size and includes the NeoPwn menu system and several GUI dialogs for hardware control and attack automation. ''Status: Unknown, the GPL requires source code to be distributed only to customers''.<br />
* [http://runningbear.org/trac RunningBear] is an innovative, yet free and open-source Operating System for hackable devices driven by Bearstech. Lightweight, Portable, Secure, Friendly and Useful. ''Status: In development''.<br />
* [http://pokylinux.org/ Poky] and Sato, by OpenedHand/Intel. An open source platform build tool derived from OE. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both ARM and x86 based platforms. ''Status: The "Nightly Build" Image works fine on Neo Freerunner, but phone functionality doesn't.''<br />
* [http://pyneo.org/ PyNeo] pyneo is a stack for mobile devices excessivly using dbus, glib and evas. Mickey Lauer used most of the technics & architecture, library & language choices of pyneo in fso. ''Status: still active, ask around on #neo1973-germany ''<br />
* [http://www.quantum-step.com/ mySTEP] by Openmoko distributor Golden Delicious Computers is based on GNUstep and brings a Objective-C API to the Neo. Core GUI frameworks are "Foundation" & "AppKit". It has been shown on FOSDEM 2008, LinuxTag 2008 and SYSTEMS 2008 to run on the Neo 1973. If someone reengineers UIKit, (open) source code compatibility to iPhone apps appears achievable. ''Status: it does not have its own kernel so a Freerunner distribution waits for a solid basis and an arm-linux-gnueabi toolchain that runs natively on Mac OS X is currently lacking.''<br />
<br />
= Features by distribution/release target =<br />
<br />
Generally, distributions can differ on one or more of the following components:<br />
* The bootsplash screen image. This is purely decorative.<br />
* The bootloader. Theoretically, any version of ''uboot'' could be used with any distribution. In the future ''Qi'' will replace ''uboot''.<br />
* The kernel. GNU/Linux kernels versions 2.6.24, 2.6.26 or 2.6.28 can be found. Some have modules compiled in, others have modules compiled separately. If compiled separately, modules can be distributed in the same package file as the kernel or separately.<br />
* Middleware: daemons to handle GSM calls or GPS, sound system, personal information storage and so on. Qt and Android have their own subsystems, FreeSmartphone.Org (FSO) is working towards a standard-based Free Software one.<br />
* Display driver. The original ''Qt Extended'' uses the framebuffer, most other distributions today use ''X11''.<br />
* Libraries and application framework (widget toolkit and and graphical environment) : EFL, Qt, Gtk+ or Java ?<br />
* Basic telephony applications: voice calls, SMS, alarm clock...<br />
* Smartphone applications: GPS, media player, simple games, web browser...<br />
* Open source applications: more games, scientific, you name it...<br />
<br />
=== Hardware Support ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTA01 || ?? || ?? || ?? || {{Yes}} || ?? || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| GTA02 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Connectivity ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Telephony || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| SMS || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[GPRS]] || Not through UI || Not through UI|| Not through UI || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[WiFi]] || {{Yes}} (*) || {{Yes}} || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| VoIP || ?? || ?? || ?? || ?? || {{Yes}} || {{Yes}} (1) || {{Yes}} || ?? || {{no}}<br />
|-<br />
| Bluetooth || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| GPS (1) || {{Yes}} (1) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Power ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Suspend || ?? || ?? || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ?? || ??<br />
|-<br />
| Resumes on Event || ?? || ?? || ?? || ?? || {{Yes}} || {{No}} || ?? || ?? || ??<br />
|-<br />
| Functions after Resume || ?? || ?? || ?? || {{Yes}} || {{No}} || {{No}} ||?? || ?? || ??<br />
|-<br />
|}<br />
<br />
=== User Interaction ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|Om2008.8 !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Stylus friendly || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| Finger friendly || Partially || Partially || Partially || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}}<br />
|-<br />
| Accelerometer || {{Yes}} [[Rotate|(1)]][[Gestures|(1)]] || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Applications ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Terminal || {{Yes}} (1) || Basic (2) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| PIM || {{Yes}} || {{Yes}} || {{No}} || N/A || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || ??<br />
|-<br />
| Phonebook || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Dialer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Web Browser || {{Yes}} (1) || {{Yes}} (1) || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Mail Client || {{Yes}} || ? || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| XMPP Client || {{Yes}} [[Instant Messaging|(1)]] || {{Yes}} (1) || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || || ??<br />
|-<br />
| Media Player || {{Yes}} (1) || {{Yes}} || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Toolkits / Runtimes ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTK+ || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || ?? || ??<br />
|-<br />
| Qt/Qt Extended || {{Yes}} || {{No}} || {{Yes}} ? || {{Yes}}? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| Middleware || qtopia-x11 || gsmd/neod || FSO || FSO || qtopia-x11 || Qt Extended || FSO || ?? || ??<br />
|-<br />
| [[Java]] || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes}} || ?? || {{Yes|CacaoVM, JamVM}} || ?? || ??<br />
|-<br />
| [[Python]] || {{Yes}} || {{Yes}} || {{Yes}} || {{yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| [[Mono]] || {{Yes}} (1) || {{Yes}} (1) || ?? || {{no}} || ?? || ?? || {{Yes}} (1) || ?? || ??<br />
|}<br />
<br />
=== Images ===<br />
Latest and stable combinations for Neo FreeRunner gta02<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
| || OM || FDOM || Qt Extended || Android<br />
|-<br />
| current bootloader || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] ||<br />
|-<br />
| future bootloader || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu ||<br />
|-<br />
| splash || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz ||<br />
|-<br />
| kernel || [[Linux]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest uImage.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/uImage-android 2.6.26-android]<br />
|-<br />
| modules || ? || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz ||<br />
|-<br />
| rootfs || [[Main_Page|OM]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest rootfs.jffs2 || [[FDOM]] from [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/ TuxBrain] version [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/Fat_and_Dirty_OM.200809_20081023.rootfs.jff2 200809_20081023] || [[Qtopia_/_Qt_Extended_on_FreeRunner|QtExtended]] from [http://qtextended.org/modules/mydownloads/viewcat.php?cid=6 TrollTech] latest qtextended-gta02-flash.tgz or from [http://other.lastnetwork.net/OpenMoko/ Hypnotize] latest qtextended-gta02-rootfs-release-working.jffs2 || [[Android]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/androidfs.jffs2 android]<br />
|}<br />
<br />
Footnotes:<br />
<br />
(1) works, but need additional software to be installed<br />
<br />
(2) unusable due to lack of certain keyboard characters. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]<br />
<br />
(*) unstable<br />
<br />
==Quick download page==<br />
<br />
[[Download]]<br />
<br />
== See also ==<br />
<br />
* Mickey Lauer's post "[http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!]" describes the differences between distributions 2007.2, ASU and FSO.<br />
<br />
[[Category:Distributions| ]]</div>Digisushttp://openmoko.org/wiki/DistributionsDistributions2008-12-28T15:22:46Z<p>Digisus: /* Openmoko Community driven release targets */</p>
<hr />
<div>{{Languages|Distributions}}<br />
<br />
{|align=right<br />
|__TOC__<br />
|}<br />
<br />
= About distributions =<br />
Openmoko distributions are designed to run on various mobile devices, with the primary aim of supporting Openmoko Inc.'s [[GTA01:Neo 1973|Neo 1973]] and [[Neo FreeRunner]] phones. They are GNU/Linux distributions -- complete operating systems including user applications. You can install any of them on your phone or even have a dualboot system with two distributions installed.<br />
<br />
Openmoko distributions will run on [[Supported devices|other]] mobile devices too and some other software distributions will also run on the phones of Openmoko Inc. (see below).<br />
<br />
For downloads see [[Download]], for installation instructions see [[Flashing the Neo FreeRunner]].<br />
<br />
=== Which distribution should I use ?===<br />
* Most new users find [[FDOM]] the most comprehensive and functional distribution.<br />
* If you want "just a phone", try [[Qtopia]].<br />
* If you want to develop anything that last, your platform is [[FSO]] (and the choice between EFL, GTK+, Qt, Java, Python or whatever is open).<br />
* [[SHR]], [[Debian]], [[Gentoo]] and [[Android]] are for people who do not need to ask which distribution they should use.<br />
* Tracking the "base image" by updating daily from testing/unstable is a different game either.<br />
<br />
===Status as of December 12th, 2008 ===<br />
* The phones ship with [[Om 2007.2]]. It is not supported by Openmoko Inc. anymore. But community developpers continue to work on its phone stack in the [[SHR]] project.<br />
* The branch currently supported by Openmoko Inc. is [[Om 2008.12 Update]], which is the second minor upgrade of [[Om 2008.8]] (the version formerly named ''ASU''). Based on that, the community made the [[FDOM]] distribution by adding lots of fixes and applications to it.<br />
* The trunk tip is a "base image" on which the next major release should be based. This next release can be previewed by installing milestones of the [[FSO]] - Free Smartphone.Org project. The [[Debian]] packaging team also track that branch.<br />
* The FreeRunner is a reference platform for TrollTech's ''Qt Extended'' (formerly [[Qtopia]]) distribution.<br />
* The Android port is work-in-progress.<br />
<br />
{| class="wikitable" style="float:right;width:200px;background-color:#FF6600;text-align:center;border-collapse:collapse;font-weight:bold"<br />
|<font color=white>Distributions</font><br />
|-<br />
! style='background-color:#333333;color:#FFFFFF'|<br />
<div align=left><br />
* <font color='#BBBBBB'>Openmoko (official)</font><br />
** [[Om 2008.12 Update]]<br />
** [[Om 2008.9 Update]]<br />
** [[Om 2008.8]]<br />
** [[Om 2007.2]]<br />
** [[OpenmokoFramework|FSO]]<br />
* <font color='#BBBBBB'>Community</font><br />
** [[SHR]]<br />
** [[FDOM]]<br />
* <font color='#BBBBBB'>Other</font><br />
** [[Qtopia]]<br />
** [[Debian]]<br />
** [[Gentoo]]<br />
** [[Android]]<br />
** [[Hackable:1]]<br />
</div><br />
|-<br />
|}<br />
<br />
=== Warnings ===<br />
<br />
* Stable in the FreeRunner world does not mean the same thing as stable in Debian world.<br />
* Most distributions use the same bootloader, kernel, drivers and hardware. Therefore, the same low level bugs are commonly found in all distributions. The latest and greatest software usually has most bug fixes, plus a whole set of new fresh bugs.<br />
* Most of these distributions also have package repositories. It is a BAD idea to feed from another distribution's repository.<br />
* Upgrade path between these distributions are mostly not tested, thus updating by changing the feeds will most likely end in broken packages or even an unbootable system. It is advisable to reflash the whole filesystem with [[dfu-util]] to switch between the different distributions, with the reminder that a dual-boot setup (e.g. via sdcard or NFS) can be used.<br />
<br />
= Official releases =<br />
<br />
These different 'release targets' offered by Openmoko Inc. are built out of different branches of the [[OpenEmbedded]] metadistribution source tree.<br />
<br />
=== Om 2008.12 ===<br />
<br />
The ''Om 2008.12 Update'' is the second point release after the initial ''Om 2008.8'' release.<br />
<br />
{{Main|Om 2008.12 Update}}<br />
<br />
=== Om 2008.9 ===<br />
<br />
The ''Om 2008.9 Update'' is the first point release after the initial ''Om 2008.8'' release. Openmoko recommends that all existing installations of Om 2008.8 should be updated to that version. Quality-wise, we are still far from the goal, but this version includes general stability enhancing operating system improvements and a new splash screen. No applications were added or removed. Users with basic telephony needs will find it tolerable as an everyday phone.<br />
<br />
{{Main|Om 2008.9 Update}}<br />
<br />
=== Om 2008.8 ===<br />
<br />
''Om 2008.8'' was released on August 8, 2008, to replace 2007.2. Prior to that, its codename was ASU (April/August Software Update). This is still the name of the branch in the version control system. This distribution integrates the [http://trolltech.com/products/qtopia Qtopia] phone stack with a set of new Openmoko applications based on the Enlightenment Foundation Libraries. Qtopia being a more mature product than the GNOME Mobile stack, the standard phone applications (dialer, contacts, calculator, calendar) work better than in 2007.2. The Qtopia used in 2008.8 was ported to run on X11, contrary to standard Qtopia which uses the framebuffer. This allows non-Qt applications to safely share the screen with Qt applications. This is a .0 release, many unresolved issues remain in the lower layers (kernel power management, sound, wifi drivers...).<br />
<br />
{{Main|Om2008.8}}<br />
<br />
=== Om 2007.2 ===<br />
<br />
[[Om 2007.2]] is the base-system which is installed on FreeRunner when it leaves the factory. The interface was totally finger-oriented, optimized for 285ppi, and very orange. It used the GTK+ stack, which is part of the [http://www.gnome.org/mobile/ GNOME Mobile] platform. This distribution is now considered obsolete and not being worked on by Openmoko Inc or by OpenedHand. There is a community effort (see [[SHR]]) to port the GTK based telephony applications to the future middleware from [[FSO]].<br />
<br />
{{Main|Om 2007.2}}<br />
<br />
=== FSO Milestone IV ===<br />
<br />
FSO is an abbreviation for FreeSmartphone.Org. Openmoko is working on a stable system services back-end. Focus is on stable highlevel services that you can access from whatever language or UI that supports [http://dbus.freesmartphone.org/ dbus]. The framework will be used in forthcoming Openmoko distributions. FSO is all about middleware, but if one stacks a bootloader+kernel under it and telephony applications on top, one gets a functional distribution. These are made available as FSO-image milestones. Openmoko Framework Image milestone IV was released on November 11th, 2008 and named 'Homework'. People report that despite its infancy, the phone server part in FSO is already more solid than anywhere else. The kernel under it is a Linux 2.6.24 with modules packaged separately. The telephony application on top of it is Zhone. This is a basic Python dialer/homescreen designed as scaffolding to test the FSO functionalities (even if Zhone is pretty, code path coverage is more critical to it than user-friendliness).<br />
<br />
{{Main|FSO}}<br />
<br />
= Community releases =<br />
<br />
=== SHR - Stable Hybrid Release ===<br />
<br />
SHR is a community driven distribution. It contains some basic GTK+ based applications which make use of the FSO. There currently is a EFL (with elementary) dialer, messages and contacts application programmed in C. As of November 9th, 2008, there is no stable release of this distribution yet, as the SHR team doesn't feel it to be good enough. You can find images though on the [http://shr.bearstech.com/shr-testing SHR buildhost].<br />
<br />
{{Main|Stable Hybrid Release}}<br />
<br />
=== FDOM (FAT and Dirty Openmoko) ===<br />
<br />
[[FDOM]] is a distribution based on Openmoko's currently supported image, updated with many ready-to-use applications and with fixes posted in the mailing lists. A combination of applications (everything goes) and fixes to demonstrate the capabilities of the Freerunner and to have a functional phone (sort of). This all while retaining the ability to update through the official feeds.<br />
<br />
{{Main|FDOM}}<br />
<br />
== Non-Openmoko distributions ==<br />
<br />
These are not Openmoko (and OE) based distributions. These are alternatives you can run on your Openmoko phones.<br />
<br />
=== Qt Extended ===<br />
<br />
The Qt Extended distribution was formerly known as Qtopia up to version 4.3.x included. It comes from [http://www.trolltech.com Trolltech], a Nokia company, the makers of the Qt cross-platform application framework. This distribution aims to provide a ready-to-use image for Openmoko devices. It features a noticeably robust telephony stack. Recent release 4.4.2 also sports a webkit-based web browser and Gtalk support.<br />
<br />
{{Main|Qtopia / Qt Extended on FreeRunner}}<br />
<br />
=== Debian ===<br />
<br />
Debian is "the universal operating system". It comes with thousands and thousands of packages (most of them designed for desktops or servers so far). So in the words of Joachim "nomeata" Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team, this is not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the Stable Hybrid Release software in our archive. So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)<br />
<br />
{{Main|Debian}}<br />
<br />
=== Gentoo ===<br />
<br />
Gentoo is all about choices. When installing Gentoo, this is made clear to you several times -- you can choose how much you want to compile yourself, how to install Gentoo, what system logger you want, etc. Gentoo is a fast, modern metadistribution with a clean and flexible design. Gentoo is built around free software and doesn't hide from its users what is beneath the hood. Portage, the package maintenance system which Gentoo uses, is written in Python, meaning you can easily view and modify the source code. Gentoo's packaging system uses source code (although support for precompiled packages is included too) and configuring Gentoo happens through regular textfiles. In other words, openness everywhere.<br />
<br />
{{Main|Gentoo}}<br />
<br />
=== Android ===<br />
<br />
Android is a mobile phone platform by Google, and later the Open Handset Alliance (OHA). Openmoko is fully supporting Android running on the Freerunner. Details along with images are being constructed at the moment. Visit the user web page for [http://wiki.openmoko.org/wiki/User:Seanmcneil3 Sean McNeil] for further details. And you can download kernel and image [http://people.openmoko.org/sean_mcneil/ here]. To boot the Kernel you have to adjust your [http://www.denx.de/wiki/U-Boot u-boot] environment to support a Kernel of more then 2 MB or your have to change to the [http://wiki.openmoko.org/wiki/Qi Qi] Bootloader.<br />
<br />
{{Main|Android}}<br />
<br />
=== Hackable:1===<br />
Hackable1 is a community distribution for hackable devices like the Neo Freerunner. It is based on Debian and implements the GNOME mobile platform. <br />
{{Main|Hackable:1}}<br />
<br />
=== Others / unreleased ===<br />
<br />
* The [http://www.neopwn.com/software.php NeoPwn] network auditng system's core is a modified Linux 2.6.24 kernel, with cross-compiled module driver support for the numerous compatible addon devices running on a FULL Debian (ARMEL) operating system. The filesystem has been optimized for performance and size and includes the NeoPwn menu system and several GUI dialogs for hardware control and attack automation. ''Status: Unknown, the GPL requires source code to be distributed only to customers''.<br />
* [http://runningbear.org/trac RunningBear] is an innovative, yet free and open-source Operating System for hackable devices driven by Bearstech. Lightweight, Portable, Secure, Friendly and Useful. ''Status: In development''.<br />
* [http://pokylinux.org/ Poky] and Sato, by OpenedHand/Intel. An open source platform build tool derived from OE. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both ARM and x86 based platforms. ''Status: The "Nightly Build" Image works fine on Neo Freerunner, but phone functionality doesn't.''<br />
* [http://pyneo.org/ PyNeo] pyneo is a stack for mobile devices excessivly using dbus, glib and evas. Mickey Lauer used most of the technics & architecture, library & language choices of pyneo in fso. ''Status: still active, ask around on #neo1973-germany ''<br />
* [http://www.quantum-step.com/ mySTEP] by Openmoko distributor Golden Delicious Computers is based on GNUstep and brings a Objective-C API to the Neo. Core GUI frameworks are "Foundation" & "AppKit". It has been shown on FOSDEM 2008, LinuxTag 2008 and SYSTEMS 2008 to run on the Neo 1973. If someone reengineers UIKit, (open) source code compatibility to iPhone apps appears achievable. ''Status: it does not have its own kernel so a Freerunner distribution waits for a solid basis and an arm-linux-gnueabi toolchain that runs natively on Mac OS X is currently lacking.''<br />
<br />
= Features by distribution/release target =<br />
<br />
Generally, distributions can differ on one or more of the following components:<br />
* The bootsplash screen image. This is purely decorative.<br />
* The bootloader. Theoretically, any version of ''uboot'' could be used with any distribution. In the future ''Qi'' will replace ''uboot''.<br />
* The kernel. GNU/Linux kernels versions 2.6.24, 2.6.26 or 2.6.28 can be found. Some have modules compiled in, others have modules compiled separately. If compiled separately, modules can be distributed in the same package file as the kernel or separately.<br />
* Middleware: daemons to handle GSM calls or GPS, sound system, personal information storage and so on. Qt and Android have their own subsystems, FreeSmartphone.Org (FSO) is working towards a standard-based Free Software one.<br />
* Display driver. The original ''Qt Extended'' uses the framebuffer, most other distributions today use ''X11''.<br />
* Libraries and application framework (widget toolkit and and graphical environment) : EFL, Qt, Gtk+ or Java ?<br />
* Basic telephony applications: voice calls, SMS, alarm clock...<br />
* Smartphone applications: GPS, media player, simple games, web browser...<br />
* Open source applications: more games, scientific, you name it...<br />
<br />
=== Hardware Support ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTA01 || ?? || ?? || ?? || {{Yes}} || ?? || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| GTA02 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Connectivity ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Telephony || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| SMS || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[GPRS]] || Not through UI || Not through UI|| Not through UI || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[WiFi]] || {{Yes}} (*) || {{Yes}} || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| VoIP || ?? || ?? || ?? || ?? || {{Yes}} || {{Yes}} (1) || {{Yes}} || ?? || {{no}}<br />
|-<br />
| Bluetooth || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| GPS (1) || {{Yes}} (1) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Power ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Suspend || ?? || ?? || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ?? || ??<br />
|-<br />
| Resumes on Event || ?? || ?? || ?? || ?? || {{Yes}} || {{No}} || ?? || ?? || ??<br />
|-<br />
| Functions after Resume || ?? || ?? || ?? || {{Yes}} || {{No}} || {{No}} ||?? || ?? || ??<br />
|-<br />
|}<br />
<br />
=== User Interaction ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|Om2008.8 !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Stylus friendly || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| Finger friendly || Partially || Partially || Partially || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}}<br />
|-<br />
| Accelerometer || {{Yes}} [[Rotate|(1)]][[Gestures|(1)]] || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Applications ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Terminal || {{Yes}} (1) || Basic (2) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| PIM || {{Yes}} || {{Yes}} || {{No}} || N/A || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || ??<br />
|-<br />
| Phonebook || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Dialer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Web Browser || {{Yes}} (1) || {{Yes}} (1) || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Mail Client || {{Yes}} || ? || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| XMPP Client || {{Yes}} [[Instant Messaging|(1)]] || {{Yes}} (1) || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || || ??<br />
|-<br />
| Media Player || {{Yes}} (1) || {{Yes}} || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Toolkits / Runtimes ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTK+ || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || ?? || ??<br />
|-<br />
| Qt/Qt Extended || {{Yes}} || {{No}} || {{Yes}} ? || {{Yes}}? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| Middleware || qtopia-x11 || gsmd/neod || FSO || FSO || qtopia-x11 || Qt Extended || FSO || ?? || ??<br />
|-<br />
| [[Java]] || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes}} || ?? || {{Yes|CacaoVM, JamVM}} || ?? || ??<br />
|-<br />
| [[Python]] || {{Yes}} || {{Yes}} || {{Yes}} || {{yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| [[Mono]] || {{Yes}} (1) || {{Yes}} (1) || ?? || {{no}} || ?? || ?? || {{Yes}} (1) || ?? || ??<br />
|}<br />
<br />
=== Images ===<br />
Latest and stable combinations for Neo FreeRunner gta02<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
| || OM || FDOM || Qt Extended || Android<br />
|-<br />
| current bootloader || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] ||<br />
|-<br />
| future bootloader || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu ||<br />
|-<br />
| splash || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz ||<br />
|-<br />
| kernel || [[Linux]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest uImage.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/uImage-android 2.6.26-android]<br />
|-<br />
| modules || ? || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz ||<br />
|-<br />
| rootfs || [[Main_Page|OM]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest rootfs.jffs2 || [[FDOM]] from [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/ TuxBrain] version [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/Fat_and_Dirty_OM.200809_20081023.rootfs.jff2 200809_20081023] || [[Qtopia_/_Qt_Extended_on_FreeRunner|QtExtended]] from [http://qtextended.org/modules/mydownloads/viewcat.php?cid=6 TrollTech] latest qtextended-gta02-flash.tgz or from [http://other.lastnetwork.net/OpenMoko/ Hypnotize] latest qtextended-gta02-rootfs-release-working.jffs2 || [[Android]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/androidfs.jffs2 android]<br />
|}<br />
<br />
Footnotes:<br />
<br />
(1) works, but need additional software to be installed<br />
<br />
(2) unusable due to lack of certain keyboard characters. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]<br />
<br />
(*) unstable<br />
<br />
==Quick download page==<br />
<br />
[[Download]]<br />
<br />
== See also ==<br />
<br />
* Mickey Lauer's post "[http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!]" describes the differences between distributions 2007.2, ASU and FSO.<br />
<br />
[[Category:Distributions| ]]</div>Digisushttp://openmoko.org/wiki/DistributionsDistributions2008-12-28T15:22:05Z<p>Digisus: /* Openmoko Inc. driven release targets */</p>
<hr />
<div>{{Languages|Distributions}}<br />
<br />
{|align=right<br />
|__TOC__<br />
|}<br />
<br />
= About distributions =<br />
Openmoko distributions are designed to run on various mobile devices, with the primary aim of supporting Openmoko Inc.'s [[GTA01:Neo 1973|Neo 1973]] and [[Neo FreeRunner]] phones. They are GNU/Linux distributions -- complete operating systems including user applications. You can install any of them on your phone or even have a dualboot system with two distributions installed.<br />
<br />
Openmoko distributions will run on [[Supported devices|other]] mobile devices too and some other software distributions will also run on the phones of Openmoko Inc. (see below).<br />
<br />
For downloads see [[Download]], for installation instructions see [[Flashing the Neo FreeRunner]].<br />
<br />
=== Which distribution should I use ?===<br />
* Most new users find [[FDOM]] the most comprehensive and functional distribution.<br />
* If you want "just a phone", try [[Qtopia]].<br />
* If you want to develop anything that last, your platform is [[FSO]] (and the choice between EFL, GTK+, Qt, Java, Python or whatever is open).<br />
* [[SHR]], [[Debian]], [[Gentoo]] and [[Android]] are for people who do not need to ask which distribution they should use.<br />
* Tracking the "base image" by updating daily from testing/unstable is a different game either.<br />
<br />
===Status as of December 12th, 2008 ===<br />
* The phones ship with [[Om 2007.2]]. It is not supported by Openmoko Inc. anymore. But community developpers continue to work on its phone stack in the [[SHR]] project.<br />
* The branch currently supported by Openmoko Inc. is [[Om 2008.12 Update]], which is the second minor upgrade of [[Om 2008.8]] (the version formerly named ''ASU''). Based on that, the community made the [[FDOM]] distribution by adding lots of fixes and applications to it.<br />
* The trunk tip is a "base image" on which the next major release should be based. This next release can be previewed by installing milestones of the [[FSO]] - Free Smartphone.Org project. The [[Debian]] packaging team also track that branch.<br />
* The FreeRunner is a reference platform for TrollTech's ''Qt Extended'' (formerly [[Qtopia]]) distribution.<br />
* The Android port is work-in-progress.<br />
<br />
{| class="wikitable" style="float:right;width:200px;background-color:#FF6600;text-align:center;border-collapse:collapse;font-weight:bold"<br />
|<font color=white>Distributions</font><br />
|-<br />
! style='background-color:#333333;color:#FFFFFF'|<br />
<div align=left><br />
* <font color='#BBBBBB'>Openmoko (official)</font><br />
** [[Om 2008.12 Update]]<br />
** [[Om 2008.9 Update]]<br />
** [[Om 2008.8]]<br />
** [[Om 2007.2]]<br />
** [[OpenmokoFramework|FSO]]<br />
* <font color='#BBBBBB'>Community</font><br />
** [[SHR]]<br />
** [[FDOM]]<br />
* <font color='#BBBBBB'>Other</font><br />
** [[Qtopia]]<br />
** [[Debian]]<br />
** [[Gentoo]]<br />
** [[Android]]<br />
** [[Hackable:1]]<br />
</div><br />
|-<br />
|}<br />
<br />
=== Warnings ===<br />
<br />
* Stable in the FreeRunner world does not mean the same thing as stable in Debian world.<br />
* Most distributions use the same bootloader, kernel, drivers and hardware. Therefore, the same low level bugs are commonly found in all distributions. The latest and greatest software usually has most bug fixes, plus a whole set of new fresh bugs.<br />
* Most of these distributions also have package repositories. It is a BAD idea to feed from another distribution's repository.<br />
* Upgrade path between these distributions are mostly not tested, thus updating by changing the feeds will most likely end in broken packages or even an unbootable system. It is advisable to reflash the whole filesystem with [[dfu-util]] to switch between the different distributions, with the reminder that a dual-boot setup (e.g. via sdcard or NFS) can be used.<br />
<br />
= Official releases =<br />
<br />
These different 'release targets' offered by Openmoko Inc. are built out of different branches of the [[OpenEmbedded]] metadistribution source tree.<br />
<br />
=== Om 2008.12 ===<br />
<br />
The ''Om 2008.12 Update'' is the second point release after the initial ''Om 2008.8'' release.<br />
<br />
{{Main|Om 2008.12 Update}}<br />
<br />
=== Om 2008.9 ===<br />
<br />
The ''Om 2008.9 Update'' is the first point release after the initial ''Om 2008.8'' release. Openmoko recommends that all existing installations of Om 2008.8 should be updated to that version. Quality-wise, we are still far from the goal, but this version includes general stability enhancing operating system improvements and a new splash screen. No applications were added or removed. Users with basic telephony needs will find it tolerable as an everyday phone.<br />
<br />
{{Main|Om 2008.9 Update}}<br />
<br />
=== Om 2008.8 ===<br />
<br />
''Om 2008.8'' was released on August 8, 2008, to replace 2007.2. Prior to that, its codename was ASU (April/August Software Update). This is still the name of the branch in the version control system. This distribution integrates the [http://trolltech.com/products/qtopia Qtopia] phone stack with a set of new Openmoko applications based on the Enlightenment Foundation Libraries. Qtopia being a more mature product than the GNOME Mobile stack, the standard phone applications (dialer, contacts, calculator, calendar) work better than in 2007.2. The Qtopia used in 2008.8 was ported to run on X11, contrary to standard Qtopia which uses the framebuffer. This allows non-Qt applications to safely share the screen with Qt applications. This is a .0 release, many unresolved issues remain in the lower layers (kernel power management, sound, wifi drivers...).<br />
<br />
{{Main|Om2008.8}}<br />
<br />
=== Om 2007.2 ===<br />
<br />
[[Om 2007.2]] is the base-system which is installed on FreeRunner when it leaves the factory. The interface was totally finger-oriented, optimized for 285ppi, and very orange. It used the GTK+ stack, which is part of the [http://www.gnome.org/mobile/ GNOME Mobile] platform. This distribution is now considered obsolete and not being worked on by Openmoko Inc or by OpenedHand. There is a community effort (see [[SHR]]) to port the GTK based telephony applications to the future middleware from [[FSO]].<br />
<br />
{{Main|Om 2007.2}}<br />
<br />
=== FSO Milestone IV ===<br />
<br />
FSO is an abbreviation for FreeSmartphone.Org. Openmoko is working on a stable system services back-end. Focus is on stable highlevel services that you can access from whatever language or UI that supports [http://dbus.freesmartphone.org/ dbus]. The framework will be used in forthcoming Openmoko distributions. FSO is all about middleware, but if one stacks a bootloader+kernel under it and telephony applications on top, one gets a functional distribution. These are made available as FSO-image milestones. Openmoko Framework Image milestone IV was released on November 11th, 2008 and named 'Homework'. People report that despite its infancy, the phone server part in FSO is already more solid than anywhere else. The kernel under it is a Linux 2.6.24 with modules packaged separately. The telephony application on top of it is Zhone. This is a basic Python dialer/homescreen designed as scaffolding to test the FSO functionalities (even if Zhone is pretty, code path coverage is more critical to it than user-friendliness).<br />
<br />
{{Main|FSO}}<br />
<br />
= Openmoko Community driven release targets =<br />
<br />
=== SHR - Stable Hybrid Release ===<br />
<br />
SHR is a community driven distribution. It contains some basic GTK+ based applications which make use of the FSO. There currently is a EFL (with elementary) dialer, messages and contacts application programmed in C. As of November 9th, 2008, there is no stable release of this distribution yet, as the SHR team doesn't feel it to be good enough. You can find images though on the [http://shr.bearstech.com/shr-testing SHR buildhost].<br />
<br />
{{Main|Stable Hybrid Release}}<br />
<br />
=== FDOM (FAT and Dirty Openmoko) ===<br />
<br />
[[FDOM]] is a distribution based on Openmoko's currently supported image, updated with many ready-to-use applications and with fixes posted in the mailing lists. A combination of applications (everything goes) and fixes to demonstrate the capabilities of the Freerunner and to have a functional phone (sort of). This all while retaining the ability to update through the official feeds.<br />
<br />
{{Main|FDOM}}<br />
<br />
== Non-Openmoko distributions ==<br />
<br />
These are not Openmoko (and OE) based distributions. These are alternatives you can run on your Openmoko phones.<br />
<br />
=== Qt Extended ===<br />
<br />
The Qt Extended distribution was formerly known as Qtopia up to version 4.3.x included. It comes from [http://www.trolltech.com Trolltech], a Nokia company, the makers of the Qt cross-platform application framework. This distribution aims to provide a ready-to-use image for Openmoko devices. It features a noticeably robust telephony stack. Recent release 4.4.2 also sports a webkit-based web browser and Gtalk support.<br />
<br />
{{Main|Qtopia / Qt Extended on FreeRunner}}<br />
<br />
=== Debian ===<br />
<br />
Debian is "the universal operating system". It comes with thousands and thousands of packages (most of them designed for desktops or servers so far). So in the words of Joachim "nomeata" Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team, this is not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the Stable Hybrid Release software in our archive. So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)<br />
<br />
{{Main|Debian}}<br />
<br />
=== Gentoo ===<br />
<br />
Gentoo is all about choices. When installing Gentoo, this is made clear to you several times -- you can choose how much you want to compile yourself, how to install Gentoo, what system logger you want, etc. Gentoo is a fast, modern metadistribution with a clean and flexible design. Gentoo is built around free software and doesn't hide from its users what is beneath the hood. Portage, the package maintenance system which Gentoo uses, is written in Python, meaning you can easily view and modify the source code. Gentoo's packaging system uses source code (although support for precompiled packages is included too) and configuring Gentoo happens through regular textfiles. In other words, openness everywhere.<br />
<br />
{{Main|Gentoo}}<br />
<br />
=== Android ===<br />
<br />
Android is a mobile phone platform by Google, and later the Open Handset Alliance (OHA). Openmoko is fully supporting Android running on the Freerunner. Details along with images are being constructed at the moment. Visit the user web page for [http://wiki.openmoko.org/wiki/User:Seanmcneil3 Sean McNeil] for further details. And you can download kernel and image [http://people.openmoko.org/sean_mcneil/ here]. To boot the Kernel you have to adjust your [http://www.denx.de/wiki/U-Boot u-boot] environment to support a Kernel of more then 2 MB or your have to change to the [http://wiki.openmoko.org/wiki/Qi Qi] Bootloader.<br />
<br />
{{Main|Android}}<br />
<br />
=== Hackable:1===<br />
Hackable1 is a community distribution for hackable devices like the Neo Freerunner. It is based on Debian and implements the GNOME mobile platform. <br />
{{Main|Hackable:1}}<br />
<br />
=== Others / unreleased ===<br />
<br />
* The [http://www.neopwn.com/software.php NeoPwn] network auditng system's core is a modified Linux 2.6.24 kernel, with cross-compiled module driver support for the numerous compatible addon devices running on a FULL Debian (ARMEL) operating system. The filesystem has been optimized for performance and size and includes the NeoPwn menu system and several GUI dialogs for hardware control and attack automation. ''Status: Unknown, the GPL requires source code to be distributed only to customers''.<br />
* [http://runningbear.org/trac RunningBear] is an innovative, yet free and open-source Operating System for hackable devices driven by Bearstech. Lightweight, Portable, Secure, Friendly and Useful. ''Status: In development''.<br />
* [http://pokylinux.org/ Poky] and Sato, by OpenedHand/Intel. An open source platform build tool derived from OE. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both ARM and x86 based platforms. ''Status: The "Nightly Build" Image works fine on Neo Freerunner, but phone functionality doesn't.''<br />
* [http://pyneo.org/ PyNeo] pyneo is a stack for mobile devices excessivly using dbus, glib and evas. Mickey Lauer used most of the technics & architecture, library & language choices of pyneo in fso. ''Status: still active, ask around on #neo1973-germany ''<br />
* [http://www.quantum-step.com/ mySTEP] by Openmoko distributor Golden Delicious Computers is based on GNUstep and brings a Objective-C API to the Neo. Core GUI frameworks are "Foundation" & "AppKit". It has been shown on FOSDEM 2008, LinuxTag 2008 and SYSTEMS 2008 to run on the Neo 1973. If someone reengineers UIKit, (open) source code compatibility to iPhone apps appears achievable. ''Status: it does not have its own kernel so a Freerunner distribution waits for a solid basis and an arm-linux-gnueabi toolchain that runs natively on Mac OS X is currently lacking.''<br />
<br />
= Features by distribution/release target =<br />
<br />
Generally, distributions can differ on one or more of the following components:<br />
* The bootsplash screen image. This is purely decorative.<br />
* The bootloader. Theoretically, any version of ''uboot'' could be used with any distribution. In the future ''Qi'' will replace ''uboot''.<br />
* The kernel. GNU/Linux kernels versions 2.6.24, 2.6.26 or 2.6.28 can be found. Some have modules compiled in, others have modules compiled separately. If compiled separately, modules can be distributed in the same package file as the kernel or separately.<br />
* Middleware: daemons to handle GSM calls or GPS, sound system, personal information storage and so on. Qt and Android have their own subsystems, FreeSmartphone.Org (FSO) is working towards a standard-based Free Software one.<br />
* Display driver. The original ''Qt Extended'' uses the framebuffer, most other distributions today use ''X11''.<br />
* Libraries and application framework (widget toolkit and and graphical environment) : EFL, Qt, Gtk+ or Java ?<br />
* Basic telephony applications: voice calls, SMS, alarm clock...<br />
* Smartphone applications: GPS, media player, simple games, web browser...<br />
* Open source applications: more games, scientific, you name it...<br />
<br />
=== Hardware Support ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTA01 || ?? || ?? || ?? || {{Yes}} || ?? || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| GTA02 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Connectivity ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Telephony || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| SMS || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[GPRS]] || Not through UI || Not through UI|| Not through UI || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[WiFi]] || {{Yes}} (*) || {{Yes}} || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| VoIP || ?? || ?? || ?? || ?? || {{Yes}} || {{Yes}} (1) || {{Yes}} || ?? || {{no}}<br />
|-<br />
| Bluetooth || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| GPS (1) || {{Yes}} (1) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Power ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Suspend || ?? || ?? || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ?? || ??<br />
|-<br />
| Resumes on Event || ?? || ?? || ?? || ?? || {{Yes}} || {{No}} || ?? || ?? || ??<br />
|-<br />
| Functions after Resume || ?? || ?? || ?? || {{Yes}} || {{No}} || {{No}} ||?? || ?? || ??<br />
|-<br />
|}<br />
<br />
=== User Interaction ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|Om2008.8 !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Stylus friendly || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| Finger friendly || Partially || Partially || Partially || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}}<br />
|-<br />
| Accelerometer || {{Yes}} [[Rotate|(1)]][[Gestures|(1)]] || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Applications ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Terminal || {{Yes}} (1) || Basic (2) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| PIM || {{Yes}} || {{Yes}} || {{No}} || N/A || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || ??<br />
|-<br />
| Phonebook || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Dialer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Web Browser || {{Yes}} (1) || {{Yes}} (1) || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Mail Client || {{Yes}} || ? || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| XMPP Client || {{Yes}} [[Instant Messaging|(1)]] || {{Yes}} (1) || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || || ??<br />
|-<br />
| Media Player || {{Yes}} (1) || {{Yes}} || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Toolkits / Runtimes ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTK+ || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || ?? || ??<br />
|-<br />
| Qt/Qt Extended || {{Yes}} || {{No}} || {{Yes}} ? || {{Yes}}? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| Middleware || qtopia-x11 || gsmd/neod || FSO || FSO || qtopia-x11 || Qt Extended || FSO || ?? || ??<br />
|-<br />
| [[Java]] || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes}} || ?? || {{Yes|CacaoVM, JamVM}} || ?? || ??<br />
|-<br />
| [[Python]] || {{Yes}} || {{Yes}} || {{Yes}} || {{yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| [[Mono]] || {{Yes}} (1) || {{Yes}} (1) || ?? || {{no}} || ?? || ?? || {{Yes}} (1) || ?? || ??<br />
|}<br />
<br />
=== Images ===<br />
Latest and stable combinations for Neo FreeRunner gta02<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
| || OM || FDOM || Qt Extended || Android<br />
|-<br />
| current bootloader || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] ||<br />
|-<br />
| future bootloader || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu ||<br />
|-<br />
| splash || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz ||<br />
|-<br />
| kernel || [[Linux]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest uImage.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/uImage-android 2.6.26-android]<br />
|-<br />
| modules || ? || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz ||<br />
|-<br />
| rootfs || [[Main_Page|OM]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest rootfs.jffs2 || [[FDOM]] from [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/ TuxBrain] version [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/Fat_and_Dirty_OM.200809_20081023.rootfs.jff2 200809_20081023] || [[Qtopia_/_Qt_Extended_on_FreeRunner|QtExtended]] from [http://qtextended.org/modules/mydownloads/viewcat.php?cid=6 TrollTech] latest qtextended-gta02-flash.tgz or from [http://other.lastnetwork.net/OpenMoko/ Hypnotize] latest qtextended-gta02-rootfs-release-working.jffs2 || [[Android]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/androidfs.jffs2 android]<br />
|}<br />
<br />
Footnotes:<br />
<br />
(1) works, but need additional software to be installed<br />
<br />
(2) unusable due to lack of certain keyboard characters. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]<br />
<br />
(*) unstable<br />
<br />
==Quick download page==<br />
<br />
[[Download]]<br />
<br />
== See also ==<br />
<br />
* Mickey Lauer's post "[http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!]" describes the differences between distributions 2007.2, ASU and FSO.<br />
<br />
[[Category:Distributions| ]]</div>Digisushttp://openmoko.org/wiki/DistributionsDistributions2008-12-28T15:19:47Z<p>Digisus: /* About distributions */</p>
<hr />
<div>{{Languages|Distributions}}<br />
<br />
{|align=right<br />
|__TOC__<br />
|}<br />
<br />
= About distributions =<br />
Openmoko distributions are designed to run on various mobile devices, with the primary aim of supporting Openmoko Inc.'s [[GTA01:Neo 1973|Neo 1973]] and [[Neo FreeRunner]] phones. They are GNU/Linux distributions -- complete operating systems including user applications. You can install any of them on your phone or even have a dualboot system with two distributions installed.<br />
<br />
Openmoko distributions will run on [[Supported devices|other]] mobile devices too and some other software distributions will also run on the phones of Openmoko Inc. (see below).<br />
<br />
For downloads see [[Download]], for installation instructions see [[Flashing the Neo FreeRunner]].<br />
<br />
=== Which distribution should I use ?===<br />
* Most new users find [[FDOM]] the most comprehensive and functional distribution.<br />
* If you want "just a phone", try [[Qtopia]].<br />
* If you want to develop anything that last, your platform is [[FSO]] (and the choice between EFL, GTK+, Qt, Java, Python or whatever is open).<br />
* [[SHR]], [[Debian]], [[Gentoo]] and [[Android]] are for people who do not need to ask which distribution they should use.<br />
* Tracking the "base image" by updating daily from testing/unstable is a different game either.<br />
<br />
===Status as of December 12th, 2008 ===<br />
* The phones ship with [[Om 2007.2]]. It is not supported by Openmoko Inc. anymore. But community developpers continue to work on its phone stack in the [[SHR]] project.<br />
* The branch currently supported by Openmoko Inc. is [[Om 2008.12 Update]], which is the second minor upgrade of [[Om 2008.8]] (the version formerly named ''ASU''). Based on that, the community made the [[FDOM]] distribution by adding lots of fixes and applications to it.<br />
* The trunk tip is a "base image" on which the next major release should be based. This next release can be previewed by installing milestones of the [[FSO]] - Free Smartphone.Org project. The [[Debian]] packaging team also track that branch.<br />
* The FreeRunner is a reference platform for TrollTech's ''Qt Extended'' (formerly [[Qtopia]]) distribution.<br />
* The Android port is work-in-progress.<br />
<br />
{| class="wikitable" style="float:right;width:200px;background-color:#FF6600;text-align:center;border-collapse:collapse;font-weight:bold"<br />
|<font color=white>Distributions</font><br />
|-<br />
! style='background-color:#333333;color:#FFFFFF'|<br />
<div align=left><br />
* <font color='#BBBBBB'>Openmoko (official)</font><br />
** [[Om 2008.12 Update]]<br />
** [[Om 2008.9 Update]]<br />
** [[Om 2008.8]]<br />
** [[Om 2007.2]]<br />
** [[OpenmokoFramework|FSO]]<br />
* <font color='#BBBBBB'>Community</font><br />
** [[SHR]]<br />
** [[FDOM]]<br />
* <font color='#BBBBBB'>Other</font><br />
** [[Qtopia]]<br />
** [[Debian]]<br />
** [[Gentoo]]<br />
** [[Android]]<br />
** [[Hackable:1]]<br />
</div><br />
|-<br />
|}<br />
<br />
=== Warnings ===<br />
<br />
* Stable in the FreeRunner world does not mean the same thing as stable in Debian world.<br />
* Most distributions use the same bootloader, kernel, drivers and hardware. Therefore, the same low level bugs are commonly found in all distributions. The latest and greatest software usually has most bug fixes, plus a whole set of new fresh bugs.<br />
* Most of these distributions also have package repositories. It is a BAD idea to feed from another distribution's repository.<br />
* Upgrade path between these distributions are mostly not tested, thus updating by changing the feeds will most likely end in broken packages or even an unbootable system. It is advisable to reflash the whole filesystem with [[dfu-util]] to switch between the different distributions, with the reminder that a dual-boot setup (e.g. via sdcard or NFS) can be used.<br />
<br />
= Openmoko Inc. driven release targets =<br />
<br />
These different 'release targets' are built out of different branches of the [[OpenEmbedded]] metadistribution source tree.<br />
<br />
=== Om 2008.12 ===<br />
<br />
The ''Om 2008.12 Update'' is the second point release after the initial ''Om 2008.8'' release.<br />
<br />
{{Main|Om 2008.12 Update}}<br />
<br />
=== Om 2008.9 ===<br />
<br />
The ''Om 2008.9 Update'' is the first point release after the initial ''Om 2008.8'' release. Openmoko recommends that all existing installations of Om 2008.8 should be updated to that version. Quality-wise, we are still far from the goal, but this version includes general stability enhancing operating system improvements and a new splash screen. No applications were added or removed. Users with basic telephony needs will find it tolerable as an everyday phone.<br />
<br />
{{Main|Om 2008.9 Update}}<br />
<br />
=== Om 2008.8 ===<br />
<br />
''Om 2008.8'' was released on August 8, 2008, to replace 2007.2. Prior to that, its codename was ASU (April/August Software Update). This is still the name of the branch in the version control system. This distribution integrates the [http://trolltech.com/products/qtopia Qtopia] phone stack with a set of new Openmoko applications based on the Enlightenment Foundation Libraries. Qtopia being a more mature product than the GNOME Mobile stack, the standard phone applications (dialer, contacts, calculator, calendar) work better than in 2007.2. The Qtopia used in 2008.8 was ported to run on X11, contrary to standard Qtopia which uses the framebuffer. This allows non-Qt applications to safely share the screen with Qt applications. This is a .0 release, many unresolved issues remain in the lower layers (kernel power management, sound, wifi drivers...).<br />
<br />
{{Main|Om2008.8}}<br />
<br />
=== Om 2007.2 ===<br />
<br />
[[Om 2007.2]] is the base-system which is installed on FreeRunner when it leaves the factory. The interface was totally finger-oriented, optimized for 285ppi, and very orange. It used the GTK+ stack, which is part of the [http://www.gnome.org/mobile/ GNOME Mobile] platform. This distribution is now considered obsolete and not being worked on by Openmoko Inc or by OpenedHand. There is a community effort (see [[SHR]]) to port the GTK based telephony applications to the future middleware from [[FSO]].<br />
<br />
{{Main|Om 2007.2}}<br />
<br />
=== FSO Milestone IV ===<br />
<br />
FSO is an abbreviation for FreeSmartphone.Org. Openmoko is working on a stable system services back-end. Focus is on stable highlevel services that you can access from whatever language or UI that supports [http://dbus.freesmartphone.org/ dbus]. The framework will be used in forthcoming Openmoko distributions. FSO is all about middleware, but if one stacks a bootloader+kernel under it and telephony applications on top, one gets a functional distribution. These are made available as FSO-image milestones. Openmoko Framework Image milestone IV was released on November 11th, 2008 and named 'Homework'. People report that despite its infancy, the phone server part in FSO is already more solid than anywhere else. The kernel under it is a Linux 2.6.24 with modules packaged separately. The telephony application on top of it is Zhone. This is a basic Python dialer/homescreen designed as scaffolding to test the FSO functionalities (even if Zhone is pretty, code path coverage is more critical to it than user-friendliness).<br />
<br />
{{Main|FSO}}<br />
<br />
= Openmoko Community driven release targets =<br />
<br />
=== SHR - Stable Hybrid Release ===<br />
<br />
SHR is a community driven distribution. It contains some basic GTK+ based applications which make use of the FSO. There currently is a EFL (with elementary) dialer, messages and contacts application programmed in C. As of November 9th, 2008, there is no stable release of this distribution yet, as the SHR team doesn't feel it to be good enough. You can find images though on the [http://shr.bearstech.com/shr-testing SHR buildhost].<br />
<br />
{{Main|Stable Hybrid Release}}<br />
<br />
=== FDOM (FAT and Dirty Openmoko) ===<br />
<br />
[[FDOM]] is a distribution based on Openmoko's currently supported image, updated with many ready-to-use applications and with fixes posted in the mailing lists. A combination of applications (everything goes) and fixes to demonstrate the capabilities of the Freerunner and to have a functional phone (sort of). This all while retaining the ability to update through the official feeds.<br />
<br />
{{Main|FDOM}}<br />
<br />
== Non-Openmoko distributions ==<br />
<br />
These are not Openmoko (and OE) based distributions. These are alternatives you can run on your Openmoko phones.<br />
<br />
=== Qt Extended ===<br />
<br />
The Qt Extended distribution was formerly known as Qtopia up to version 4.3.x included. It comes from [http://www.trolltech.com Trolltech], a Nokia company, the makers of the Qt cross-platform application framework. This distribution aims to provide a ready-to-use image for Openmoko devices. It features a noticeably robust telephony stack. Recent release 4.4.2 also sports a webkit-based web browser and Gtalk support.<br />
<br />
{{Main|Qtopia / Qt Extended on FreeRunner}}<br />
<br />
=== Debian ===<br />
<br />
Debian is "the universal operating system". It comes with thousands and thousands of packages (most of them designed for desktops or servers so far). So in the words of Joachim "nomeata" Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team, this is not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the Stable Hybrid Release software in our archive. So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)<br />
<br />
{{Main|Debian}}<br />
<br />
=== Gentoo ===<br />
<br />
Gentoo is all about choices. When installing Gentoo, this is made clear to you several times -- you can choose how much you want to compile yourself, how to install Gentoo, what system logger you want, etc. Gentoo is a fast, modern metadistribution with a clean and flexible design. Gentoo is built around free software and doesn't hide from its users what is beneath the hood. Portage, the package maintenance system which Gentoo uses, is written in Python, meaning you can easily view and modify the source code. Gentoo's packaging system uses source code (although support for precompiled packages is included too) and configuring Gentoo happens through regular textfiles. In other words, openness everywhere.<br />
<br />
{{Main|Gentoo}}<br />
<br />
=== Android ===<br />
<br />
Android is a mobile phone platform by Google, and later the Open Handset Alliance (OHA). Openmoko is fully supporting Android running on the Freerunner. Details along with images are being constructed at the moment. Visit the user web page for [http://wiki.openmoko.org/wiki/User:Seanmcneil3 Sean McNeil] for further details. And you can download kernel and image [http://people.openmoko.org/sean_mcneil/ here]. To boot the Kernel you have to adjust your [http://www.denx.de/wiki/U-Boot u-boot] environment to support a Kernel of more then 2 MB or your have to change to the [http://wiki.openmoko.org/wiki/Qi Qi] Bootloader.<br />
<br />
{{Main|Android}}<br />
<br />
=== Hackable:1===<br />
Hackable1 is a community distribution for hackable devices like the Neo Freerunner. It is based on Debian and implements the GNOME mobile platform. <br />
{{Main|Hackable:1}}<br />
<br />
=== Others / unreleased ===<br />
<br />
* The [http://www.neopwn.com/software.php NeoPwn] network auditng system's core is a modified Linux 2.6.24 kernel, with cross-compiled module driver support for the numerous compatible addon devices running on a FULL Debian (ARMEL) operating system. The filesystem has been optimized for performance and size and includes the NeoPwn menu system and several GUI dialogs for hardware control and attack automation. ''Status: Unknown, the GPL requires source code to be distributed only to customers''.<br />
* [http://runningbear.org/trac RunningBear] is an innovative, yet free and open-source Operating System for hackable devices driven by Bearstech. Lightweight, Portable, Secure, Friendly and Useful. ''Status: In development''.<br />
* [http://pokylinux.org/ Poky] and Sato, by OpenedHand/Intel. An open source platform build tool derived from OE. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both ARM and x86 based platforms. ''Status: The "Nightly Build" Image works fine on Neo Freerunner, but phone functionality doesn't.''<br />
* [http://pyneo.org/ PyNeo] pyneo is a stack for mobile devices excessivly using dbus, glib and evas. Mickey Lauer used most of the technics & architecture, library & language choices of pyneo in fso. ''Status: still active, ask around on #neo1973-germany ''<br />
* [http://www.quantum-step.com/ mySTEP] by Openmoko distributor Golden Delicious Computers is based on GNUstep and brings a Objective-C API to the Neo. Core GUI frameworks are "Foundation" & "AppKit". It has been shown on FOSDEM 2008, LinuxTag 2008 and SYSTEMS 2008 to run on the Neo 1973. If someone reengineers UIKit, (open) source code compatibility to iPhone apps appears achievable. ''Status: it does not have its own kernel so a Freerunner distribution waits for a solid basis and an arm-linux-gnueabi toolchain that runs natively on Mac OS X is currently lacking.''<br />
<br />
= Features by distribution/release target =<br />
<br />
Generally, distributions can differ on one or more of the following components:<br />
* The bootsplash screen image. This is purely decorative.<br />
* The bootloader. Theoretically, any version of ''uboot'' could be used with any distribution. In the future ''Qi'' will replace ''uboot''.<br />
* The kernel. GNU/Linux kernels versions 2.6.24, 2.6.26 or 2.6.28 can be found. Some have modules compiled in, others have modules compiled separately. If compiled separately, modules can be distributed in the same package file as the kernel or separately.<br />
* Middleware: daemons to handle GSM calls or GPS, sound system, personal information storage and so on. Qt and Android have their own subsystems, FreeSmartphone.Org (FSO) is working towards a standard-based Free Software one.<br />
* Display driver. The original ''Qt Extended'' uses the framebuffer, most other distributions today use ''X11''.<br />
* Libraries and application framework (widget toolkit and and graphical environment) : EFL, Qt, Gtk+ or Java ?<br />
* Basic telephony applications: voice calls, SMS, alarm clock...<br />
* Smartphone applications: GPS, media player, simple games, web browser...<br />
* Open source applications: more games, scientific, you name it...<br />
<br />
=== Hardware Support ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTA01 || ?? || ?? || ?? || {{Yes}} || ?? || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| GTA02 || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Connectivity ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Telephony || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| SMS || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[GPRS]] || Not through UI || Not through UI|| Not through UI || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| [[WiFi]] || {{Yes}} (*) || {{Yes}} || Not through UI || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| VoIP || ?? || ?? || ?? || ?? || {{Yes}} || {{Yes}} (1) || {{Yes}} || ?? || {{no}}<br />
|-<br />
| Bluetooth || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| GPS (1) || {{Yes}} (1) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Power ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|Om 2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Suspend || ?? || ?? || ?? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ?? || ??<br />
|-<br />
| Resumes on Event || ?? || ?? || ?? || ?? || {{Yes}} || {{No}} || ?? || ?? || ??<br />
|-<br />
| Functions after Resume || ?? || ?? || ?? || {{Yes}} || {{No}} || {{No}} ||?? || ?? || ??<br />
|-<br />
|}<br />
<br />
=== User Interaction ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|Om2008.8 !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Stylus friendly || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
| Finger friendly || Partially || Partially || Partially || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ?? || {{Yes}}<br />
|-<br />
| Accelerometer || {{Yes}} [[Rotate|(1)]][[Gestures|(1)]] || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Applications ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0" width=100%<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| Terminal || {{Yes}} (1) || Basic (2) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| PIM || {{Yes}} || {{Yes}} || {{No}} || N/A || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || ??<br />
|-<br />
| Phonebook || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Dialer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Web Browser || {{Yes}} (1) || {{Yes}} (1) || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| Mail Client || {{Yes}} || ? || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
| XMPP Client || {{Yes}} [[Instant Messaging|(1)]] || {{Yes}} (1) || ? || ? || {{Yes}} || {{Yes}} || {{Yes}} (1) || || ??<br />
|-<br />
| Media Player || {{Yes}} (1) || {{Yes}} || ? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}<br />
|-<br />
|}<br />
<br />
=== Toolkits / Runtimes ===<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
! width=10%| !! width=8%|[[Om 2008.8]] !! width=8%|2007.2 !! width=8%|FSO !! width=8%|SHR !! width=8%|FDOM !! width=8%|Qt Extended !! width=8%|Debian !! width=8%|Gentoo !! width=8%|Android<br />
|-<br />
| GTK+ || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || ?? || ??<br />
|-<br />
| Qt/Qt Extended || {{Yes}} || {{No}} || {{Yes}} ? || {{Yes}}? || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| Middleware || qtopia-x11 || gsmd/neod || FSO || FSO || qtopia-x11 || Qt Extended || FSO || ?? || ??<br />
|-<br />
| [[Java]] || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes}} || ?? || {{Yes|CacaoVM, JamVM}} || ?? || ??<br />
|-<br />
| [[Python]] || {{Yes}} || {{Yes}} || {{Yes}} || {{yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ?? || ??<br />
|-<br />
| [[Mono]] || {{Yes}} (1) || {{Yes}} (1) || ?? || {{no}} || ?? || ?? || {{Yes}} (1) || ?? || ??<br />
|}<br />
<br />
=== Images ===<br />
Latest and stable combinations for Neo FreeRunner gta02<br />
{|class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
| || OM || FDOM || Qt Extended || Android<br />
|-<br />
| current bootloader || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] || [[U-boot|U-Boot]] from [http://downloads.openmoko.org/daily/ OM daily] version [http://downloads.openmoko.org/daily/gta02v5_and_up-u-boot.bin gta02v5_and_up] ||<br />
|-<br />
| future bootloader || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu || [[Qi]] from [http://people.openmoko.org/andy/ Andy] latest qi-andy.udfu ||<br />
|-<br />
| splash || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz || [[Configuring_the_boot_splash_screens|U-Boot]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest splash.gz ||<br />
|-<br />
| kernel || [[Linux]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest uImage.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest uImage-gta02-mwester-stable.bin or from [http://downloads.tuxfamily.org/3v1deb/openmoko/ treviño] latest uImage-gta02-stable-3v1n0.bin || [[Linux]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/uImage-android 2.6.26-android]<br />
|-<br />
| modules || ? || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz || [[Linux]] from [http://moko.mwester.net/download/ mwester] latest modules-min-gta02-mwester-stable.tgz or modules-all-gta02-mwester-stable.tgz ||<br />
|-<br />
| rootfs || [[Main_Page|OM]] from [http://downloads.openmoko.org/releases/ OM releases] or [http://downloads.openmoko.org/daily/ OM daily] latest rootfs.jffs2 || [[FDOM]] from [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/ TuxBrain] version [ftp://ftp.tuxbrain.com/openmoko/fdom/releases/Fat_and_Dirty_OM.200809_20081023.rootfs.jff2 200809_20081023] || [[Qtopia_/_Qt_Extended_on_FreeRunner|QtExtended]] from [http://qtextended.org/modules/mydownloads/viewcat.php?cid=6 TrollTech] latest qtextended-gta02-flash.tgz or from [http://other.lastnetwork.net/OpenMoko/ Hypnotize] latest qtextended-gta02-rootfs-release-working.jffs2 || [[Android]] from [http://wiki.openmoko.org/wiki/User:Seanmcneil3 McNiel] version [http://people.openmoko.org/sean_mcneil/androidfs.jffs2 android]<br />
|}<br />
<br />
Footnotes:<br />
<br />
(1) works, but need additional software to be installed<br />
<br />
(2) unusable due to lack of certain keyboard characters. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]<br />
<br />
(*) unstable<br />
<br />
==Quick download page==<br />
<br />
[[Download]]<br />
<br />
== See also ==<br />
<br />
* Mickey Lauer's post "[http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!]" describes the differences between distributions 2007.2, ASU and FSO.<br />
<br />
[[Category:Distributions| ]]</div>Digisushttp://openmoko.org/wiki/FreeRunner:_Selected_Blogs_and_ArticlesFreeRunner: Selected Blogs and Articles2008-12-28T15:16:47Z<p>Digisus: more compact layout</p>
<hr />
<div>{{Neo FreeRunner Menu}}<br />
<br />
{|align=right<br />
|__TOC__<br />
|}<br />
<br />
This page contains references to personal blog entries and reflections of the mind about FreeRunner. Please see [[Press_Coverage]] for more official pieces of information.<br />
<br />
Newest on top.<br />
<br />
== English ==<br />
=== 2008 ===<br />
* November, [http://westhoffswelt.de/blog/my_first_openmoko_application.html My first Application for the Openmoko Neo Freerunner]<br />
* October, [http://www.teaparty.net/technotes/openmoko-2.html More fun with our Openmoko phones] [[User:MadHatter|Tom Yates]]'s writeup of how he's got various things working on his phone (including keyboard, wifi, GPRS, custom ringtone, firewalling). Fairly regularly updated.<br />
* September, [http://www.techtree.com/India/Reviews/Freerunner/551-93139-612.html Techtree review of Freerunner]Detailed review of the Freerunner<br />
* September, [http://nop0.blogspot.com/2008/09/revive-openmoko-neo-freerunner-with-usb.html Revive the Freerunner with USB power]<br />
* September, [http://nop0.blogspot.com/2008/09/having-multiple-distributions-on.html Multiple distributions on SD card] (work in progress)<br />
* August, Andrénalin heavy metal chainsaw!!! [http://andre.web-yard.de/blog/2008/08/03/neo-freerunner-rocks-hard-rides-free/ http://andre.web-yard.de/blog/2008/08/03/neo-freerunner-rocks-hard-rides-free/]<br />
* August, Monochrome Mentality [http://monochromementality.com/index.php/blog/show/FSO-Milestone-II-Phot-Safari-and--rant.html FSO Milestone II Photo Safari and rant]<br />
* July, technocrat.net (Charles E. Hill) [http://technocrat.net/d/2008/7/27/46753 Openmoko Neo FreeRunner - Part 1]<br />
* July, Rabble.ca (Wayne MacPhail) [http://www.rabble.ca/news_full_story.shtml?x=73765 Introducing the anti-iPhone]<br />
* July, Canadia Blog [http://bieberphoto.com/canadia/index.php/2008/07/openmoko-neo-freerunner-review/ Neo FreeRunner Review]<br />
* July, Holden Karau [http://blog.holdenkarau.com/2008/07/unboxing-openmokofreerunner-including.html Unboxing the Openmoko/FreeRunner including the spares kit, debug board]<br />
* July, Dave Fayram [http://www.vimeo.com/1366042 Openmoko Train Wreck] (video review)<br />
* July, Dave Fayram [http://www.vimeo.com/1366923 More Openmoko Train Wrecking (Now with Qt!)] (video review)<br />
* July, Wired's Gadget Lab Podcast: [http://blog.wired.com/gadgets/2008/07/gadget-lab-po-1.html Summary] and [http://audio.sonibyte.com/audio/7394.mp3 mp3] (discussion starts at 5:50)<br />
* July, jThinks: [http://jthinks.com/index.php/freerunner-at-last/ FreeRunner, at last]<br />
* July, Holden's Blog: [http://blog.holdenkarau.com/2008/07/unboxing-openmokofreerunner-including.html Unboxing the Openmoko/FreeRunner including the spares kit, debug board]<br />
* July, Wolfmans Howlings: [http://blog.wolfman.com/articles/2008/07/11/openmoko-freerunner-first-impressions Openmoko FreeRunner first impressions]<br />
* July, Free Software Foundation (John Sullivan): [http://www.fsf.org/blogs/community/5-reasons-to-avoid-iphone-3g 5 reasons to avoid iPhone 3G]<br />
* July, Joseph Reeves: [http://blogs.thehumanjourney.net/finds/entry/20080710 FreeRunner retail unboxing]<br />
* July, Ars Technica: [http://arstechnica.com/reviews/os/open-moko-software.ars Ars Technica First Look at Openmoko]<br />
* July, Juan Lucas Domínguez Rubio: [http://gvsigmobileonopenmoko.wordpress.com/2008/07/02/first-experience-with-openmoko/ First experience with Openmoko]<br />
* July, Philipp Kern: [http://www.philkern.de/weblog/en/neo_freerunner.html Neo FreeRunner: First impressions]<br />
* June, Andrzej Zaborowski: [http://unadventure.wordpress.com/2008/06/08/accelerating-in-my-pocket/ Accelerating in my pocket]<br />
* May, Kevin Dean: [http://www.monochromementality.com/index.php/blog/show/Day-One-Openmoko-FreeRunner.html Day One: Openmoko FreeRunner]<br />
* (Earlier) Michael Shiloh: [http://gettingstartedopenmoko.wordpress.com/ Getting Started with Openmoko] (many blog entries in this dedicated blog)<br />
<br />
== French (français) ==<br />
* blog, wiki and forum in french about Openmoko: http://www.openmoko-fr.org<br />
=== 2008 ===<br />
* July, Xavier Cremaschi : [http://wiki.troulite.fr/index.php/NeoFreerunner FreeRunner French Companion Wiki] This page is a (quite big) summary of my understanding and experimentations : what are the different software stacks, how you can install them (flashing or dual boot), how you can configure them. Note that everything comes from this wiki or mailing lists, I don't claim paternity for anything except translation and feedback.<br />
<br />
== Italian (italiano) ==<br />
=== 2008 ===<br />
* August, Lo schiaffo : [http://www.loschiaffo.org/telefono-open-source/ Opensource telephone]<br />
* August, TuguLab : [http://blog.tugulab.org/2008/08/13/come-configurare-openmoko-sul-neofreerunner-e-utilizzarlo/ Come configurare Openmoko sul NeoFreeRunner e utilizzarlo!] by jollyr0ger<br />
<br />
<br />
[[Category:Community]]</div>Digisushttp://openmoko.org/wiki/OpenmokoFramework/Status_Update_5OpenmokoFramework/Status Update 52008-12-28T14:32:42Z<p>Digisus: /* Installation */</p>
<hr />
<div><div style="text-align: center; font-weight: bold; font-size: x-large; margin-bottom:1em">Openmoko Framework Team Status Report 2008.11.1</div><br />
<br />
Hi guys! This is the fifth Openmoko Framework Team Status update, featuring our fourth milestone release and more.<br />
<br />
For the general motivation, the goals, and the way we are doing our work, please see [[OpenmokoFramework]].<br />
<br />
{{FSO}}<br />
<br />
<br />
== People & Organization ==<br />
<br />
* Charlie <charlie@openmoko.org> has left the Framework team to embrace new challenges in lower software levels. He'll be around for maintenance work on his code though. Thanks for all your work and good luck with the bare metal :)<br />
<br />
* John <john_lee@openmoko.org> has shifted focus to lead the new long-awaited Openmoko software optimization team. We will surely interface with his team. Good speed, John!<br />
<br />
* As the Openmoko weekly engineering news already told, the freesmartphone.org team has been more "formally" established as an independent team funded by Openmoko Inc. to support defragementing the mobile system services world.<br />
<br />
* More details with regards to the new organization and forthcoming roadmap will come soon<br />
<br />
== DBus APIs ==<br />
<br />
All the public DBus API are documented on the official [http://docs.freesmartphone.org freesmartphone.org API reference] site.<br />
DBus Introspection XML files are available in the [http://git.freesmartphone.org git tree].<br />
<br />
* The GSM API (org.freesmartphone.GSM.*) has proven very solid and will be tagged 0.9 before the next milestone.<br />
<br />
* The Device API (org.freesmartphone.Device.*) has received some additions for power management and starts stabilizing.<br />
<br />
* The Usage API (http://docs.freesmartphone.org/org.freesmartphone.Usage.html) which was merely a reference counting wrapper over the Device API has gained two companions:<br />
** The Resource API (http://docs.freesmartphone.org/org.freesmartphone.Resource.html) turns this into a full-blown resource management system with choosable policies etc.<br />
** The [http://git.freesmartphone.org/?p=specs.git;a=blob_plain;f=html/org.freesmartphone.Usage.html;hb=HEAD#Suspend Suspend] call is resource-aware and gives all resources a chance to prepare for a suspend and to recover after a suspend.<br />
<br />
* org.freesmartphone.Objects.ListObjectsByInterface is using DBus-introspection now.<br />
<br />
* The Events subsystem has gained an experimental [http://git.freesmartphone.org/?p=specs.git;a=blob_plain;f=html/org.freesmartphone.Events.html;hb=HEAD DBus interface] to add and remove rules and to test triggers.<br />
<br />
== Implementations ==<br />
<br />
'''Freesmartphone.org Framework Image -- 'Homework' (Milestone IV)'''<br />
<br />
This is the fourth milestone release of the framework and the framework testing application 'Zhone'. With the forthcoming release of other FSO API consumers, Zhone is going to be faded out. Further framework milestone releases will ship in two forms:<br />
# fso-console-image: An FSO-compliant image featuring no user interface manager.<br />
# fso-illume-image: An FSO-compliant image featuring the X-Window system with the Enlightenment-based Illume window manager.<br />
<br />
===Thanks===<br />
<br />
Thanks to all our contributors, especially the testers and the people who build stuff on top of the freesmartphone.org APIs -- notably the [http://shr.bearstech.com/trac/wiki SHR team] who found literally thousands of bugs in the framework that we had to fix for this milestone release. Thanks, guys!<br />
<br />
===Purpose===<br />
<br />
A lightweight image that turns an Openmoko phone into a featurephone and that serves as the basis for further application development using the freesmartphone.org dbus APIs.<br />
<br />
=== What's new since Milestone III ===<br />
<br />
'''Note: These are only the highlights. See the [http://git.freesmartphone.org gitweb] commit logs for the gory details...'''<br />
<br />
* ogsmd<br />
** Lots of bug and stability fixes based on feedback (and debug logs) from people<br />
** SMS API now includes an a{sv} parameter with optional SMS properties<br />
** Phonebook API now supports multiple phonebooks (dialed, missed, answered)<br />
** PDU mode has been improved to handle the 7-bit reference GSM charset, UCS-2 and binary messages<br />
** Workaround for http://docs.openmoko.org/trac/ticket/1024 Change the behaviour with 'ti_calypso_deep_sleep' option in [ogsmd] section (valid options are always, never and adaptive)<br />
** Implemented the org.freesmartphone.GSM.SMS.interface to send and receive SMS without going through the SIM and org.freesmartphone.GSM.Device.SetSimBuffersSms() to switch between SIM buffered mode and not.<br />
<br />
* ogpsd<br />
** Improved GTA01 support even with suspend/resume (if gllin v1.1 is installed)<br />
** Various warmstart fixes<br />
** Enabled SBAS by default on ubx chips<br />
<br />
* odeviced<br />
** Use ioctl based screen blanking which saves a lot of power<br />
<br />
* oeventsd<br />
** The rules system has been improved<br />
** New triggers, filters<br />
<br />
* misc<br />
** Much cleaner and improved resource interface with working power management (enable, disable, suspend, resume)<br />
** A persistence module that stores persistent data for subsystems<br />
<br />
* zhone<br />
** New default theme contributed by o_toby<br />
** Show timestamps in incoming SMS<br />
** Support for Chinese and other characters (Unicode support)<br />
** Display more GPS information if available (ephemeris, almanac available, signal status)<br />
<br />
* illume<br />
** GSM module doesn't segfault any more<br />
<br />
===Installation===<br />
<br />
# Grab a uImage and a .jffs2 for your device from freesmartphone.org's download [http://downloads.freesmartphone.org/fso-stable/milestone4.1/ section].<br />
# Flash it to your [[Flashing the Neo 1973|Neo 1973 (om-gta01)]] or [[Flashing the Neo Freerunner|Neo FreeRunner (om-gta02)]] with [[Dfu-util| dfu-util]].<br />
# Boot and wait until the Zhone main window appears.<br />
# ''If the [[Zhone]] main window does not appear on first boot or stays with "connecting to dbus..." longer than 1 minute, then please reboot. The base system still has some problems with dbus starting for the first time''<br />
# Read the [[FSO UI Tutorial]] and have fun. Note though that this has not been updated yet for milestone 4 (which looks a bit differently and has more features).<br />
<br />
===What you can expect from this release===<br />
<br />
* Telephony<br />
* Phonebook<br />
* SMS<br />
* Messagebook<br />
* GPS<br />
* frameworkd implementing the following dbus APIs:<br />
** org.freesmartphone.GSM.*<br />
** org.freesmartphone.Device.*<br />
** org.freesmartphone.Usage<br />
** org.freesmartphone.Resource<br />
** org.freesmartphone.Events<br />
** org.freedesktop.Gypsy<br />
<br />
===What we expect from you===<br />
<br />
* Feedback and comments for the dbus APIs. This is your chance to take an active role into shaping the application programming interface for all your forthcoming cool applications.<br />
<br />
* Focus on using the services. Zhone is just our testing-UI and bears little functionality. It's the services that matter.<br />
<br />
* The best way to interact with the framework is by exploring the dbus APIs. For that you can use these two tools, which are already installed:<br />
** [[OpenmokoFramework/mdbus|mdbus]] -- a dbus introspection and interaction utility,<br />
** [[OpenmokoFramework/cli|cli-framework]] -- a python dbus command line interface.<br />
<br />
* Before reporting bugs against the framework, please try with cli-framework to see whether it's really a problem of the framework or rather the UI (which gets much less attention from us).<br />
<br />
* If you want to interact with the GSM modem, while the frameworkd is running, you can use [[OpenmokoFramework/mickeyterm|mickeyterm]] -- a MUXer-aware minimal terminal emulator.<br />
<br />
===Best way to hand us debug logs===<br />
# log in via ssh<br />
# killall python<br />
# edit /etc/frameworkd.conf and add to the frameworkd section:<br />
## log_level = DEBUG<br />
## log_to = file<br />
## log_destination = /somewhere/where/you/have/space (preferably SD or NFS, etc.)<br />
# Read our [http://git.freesmartphone.org/?p=framework.git;a=blob;f=conf/example/frameworkd.conf documented frameworkd.conf] configuration file to learn about the other options.<br />
# relaunch frameworkd (/etc/init.d/frameworkd stop; /etc/init.d/frameworkd start)<br />
# log in via ssh (yes, again)<br />
# export DISPLAY=:0.0<br />
# run your favourite client (zhone, cli-framework, ...)<br />
<br />
Attach the logs to the tickets, please.<br />
<br />
==What's next==<br />
<br />
* PIM<br />
* Networking<br />
* Unit Tests<br />
* High Level Documentation<br />
* More Device Support (GTA03, HTC, EZX)<br />
<br />
==The Team==<br />
<br />
Mickey, Jan, Daniel, Guillaume, John, Stefan.<br />
<br />
[[Category:Community Update]]<br />
[[Category:Framework]]</div>Digisushttp://openmoko.org/wiki/DownloadDownload2008-12-28T13:40:41Z<p>Digisus: /* Download Image here */</p>
<hr />
<div>This page lists various images you can try out on your Openmoko supported smartphone and some [[#Other downloads]].<br />
<br />
See [[Distributions]] for a more descriptive comparison. Then see [[Development Branches Policy]] when you want to know where the really bleeding edge is.<br />
<br />
== Installation instructions ==<br />
<br />
See [[Flashing the Neo FreeRunner]] for installation instructions. Neo 1973 users: [[Getting Started with your Neo1973]]. If you want to install a system to a microSD card, see [[Booting from SD]].<br />
<br />
The release directories can contain up to four files:<br />
<br />
* a Root FileSystem image. These are the files with '''rootfs''' in their name. They come both as a .jffs2 ready-to-flash image, and as a .tar.gz ready-to-cp tarball.<br />
* a Kernel image (files with '''uimage''' in their name).<br />
* a u-boot bootloader (file with '''u-boot''' in the name).<br />
* a splash image file.<br />
<br />
Also, the archive directory contains two identical versions of most files, one having the date in the filename. For those convenience ?<br />
<br />
One usually needs only to flash the phone with the root filesystem and the kernel image. The splash image is eyecandy. The u-Boot bootloader is a critical component, you don't want to install a new version of that systematically, but there have been improvements since the one released in shipping phones.<br />
<br />
== Openmoko Inc. driven release targets ==<br />
=== Om 2008.12 ===<br />
Om 2008.12 is an updated release of Om 2008.8. <br />
You can download image [http://downloads.openmoko.org/releases/Om2008.12/ here]<br />
<br />
{{Main|Om 2008.12 Update}}<br />
<br />
=== Om 2008.9 (ASU) ===<br />
<br />
Om 2008.9 is an updated release of Om 2008.8.<br />
{{Main|Om 2008.9 Update}}<br />
<br />
'''Neo FreeRunner images'''<br />
<br />
If you want the exact bits released on September 19th, go to:<br />
[http://downloads.openmoko.org/releases/Om2008.9/ Om2008-testing (Om2008.9)]<br />
<br />
There is no need to reflash if you have installed Om 2008.8 and used ''opkg update && opkg upgrade''. <br />
Comment about naming scheme on the [http://lists.openmoko.org/pipermail/community/2008-September/031003.html community mailinglist]<br />
<br />
=== The bleeding edge: Om "base / empty" images ===<br />
<br />
The ''org.openmoko.dev'' branch does not have any applications preinstalled other than settings and installer, and it is unstable for now.<br />
<br />
Images for ''testing'' are at:<br />
http://downloads.openmoko.org/daily/<br />
<br />
To get packages from ''testing'', use this ''/etc/opkg/testing.conf'' :<br />
<pre><br />
src/gz testing-all http://downloads.openmoko.org/repository/testing/all<br />
src/gz testing-arm http://downloads.openmoko.org/repository/testing/armv4t<br />
src/gz testing-neo http://downloads.openmoko.org/repository/testing/neo1973<br />
src/gz testing-gta02 http://downloads.openmoko.org/repository/testing/om-gta02<br />
</pre><br />
<!-- unused: src/gz testing-i686 http://downloads.openmoko.org/repository/testing/i686 --><br />
<br />
''unstable'' comes from the same branch, compiled with the AUTOREV flag. There are no images, but packages are at http://downloads.openmoko.org/repository/unstable/<br />
<br />
Reference: See [http://lists.openmoko.org/pipermail/community/2008-August/027997.html "Repository and Images" announcement] for details on other "Base image", "testing" and "unstable".<br />
<br />
Once you have this base image, you can install the GTK+ telephony apps including gsmd, or Qtopia, or Mickey's framework. Check out the [[FDOM]] page for an idea of what to install.<br />
<br />
=== Om 2007.2 images (GTK) ===<br />
<br />
{{Main|Om 2007.2}}<br />
<br />
Openmoko '''discontinued support''' for this release. <br />
<br />
Celtune offers different Images and a huge amount of packages (2007.2, pyneo, fso) for neo1973, freerunner and others. Celtune images can be found at http://rabenfrost.net/celtune/ .<br />
<br />
[http://blog.automated.it/category/openmoko/ Andy Powell] maintains (or used to maintain ?) images based on the 2007.2 software stack for the gta01 and gta02. A. Powell's ScaredyCat images can be found at: http://buildhost.automated.it/OM2007.2/ .<br />
<br />
=== FSO images (freesmartphone.org) ===<br />
<br />
{{Main|OpenmokoFramework}}<br />
<br />
The file system will be in a jffs2 "summary" file. A file with the extension ".jffs2.summary" can be flashed to the FreeRunner just like an ordinary jffs2 file.<br />
<br />
Browse the source: http://trac.freesmartphone.org:8000/trac-example/browser<br />
<br />
=== Android ===<br />
Android now can run on Openmoko FreeRunner.<br />
About the Image, you can check [[Android]] page , to get the detail information.<br />
Download Android image from [http://people.openmoko.org/sean_mcneil/ here].<br />
<br />
== Openmoko Community driven release targets ==<br />
<br />
=== FDOM ===<br />
<br />
{{Main|FDOM - a Fat and Dirty OM based distribution}}<br />
<br />
Download images: http://compartida.net/openmoko/FDOM/<br />
<br />
=== SHR images (Stable Hybrid Release) ===<br />
{{Main|SHR}}<br />
<br />
Download images: http://shr.bearstech.com/shr-testing/images/neo1973/ (includes Neo FreeRunner images too)<br />
<br />
== Non-Openmoko distributions ==<br />
<br />
=== Qt Extended (formerly Qtopia) images ===<br />
<br />
{{Main|qtopia}}<br />
<br />
Images are available on the [http://www.qtopia.net/modules/mydownloads/index.php Qtopia.net images] page, make sure your browser sends referer Header when downloading. (Note: direct linking to the files does not work.)<br />
<br />
'''Neo FreeRunner'''<br />
<br />
* Download "Qt Extended flash image for FIC Neo Freerunner (gta02)" latest version (4.4.2) from : http://qtextended.org/modules/mydownloads/viewcat.php?cid=6<br />
* The kernel is now included in the tarball (should you need to also download mwester's daily kernel, for previous version (4.4.1), or if the link at qtextended is stale, so go there and download it directly for gta02: http://moko.mwester.net/dl.html#kernels)<br />
<br />
'''Neo 1973'''<br />
<br />
* Find "Qtopia flash image for FIC Neo 1973 (gta01)" on [http://www.qtopia.net/modules/mydownloads/index.php Qtopia.net images] (a tarball with both a rootfs and kernel)<br />
<br />
*A Neo 1973 image is also available from here [http://buildhost.automated.it/OM2007.2/openmoko-qtopia-image-om-gta01.tar.gz openmoko-qtopia-image-om-gta01.tar.gz]<br />
<br />
'''More Qtopia downloads'''<br />
<br />
Addtional packages can be added from the Trolltech feed for this image, found at<br />
http://qtopia.net/packages/feed/4.3.2/neo/<br />
To get to these packages, you need to add the feed as a source in the Qtopia package manager.<br />
<br />
=== Debian images ===<br />
<br />
See [[Debian]].<br />
<br />
<br />
== Other downloads ==<br />
<br />
=== Applications repositories ===<br />
<br />
If you are looking for a specific application instead of a full filesystem image:<br />
* {{Main|Community Repository}}<br />
* {{Main|Users Repositories}}<br />
<br />
=== CAD files ===<br />
You can download CAD files here.<br />
http://downloads.openmoko.org/CAD/<br />
<br />
=== Schematics ===<br />
<br />
You can download the schematics of [[Neo 1973]] (GTA01) and [[Neo FreeRunner]] (GTA02) here:<br />
http://downloads.openmoko.org/schematics/<br />
<br />
=== Press material ===<br />
<br />
Download Neo FreeRunner photos in various sizes for print and web use here:<br />
http://openmoko.com/press-press-material.html<br />
<br />
=== Tiddlywiki version of wiki.openmoko.org ===<br />
If you want to carry this wiki along with you and to use it offline, then download<br />
[http://om-tiddlywiki.projects.openmoko.org/openmokowiki.html http://om-tiddlywiki.projects.openmoko.org/openmokowiki.html] and store it locally, then browse through the pages which you think you need to have, click "save changes", so next time you open it all articles you have fetched previously will be available to you.<br />
<br />
[[Category:Distributions]]</div>Digisushttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2008-12-27T13:57:20Z<p>Digisus: /* Collect the things you need */</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Openmoko regularly releases updated versions of the Openmoko root filesystem, the [[kernel]], and the [[Bootloader]] (called U-Boot) as binary images. These may be programmed into the Flash memory (NAND) of Neo FreeRunner. For that, you can use the USB cable and another computer which will run an Openmoko-provided tool to flash the Neo FreeRunner "through" USB.<br />
<br />
== 3 software components and 2 kinds of storage ==<br />
<br />
Inside the FreeRunner 3 software components are working:<br />
* '''bootloader''': a small program that runs first and starts everything else when the FreeRunner is powered on or reset (depending on [[Booting the Neo FreeRunner|how you reset it]], the version from NOR or NAND is booted).<br />
* '''kernel''': the central component in the Linux operating system.<br />
* '''root filesystem''': contains all the files that make up the commands and applications that you can run.<br />
All software components in the FreeRunner are bundled together into binary images. <br />
<br />
The FreeRunner has two kinds of internal program storage: NOR flash and NAND flash. On a desktop computer when you want to replace the operating system (OS), you would boot it from a CD-ROM drive, then copy OS files from the CD to the internal hard drive. The FreeRunner does not have a CD-ROM drive and files must typically be re-written/flashed directly into internal storage (NAND flash). Alternatively, it is possible to boot from a microSD where all the files have been loaded onto.<br />
<br />
NOR flash is small and stores only a special boot program used when you need to re-write the contents of the NAND flash. Usually it is not necessary to re-write the the NOR flash. Instructions to do so is here: [[Flashing NOR]].<br />
<br />
NAND flash acts more like a hard drive. It is divided into 3 partitions for the bootloader, kernel, and root filesystem. Being on different partitions, each component can be flashed separately. For example if you are trying to install a modified kernel, you only have to follow the steps to flash the kernel image.<br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Alternative : running from microSD card ==<br />
<br />
You may install this distribution on the microSD card, in order to [[Booting from SD | boot from microSD card]]. That allows you to keep another distribution installed in NAND (for instance to test 2008.08 while still having 2007.2 for default boot).<br />
<br />
== Software you need ==<br />
<br />
=== #1 Tools for flashing: DFU-util and NeoTool ===<br />
<br />
''Command-line''. DFU-util, the tool to flash the FreeRunner has to be installed on you laptop or desktop machine. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Linux:''' http://downloads.openmoko.org/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your destribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
'''Virtual machines''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.<br />
<br />
=== #2 Image files to flash into FreeRunner memory ===<br />
<br />
There are separate image files for all 3 software components and depending on what you want to install, you pick the respective image file. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Boot the FreeRunner from NOR Flash ==<br />
<br />
[[Image:menu15.jpg|thumb|Booting from NOR Flash]]<br />
<br />
# Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.<br />
# Do not connect the USB cable from the PC to your Neo FreeRunner yet (disconnect it).<br />
# Boot your Neo FreeRunner into the NOR uBoot menu for flashing.<br />
## Press and hold AUX button<br />
## Press the Power button until the boot menu comes up<br />
## This menu is labelled '''*** BOOT MENU (NOR) ***'''<br />
## See also [[Booting the Neo FreeRunner]]<br />
# Stay in NOR uBoot menu, do not select or enter any item in menu. Now you will be able to flash, make backups of your FreeRunner or query the FreeRunner with dfu-util.<br />
# The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.<br />
# Connect your Neo to the GNU/Linux or Windows host via a USB cable.<br />
# Now you can enter the dfu-util commands on your PC as described below.<br />
# If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.<br />
<br />
<!-- The following, upto dfu-util -l is taken from the thread "Re: FreeRunner (GTK2007.2) has suddenly become unbootable" on the Support list. --><br />
<br />
Note that the dfu-util connection does '''not''' use Ethernet over USB - that is, you should not attempt to set up a usb0 network interface on your GNU/Linux host desktop (on Windows, you need a DFU class driver, or you can use the LibUSB-Win32 driver described on the [[Dfu-util-windows]] page). The dfu-util utility sets up its own connection to the FreeRunner. In fact, you will not be able to make an Ethernet-over-USB connection to the FreeRunner when it is at the uBoot menu; this type of connection is only available when the FreeRunner has booted fully.<br />
<br />
After connecting the FreeRunner to your host via USB cable, you can test whether dfu-util "sees" the FreeRunner by executing:<br />
<br />
<pre>dfu-util -l</pre><br />
<br />
If you get error messages from the dfu-util command then try again. Often it works on the second try.<br />
<br />
dfu-util uses the DeviceFirmwareUpgrade protocol, and may list more than one device. If so, try unplugging the other device (e.g. a USB mouse) or using the -d switch to tell dfu-util which device it should talk to, as described at the relevant bug report [http://docs.openmoko.org/trac/ticket/2039].<br />
<br />
Also, please remember to execute the dfu-util command with sufficient privileges (ie. root) -- you will need complete control over the usb bus.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
dfu-util can be used to read flash memory, write memory, and get information from the device.<br />
<br />
This is the general command format to write an image file to a (predefined) "partition name" (referred to as ''altsetting'' in dfu-util help/manual) :<br />
<br />
dfu-util -a ''<altsetting>'' -R -D ''<file_name>''<br />
<br />
where:<br><br />
-a ''altsetting'' : Specify the altsetting of the DFU interface by name or by number<br><br />
-R : Issue USB Reset signalling once we're finished<br><br />
-D ''file_name'' : Write firmware from ''file_name'' into device<br />
<br />
On Linux, you run dfu-util from a command shell prompt. If you have not put it somewhere on your command path you probably need to prefix it with a "./" like this '''./dfu-util'''.<br />
On some systems you need to be root before this will work and on Ubuntu you must preface the command with "sudo" or you will get the following error: "Cannot claim interface: could not claim interface 2: Operation not permitted"<br />
<br />
On Windows, you need to open a command window and run from a command line. Use Start-Run Program and type "cmd" to open a Window.<br />
<br />
More detailed manual for dfu-util is available here : [[Dfu-util]]<br />
<br />
GUI frontend for dfu-util (and more): [[NeoTool]]<br />
<br />
== Flashing the Kernel ==<br />
<br />
Note: The phone needs to be in the U-boot bootup menu for this to work.<br />
Get there by holding down the aux button while powering up the device.<br />
<br />
The command format is <br />
<br />
dfu-util -a kernel -R -D ''/path/to/uImage''<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
Flashing may fail with an error -110. This indicates that the kernel is too big for the default kernel partition. uboot can be used to change the size of the default partitions on the device. It may also mean that you are trying to put the wrong thing in the kernel space.<br />
<br />
== Flashing the Root Filesystem ==<br />
<br />
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz, bz2, .zip, tar, tar.gz or .tgz extension) you have to uncompress it first.<br />
<br />
The command format is<br />
<br />
<pre><br />
dfu-util -a rootfs -R -D rootfs_filename.jffs2<br />
</pre><br />
| U-Boot<br />
where ''rootfs_filename.jffs2'' is the name of the file containing the root file system.<br />
<br />
The flashing process can take up to 15 minutes for a ~70MB image. It is also wise to make sure that your Neo has enough battery charge prior to flashing.<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
<pre><br />
status(0) = No error condition is present<br />
Done!<br />
</pre><br />
<br />
== Flashing the boot loader to the NAND==<br />
<br />
{{Note|In most cases you don't need to flash your bootloader. Flash it only if you want to update for a specific feature or due to a specific problem.}}<br />
<br />
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.<br />
<br />
The command format is <br />
<br />
dfu-util -a u-boot -R -D ''uboot.bin''<br />
<br />
where ''uboot.bin'' is the name of the boot loader binary image file.<br />
<br />
''Reminder'': You should have [[Flashing_the_Neo_FreeRunner#Boot_the_FreeRunner_from_NOR_Flash|boot from NOR first]], in order to flash the boot-loader in NAND. After flashing succesfully, make sure you reboot from NAND's newly flashed boot loader, to benefit from the updates.<br />
<br />
=== Optional: Verifying boot-loader version ===<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== Reboot the FreeRunner from NAND ==<br />
<br />
You should now be able to boot into the new images.<br />
<br />
Pay attention '''to booting from the NAND flash this time''', in particular if you upgraded the boot-loader (in short: 1. press and hold ''power button'' down, and then 2. press ''aux button'')<br />
<br />
The boot menu should be labelled '''*** BOOT MENU (NAND) ***''' this time (see [[Booting#Log_into_U-Boot_in_the_NAND_Flash|booting from NAND]] for more detailed instructions).<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
==See also==<br />
*[[Qi]] alternative to uboot<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Digisushttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2008-12-23T18:32:13Z<p>Digisus: Improve legibility</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Openmoko regularly releases updated versions of the Openmoko root filesystem, the [[kernel]], and the [[Bootloader]] (called U-Boot) as binary images. These may be programmed into the Flash memory (NAND) of Neo FreeRunner. For that, you can use the USB cable and another computer which will run an Openmoko-provided tool to flash the Neo FreeRunner "through" USB.<br />
<br />
== 3 software components and 2 kinds of storage ==<br />
<br />
Inside the FreeRunner 3 software components are working:<br />
* '''bootloader''': a small program that runs first and starts everything else when the FreeRunner is powered on or reset (depending on [[Booting the Neo FreeRunner|how you reset it]], the version from NOR or NAND is booted).<br />
* '''kernel''': the central component in the Linux operating system.<br />
* '''root filesystem''': contains all the files that make up the commands and applications that you can run.<br />
All software components in the FreeRunner are bundled together into binary images. <br />
<br />
The FreeRunner has two kinds of internal program storage: NOR flash and NAND flash. On a desktop computer when you want to replace the operating system (OS), you would boot it from a CD-ROM drive, then copy OS files from the CD to the internal hard drive. The FreeRunner does not have a CD-ROM drive and files must typically be re-written/flashed directly into internal storage (NAND flash). Alternatively, it is possible to boot from a microSD where all the files have been loaded onto.<br />
<br />
NOR flash is small and stores only a special boot program used when you need to re-write the contents of the NAND flash. Usually it is not necessary to re-write the the NOR flash. Instructions to do so is here: [[Flashing NOR]].<br />
<br />
NAND flash acts more like a hard drive. It is divided into 3 partitions for the bootloader, kernel, and root filesystem. Being on different partitions, each component can be flashed separately. For example if you are trying to install a modified kernel, you only have to follow the steps to flash the kernel image.<br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Alternative : running from microSD card ==<br />
<br />
You may install this distribution on the microSD card, in order to [[Booting from SD | boot from microSD card]]. That allows you to keep another distribution installed in NAND (for instance to test 2008.08 while still having 2007.2 for default boot).<br />
<br />
== Collect the things you need ==<br />
<br />
=== Download the DFU-util program ===<br />
<br />
You will download that program on your desktop computer. It will allow you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. There is a separate page to describe it in more detail: [[dfu-util]].<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Linux:''' http://downloads.openmoko.org/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your destribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
<br />
'''''Note:''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.''<br />
<br />
=== GUI for DFU-util ===<br />
<br />
Optionally, you may want to use this GUI tool instead the dfu-util commands: [[NeoTool]] <br />
<br />
=== Download the image files that you will need ===<br />
<br />
Exactly what files you need depends on what you are trying to install. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Boot the FreeRunner from NOR Flash ==<br />
<br />
[[Image:menu15.jpg|thumb|Booting from NOR Flash]]<br />
<br />
# Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.<br />
# Do not connect the USB cable from the PC to your Neo FreeRunner yet (disconnect it).<br />
# Boot your Neo FreeRunner into the NOR uBoot menu for flashing.<br />
## Press and hold AUX button<br />
## Press the Power button until the boot menu comes up<br />
## This menu is labelled '''*** BOOT MENU (NOR) ***'''<br />
## See also [[Booting the Neo FreeRunner]]<br />
# Stay in NOR uBoot menu, do not select or enter any item in menu. Now you will be able to flash, make backups of your FreeRunner or query the FreeRunner with dfu-util.<br />
# The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.<br />
# Connect your Neo to the GNU/Linux or Windows host via a USB cable.<br />
# Now you can enter the dfu-util commands on your PC as described below.<br />
# If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.<br />
<br />
<!-- The following, upto dfu-util -l is taken from the thread "Re: FreeRunner (GTK2007.2) has suddenly become unbootable" on the Support list. --><br />
<br />
Note that the dfu-util connection does '''not''' use Ethernet over USB - that is, you should not attempt to set up a usb0 network interface on your GNU/Linux host desktop (on Windows, you need a DFU class driver, or you can use the LibUSB-Win32 driver described on the [[Dfu-util-windows]] page). The dfu-util utility sets up its own connection to the FreeRunner. In fact, you will not be able to make an Ethernet-over-USB connection to the FreeRunner when it is at the uBoot menu; this type of connection is only available when the FreeRunner has booted fully.<br />
<br />
After connecting the FreeRunner to your host via USB cable, you can test whether dfu-util "sees" the FreeRunner by executing:<br />
<br />
<pre>dfu-util -l</pre><br />
<br />
If you get error messages from the dfu-util command then try again. Often it works on the second try.<br />
<br />
dfu-util uses the DeviceFirmwareUpgrade protocol, and may list more than one device. If so, try unplugging the other device (e.g. a USB mouse) or using the -d switch to tell dfu-util which device it should talk to, as described at the relevant bug report [http://docs.openmoko.org/trac/ticket/2039].<br />
<br />
Also, please remember to execute the dfu-util command with sufficient privileges (ie. root) -- you will need complete control over the usb bus.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Pre-Flash Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
dfu-util can be used to read flash memory, write memory, and get information from the device.<br />
<br />
This is the general command format to write an image file to a (predefined) "partition name" (referred to as ''altsetting'' in dfu-util help/manual) :<br />
<br />
dfu-util -a ''<altsetting>'' -R -D ''<file_name>''<br />
<br />
where:<br><br />
-a ''altsetting'' : Specify the altsetting of the DFU interface by name or by number<br><br />
-R : Issue USB Reset signalling once we're finished<br><br />
-D ''file_name'' : Write firmware from ''file_name'' into device<br />
<br />
On Linux, you run dfu-util from a command shell prompt. If you have not put it somewhere on your command path you probably need to prefix it with a "./" like this '''./dfu-util'''.<br />
On some systems you need to be root before this will work and on Ubuntu you must preface the command with "sudo" or you will get the following error: "Cannot claim interface: could not claim interface 2: Operation not permitted"<br />
<br />
On Windows, you need to open a command window and run from a command line. Use Start-Run Program and type "cmd" to open a Window.<br />
<br />
More detailed manual for dfu-util is available here : [[Dfu-util]]<br />
<br />
GUI frontend for dfu-util (and more): [[NeoTool]]<br />
<br />
== Flashing the Kernel ==<br />
<br />
Note: The phone needs to be in the U-boot bootup menu for this to work.<br />
Get there by holding down the aux button while powering up the device.<br />
<br />
The command format is <br />
<br />
dfu-util -a kernel -R -D ''/path/to/uImage''<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
Flashing may fail with an error -110. This indicates that the kernel is too big for the default kernel partition. uboot can be used to change the size of the default partitions on the device. It may also mean that you are trying to put the wrong thing in the kernel space.<br />
<br />
== Flashing the Root Filesystem ==<br />
<br />
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz, bz2, .zip, tar, tar.gz or .tgz extension) you have to uncompress it first.<br />
<br />
The command format is<br />
<br />
<pre><br />
dfu-util -a rootfs -R -D rootfs_filename.jffs2<br />
</pre><br />
| U-Boot<br />
where ''rootfs_filename.jffs2'' is the name of the file containing the root file system.<br />
<br />
The flashing process can take up to 15 minutes for a ~70MB image. It is also wise to make sure that your Neo has enough battery charge prior to flashing.<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
<pre><br />
status(0) = No error condition is present<br />
Done!<br />
</pre><br />
<br />
== Flashing the boot loader to the NAND==<br />
<br />
{{Note|In most cases you don't need to flash your bootloader. Flash it only if you want to update for a specific feature or due to a specific problem.}}<br />
<br />
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.<br />
<br />
The command format is <br />
<br />
dfu-util -a u-boot -R -D ''uboot.bin''<br />
<br />
where ''uboot.bin'' is the name of the boot loader binary image file.<br />
<br />
''Reminder'': You should have [[Flashing_the_Neo_FreeRunner#Boot_the_FreeRunner_from_NOR_Flash|boot from NOR first]], in order to flash the boot-loader in NAND. After flashing succesfully, make sure you reboot from NAND's newly flashed boot loader, to benefit from the updates.<br />
<br />
=== Optional: Verifying boot-loader version ===<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== Reboot the FreeRunner from NAND ==<br />
<br />
You should now be able to boot into the new images.<br />
<br />
Pay attention '''to booting from the NAND flash this time''', in particular if you upgraded the boot-loader (in short: 1. press and hold ''power button'' down, and then 2. press ''aux button'')<br />
<br />
The boot menu should be labelled '''*** BOOT MENU (NAND) ***''' this time (see [[Booting#Log_into_U-Boot_in_the_NAND_Flash|booting from NAND]] for more detailed instructions).<br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
==See also==<br />
*[[Qi]] alternative to uboot<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Digisushttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2008-12-23T18:23:28Z<p>Digisus: /* Verifying boot-loader version */</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Openmoko regularly releases updated versions of the Openmoko root filesystem, the [[kernel]], and the [[Bootloader]] (called U-Boot) as binary images. These may be programmed into the Flash memory (NAND) of Neo FreeRunner. For that, you can use the USB cable and another computer which will run an Openmoko-provided tool to flash the Neo FreeRunner "through" USB.<br />
<br />
== Overview ==<br />
All the components of the software in the FreeRunner are bundled together into binary images.<br />
<br />
On a desktop computer when you want to replace the operating system (OS), you would boot it from a CD-ROM drive, then copy OS files from the CD to the internal hard drive. The FreeRunner does not have a CD-ROM drive and files must typically be re-written/flashed directly into internal storage (NAND flash). It is also possible to load all the OS files to and boot from a microSD.<br />
<br />
The FreeRunner has two kinds of internal program storage: NOR flash and NAND flash. The NOR flash is small and stores only a special boot program used when you need to re-write the contents of the NAND flash. NAND flash acts more like a hard drive.<br />
<br />
Usually it is not necessary to re-write the the NOR flash. Instructions to do so is here: [[Flashing NOR]].<br />
<br />
The NAND Flash is divided into 3 partitions for the bootloader, kernel, and root filesystem - so each of these components can be flashed separately. For example if you are trying to install a modified kernel, you only have to follow the steps to flash the kernel image.<br />
<br />
* '''bootloader''': a small program that runs first and starts everything else when the FreeRunner is powered on or reset (depending on [[Booting the Neo FreeRunner|how you reset it]], the version from NOR or NAND is booted).<br />
* '''kernel''': the central component in the Linux operating system.<br />
* '''root filesystem''': contains all the files that make up the commands and applications that you can run.<br />
<br />
'''Before you start: Erasing the root filesystem or flashing the uboot are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by updating only the kernel.'''<br />
<br />
== Alternative : running from microSD card ==<br />
<br />
You may install this distribution on the microSD card, in order to [[Booting from SD | boot from microSD card]]. That allows you to keep another distribution installed in NAND (for instance to test 2008.08 while still having 2007.2 for default boot).<br />
<br />
== Collect the things you need ==<br />
<br />
=== Download the DFU-util program ===<br />
<br />
You will download that program on your desktop computer. It will allow you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. There is a separate page to describe it in more detail: [[dfu-util]].<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Linux:''' http://downloads.openmoko.org/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your destribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
<br />
'''''Note:''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.''<br />
<br />
=== GUI for DFU-util ===<br />
<br />
Optionally, you may want to use this GUI tool instead the dfu-util commands: [[NeoTool]] <br />
<br />
=== Download the image files that you will need ===<br />
<br />
Exactly what files you need depends on what you are trying to install. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Boot the FreeRunner from NOR Flash ==<br />
<br />
[[Image:menu15.jpg|thumb|Booting from NOR Flash]]<br />
<br />
# Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.<br />
# Do not connect the USB cable from the PC to your Neo FreeRunner yet (disconnect it).<br />
# Boot your Neo FreeRunner into the NOR uBoot menu for flashing.<br />
## Press and hold AUX button<br />
## Press the Power button until the boot menu comes up<br />
## This menu is labelled '''*** BOOT MENU (NOR) ***'''<br />
## See also [[Booting the Neo FreeRunner]]<br />
# Stay in NOR uBoot menu, do not select or enter any item in menu. Now you will be able to flash, make backups of your FreeRunner or query the FreeRunner with dfu-util.<br />
# The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.<br />
# Connect your Neo to the GNU/Linux or Windows host via a USB cable.<br />
# Now you can enter the dfu-util commands on your PC as described below.<br />
# If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.<br />
<br />
<!-- The following, upto dfu-util -l is taken from the thread "Re: FreeRunner (GTK2007.2) has suddenly become unbootable" on the Support list. --><br />
<br />
Note that the dfu-util connection does '''not''' use Ethernet over USB - that is, you should not attempt to set up a usb0 network interface on your GNU/Linux host desktop (on Windows, you need a DFU class driver, or you can use the LibUSB-Win32 driver described on the [[Dfu-util-windows]] page). The dfu-util utility sets up its own connection to the FreeRunner. In fact, you will not be able to make an Ethernet-over-USB connection to the FreeRunner when it is at the uBoot menu; this type of connection is only available when the FreeRunner has booted fully.<br />
<br />
After connecting the FreeRunner to your host via USB cable, you can test whether dfu-util "sees" the FreeRunner by executing:<br />
<br />
<pre>dfu-util -l</pre><br />
<br />
If you get error messages from the dfu-util command then try again. Often it works on the second try.<br />
<br />
dfu-util uses the DeviceFirmwareUpgrade protocol, and may list more than one device. If so, try unplugging the other device (e.g. a USB mouse) or using the -d switch to tell dfu-util which device it should talk to, as described at the relevant bug report [http://docs.openmoko.org/trac/ticket/2039].<br />
<br />
Also, please remember to execute the dfu-util command with sufficient privileges (ie. root) -- you will need complete control over the usb bus.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Pre-Flash Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
dfu-util can be used to read flash memory, write memory, and get information from the device.<br />
<br />
This is the general command format to write an image file to a (predefined) "partition name" (referred to as ''altsetting'' in dfu-util help/manual) :<br />
<br />
dfu-util -a ''<altsetting>'' -R -D ''<file_name>''<br />
<br />
where:<br><br />
-a ''altsetting'' : Specify the altsetting of the DFU interface by name or by number<br><br />
-R : Issue USB Reset signalling once we're finished<br><br />
-D ''file_name'' : Write firmware from ''file_name'' into device<br />
<br />
On Linux, you run dfu-util from a command shell prompt. If you have not put it somewhere on your command path you probably need to prefix it with a "./" like this '''./dfu-util'''.<br />
On some systems you need to be root before this will work and on Ubuntu you must preface the command with "sudo" or you will get the following error: "Cannot claim interface: could not claim interface 2: Operation not permitted"<br />
<br />
On Windows, you need to open a command window and run from a command line. Use Start-Run Program and type "cmd" to open a Window.<br />
<br />
More detailed manual for dfu-util is available here : [[Dfu-util]]<br />
<br />
GUI frontend for dfu-util (and more): [[NeoTool]]<br />
<br />
== Flashing the Kernel ==<br />
<br />
Note: The phone needs to be in the U-boot bootup menu for this to work.<br />
Get there by holding down the aux button while powering up the device.<br />
<br />
The command format is <br />
<br />
dfu-util -a kernel -R -D ''/path/to/uImage''<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
Flashing may fail with an error -110. This indicates that the kernel is too big for the default kernel partition. uboot can be used to change the size of the default partitions on the device. It may also mean that you are trying to put the wrong thing in the kernel space.<br />
<br />
== Flashing the Root Filesystem ==<br />
<br />
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz, bz2, .zip, tar, tar.gz or .tgz extension) you have to uncompress it first.<br />
<br />
The command format is<br />
<br />
<pre><br />
dfu-util -a rootfs -R -D rootfs_filename.jffs2<br />
</pre><br />
| U-Boot<br />
where ''rootfs_filename.jffs2'' is the name of the file containing the root file system.<br />
<br />
The flashing process can take up to 15 minutes for a ~70MB image. It is also wise to make sure that your Neo has enough battery charge prior to flashing.<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
<pre><br />
status(0) = No error condition is present<br />
Done!<br />
</pre><br />
<br />
== Flashing the boot loader to the NAND==<br />
<br />
{{Note|In most cases you don't need to flash your bootloader. Flash it only if you want to update for a specific feature or due to a specific problem.}}<br />
<br />
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.<br />
<br />
The command format is <br />
<br />
dfu-util -a u-boot -R -D ''uboot.bin''<br />
<br />
where ''uboot.bin'' is the name of the boot loader binary image file.<br />
<br />
''Reminder'': You should have [[Flashing_the_Neo_FreeRunner#Boot_the_FreeRunner_from_NOR_Flash|boot from NOR first]], in order to flash the boot-loader in NAND. After flashing succesfully, make sure you reboot from NAND's newly flashed boot loader, to benefit from the updates.<br />
<br />
=== Optional: Verifying boot-loader version ===<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== Reboot the FreeRunner from NAND ==<br />
<br />
You should now be able to boot into the new images.<br />
<br />
Pay attention '''to booting from the NAND flash this time''', in particular if you upgraded the boot-loader (in short: 1. press and hold ''power button'' down, and then 2. press ''aux button'')<br />
<br />
The boot menu should be labelled '''*** BOOT MENU (NAND) ***''' this time (see [[Booting#Log_into_U-Boot_in_the_NAND_Flash|booting from NAND]] for more detailed instructions).<br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
==See also==<br />
*[[Qi]] alternative to uboot<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Digisushttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2008-12-23T18:20:48Z<p>Digisus: </p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Openmoko regularly releases updated versions of the Openmoko root filesystem, the [[kernel]], and the [[Bootloader]] (called U-Boot) as binary images. These may be programmed into the Flash memory (NAND) of Neo FreeRunner. For that, you can use the USB cable and another computer which will run an Openmoko-provided tool to flash the Neo FreeRunner "through" USB.<br />
<br />
== Overview ==<br />
All the components of the software in the FreeRunner are bundled together into binary images.<br />
<br />
On a desktop computer when you want to replace the operating system (OS), you would boot it from a CD-ROM drive, then copy OS files from the CD to the internal hard drive. The FreeRunner does not have a CD-ROM drive and files must typically be re-written/flashed directly into internal storage (NAND flash). It is also possible to load all the OS files to and boot from a microSD.<br />
<br />
The FreeRunner has two kinds of internal program storage: NOR flash and NAND flash. The NOR flash is small and stores only a special boot program used when you need to re-write the contents of the NAND flash. NAND flash acts more like a hard drive.<br />
<br />
Usually it is not necessary to re-write the the NOR flash. Instructions to do so is here: [[Flashing NOR]].<br />
<br />
The NAND Flash is divided into 3 partitions for the bootloader, kernel, and root filesystem - so each of these components can be flashed separately. For example if you are trying to install a modified kernel, you only have to follow the steps to flash the kernel image.<br />
<br />
* '''bootloader''': a small program that runs first and starts everything else when the FreeRunner is powered on or reset (depending on [[Booting the Neo FreeRunner|how you reset it]], the version from NOR or NAND is booted).<br />
* '''kernel''': the central component in the Linux operating system.<br />
* '''root filesystem''': contains all the files that make up the commands and applications that you can run.<br />
<br />
'''Before you start: Erasing the root filesystem or flashing the uboot are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by updating only the kernel.'''<br />
<br />
== Alternative : running from microSD card ==<br />
<br />
You may install this distribution on the microSD card, in order to [[Booting from SD | boot from microSD card]]. That allows you to keep another distribution installed in NAND (for instance to test 2008.08 while still having 2007.2 for default boot).<br />
<br />
== Collect the things you need ==<br />
<br />
=== Download the DFU-util program ===<br />
<br />
You will download that program on your desktop computer. It will allow you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. There is a separate page to describe it in more detail: [[dfu-util]].<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Linux:''' http://downloads.openmoko.org/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your destribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
<br />
'''''Note:''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.''<br />
<br />
=== GUI for DFU-util ===<br />
<br />
Optionally, you may want to use this GUI tool instead the dfu-util commands: [[NeoTool]] <br />
<br />
=== Download the image files that you will need ===<br />
<br />
Exactly what files you need depends on what you are trying to install. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Boot the FreeRunner from NOR Flash ==<br />
<br />
[[Image:menu15.jpg|thumb|Booting from NOR Flash]]<br />
<br />
# Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.<br />
# Do not connect the USB cable from the PC to your Neo FreeRunner yet (disconnect it).<br />
# Boot your Neo FreeRunner into the NOR uBoot menu for flashing.<br />
## Press and hold AUX button<br />
## Press the Power button until the boot menu comes up<br />
## This menu is labelled '''*** BOOT MENU (NOR) ***'''<br />
## See also [[Booting the Neo FreeRunner]]<br />
# Stay in NOR uBoot menu, do not select or enter any item in menu. Now you will be able to flash, make backups of your FreeRunner or query the FreeRunner with dfu-util.<br />
# The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.<br />
# Connect your Neo to the GNU/Linux or Windows host via a USB cable.<br />
# Now you can enter the dfu-util commands on your PC as described below.<br />
# If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.<br />
<br />
<!-- The following, upto dfu-util -l is taken from the thread "Re: FreeRunner (GTK2007.2) has suddenly become unbootable" on the Support list. --><br />
<br />
Note that the dfu-util connection does '''not''' use Ethernet over USB - that is, you should not attempt to set up a usb0 network interface on your GNU/Linux host desktop (on Windows, you need a DFU class driver, or you can use the LibUSB-Win32 driver described on the [[Dfu-util-windows]] page). The dfu-util utility sets up its own connection to the FreeRunner. In fact, you will not be able to make an Ethernet-over-USB connection to the FreeRunner when it is at the uBoot menu; this type of connection is only available when the FreeRunner has booted fully.<br />
<br />
After connecting the FreeRunner to your host via USB cable, you can test whether dfu-util "sees" the FreeRunner by executing:<br />
<br />
<pre>dfu-util -l</pre><br />
<br />
If you get error messages from the dfu-util command then try again. Often it works on the second try.<br />
<br />
dfu-util uses the DeviceFirmwareUpgrade protocol, and may list more than one device. If so, try unplugging the other device (e.g. a USB mouse) or using the -d switch to tell dfu-util which device it should talk to, as described at the relevant bug report [http://docs.openmoko.org/trac/ticket/2039].<br />
<br />
Also, please remember to execute the dfu-util command with sufficient privileges (ie. root) -- you will need complete control over the usb bus.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Pre-Flash Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
dfu-util can be used to read flash memory, write memory, and get information from the device.<br />
<br />
This is the general command format to write an image file to a (predefined) "partition name" (referred to as ''altsetting'' in dfu-util help/manual) :<br />
<br />
dfu-util -a ''<altsetting>'' -R -D ''<file_name>''<br />
<br />
where:<br><br />
-a ''altsetting'' : Specify the altsetting of the DFU interface by name or by number<br><br />
-R : Issue USB Reset signalling once we're finished<br><br />
-D ''file_name'' : Write firmware from ''file_name'' into device<br />
<br />
On Linux, you run dfu-util from a command shell prompt. If you have not put it somewhere on your command path you probably need to prefix it with a "./" like this '''./dfu-util'''.<br />
On some systems you need to be root before this will work and on Ubuntu you must preface the command with "sudo" or you will get the following error: "Cannot claim interface: could not claim interface 2: Operation not permitted"<br />
<br />
On Windows, you need to open a command window and run from a command line. Use Start-Run Program and type "cmd" to open a Window.<br />
<br />
More detailed manual for dfu-util is available here : [[Dfu-util]]<br />
<br />
GUI frontend for dfu-util (and more): [[NeoTool]]<br />
<br />
== Flashing the Kernel ==<br />
<br />
Note: The phone needs to be in the U-boot bootup menu for this to work.<br />
Get there by holding down the aux button while powering up the device.<br />
<br />
The command format is <br />
<br />
dfu-util -a kernel -R -D ''/path/to/uImage''<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
Flashing may fail with an error -110. This indicates that the kernel is too big for the default kernel partition. uboot can be used to change the size of the default partitions on the device. It may also mean that you are trying to put the wrong thing in the kernel space.<br />
<br />
== Flashing the Root Filesystem ==<br />
<br />
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz, bz2, .zip, tar, tar.gz or .tgz extension) you have to uncompress it first.<br />
<br />
The command format is<br />
<br />
<pre><br />
dfu-util -a rootfs -R -D rootfs_filename.jffs2<br />
</pre><br />
| U-Boot<br />
where ''rootfs_filename.jffs2'' is the name of the file containing the root file system.<br />
<br />
The flashing process can take up to 15 minutes for a ~70MB image. It is also wise to make sure that your Neo has enough battery charge prior to flashing.<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
<pre><br />
status(0) = No error condition is present<br />
Done!<br />
</pre><br />
<br />
== Flashing the boot loader to the NAND==<br />
<br />
{{Note|In most cases you don't need to flash your bootloader. Flash it only if you want to update for a specific feature or due to a specific problem.}}<br />
<br />
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.<br />
<br />
The command format is <br />
<br />
dfu-util -a u-boot -R -D ''uboot.bin''<br />
<br />
where ''uboot.bin'' is the name of the boot loader binary image file.<br />
<br />
''Reminder'': You should have [[Flashing_the_Neo_FreeRunner#Boot_the_FreeRunner_from_NOR_Flash|boot from NOR first]], in order to flash the boot-loader in NAND. After flashing succesfully, make sure you reboot from NAND's newly flashed boot loader, to benefit from the updates.<br />
<br />
=== Verifying boot-loader version ===<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== Reboot the FreeRunner from NAND ==<br />
<br />
You should now be able to boot into the new images.<br />
<br />
Pay attention '''to booting from the NAND flash this time''', in particular if you upgraded the boot-loader (in short: 1. press and hold ''power button'' down, and then 2. press ''aux button'')<br />
<br />
The boot menu should be labelled '''*** BOOT MENU (NAND) ***''' this time (see [[Booting#Log_into_U-Boot_in_the_NAND_Flash|booting from NAND]] for more detailed instructions).<br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
==See also==<br />
*[[Qi]] alternative to uboot<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Digisushttp://openmoko.org/wiki/Neo_1973_GPSNeo 1973 GPS2008-08-04T12:15:33Z<p>Digisus: light cleaning up of introduction</p>
<hr />
<div>The [[Neo 1973]] device contains an integrated ''GPS''. The particular device is marketed as Assisted GPS ('AGPS'). Performance requirements are defined in GSM/GPRS 3GPP TS 25.171, CDMA 3GPP2 C.S0036-0. There is some [[Hardware:AGPS | discussion]] available as to what significance that "A" might have.<br />
<br />
The external antenna for the GPS is using a [http://en.wikipedia.org/wiki/MMCX MMCX] connector. More information about external antennas on the [[GPS antennas for neo1973|GPS antennas page]]. The connector for the internal GPS antenna is also using a MMCX connector. This GPS connector is located on the side of Freerunner.<br />
<br />
Note that the [[GTA02 GPS]] device contains the [[u-blox ANTARIS 4 ATR0635]].<br />
<br />
A critical problem with early (current) GTA02s are interferences with the SD card, which results in a long connection time (10min+) to get first GPS data. See [[GPS Problems | this page]] for more discussion and suggested fixes.<br />
<br />
<br />
=== GTA01 GPS driver (gllin) ===<br />
''Main article - [[gllin]]''<br />
<br />
The GPS driver is available here: [http://3rdparty.downloads.openmoko.org/gllin/ http://3rdparty.downloads.openmoko.org/gllin/]. It is a command line tool that after starting writes the positioning data so that they can be read as if they were written to the file.<br />
<br />
And here the Mail from Michael Shiloh [http://lists.openmoko.org/pipermail/community/2007-November/011916.html http://lists.openmoko.org/pipermail/community/2007-November/011916.html]<br />
<br />
There was an effort to write a Free Software<br />
program that could be used instead of this binary-only program, but this stalled after the decision to change GPS chips in GTA02.<br />
The Iphone 3G also uses the same GPS chip. It's not inconcievable that this might lead to further effort.<br />
<br />
See [[Hammerhead/Protocol]] for details and the latest status.<br />
<br />
Some scripts for those with the binary are on [[Manually_using_GPS]]<br />
<br />
Please see the important information on [[Gllin]]!<br />
<br />
=== GTA02 GPS ===<br />
{{Main|GTA02 GPS}}<br />
<br />
To turn on the GPS, echo 1 to the file /sys/devices/platform/s3c2440-i2c/i2c-adapter/i2c-0/0-0073/neo1973-pm-gps.0/pwron<br />
<br />
To read from the GPS, simply read /dev/ttySAC1.<br />
<br />
gpspipe -r 127.0.0.1 2947<br />
<br />
gpspipe is in package gps-utils<br />
<br />
{{Note|<br />
cat /dev/ttySAC1 <br />
Produces the unknown msg*58 this doesn't happen with gpspipe}}<br />
<br />
Before getting a fix, the GPS spits out lots of "$GPTXT,01,01,01,NMEA unknown msg*58", though these stop once a fix is obtained. <br />
<br />
A position without a fix looks like:<br />
* $GPGGA,235946.99,,,,,00,00,5.0,,M,0.0001999,M,0.0020199,*57<br />
One with a fix:<br />
* $GPGGA,065852.00,5613.022527,N,00306.725890,W,1,05,0.5,158.0,M,0.277000,M,-0.010<br />
0515,*7A<br />
<br />
(central Scotland)<br />
<br />
--[[User:Speedevil|Speedevil]] 11:52, 7 April 2008 (CEST)<br />
<br />
If you are having GPS problems with your freerunner, please document these on the page [[GPS Problems]].<br />
[[FreeRunner_GPS_antenna_repair_SOP]] documents a possible solution.<br />
<br />
In Openmoko projects, you could find a GPS test program that could provide graphical and text dump of GPS information. See [[Howto Test Your GPS with agpsui]]. This project called [http://svn.projects.openmoko.org/svnroot/openmoko-agpsui Openmoko AGPS UI project].<br />
<br />
=== Possible GPS programs ===<br />
<br />
As people develop more sophisticated GPS applications, please note them here.<br />
<br />
Here are some ideas for possibilities:<br />
<br />
* Cairo-based mapping<br />
* Routing<br />
* [[Openstreetmap]] a map viewer, annotation, and editing system.<br />
* [http://wiki.openstreetmap.org/index.php/Pyroute Pyroute] is a routing program written in Python by Ojw, and a mobile phone GUI for maps, GPS, and routing.<br />
:* [http://wiki.openstreetmap.org/index.php/Rana Ran&aacute;] is the new version of pyroute<br />
* [[GPS-Trail]] a simple trail logger.<br />
* [[GPS_Navigation#roadmap|roadmap]] mapping system using freely available maps (US census TIGER, DGLib, shapefiles).<br />
* [[Geocaching]] paper chase for advanced users<br />
* Set Profile (Mute, etc.) to coordinates (ex. At work)<br />
* [[qpegps]] qtopia (arm PDA) based map viewer with gps features<br />
* [[Navit]] a car navigation system with routing engine.<br />
* [http://www.tangogps.org TangoGPS] works very well, downloads maps on demand and stores them for later use, very efficient. <br />
* [[QMapControl]] Qtopia based mapping widget. Displays maps and custom data, also other widgets can be bound to coordinates. GPS parser for the gllin output included.<br />
* [http://lists.openmoko.org/pipermail/community/2007-July/007252.html collection of ideas]<br />
* [http://www.kflog.org/cumulus/ Cumulus] GPS software for glider pilots (and pilots in general), has a port for Qtopia and pulls (world) maps from the KFLog flight planner project. I think someone has put a project like this on the projects website [http://projects.openmoko.org/projects/openvario/ here].<br />
* [http://svn.projects.openmoko.org/svnroot/openmoko-agpsui Openmoko AGPS UI project].<br />
* [[GPS Sight]], a popular Openmoko project under LGPL.<br />
* [[Orrery]], an unpopular Openmoko project for displaying the night sky.<br />
* [http://wiki.openstreetmap.org/index.php/Gosmore Gosmore] is a routing and viewer of OSM XML data such as the planet.osm.<br />
<br />
== Using the Neo's GPS on a Laptop ==<br />
<br />
First be sure you have gllin installed on the Neo.<br />
<br />
*On host type: '''nc -vvn -l -p 5000 > /tmp/nmeaNP''' (Host starts listening on port 5000 for GPS-signals and sends them to /tmp/nmeaNP)<br />
*On the Neo type: '''nc 192.168.0.200 5000 < /dev/ttySAC1''' (Signals from device will be send to port 5000 on host.) If your host is connected to the neo via wifi, change the IP address in the command to the one of the host. <br />
*On the host PC install GPSD, your GPS is attached as /tmp/nmeaNP <br />
*start gpsd on host with: '''gpsd -p /tmp/nmeaNP'''<br />
*run your application! I used gpsdrive and it works better than my stand-alone GPS. <br />
*Tested with RoadNav. Works great!<br />
<br />
With this in mind if you have an unlimited data package you could export this over the internet. the possibilities are limitless.<br />
<br />
== Bluetooth GPS relay ==<br />
<br />
To make your neo appear like a regular bluetooth GPS:<br />
<br />
=== GTA01 ===<br />
*Power up the bluetooth radio<br />
*Run the gllin script<br />
*run '''sdptool add SP'''<br />
*run '''rfcomm watch 0 1 sh -c "cat /tmp/nmeaNP >/dev/rfcomm0" &'''<br />
<br />
=== GTA02 ===<br />
*Power up the bluetooth radio<br />
*Ensure [http://wiki.openmoko.org/wiki/Gpsd#GPS_on_GTA02 gpsd] is running and the gps-utils package is installed<br />
*run '''sdptool add SP'''<br />
*run '''rfcomm -r watch 0 1 sh -c "gpspipe -r >/dev/rfcomm0" &'''<br />
<br />
[[Category:GPS]]<br />
<br />
[[category:Documentation]]<br />
[[category:Standard]]</div>Digisushttp://openmoko.org/wiki/DistributionsDistributions2008-08-04T12:08:40Z<p>Digisus: </p>
<hr />
<div>{| class="wikitable" style="float:right;width:200px;background-color:#FF6600;text-align:center;border-collapse:collapse;font-weight:bold" <br />
|<font color=white>Distributions</font><br />
|-<br />
! style='background-color:#333333;color:#FFFFFF'|<br />
<div align=left><br />
* <font color='#BBBBBB'>Openmoko (official)</font><br />
** [[Om2008.8]]<br />
** [[OM2007.2]]<br />
** [[FSO]]<br />
* <font color='#BBBBBB'>Community</font><br />
** [[SHR]]<br />
* <font color='#BBBBBB'>Other</font><br />
** [[Qtopia]]<br />
** [[Debian]]<br />
</div><br />
|-<br />
|}<noinclude>[[Category:Templates]]</noinclude><br />
<br />
Openmoko distributions are designed to run on various mobile devices, with the primary aim of Openmoko Inc.'s [[Neo 1973]] and [[Neo FreeRunner]] phones. They are similar to Linux distributions; complete operating systems with user applications. You can install any of them on your phone or even have a multiboot system with two distributions installed. <br />
<br />
While the Openmoko distributions will run on [[Supported hardware|other mobile devices]] too, some other software distributions will also run on the Openmoko Inc. phones. (Distribution descriptions are from Mickey Lauer's [http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!].) To be technically precise, 2007.2, ASU, FSO and SHR of these are not directly independent distributions, but different 'release targets'. They are built out of different branches of the openembedded metadistribution source tree, e.g. 2007.2 and ASU are to each other like Ubuntu Gutsy is to Kubuntu Hardy. One should only use feeds from packages of the same source-branch, else 'stuff will break', similar to like using .debs from Hardy on a Gutsy base system. Also note that there is NO supported upgrade path between these at the moment, thus updating by changing the feeds will most likely end in broken packages or even a unbootable system. Thus please always use dfu to switch between the different 'distributions' for now or install them in a dual-boot setup (e.g. via sdcard or NFS).<br />
<br />
For downloads see [[Latest Images]], for installation instructions see [[Flashing the Neo FreeRunner]].<br />
<br />
== Openmoko Inc. driven release targets ==<br />
<br />
=== Openmoko 2007.2 (GTK) ===<br />
<br />
Openmoko2007.2 is for people who are familiar with the [http://www.gnome.org/mobile/ GNOME Mobile] initiative and who want to write applications that run on multiple devices running (parts of) GNOME Mobile. This includes Maemo, which runs on the Nokia Internet Tablets. The strength of the GTK+ stack is a UI and programming environment similar to what you run on your Linux desktop, if you’re into GNOME. The GTK+ has PIM applications based on the Evolution Data Server and runs the gsmd phone server. Although you can use them, the applications are still pretty rough und unfinished. Some people have problems with the stability of the phone server.<br />
<br />
* [[Openmoko2007.2]]<br />
* Availabilty: [http://buildhost.openmoko.org/daily/ Official Buildhost] and [[MokoMakefile]] support for development builds<br />
* Download: [http://buildhost.openmoko.org/daily/freerunner/ Releases are labeled "openmoko-devel-image" ]<br />
<br />
This is the base-system which is installed on Freerunner when it leaves the factory.<br />
<br />
2007.2 development driven by openmoko inc. has basically stopped and resources are allocated in favor of asu, while the community currently does the effort to 'rescue' the 2007.2 telephony apps and pull them to the future middleware from FSO (see SHR).<br />
thus patches are still welcome, especially if they help development of SHR.<br />
<br />
=== OM2008.8 (codename: ASU) ===<br />
<br />
ASU - April/August Software Update - has been started to integrate the [http://trolltech.com/products/qtopia Qtopia] stack - on X11 - with a new set of graphically pleasing applications based on the Enlightenment Foundation Libraries. ASU is the internal name and it will be known as Om 2008.8 upon its scheduled release on August 8, 2008. Qtopia is a more mature product than the GNOME Mobile stack and you can expect all the standard feature phone applications to work in a solid way. It uses the Qtopia phone server. Since - contrary to standard Qtopia - it does not directly use the framebuffer, non-Qt applications can safely share the screen with Qt applications.<br />
<br />
* [[ASU]]<br />
* Download: [http://buildhost.openmoko.org/daily/freerunner/ Releases are labeled "openmoko-qtopia-x11" ]<br />
<br />
=== FSO - freesmartphone.org ===<br />
<br />
FSO has been started to overcome the deficiencies both of the 2007.2 and the ASU stack, namely to come up with an extensible framework that gives developers the infrastructure they need to create solid and exciting software products based on the Openmoko platform. An infrastructure that supports competing UIs while we can collaborate on developing services, making the framework strong . Here, the focus is on stable highlevel services that you can access from whatever language or UI that supports [http://dbus.freesmartphone.org/ dbus]. People report that despite its infancy, e.g. the phone server part in FSO is already more solid than anywhere else.<br />
<br />
It is not really intended as future release-target, but used as a 'vessel' or 'container' for the development and testing of the new, future middleware.<br><br />
The applications installed are intended as test-tools for the new middleware and not as fully featured, end user oriented applications. (even if it looks that way sometimes)<br />
<br />
* [[FSO]]<br />
* [http://trac.freesmartphone.org:8000/trac-example Development tracker]<br />
* [http://downloads.openmoko.org/framework/milestone2/ Download milestone 2]<br />
* [http://freesmartphone.org freesmartphone.org]<br />
<br />
== Openmoko Community driven release targets ==<br />
<br />
=== SHR - Stable Hybrid Release ===<br />
<br />
Stable Hybrid Release, a combination of the middleware from FSO, some of the 2007.2 GTK software (telephony-ui, pim), and the ASU that provides all of the functionality of the 2007.2 software, but with the stability of the FSO.<br />
<br />
* [[Stable Hybrid Release]]<br />
<br />
== Non-Openmoko distributions ==<br />
<br />
These are not Openmoko (and OE) based distributions. These are an alternatives you can run on your Openmoko phones.<br />
<br />
=== Qtopia ===<br />
<br />
The Qtopia distribution from [http://www.trolltech.com Trolltech], it aims to provide a ready-to use image for Openmoko devices. <br />
<br />
* [[Qtopia]]<br />
* Download: [http://www.qtopia.net/modules/mydownloads/viewcat.php?cid=6 Qtopia.net]<br />
<br />
=== Debian ===<br />
<br />
Debian Linux, the whole distribution, on a mobile phone.<br />
<br />
* [[Debian]]<br />
<br />
== Features by distribution/release target ==<br />
<br />
=== Connectivity ===<br />
<br />
{| border=1 width=100% |<br />
| width=14%| || width=14%|2007.2 || width=14%|FSO || width=14%|ASU || width=14%|SHR || width=14%|Qtopia || Debian<br />
|-<br />
| Telephony || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| SMS || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| GPRS || Not through UI || Not through UI || Not through UI || N/A || Maybe (3) || ??<br />
|-<br />
| WiFi || style="background:lightgreen;" | Yes || Not through UI || style="background:lightgreen;" | Yes || N/A || Maybe (3) ||style="background:lightgreen;" | Yes<br />
|-<br />
| VoIP || ?? || ?? || ?? || ?? || ?? || ??<br />
|-<br />
| Bluetooth || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| GPS || style="background:lightgreen;" | Yes (1) || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes (1) || N/A || No || ??<br />
|-<br />
|}<br />
<br />
=== User Interaction ===<br />
<br />
{| border=1 width=100% |<br />
| width=14%| || width=14%|2007.2 || width=14%|FSO || width=14%|ASU || width=14%|SHR || width=14%|Qtopia || Debian<br />
|-<br />
| Stylus friendly || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Finger friendly || Partially || Partially || No || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Accelerometer || No || No || No || N/A || No || ??<br />
|-<br />
|}<br />
<br />
=== Applications ===<br />
<br />
{| border=1 width=100% |<br />
| width=14%| || width=14%|2007.2 || width=14%|FSO || width=14%|ASU || width=14%|SHR || width=14%|Qtopia || Debian<br />
|-<br />
| Terminal || Basic(2) || style="background:lightgreen;" | Yes || ?? || N/A || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes<br />
|-<br />
| PIM || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Phonebook || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Dialer || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Web Browser || style="background:lightgreen;" | Yes (1) || ? || ? || ? || No || ?<br />
|-<br />
| Mail Client || ? || ? || ? || ? || style="background:lightgreen;" | Yes || ?<br />
|-<br />
| XMPP Client || style="background:lightgreen;" | Yes (1) || ? || ? || ? || No || ?<br />
|-<br />
|}<br />
<br />
=== Toolkits / Runtimes ===<br />
{| border=1 width=100% |<br />
| width=14%| || width=14%|2007.2 || width=14%|FSO || width=14%|ASU || width=14%|SHR || width=14%|Qtopia || Debian<br />
|-<br />
| GTK+ || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || No || ??<br />
|-<br />
| QT/Qtopia || No || style="background:lightgreen;" | Yes? || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes? || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Middleware || gsmd/neod || freesmartphone.org || qtopia-x11 || freesmartphone.org || qtopia || ??<br />
|-<br />
| [[Java]] || Jalimo || ? || ? || ? || ? || ??<br />
|-<br />
| [[Python]] || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || ? || style="background:lightgreen;" | Yes || ??<br />
|-<br />
|}<br />
<br />
<br />
Footnotes:<br />
<br />
(1) works, but need additional software to be installed<br />
<br />
(2) unusable due to lack of certain keyboard characters (unless you [[Switching_Keyboards#Matchbox_keyboard|install matchbox-keyboard]])<br />
<br />
(3) there is ui and it works (at least for wifi). I will test it and write more.<br />
<br />
[[Category:Distributions| ]]<br />
[[Category:Documentation]]</div>Digisushttp://openmoko.org/wiki/DistributionsDistributions2008-08-04T12:01:02Z<p>Digisus: </p>
<hr />
<div>{| class="wikitable" style="float:right;width:200px;background-color:#FF6600;text-align:center;border-collapse:collapse;font-weight:bold" <br />
|<font color=white>Distributions</font><br />
|-<br />
! style='background-color:#333333;color:#FFFFFF'|<br />
<div align=left><br />
* <font color='#BBBBBB'>Openmoko official distributions</font><br />
** [[Om2008.8]]<br />
** [[OM2007.2]]<br />
** [[FSO]]<br />
* <font color='#BBBBBB'>Distributions from the community</font><br />
** [[SHR]]<br />
* <font color='#BBBBBB'>Other</font><br />
** [[Qtopia]]<br />
** [[Debian]]<br />
</div><br />
|-<br />
|}<noinclude>[[Category:Templates]]</noinclude><br />
<br />
<br />
Openmoko distributions are similar to any other Linux distribution, they are complete operating systems with user applications. You can choose to install any of these on your phone, you can even have multiboot system with two distributions installed.<br />
<br />
Openmoko distributions are designed to run on various mobile devices, with the primary aim of Openmoko Inc.'s [[Neo 1973]] and [[Neo FreeRunner]] phones. While the Openmoko distributions will run on [[Supported hardware|other mobile devices]] too, some other software distributions will also run on the Openmoko Inc. phones.<br />
<br />
For downloads see [[Latest Images]], for installation instructions see [[Flashing the Neo FreeRunner]].<br />
<br />
Distribution descriptions are from Mickey Lauer's [http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!].<br />
<br />
To be technically precise, 2007.2, ASU, FSO and SHR of these are not directly independent distributions, but different 'release targets'.<br><br />
<br />
They are built out of different branches of the openembedded metadistribution source tree, e.g. 2007.2 and ASU are to each other like Ubuntu Gutsy is to Kubuntu Hardy.<br><br />
<br />
One should only use feeds from packages of the same source-branch, else 'stuff will break', similar to like using .debs from Hardy on a Gutsy base system.<br />
<br />
Also note that there is NO supported upgrade path between these at the moment, thus updating by changing the feeds will most likely end in broken packages or even a unbootable system.<br><br />
<br />
Thus please always use dfu to switch between the different 'distributions' for now or install them in a dual-boot setup (e.g. via sdcard or NFS).<br />
<br />
== Openmoko Inc. driven release targets ==<br />
<br />
=== Openmoko 2007.2 (GTK) ===<br />
<br />
Openmoko2007.2 is for people who are familiar with the [http://www.gnome.org/mobile/ GNOME Mobile] initiative and who want to write applications that run on multiple devices running (parts of) GNOME Mobile. This includes Maemo, which runs on the Nokia Internet Tablets. The strength of the GTK+ stack is a UI and programming environment similar to what you run on your Linux desktop, if you’re into GNOME. The GTK+ has PIM applications based on the Evolution Data Server and runs the gsmd phone server. Although you can use them, the applications are still pretty rough und unfinished. Some people have problems with the stability of the phone server.<br />
<br />
* [[Openmoko2007.2]]<br />
* Availabilty: [http://buildhost.openmoko.org/daily/ Official Buildhost] and [[MokoMakefile]] support for development builds<br />
* Download: [http://buildhost.openmoko.org/daily/freerunner/ Releases are labeled "openmoko-devel-image" ]<br />
<br />
This is the base-system which is installed on Freerunner when it leaves the factory.<br />
<br />
2007.2 development driven by openmoko inc. has basically stopped and resources are allocated in favor of asu, while the community currently does the effort to 'rescue' the 2007.2 telephony apps and pull them to the future middleware from FSO (see SHR).<br />
thus patches are still welcome, especially if they help development of SHR.<br />
<br />
=== OM2008.8 (codename: ASU) ===<br />
<br />
ASU - April/August Software Update - has been started to integrate the [http://trolltech.com/products/qtopia Qtopia] stack - on X11 - with a new set of graphically pleasing applications based on the Enlightenment Foundation Libraries. ASU is the internal name and it will be known as Om 2008.8 upon its scheduled release on August 8, 2008. Qtopia is a more mature product than the GNOME Mobile stack and you can expect all the standard feature phone applications to work in a solid way. It uses the Qtopia phone server. Since - contrary to standard Qtopia - it does not directly use the framebuffer, non-Qt applications can safely share the screen with Qt applications.<br />
<br />
* [[ASU]]<br />
* Download: [http://buildhost.openmoko.org/daily/freerunner/ Releases are labeled "openmoko-qtopia-x11" ]<br />
<br />
=== FSO - freesmartphone.org ===<br />
<br />
FSO has been started to overcome the deficiencies both of the 2007.2 and the ASU stack, namely to come up with an extensible framework that gives developers the infrastructure they need to create solid and exciting software products based on the Openmoko platform. An infrastructure that supports competing UIs while we can collaborate on developing services, making the framework strong . Here, the focus is on stable highlevel services that you can access from whatever language or UI that supports [http://dbus.freesmartphone.org/ dbus]. People report that despite its infancy, e.g. the phone server part in FSO is already more solid than anywhere else.<br />
<br />
It is not really intended as future release-target, but used as a 'vessel' or 'container' for the development and testing of the new, future middleware.<br><br />
The applications installed are intended as test-tools for the new middleware and not as fully featured, end user oriented applications. (even if it looks that way sometimes)<br />
<br />
* [[FSO]]<br />
* [http://trac.freesmartphone.org:8000/trac-example Development tracker]<br />
* [http://downloads.openmoko.org/framework/milestone2/ Download milestone 2]<br />
* [http://freesmartphone.org freesmartphone.org]<br />
<br />
== Openmoko Community driven release targets ==<br />
<br />
=== SHR - Stable Hybrid Release ===<br />
<br />
Stable Hybrid Release, a combination of the middleware from FSO, some of the 2007.2 GTK software (telephony-ui, pim), and the ASU that provides all of the functionality of the 2007.2 software, but with the stability of the FSO.<br />
<br />
* [[Stable Hybrid Release]]<br />
<br />
== Non-Openmoko distributions ==<br />
<br />
These are not Openmoko (and OE) based distributions. These are an alternatives you can run on your Openmoko phones.<br />
<br />
=== Qtopia ===<br />
<br />
The Qtopia distribution from [http://www.trolltech.com Trolltech], it aims to provide a ready-to use image for Openmoko devices. <br />
<br />
* [[Qtopia]]<br />
* Download: [http://www.qtopia.net/modules/mydownloads/viewcat.php?cid=6 Qtopia.net]<br />
<br />
=== Debian ===<br />
<br />
Debian Linux, the whole distribution, on a mobile phone.<br />
<br />
* [[Debian]]<br />
<br />
== Features by distribution/release target ==<br />
<br />
=== Connectivity ===<br />
<br />
{| border=1 width=100% |<br />
| width=14%| || width=14%|2007.2 || width=14%|FSO || width=14%|ASU || width=14%|SHR || width=14%|Qtopia || Debian<br />
|-<br />
| Telephony || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| SMS || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| GPRS || Not through UI || Not through UI || Not through UI || N/A || Maybe (3) || ??<br />
|-<br />
| WiFi || style="background:lightgreen;" | Yes || Not through UI || style="background:lightgreen;" | Yes || N/A || Maybe (3) ||style="background:lightgreen;" | Yes<br />
|-<br />
| VoIP || ?? || ?? || ?? || ?? || ?? || ??<br />
|-<br />
| Bluetooth || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| GPS || style="background:lightgreen;" | Yes (1) || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes (1) || N/A || No || ??<br />
|-<br />
|}<br />
<br />
=== User Interaction ===<br />
<br />
{| border=1 width=100% |<br />
| width=14%| || width=14%|2007.2 || width=14%|FSO || width=14%|ASU || width=14%|SHR || width=14%|Qtopia || Debian<br />
|-<br />
| Stylus friendly || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Finger friendly || Partially || Partially || No || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Accelerometer || No || No || No || N/A || No || ??<br />
|-<br />
|}<br />
<br />
=== Applications ===<br />
<br />
{| border=1 width=100% |<br />
| width=14%| || width=14%|2007.2 || width=14%|FSO || width=14%|ASU || width=14%|SHR || width=14%|Qtopia || Debian<br />
|-<br />
| Terminal || Basic(2) || style="background:lightgreen;" | Yes || ?? || N/A || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes<br />
|-<br />
| PIM || style="background:lightgreen;" | Yes || No || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Phonebook || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Dialer || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || N/A || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Web Browser || style="background:lightgreen;" | Yes (1) || ? || ? || ? || No || ?<br />
|-<br />
| Mail Client || ? || ? || ? || ? || style="background:lightgreen;" | Yes || ?<br />
|-<br />
| XMPP Client || style="background:lightgreen;" | Yes (1) || ? || ? || ? || No || ?<br />
|-<br />
|}<br />
<br />
=== Toolkits / Runtimes ===<br />
{| border=1 width=100% |<br />
| width=14%| || width=14%|2007.2 || width=14%|FSO || width=14%|ASU || width=14%|SHR || width=14%|Qtopia || Debian<br />
|-<br />
| GTK+ || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || No || ??<br />
|-<br />
| QT/Qtopia || No || style="background:lightgreen;" | Yes? || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes? || style="background:lightgreen;" | Yes || ??<br />
|-<br />
| Middleware || gsmd/neod || freesmartphone.org || qtopia-x11 || freesmartphone.org || qtopia || ??<br />
|-<br />
| [[Java]] || Jalimo || ? || ? || ? || ? || ??<br />
|-<br />
| [[Python]] || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || style="background:lightgreen;" | Yes || ? || style="background:lightgreen;" | Yes || ??<br />
|-<br />
|}<br />
<br />
<br />
Footnotes:<br />
<br />
(1) works, but need additional software to be installed<br />
<br />
(2) unusable due to lack of certain keyboard characters (unless you [[Switching_Keyboards#Matchbox_keyboard|install matchbox-keyboard]])<br />
<br />
(3) there is ui and it works (at least for wifi). I will test it and write more.<br />
<br />
[[Category:Distributions| ]]<br />
[[Category:Documentation]]</div>Digisushttp://openmoko.org/wiki/Om_2008_Feature_PlanOm 2008 Feature Plan2008-08-04T11:54:19Z<p>Digisus: Beautified the legend</p>
<hr />
<div>{{Distributions|ASU}}<br />
<br />
==Overview==<br />
<br />
ASU, the "August Software Update" is the internal name for the [[Om 2008.8]] release scheduled for Aug. 8, 2008. Openmoko's internal developers are focused on developing this release and integrating it with the distribution known as [[FSO]].<br />
<br />
== Schedules ==<br />
This is a list of planned features for the '''August Software Update'''. The deadline for adding entries to this page has already passed. Any features which are not mentioned on this page must be rescheduled for later versions.<br />
<br />
Please ensure that any entries you have on this page are kept up to date with respect to their status (todo, in-progress, testing or done).<br />
<br />
==Where to get ASU?==<br />
<br />
See [[Latest Images]]<br />
<br />
=== Legend ===<br />
<br />
Remember to update status codes in the feature plan to reflect the changes!<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%;" <br />
|-style="background: #ececec; white-space:nowrap;"<br />
!Status code <br />
!WikiWord<br />
!Description of status <br />
{{FeatureTodo| "FeatureTodo" | Not yet started |...}}<br />
{{FeatureInProgress| "FeatureInProgress" | Started, but not yet completed|...}}<br />
{{FeatureTesting| "FeatureTesting" | Finished, but not yet tested|...}}<br />
{{FeatureDone| "FeatureDone"| Completed ('''ONLY Testing Team should change to Done!''')|...}}<br />
|}<br />
<br />
<br />
== Feature Plan ==<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%;" <br />
|-style="background: #ececec; white-space:nowrap;"<br />
!Status <br />
!Project name<br />
!Description<br />
!Contact <br />
{{FeatureDone|Installer|timeout packagekit|Tick}}<br />
{{FeatureDone|Installer|send correct signal when download fails|Thomas}}<br />
{{FeatureDone|Installer|refresh sources automatically|Tick}}<br />
{{FeatureDone|Installer|display error message when package installation fails|Tick}}<br />
{{FeatureTesting|Installer|Auto refresh and retry once when packages conflict|Tick}}<br />
{{FeatureDone|Installer|Instead show alert when connection fails|Tick}}<br />
{{FeatureInProgress|Network manager|connect front end and back end|Marek}}<br />
{{FeatureDone|Network manager|python x event to pop-up keyboard|Marek}}<br />
{{FeatureTodo|Network manager|WEP testing|Allen}}<br />
{{FeatureDone|OPKG|add package size|Graeme}}<br />
{{FeatureTesting|OPKG|rename ipkg-utils to opkg-utils|Graeme}}<br />
{{FeatureDone|Suspend / Resume|suspend / resume via POWER button|Raster}}<br />
{{FeatureTodo|Graphic Design|generate application icons|Will}}<br />
{{FeatureTesting|Graphic Design|adjust pixel designs in assassin UI|Will}}<br />
{{FeatureTodo|Boot Splash|start boot splash image upon booting|Matt}}<br />
{{FeatureTesting|System Level|add aux key light indication during battery charging|Andy}}<br />
{{FeatureTesting|Boot Splash|implement boot splash process as per flash demo|Raster}}<br />
{{FeatureDone|Keyboard|back-end interface changes for subsystems|Raster}}<br />
{{FeatureDone|Keyboard|make keyboard pop-up on focus|Holger}}<br />
{{FeatureDone|Keyboard|implement qtopia keyboard backend interface|Holger}}<br />
{{FeatureDone|Keyboard|make word selection menu as per qtopia keyboard|Raster}}<br />
{{FeatureInProgress|Keyboard|polish keyboard layout|Raster}}<br />
{{FeatureDone|Splinter|highlight and un-highlight menu bar at press & release only|Jeremy}}<br />
{{FeatureDone|Splinter|change blank tags to say 'No Title'|Jeremy}}<br />
{{FeatureDone|Splinter|fill screen by default with no grey areas|Jeremy}}<br />
{{FeatureDone|Splinter|limit tag titles to 2 lines, 20 letters/line, 40 total|Jeremy}}<br />
{{FeatureDone|Splinter|show tag titles after selecting through list|Jeremy}}<br />
{{FeatureDone|Splinter|remove view tag bar in list view and show 'view tags' only|Jeremy}}<br />
{{FeatureDone|Splinter|implement contact selection for keyboard|Jeremy}}<br />
{{FeatureDone|Splinter|adjust design per flash demo spec|Will}}<br />
{{FeatureDone|Splinter|adjust red location flash timing |Jeremy}}<br />
{{FeatureDone|Splinter|create default map packages to be installed through assassin|OLV}}<br />
{{FeatureInProgress|Splinter|get new icon for zoom in/out|Will}}<br />
{{FeatureDone|Settings|implement Backlight|Marek}}<br />
{{FeatureDone|Settings|implement Suspend|Marek}}<br />
{{FeatureDone|Settings|implement Profiles|Marek}}<br />
{{FeatureDone|Settings|provide interface for illuminous settings needed in exposure|Raster}}<br />
{{FeatureDone|Settings|provide interface for qtopia Profile settings|Holger}}<br />
{{FeatureDone|Settings|add system info to settings list|Julian}}<br />
{{FeatureDone|Settings|add qtopia clock to exposure list|Marek}}<br />
{{FeatureInProgress|Settings|implement WiFi front end per flash demo spec|Marek}}<br />
{{FeatureInProgress|Settings|adjust pixel designs as per flash demo|Will}}<br />
{{FeatureDone|Settings|make green bar flash only during press & release|Raster}}<br />
{{FeatureDone|Distro|show only default packages in illume|Holger}}<br />
{{FeatureDone|Installer|communication|Julian}}<br />
{{FeatureDone|Installer|development|Julian}}<br />
{{FeatureDone|Installer|games|Julian}}<br />
{{FeatureDone|Installer|maps|Julian}}<br />
{{FeatureDone|Installer|miscellaneous|Julian}}<br />
{{FeatureTesting|Illume|remove e configuation from ASU|Raster}}<br />
{{FeatureDone|Illume|remove scroll bar within illume|Raster}}<br />
{{FeatureDone|Illume|remove enlightenment icon in top bar|Raster}}<br />
{{FeatureDone|Illume|remove usb icon in top bar|Raster}}<br />
{{FeatureDone|Illume|update gadget icons|Will}}<br />
{{FeatureDone|Illume|set time through qtopia shows in illume top bar|Holger}}<br />
{{FeatureDone|Illume|redraw gadget icons as per flash demo spec|Raster}}<br />
{{FeatureInProgress|Audio|improve overall audio quality of phone calls|Hardware}}<br />
{{FeatureTesting|Audio|remove nasty sounds when receiving qtopia alerts|Graeme}}<br />
{{FeatureDone|IT Repository|create community repository|Gismo}}<br />
{{FeatureTesting|IT Repository|create script to check if packages are buildable to place in repo|Gismo}}<br />
{{FeatureDone|Distro|place system info in rootfs|Julian}}<br />
{{FeatureDone|Qtopia|Fixup packaging in OpenEmbedded (html help files)|Holger}}<br />
{{FeatureDone|Qtopia|Fixup the timezone handling. Make Qtopia use the system timezone|Holger}}<br />
{{FeatureDone|Qtopia|Show active calls|Holger}}<br />
{{FeatureDone|Qtopia|Sync/Fix races in the phone libraries and callscreen|Holger}}<br />
{{FeatureDone|Qtopia|Go through the dialogs of qpe and make use QtopiaApplication::execDialog to get the atom hint set|Holger}}<br />
{{FeatureDone|Qtopia|disable more stuff from Qtopia|Holger}}<br />
{{FeatureDone|Qtopia|Sometimes the soft menu does not get updated}} <br />
{{FeatureDone|Qtopia|Playing the ringtone is "slow"|Holger}}<br />
|}<br />
<br />
== Next Release ==<br />
Following features are to be added in the next scheduled release.<br />
<br />
{| border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%;" <br />
|-style="background: #ececec; white-space:nowrap;"<br />
!style="text-align:center;" | Project name<br />
!Description<br />
!Contact <br />
|-<br />
|style="background:#ccffcc; text-align:center;" | Installer || Check if internet is available, don't wait for timeout || Tick<br />
|-<br />
|style="background:#ccffcc; text-align:center;" | Installer || DBus crashes - DBus stability issue || Tick<br />
|-<br />
|style="background:#ccffcc; text-align:center;" | Network Manager || WPA adhoc - manual IP configuration || Tick<br />
|-<br />
|style="background:#ccffcc; text-align:center;" | OPKG || add openmoko security package check || Julian<br />
|-<br />
|style="background:#ccffcc; text-align:center;" | Qtopia || add alert for voice mail || Holger<br />
|-<br />
|style="background:#ccffcc; text-align:center;" | Splinter || improve map navigation scrolling speed dramatically || Olv<br />
|-<br />
|style="background:#ccffcc; text-align:center;" | Settings || implement Sound Effects || Marek<br />
|-<br />
|style="background:#ccffcc; text-align:center;"| Settings || add call networks to exposure || Marek<br />
|-<br />
|style="background:#ccffcc; text-align:center;"| Settings || add profiles to exposure || Marek<br />
|-<br />
|style="background:#ccffcc; text-align:center;"| Distro || add terminal package with keyboard || Julian<br />
|}<br />
<br />
[[Category:Documentation]]<br />
[[Category:Distributions]]<br />
[[Category:ASU]]</div>Digisushttp://openmoko.org/wiki/Wish_List_-_HardwareWish List - Hardware2008-07-14T21:49:21Z<p>Digisus: /* Transparent */</p>
<hr />
<div>This page details hardware features which some would like to go into future phones similar to the [[Neo1973]].<br />
<br />
Related pages are:<br />
*[[Wishlist - Hardware - Novel Devices]] - openmoko will run on a large number of devices in the future, some of which may be DVD players, cameras, or convergance devices. <br />
*[[Wishlist:Unlikely]] - Hardware that is unlikely to appear in any OpenMoko device, due to it being impossible to fabricate with near-term technology, or for other reasons.<br />
*[[Wishlist:Accessories]] - Accessories that people would like, that connect easily to the phone - initially primarily for the Neo1973 <br />
*[[Wishlist:Expansion]] - add-ons to the phone, maybe involving hardware changes, and software and hardware protocols to implement these.<br />
<br />
This page is rather long. Before adding a new idea, please read through this page and the above pages, to make sure your idea has not been suggested before.<br />
==Processor==<br />
===A FPGA===<br />
A FPGA is a general purpose reconfigurable logic device.<br />
See [[Wish List - Hardware:FPGA]] for more details.<br />
<br />
===Samsung S3C2443===<br />
*[http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C2443&&ppmi=1427 Samsung S3C2443] Up to 533 MHz, can act as a USB 2.0 device.<br />
<br />
==Internal Memory==<br />
===RAM===<br />
128MB Dedicated for open files, running software etc., not for storage, or 256MB at all would be really nice and enough for any future software.<br />
<br />
===ROM===<br />
Enough to Hold O/S and a fair number of applications and their settings. Persistent Storage with XIP capability. About 128 MB.<br />
<br />
===Storage===<br />
An internal Micro SDHC should be used for users' files and additional software<br />
<br />
==Wireless data networking==<br />
<br />
===WiMAX support===<br />
[http://en.wikipedia.org/wiki/Wimax WiMAX] is a high-speed data service, similar to wifi, though longer range and newer. Where service is available, this would complement WiFi. Unfortunately, unlike wifi, frequencies vary worldwide, so global usage may be complex. In South Korea, 2.3Ghz is available for WiMAX, known as WiBro. WiMAX Forum sets heart on 2.5 GHz for global use.<br />
----<br />
Two campuses of the University of California have just completed a deal with a WiMAX service provider to lease UC's ITFS/EBS spectrum to provide WiMAX in the SF Bay Area. Bidding was aggressive between Nextwave, Sprint-Nextel, and Clearwire. Other UC campuses have awarded other contracts throughout California to various of the three contenders. The point here is: these three companies are competing aggressively for spectrum in the 2.5-2.7 GHz range, and it's not limited to CA. At a National ITFS Association meeting in 2005, representatives from Intel said they would be ready to release a WiMAX chipset compatible with these frequencies in 2007, for inclusion in laptops. I assume the folks at [[FIC]] know much more about it that I do! Based on these and other clues, I think WiMAX is coming in the 2.5-2.7 GHz band in the near future... I'll be surprised if I do not see some offerings by early 2009. <br />
<br />
-[[User:Tzf|Tzf]] 21:54, 24 November 2007 (CET)<br />
<br />
<br />
===LTE support===<br />
[http://en.wikipedia.org/wiki/3GPP_Long_Term_Evolution Long Term Evolution (LTE)] is a high-speed data service, similar to WiMax, but designed to be more compatible with existing GSM systems. While Sprint & Clearwire are currently testing WiMax deployment in the US, AT&T and Verizon appear to be in preference of LTE.<br />
<br />
While the project is ongoing and general in scope, it has set itself some specific goals, many of which are oriented around upgrading UMTS to a so-called fourth generation mobile communications technology, essentially a wireless broadband Internet system with voice and other services built on top.<br />
<br />
===Emerging Protocols===<br />
*[http://en.wikipedia.org/wiki/Near_Field_Communication Near Field Communication] has a few centimeter range, useable for keys, ID badges, pairing bluetooth devices and similar uses. Mentioned in newer bluetooth and SD standards. (No products.)<br />
*[http://en.wikipedia.org/wiki/ZigBee ZigBee] is designed for connecting sensors and switches in buildings, with many options including mesh networks and aggressive power saving compared to bluetooth. (Almost no products available.)<br />
*The [http://en.wikipedia.org/wiki/ANT_%28network%29 ANT network] is for connecting worn devices. Similar to ZigBee, but much simpler and maybe lower power. ([http://www.thisisant.com/?section=9 Short list] of products.)<br />
<br />
==Camera==<br />
<br />
* A camera that can take reasonable quality video and pictures is something many want. Applications vary from simple snapping, to gesture interfaces, video conferencing, barcode reading, business card reading, healthcare, servicing, biometric identification, and more.<br />
** Unlike stand-alone cameras, an OpenMoko camera could integrate EXIF information from GPS, compass, and internet, making it far more valuable.<br />
<br />
* Some people can't take cameras into work - a model without the camera, or some way of removing the camera would be useful or leave the camera chip in place and have a removable lens assembly and replacement backcover.<br />
*See [[Hardware:Neo1973:Alternate_Cases:Camera | Alternate Cases:Camera]] for phone casing suggestions.<br />
<br />
* See [[Wishlist:Camera]] for a more detailed wishlist.<br />
<br />
==Display==<br />
===Multitouch screen===<br />
<br />
''Main article: [[Wishlist:Spell_weaving|Spell weaving]]''<br />
<br />
See also [http://pogue.blogs.nytimes.com/2007/03/27/the-multi-touch-screen/ this page] containing a link to a video demonstration.<br />
<br />
A history of multitouch implementations is [http://billbuxton.com/multitouchOverview.html here] ([http://google.com/search?q=cache:billbuxton.com/multitouchOverview.html google cache version])<br />
<br />
*Use examples: [http://www.youtube.com/watch?v=UcKqyn-gUbY&mode=related&search= Multi-touch interface (from Adobe TED)], [http://www.youtube.com/watch?v=1ftJhDBZqss&mode=related&search= Multi Touch (new touchscreen technology)]<br />
<br />
===Bigger and better screen===<br />
2.8" widescreen (like in [http://etencorp.com E-ten] PDA/smartphones), or 3.5" widescreen (like in [http://www.expansys.ie/d.aspx?i=134944 Fujitsu Siemens LOOX N560]).<br />
<br />
262k or 16.7M colurs for displaying images and especially videos.<br />
<br />
OLED for better contrast, more rich colours, and less energy consumption.<br />
<br />
Maybe the [http://www.sharpsme.com/Page.aspx/europe/en/part/LS037V7DW01/ LS037V7DW01] by Sharp could be a solution. It has nearly the same specs as the currently used, but 3,7" -- [[User:Wedge | Wedge]]<br />
<br />
===="Slightly" Larger Screen====<br />
43mm x 57mm (2.8inch diagonal) is tiny. A 53mm x 71mm (3.5 inch diagonal) like on the TD035STEE1 would be a nice improvement. A widescreen format at about 53mm x 82.5mm instead of the 3:4 aspect ratio would be even cooler (if one could be found).<br />
<br />
====Higher resolution screen====<br />
The current OpenMoko hardware has a screen of size 2.8" and resolution 640 x 480 (VGA).<br />
<br />
See this LCD panel: http://www.engadget.com/2006/12/27/hitachi-does-800-x-480-display-for-phones/<br />
<br />
At 2.9" it is almost exactly the same size as the current screen but has a wider 800 x 480 resolution (WVGA). This is the same resolution as in the Nokia N800 web browsing devices (but those devices have a bigger, lower DPI screen).<br />
<br />
A display panel like this would enhance the phones's usability as a small computer, particularly for activities like web browsing, with an almost negligible affect on the size of the device. It would cause slightly increased battery drain though.<br />
<br />
===Distance sensing touchscreen===<br />
{{Main|Hardware:NearlyTouchScreen}}<br />
TouchKo's (now Wacom Company Ltd.) spatial capacitive "touchscreen", can sense fingers at a small distance, so you do not get your display greasy, and can unlike some touchscreens, be operated with gloves.<br />
<br />
===<s>Video acceleration</s>===<br />
Hardware acceleration for video playback and 2D/3D accelleration will be present in [[Neo1973 GTA02]].<br />
<br />
===EPD===<br />
Or electronic paper display, EPD is used in many new devices such as the new Motorola motofone, sonys new e-reader and Irex's iliad. The technology provides thin, lightweight, power saving screens using new eink technology. This technology could cut the weight of the phone and its power usage. For more info see: [http://www.eink.com eink's website].<br />
<br />
Pro: laserprinter like quality, glossy, very stable image, easy on the eyes. Electronics are similar to TFT. Very low power consumption. <br />
<br />
Con: Black and grey only (like a newspaper, but glossy), although there were already color prototypes in 2005. low framerate (5fps). Can reflect light (like paper), backlight is impossible.<br />
<br />
===Transreflective===<br />
It would be nice to have (the option of) a transreflective display, which while being less bright, is readable without needing to power the backlight. Then again, it depends on how much power the backlight uses compared to everything else...<br />
<br />
===Second Display===<br />
A 32x32 OLED display possibly on the back for camera framing or on an edge so it can be viewed like a pager.<br />
This could be used to display any number of alerts (from any installed software) the alerts could have a dynamic prioritisation which means during the work day a message from the boss has high priority but lower at home (could be GPS/Time controlled?) multiple alerts shrink the icons to a 3x3 grid higher priority messages get more space.<br />
<br />
===Pico Projector===<br />
[http://www.engadget.com/media/2006/02/digismartphone2.jpg Like the one shown here] or [http://www.youtube.com/watch?v=sT1mhSRichk (video example here)] new cellphones are now coming out with a small, low power projector. This can be used to show movies from your cell phone with 0.5m high image on a while wall for example...<br />
<br />
Sample Video: http://www.youtube.com/watch?v=sT1mhSRichk<br />
<br />
Sample Vendor/Product Info: http://www.dlp.com/tech/what.aspx<br />
<br />
==Input devices==<br />
<br />
===Regular phone keypad===<br />
I really like the idea of this phone BUT it misses one<br />
crucial feature - a simple keypad(like most other phones have).<br />
I'd be basicaly happy with a mobile device with a 3-4" screen with a slide out keypad(in a similar way as the n95).<br />
<br />
===No Dependence on Stylus===<br />
The Neo's basic functionality should be completely usable without a stylus, Like the iPhone but with stylus use for precision work.<br />
<br />
===A laser projection keyboard===<br />
Similar to [http://www.thinkgeek.com/computing/input/8193/ this], except the device would be integrated into the phone itself. Setting the Neo up on a stand on a flat surface (perhaps a stand could be built into the back of the Neo itself, or into a case) would turn the Neo into a micro-laptop. There may be several issues with the inclusion of this technology, including patents, the space required to project the laser grids, and the power consumption. If possible, however, it would make text input a breeze.<br />
<br />
===Just a few more Buttons===<br />
<br />
2 buttons more, 3 buttons total, mounted sideways would be enough. You could use them for play/pause and loudness controll while the phone remains in your pocket (display locked, ...), reading mails, rss, ebooks,... without wasting display space and so on.<br />
<br />
With 5 buttons in total you could possibly emulate a keyboard (2^5 = 32 combinations) for those who know how to play a flute. Useable onehanded, not wasting display space and faster than t9. (It's not faster than T9 - I've used this system with the microwriter agenda --[[User:Speedevil|Speedevil]] 00:00, 2 July 2007 (CEST)) Hopefully this is not patented already.<br />
<br />
===D-Pad and Buttons===<br />
*Adding a D-pad (to the bottom of the phone) and 2 to 4 buttons (to the top) would provide some tactile input controls, in addition to the touchscreen. They could be used as shortcut keys in the menu, or playback control when playing media. When the phone is held sideways, they can be used as games controls. (With touchscreen alone, gameplay options are limited)<br />
<br />
Game buttons would be best on both sides of the screen. The larger the buttons, the better. 2x 4 buttons in up-down-left-right configuration + some extra buttons separately a bit lower on the device would be good for many for emulation games. <br />
<br />
Here is a concept drawing of a possible neo1973 gaming version: <br />
(This has a 4-way direction pad, 8 way may be better for gaming)<br />
<br/><br />
[[Image:Neogame90.jpg]]<br />
<br/><br />
Shoulder buttons would be a great addition, too. It would be interesting if there was a total 4 of them, one for every corner. It would make the phone very flexible for rotating and 2 to 6 players playing on one device.<br />
<br/><br />
:''Note'' : The [http://en.wikipedia.org/wiki/Tapwave_Zodiac Tapwave Zodiac] Palm PDA / Game console hybrid had a similar setup - with an analog stick on the left (also used for quick selection using a radial main menu when working as a PDA), 4 buttons on the right (also configurable for shortcuts when using the device as PDA), and 2 shoulder buttons. Also it had and still has an enthusiastic scene of homebrew development (almost any console emulator for PalmOS can also take advantage of the additional buttons and graphic power of the device). If we also take into account the success encountered by the [http://en.wikipedia.org/wiki/GP32 GP32] in the past and the [http://en.wikipedia.org/wiki/GP2X GP2X] currently on the homebrew scene, it's not unreasonable to plan a future OpenMoko device with both a SmartPhone/PDA functionnality ''and'' hand-held console targeting homebrew development.<br />
<br />
===Thumb keyboard or keyboard attachment accessory===<br />
*Could be slide out or clamshell (hinge on long side) design with an external OLED. The keyboard should be protected when not in use.<br />
*Could be a clip on keyboard that attaches to the serial port or communicates by bluetooth (not preferred for permanent keyboard users).<br />
*Cheap clippable miniusb keyboard<br />
*One of the layouts proposed in [[Hardware:Keyboards]]<br />
* What about virtual keyboard? [[http://www.extremetech.com/article2/0,3973,539778,00.asp Keyboard]]<br />
<br />
===Analogue Controllers===<br />
<br />
====Trackball====<br />
A trackball would provide an efficient mouse-like interface in a very compact package. As exemplified in the newer Blackberry&reg; models.<br />
Maybe instead an optical sensor as are used in mice could be used so that the whole phone can be moved over a surface just like a mouse. (It could function as a Bluetooth mouse for other devices like laptop computers: see [[Bluetooth_Support#Acting_as_HID_device]]. Adding one other two-axis analogue input (possibly just the screen) would make the Neo usable as a TrackPoint or scroll-and-tilt mouse.) The same sensor might be usable as a barcode reader.<br />
<br />
====Analog Joystick====<br />
A joystick, or [http://www.extremetech.com/article2/0,1697,1772689,00.asp Rollermouse]-like device would provide additional control, compared with touchscreen only.<br />
*A standard [http://en.wikipedia.org/wiki/Pointing_stick pointing stick (ie. TrackPoint)] might serve well. As a fairly standard part, might they be quite inexpensive?<br />
<br />
====Dual analogues====<br />
Dual analogue controllers (one trackball or joystick above, one below the screen, most likely) might even be feasible. That might be overkill since the accelerometers or touchscreen can be used to provide a second analogue input. But it would be nice to have four axes of analogue control without having to tilt the screen away from you or partly cover it with your hand.<br />
<br />
===TV/radio receiver===<br />
[[Digital Television]], [[Digital Radio]] or even normal analogue TV/radio is widely available in the world, though unfortunately in various different forms. In markets where one standard is widespread, and hardware is suitable, it would be a great extension of the phone to a general entertainment device for when you're away from home. Multi standard devices would be ideal, but may not be small, low-power, or cheap.<br />
A good start would be an FM tuner, since it's one of the most widely used formats of radio broadcasting in the world.<br />
<br />
Here's a selection of chips, though it's not clear if the drivers are open source. http://www.sigmatel.com/products/portable/wireless/fmtuner.aspx#fragment-14<br />
http://www.st.com/stonline/products/families/automotive/am_fm_tuners.htm<br />
<br />
===Accelerometer=== <br />
This enables the phone to sense which direction 'down' is, and to sense any movements the phone makes.<br />
<br />
See [[Accelerometer Fundamentals]] for more information on accelerometers as they may be used in phones.<br />
<br />
In some cases integrated gyroscopes may also be needed. A [[#Digital compass]] can even be of more use since it gives absolute rotation so slow rotations could also be measured. A 3D compass would be nicest, but a simple 2D compass already is a helpful addition to the accelerometers.<br />
<br />
*[[Wishlist:3D Viewport|3D Viewport]]<br />
*[[Wishlist:Computer Mouse|Computer Mouse]]<br />
*[[Wishlist:Determine Position|Determine Position]]<br />
*[[Wishlist:Dynamic Screen Orientation|Dynamic Screen Orientation]]<br />
*Change media player playlist when jogging vs walking. <br />
*Attempt to use to stabilise any future camera.<br />
<br />
This feature is scheduled for inclusion in the phase 2 Neo1973, GTA02.<br />
<br />
===Side-Mounted Touch Strip===<br />
Add a "touch strip" sensor onto the side of the phone which can be used to scroll. By having it on the side you can use your thumb to scroll comfortably while holding the phone one-handed. An 8-element capacitive sensor would work wonderfully and be easy to fab using either a Quantum QT411 (http://www.qprox.com/products/qslide_qt411.php) or Analog Devices AD7143 (http://www.analog.com/en/prod/0,2877,AD7143,00.html) controller. The Analog Devices chip seems better suited due to it's smaller allowable element size.<br />
*With the AD7143 you can have an 8-element (128-position) 25mm long strip - Perfect!.<br />
*With a few OLED screens beneath the strip it could be used as dynamic configurable buttons/alerts eg. zoom/flash/shutter with a camera application and SMS/Email/Voicemail alerts in standby<br />
<br />
===Heart Rate Compatibility=== <br />
<br />
An RF interface to receive data from popular heart rate straps (Polar, Garmin, Sigma, Suunto, etc.). This would go along well with the existing GPS functionality and possible future Accelerometer functionality to make for a full-blown workout tool.<br />
<br />
Software can be written to track heart rate along a running, cycling, skiing, swimming loop, to monitor max and min heart rate, to match heart rate data to GPS coordinates and print map data w/ relevant data.<br />
<br />
===Digital compass=== <br />
A digital compass is useful for orienting maps to the terrain and other location/direction/orientation based applications (... is 300 meter that way) when the user is standing still (regardless of GPS reception) and for following a bearing when GPS reception is poor or speed is low. Also could be used to make the accelerometer data more exact.<br />
<br />
A compass is also useful for tagging photographs with the correct direction (in addition to location) of the photo.<br />
<br />
Very small [[I2C]] sensors like [http://www.ssec.honeywell.com/magnetic/hmc6352.html Honeywell's HMC6352 2-Axis Digital Integrated Compass] (6.5 x 6.5 x 1.5 mm) are very appropriate for this. Another option is the much smaller [http://www.global.yamaha.com/news/2006/20060726.html Yamaha YAS529 Three-Axis Geomagnetic Sensor IC Chip] (2.0mm x 2.0mm x 1.0mm).<br />
<br />
*[[Wishlist:Auto Align Map]]<br />
<br />
See [[Wishlist - Hardware: Digital compass]] for more information<br />
<br />
===Thermometer===<br />
An electronic thermometer might become handy for some users.<br />
<br />
There are very small [[I2C]] devices available, that could easily integrate to the existing bus. For example [http://focus.ti.com/docs/prod/folders/print/tmp100.html this one from ti].<br />
(Could just be cheap and use the thermometer from the battery, thats how they did it in the nokia 5140's). Also is integrated in a barometer/altimeter like the SMD500 mentioned in [[Wish List - Hardware - Atmospheric]].<br />
::But if you carry it in your pocket it is unlikely to show the correct air temperature anyway. [[User:AudriusA|AudriusA]] 17:12, 12 January 2008 (CET)<br />
<br />
===Barometer and Variometer (Altimeter)===<br />
<br />
A Barometer measures air pressure. This can be used to give weather information, and also as a variometer, to sense relative altitude. Variometers are commonly used in flying microlight and ultralight aircraft, to get accurate relative altitude.<br />
<br />
These are also common on high end GPS units. This is a great feature for walkers as you can tell how far you have got on any ascent/decent.<br />
<br />
See [[Wish List - Hardware - Atmospheric]] for more information.<br />
::The GPS device [[Manually using GPS|outputs the altidude]] as well. This has been tested and works fine. [[User:AudriusA|AudriusA]] 21:44, 7 February 2008 (CET)<br />
<br />
===Finger print sensor===<br />
A fingerprint sensor gives easy and fast access to the phone, could lock the touchscreen etc. An example of this device can be found at [http://www.sonystyle.com/is-bin/INTERSHOP.enfinity/eCS/Store/en/-/USD/SY_BrowseCatalog-Start?CategoryName=cpu_VAIONotebookComputers_UX_Series&Dept=computers Sony UX17].<br />
<br />
Most fingerprint sensors in the embedded market include a navigation mode, where they work similar to either a touch-stick or touch-pad of a laptop.<br />
<br />
[http://www.fujitsu.com/downloads/MICRO/fma/formpdf/mbf320_fsfin.pdf Fujitsu] has a small strip like reader that has SPI and USB support.<br />
<br />
===Barcode Scanner===<br />
*less cpu intensive and more reliable than camera+ocr<br />
*though, bluetooth-enabled readers are already available.<br />
<br />
===Light Sensor===<br />
Ability to sense ambient light, and act accordingly. i.e if it's 3am and LightValue<.1 then Ring Quietly.<br />
<br />
===A pluggable sensor module===<br />
Give the option of a composite sensor module consisting of pressure, humidity, temperature and light sensors(if camera not present, which is the case), which will be pluggable to the phone and connected to the USB 1.1 port.<br />
<br />
===Wheel===<br />
A navigation wheel like on a sony/ericsson 810i would be nice.<br />
<br />
===Proximity Sensor===<br />
Switch off backlight when you place the phone to your ear. Prevent accidental activation of speakerphone or other sounds when the phone is near the ear (prevent hearing damage). Possibly switch the speakerphone on or off automatically depending on if the phone is by your head or not.<br />
<br />
=== Make ''all'' unlocking of phone, password protected===<br />
<br />
When my (current non-neophone) phone is in my pocket and I have it locked, it sometimes accidentally unlocks itself since only two keystrokes in the correct order are necessary to unlock it. When it's unlocked and still in my pocket it sometimes calls someone without my knowledge. All phones I've seen today have a press-just-one-button bypass to answer an incoming call even when the phone is locked. I suggest making the locking mechanism let the user configure it so that the user has to enter a password even for answering incoming calls. The likeliness of the phone accidentally runbbing against my car keys, hitting a ten character long password, unlocking the phone without my knowledge and consent is low enough even for us most unlucky users.<br />
<br />
==Expansion==<br />
===Positioning of Buttons, Connections and ports===<br />
<br />
Ideally any cable ports such as charging, USB, audio, docking should not get in the way of your hand or fingers when holding it in it's normal orientation. For the sake of SDIO cards an external SD slot should be on the top edge. IR for remote control software and ease of inter-device communication should be on the corner so that it is facing away from you for both orientations. Buttons obviously are positioned for finger control. An example of how '''not''' to do this would be the HTC Universal<br />
<br />
===Storage===<br />
<br />
====MMC/SD/SDIO slot (rather than?) miniSD or microSD====<br />
*Cheaper, more durable cards in a widely accepted format.<br />
*Much much larger storage capacity, [http://blog.scifi.com/tech/archives/2007/08/23/toshiba_unleash_1.html even 32GB]<br />
*Cards are harder to lose<br />
*Wider selection of accessories, including SDIO accessories.<br />
*Make externally available so that larger length SDIO cards can be used (thinking about SDIO WLAN here)<br />
*[http://en.wikipedia.org/wiki/Secure_Digital_card#SDHC SDHC] compatible. It seems to already have the right hardware for it - see [[Neo1973_Hardware#microSD-Card]].<br />
See more on [http://wiki.openmoko.org/wiki/Wish_List#SD_Card_Slot Wish list - SD Card Slot]<br />
<br />
====Two SD slots====<br />
*Micro SDHC for /home partition. Keep like current design underneath SIM card<br />
*Hot swappable externally accessible normal size SDHC/SDIO slot<br />
<br />
=== Internal Communication Bus ===<br />
*A standard and/or documented internal communication bus of some sort could simplify adding new hardware modules.<br />
*Serial USB or I2C connector internal to case towards the top<br />
*Several digital I/O pins that operate at TTL levels<br />
*A few analogue I/O pins attached to a A/D converter<br />
*Documentation of Debug board connector could provide some of this functionality.<br />
<br />
I2C is used on the Neo with some details of resources already in use documented!<br />
Please see [[I2C | Neo I2C Devices]] for more information & a list of devices & the addresses currently in use & documented for the Neo1973.<br />
<br />
===Local Communication===<br />
<br />
====USB====<br />
* 5V Powered, to avoid having to carry around a hub for when you want to occasionally plug in a memory stick. Many powered hubs will not recognize a totally unpowered host. Provide a maximum current to drive a basic USB keyboard/memory stick/mouse/webcam/astrowebcam. This could be done by adding a small cheap power converter like the [http://www.national.com/pf/LM/LM2753.html LM2753]<br />
* USB 2.0 (USB 1.1 is too slow to transfer data to the card, removing the card everytime from the phone isn't an option too, because it is placed under the battery)<br />
* Standard type A socket for quick & easy insertion of memory sticks etc.<br />
* OTG, to be able connect usb keyboard like [http://www.mobile-review.com/pda/review/cherry-kb-en.shtml Cherry G84-4321 SUNRG]<br />
* Bootable USB device emulation: the possibility to boot any computer on a bootable flagged partition of the transflash.<br />
* Protection against incorrectly wired USB ports: some USB ports are wired incorrectly; if the +5V and GND are swapped, the device would get -5V when it's expecting +5V, which could burn some chips. A reverse-biased diode between +5V and GND, D+ and GND, D- and GND, and (if used) ID and GND, with a low enough forward voltage drop (to limite the negative voltages to what the chips can withstand), would protect the device by tripping the port's short circuit protection.<br />
<br />
====Wireless USB support====<br />
[http://en.wikipedia.org/wiki/Wireless_USB Wireless USB] is the wireless version of USB offering data-rates up to 480 Mbit/s over short distances (<3 meter). Chipsets suitable for a phone are likely to take some time to be available.<br />
<br />
====Bluetooth with A2DP====<br />
Is the blue-tooth radio present in the phone A2DP compatible. If not, make it so.<br />
<br />
Great for listening to music or watching a movie with full sound.<br />
<br />
====SIR/FIR transceiver (Serial Infrared) / IR remote control====<br />
*An infrared transceiver is cheap, small, and useful for sync with many laptops and mobile phones. <br />
*Replace/emulate all IR-based remote controls used for your tv, vcr, etc on your neo cell phone.<br />
** replaces multiple 'dumb' devices with a single intelligent device (your neo) that you will probably carry with you at all times anyway. <br />
**Command sets should be retrieved from a database or learned from other less intelligent remote control devices with macros. <br />
**reduces clutter, particularly in the living room.<br />
**inceases the neo's practical status as an 'always-have' device. <br />
<br />
Other uses.<br />
*Detecting reflections from inside of a caddy, and switching from active mode.<br />
*FIR would be a nice option, as it's some 40 times faster than SIR.<br />
<br />
===Other===<br />
<br />
====Video Out====<br />
*Through a docking port<br />
**S-Video/Composite Out<br />
**DVI Out<br />
**HDMI Out<br />
**Display Port<br />
<br />
==Output devices==<br />
<br />
===LED===<br />
*The Neo1973 GTA02 will have LEDs of some sort behind at least one button. [http://lists.openmoko.org/pipermail/community/2007-July/008458.html]<br />
*A blinking LED would be a cheap, low power way to inform the user of new SMS/Email....<br />
**An alternative to this would be for one small part of the LCD to be separately backlit.<br />
**This requires the CPU and LCD to be somewhat active, to keep the LCD refreshed, but gives much more information.<br />
**A Small OLED Screen could be used and display much more information than a LED with minimal power usage.<br />
<br />
*For example a multicolor LED which pulses yellow for GSM/GPRS transmit, blue for Bluetooth/Wifi, green to indicate non-urgent information - missed call etc, red to indicate battery low or other urgent notices.<br />
<br />
**The LED and button ideas could be combined: illuminated buttons.<br />
**It must be possible to completely disable the LED to save power or other personal preferences.<br />
<br />
=== Flashlight ===<br />
For finding keys, or any other application. May also optionally pulse in time with ring, to make phone more visible.<br />
This is really well done in Nokia 5500.<br />
<br />
-I second this one. The most used feature in my Nokia 5140 after the calling and sms features is the flashlight. It's just one simple LED, but powerful enough to see with if it's really dark. If it ain't dark, you won't need the light anyway. :)<br />
<br />
Also, Who hasn't lost their keys and opened up their cell phone to use as a flashlight?<br />
<br />
=== FM transmitter ===<br />
Small FM transmitter to output to car, and other nearby radios.<br />
<br />
Fix the biggest flaw in the iPod before Apple does!<br />
<br />
=== Infrared Transmitter w/ universal remote software ===<br />
Infrared LED on top of device with universal remote software so you can control televisions, DVDs etc.<br />
[http://www.novii.tv/ Here] is an example of universal remote software.<br />
<br />
:I'd like to add that i fully support this. An IR port on future openmoko devices capable of controlling set-top boxes like TV/DVD/Stereo is necessary to make the device as universal as possible. A cellphone should be your window to the world and allow you to interact with it in as many ways as possible.<br />
<br />
:Care must be taken to use the correct type of IR chipset/controller in the phone. Most IR ports you find on devices like computers, some cellphones etc. Are for high speed data communication and CAN'T control TVs/DVDplayers/Stereos etc.<br />
<br />
:In order to reduce cost it maybe possible to use the sound chipset in the phone to generate the waveform sent to the IR led. IR remotes work at ~38Khz which is within the range of the sound chipset. The sound output could be internally switched between the IR led or the speakers.<br />
<br />
===HAC Compliance===<br />
[http://quux.wiki.zoho.com/WhereAreHACphones.html Here] is some summary/discussion of how hearing aid compliance rules work in the US. Specifically it would be nice to see the phone include a [http://www.hearingresearch.org/Dr.Ross/telecoil_and_telephones.htm telecoil], which allows the phone to connect wirelessly to many standard hearing aids.<br />
<br />
==Mobile Communication options==<br />
<br />
===Generic Access Network / Unlicensed Mobile Access===<br />
This technology requires cooperation from the cellular provider, but [http://en.wikipedia.org/wiki/Unlicensed_Mobile_Access UMA/GAN] is already offered by T-Mobile in the United States, and perhaps others in other countries. Allowing the user to roam from GSM to wifi, this technology can save the end user a significant amount of money, and also allow the user to deploy coverage where there was none before. There are only a few UMA capable phones currently, but it would be great if this could be made to work on a phase 2 type OpenMoko device.<br />
<br />
Note that this features requires more advanced access to the GSM modem. <br />
Special messages needs to be exchanged with the network.<br />
<br />
===Faster/better mobile connectivity.===<br />
[http://en.wikipedia.org/wiki/Gsm GSM]/[http://en.wikipedia.org/wiki/GPRS GPRS] is at best slow. An incremental improvement would be a radio with [http://en.wikipedia.org/wiki/EDGE EDGE ] support. EDGE is an evolved GSM standard and, like GPRS, it operates on the same frequency as voice. This means a quad-band EDGE radio will have near-complete worldwide coverage. <br />
<br />
[http://en.wikipedia.org/wiki/UMTS UMTS] - which is widespread in Europe and being deployed in the US, [http://en.wikipedia.org/wiki/HSDPA HSDPA] (asia) and any other mobile standards would be nice for faster data connectivity and coverage.<br />
It is unlikely that all of these will be supported initially, but it is a goal. These faster standards operate in different frequencies from GSM/GPRS/EDGE. Which frequency exactly will depend on the carrier and country. For UMTS in the US, AT&T uses 850/1900 MHz but T-Mobile will use 2100/1700 MHz for example.<br />
<br />
Until that goal is reached, it is likely that some phones will be brought out for various specific markets - Europe, Asia, US.<br />
<br />
===Ability to use multiple SIMs/networks===<br />
* External SIM sockets are widely available in China, a dual external socket would be a very good solution.<br />
* [http://www.fonefunshop.co.uk/dualsim/digital.htm Dual SIM card kit] - two SIMs are trimmed and combined, software supportwould be needed, and both can't be used at once...<br />
* Some networks support multiple numbers on one SIM. Unfortunately this won't allow split networks.<br />
* A second/dual GSM module would allow full use of both sims at all times.<br />
* As a hack, [http://wiki.openmoko.org/wiki/Wish_List#Bluetooth_powered_Multi-SIM_support use another mobile via BT].<br />
** As many as three SIM slots would be genuinely useful, especially for a 3G phone - some 3G data tariffs are only available on data-only SIMs. A user could quite reasonably have one SIM for data, once SIM for his personal voice calls, and a third SIM for his business number.<br />
* Dual SIM card support will be especially welcome by the women. They just love to talk on the phone.<br />
* Save the contents from several SIM-cards to memory and simulate them.<br />
<br />
===PMR446/FRS Radio===<br />
* Include a PMR/FRS Radio.<br />
* A two-way walkie talkie lets you use the phone to communicate with friends without requiring a GSM connection (crowded networks at festivals, at locations with no GSM coverage).<br />
<br />
2 way talk over Sprint/Nextel/Boost networks if possible. At least the walkie talkie feature for sure. It's very annoying being at a lake with no service and can't call your friend in the other boat across the lake.<br />
<br />
===[[DECT]]===<br />
* Include a [[DECT]] GAP/CAT-iq transceiver so you can use your home and/or office PSTN line<br />
** Ability to use Alcatel phonebook stuff (like provided by the eventphone.de phone equipment) would be very nice too<br />
<br />
===[[SIP phone]]===<br />
Make stripped down (and thus cheaper) version of the Neo1973 phone for use as a SIP phone. Remove GPS, GSM, accelerometers, stylus.<br />
<br />
Addition of an centimeters-precise location system [http://en.wikipedia.org/wiki/Real_Time_Location_Systems RTLS] would be nice, as it will allow highly sensible indoor context detection. Imagine putting the phone next to your mirror (where you shave daily) and watch it automatically switch to news radio channel. Or put it next to your bed and see it automatically switch to "sleeping" mode, when only calls from predefined numbers are accepted.<br />
<br />
=='''Casing'''==<br />
See also: [[Alternate Neo1973 case designs]] for a list of cases being considered for design/manufacture by the community.<br />
<br />
=== [[Hardware:Neo1973:Alternate_Cases:Expansion_Module_Casing | Expansion Module Casing]] ===<br />
Longer case (150-160mm+) with space in the top to put expansion modules, including test & hobby hardware. Would require use of a standard internal power & communications bus. Could be left empty with blank cover or house cameras, solar panels, a crank powered charger, special transmitters/recievers, or anything else imaginable.<br />
<br />
[http://www.likeasecret.com/Neo1973/Neo1973-Exp.mov Neo1973 Expansion Module Quicktime rendering]<br /><br />
[[Image:Neo1973-Exp.png]]<br />
<br />
=== Expansion Back Casing ===<br />
Replacement backs with additional features ranging from solar power, larger batteries, extra hardware, ...<br />
<br />
===[[Hardware:Neo1973:Alternate_Cases:Expansion_Front_Casing|Expansion Front Casing]]===<br />
Replacement fronts with e.g. extra buttons.<br />
<br />
=== Space efficient Lanyard ===<br />
The hole at the bottom of the phone takes a lot of space. A [http://en.wikipedia.org/wiki/Kensington_Security_Slot Kensington Security Slot] could be used instead.<br />
<br />
=== Rugged version ===<br />
We need something you can drop from 4 feet in to a puddle of dirty water on construction site. Sunlight readable display, maybe aluminium case. The big ugly pseudo military version. What about a casing similar to the OLPC project's in terms of dust and waterproofing? I frequently have to answer the phone with hands dripping sea water and most phone's do not take kindly to that type of treatment. Also the accelerometers can be wired to a protection mechanism which suspends all processing/data activity in case of a (free) fall. <br />
<br />
=== Transparent ===<br />
Make a transparent, see-through casing. Why do we need a closed casing for open hardware and open software? Show the world it is a truly Free/Open source phone.<br />
<br />
That makes sense to me. I second that idea!<br />
Me, too!<br />
<br />
=== Blank ===<br />
Even though the transparent case would work too, I would like to see a blank case of pure black or white so people could have the option of air-brushing,painting or even drawing on the case.<br />
<br />
===Integrated solar charger===<br />
Perhaps on one side there could be an integrated photovoltaic. It would be small, but might it be enough to charge the device. It could be integrated in an aesthetically pleasing fashion like [http://i.i.com.com/cnwk.1d/i/bto/20080523/solarboat.jpg this]... except, with a matching color. :)<br />
<br />
==Misc==<br />
===Battery Size/Standby Time===<br />
<br />
Since the device will be ultimately running a wide selection of software on it the battery needs to be somewhat more robust and have a longer standby time than that of current phone's. At the moment I'm using a Moto (2 days before charging) or a Samsung (3 days before charging) and am not impressed with either phone's standby time, and I'm not using the phone's for anything but calls.<br />
<br />
=== Dedicated Power / Charger Pinout ===<br />
<br />
Having not yet seen a physical Neo device, I haven't been able to examine any of the IOs to see if there already is a dedicated power / charger input. However, I can imagine that it might be very tempting to have the device charge solely via USB. For any device that is capable of USB-host, that is a '''horrible''' idea, particularly when it's intended to be a mobile-komputing device.<br />
<br />
Since the device is able to run in USB host mode, it might be a good idea to allow for an alternate power supply, if say, a USB keyboard was being used for several hours. Rather than drain the battery, one could just supply power via the wall outlet while still providing endless hours of USB-host enjoyment for those hard-coders on the go.<br />
<br />
The main question is just deciding on where to take power from (or at all) if in USB-client mode and the power cable is inserted, but really, that's not too big of a deal and can be solved with very minimal circuitry. If 5V is detected on the power line, then the obvious place to get it from is there at any point in time.<br />
<br />
This might sound extraneous at first, but when the device shuts down in the middle of an important USB file transfer, or right before that great piece of code was saved, you can bet that those users will be saying "Hmm... a separate power adapter would have really come in handy right now". <br />
<br />
I suggest a tiny 3mm, dedicated +5V power input (something a la Nokia).<br />
<br />
With the dedicated charger it would also be possible to use any standard USB device if<br />
the phone recognized the external power and enabled 5v power when plugged in.<br />
<br />
===Galileo/GLONASS/GPS receiver===<br />
*A multi-standard satellite positioning module would be nice eventually, it does not seem to be near-term due to chipset availability problems. Galileo is the to be launched (2011) European positioning system. GLONASS is the already existing Russian one.<br />
<br />
=== GPS antena ===<br />
The current GPS device seems even dependent on weather and may not work in heavy rain or snow. It seems necessary to think how to improve the reliability. The small portable GPS antena may be an option.<br />
<br />
===X10 RF Remote===<br />
Many PC-based media centers are being equipped with an RF (433 MHz) / X10-based remote control. The [http://en.wikipedia.org/wiki/X10_(industry_standard) X10] protocol also facilitates home automation to control lamps, switches, etc.<br />
The advantages of using RF for control instead of Infra-red this that it also works when furniture, walls, or doors are blocking the path between RF remote and the equipment or device. [http://www.lirc.org/ Lirc] supports X10-based RF remotes (but expects having an USB RF receiver attached to the media center).<br />
<br />
===RFID tag/RFID Reader===<br />
* Implementation/Cooperation with: [http://www.rfidguardian.org/ RFID-Guardian]<br />
*An enable-able tag would be of use - for example being able to use the phone to open doors, or cars. Unfortunately, it's moderately hard to do secure programmable tags that are compatible with existing systems, for obvious reasons.<br />
* Say you have RFID tags on your personal belongings: cellphone, keys... Neo could be programmed to remember the last recorded GPS location before it lost contact with the respective RFIDs. It'd be trivial to check where you left your cellphone, get directions from a map...or beep when the phone gets out of RFID range.<br />
<br />
*I agree with this idea, a great idea and you have to do it (Jackcday)<br />
<br />
===NFC chip===<br />
*A Near Field Communication chip, with this chip it will be possible to pay with your phone (like a credit card)in the near future, see [http://www.nokia.com/A4305081 Nokia]for details<br />
*NXP is a chip fabricator which provides NFC chips [http://nxp.com NXP] direct link>> www.nxp.com/#/pip/cb=[type=product,path=/53420/53424]|pip=[pfp=53424][0] their chips also support the above RFID reading<br />
<br />
===Less weight===<br />
* Work on the weight of the Neo1973 and following devices. At the present time the Neo1973 is just a moderate / normal business or multimedia phone. The ordinary "user" may want something lighter. Take a look at the following table, that's the Neo1973 compared with other common business or multimedia phones.<br />
{|border="1"<br />
| Neo1973 || Fujitsu-Siemens LOOX N560 || E-Ten Glofiish X500+ || Sony Ericsson P990i || iPhone || Nokia E65 <br />
|- <br />
| 184 g || 160 g || 146 g || 150 g || 135 g || 115 g <br />
|-<br />
|}<br />
<br />
===Make it smaller===<br />
* To stay within physical matters: Maybe the Neo1973 is also just a normal business/multimedia phone when looking at the size. It would be great the shrink it a bit. Especially the thickness of 18.5 mm could be worked on!<br />
<br />
===Standard 3.5mm headphone jack===<br />
The Neo1973 uses a 4-conductor 2.5mm jack for stereo headphones and a microphone. A 2.5mm jack is the most common for headsets. <br />
<br />
There is an emerging convention used in the Nokia N800 and some other devices. A 4-conductor 3.5mm jack that can use a microphone with special headsets, but can also be used with off-the-shelf 3.5mm stereo headphones. Adapters to 2.5mm are of course available and this 3.5mm jack is much more robust.<br />
<br />
Neglecting space limitations, multiple sockets - 2.5mm and 3.5mm would be nice. Probably not practical in a phone. Other expanded plugs might allow remote controls.<br />
<br />
Other uses might be better met using bluetooth, or USB audio.<br />
<br />
===Software should know of the jack status===<br />
It should be possible for the OS to see if there is something connected to the audio jacks. That would avoid the embarrasing moments when you accidently pull out the headphones from the cell/laptop and whatever you were listening blares over the place at full volume. If OS can see, that the headphones were unplugged without turning off the audio, then it could pop up a warning that would allow to direct audio to internal speakers or turn it off. If the user would replug the headphones/speakers then the warning would dissapear as well.<br />
<br />
===Laser Pointer===<br />
Include a built in laser pointer. Everything is better with lasers.<br />
<br />
===Completely free hardware===<br />
Consider selling one device with absolutely no non-free components in it, even if that means dropping the GSM support. I believe having one such device available would be good, because then it could be recommended by organizations like the FSF which typically never recommends anything if it has even a little non-free code in it.<br />
<br />
=== Consider economy / inexpensive / less featured edition ===<br />
Some people want less features, because they do not need them. Leaving out some features either lets the phone get smaller or possibly enhances battery live.<br />
<br />
One big suggestion in this area is a b/w lower res display instead of the big color display.<br />
<br />
=== Inductive Charger ===<br />
<br />
It would be nice if it was possible to charge the phone without having to connect a cable. I'd like to have a simple docking station with an inductive charger like the type that's used for electric toothbrushes [http://home.howstuffworks.com/question292.htm ]. The charger itself could get its power from a standard wall-wart power supply, or it could be USB/Firewire powered.<br />
<br />
==== Examples of existing commercial systems ====<br />
* http://www.splashpower.com/<br />
<br />
=== Solar panel/dynamo Charger===<br />
<br />
It would be very nice to be able to charge the phone outside of the electric grid (for example on hikes and boating trips). A combined solar panel and muscle empowered (rotational etc.) charger would do the trick nicely.<br />
<br />
'''some mobile Solarpanels'''<br />
<br />
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=off01011&k_id=1400&hot=0 Off-Grid Systems Sunbag L]<br />
<br />
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=off01001&k_id=1400&hot=0 Off-Grid Systems Sunbag S]<br />
<br />
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=sv_01011&k_id=1400&hot=0 Silva Solar I]<br />
<br />
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=sv_01012&k_id=1400&hot=0 Silva Solar II]<br />
<br />
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=sol01011&k_id=1400&hot=0 Solarc e-Go Professional]<br />
<br />
[http://www.heise.de/mobil/suche/ergebnis?rm=result;q=solar;url=/mobil/artikel/74142/;words=solar Solarc e-Go *] <br />
<br />
[http://www.heise.de/newsticker/suche/ergebnis?rm=result;words=Solar%20solar;q=solar;url=/newsticker/meldung/91536/ Solar JKT]<br />
<br />
<br />
- I think a dynamo charger ("share charger", rotational, ...) would be more practical as a peripheral, connected through the USB-interface using the same principle cellphones now charge when connected to an USB-port. You could very easily hack this together. [http://www.metacafe.com/watch/449950/hack_a_flashlight_to_power_your/ flashlight recharge hack]<br /><br />Random thought; Why not create some merchandise toys with a small lithium battery which charge through centrifugal force allowing to recharge the phone with a small "general" connector.<br />
<br />
[http://www.heise.de/mobil/artikel/61368/0 Article about aome mobile power-sources]<br />
<br />
=== Plastic Solar/Back side on the Neo===<br />
<br />
Solar cells from Plastic, on the reverse side of the Neo 1973<br />
modified and introgreated in the battery backcover/flap,<br />
like an energy source when the display is in standby mode.<br />
Thats can be use also as alternate charge method's and also helps in emergency.<br />
<br />
http://www.nanosolar.com/<br />
<br />
=== Vibration===<br />
Instead of using a counter-weighted motor to provide a vibrate function, a small solenoid could be used.It would provide more of a tap or click feel. It could be used to provide feedback when a on screen button is pressed. Different patterns of taps is a lot easier to recognize compared to different vibration frequencies. For those who know morse code they could have the phone tap out the phone number/name of the person calling/messaging or other alerts.<br />
<br />
===As plug-in without screen...===<br />
<br />
Along the lines of add-on cards, only looking at it from a different angle, I'd like to see a "faceless" openmoko with a documented hardware interface for both communicating with it and inserting it into other devices. Even the keypad/screen/battery would be attached, openmoko itself would just be faceless sliver of hardware with a documented interface and an API for communicating with the innards.<br />
<br />
===Running without battery===<br />
Please make it possible to run the device without a battery inserted (with the charger attached). I have several mobile phones which do not work anymore (even when attached to the charger) because the battery is worn out and new batteries are not available. I want the OpenMoko to be usable when the battery is worn out.<br />
<br />
===Make GSM/CDMA/WiFi/WiMax/GPS plugable===<br />
Please make Openmoko mobile as PC GSM/CDMA/... just working like plugable cards, they are cards/adaptor for the DEVICE only. the user may eject GSM module and inject with CDMA module. the DEVICE may provide several slot to allow user choose wifi/wimax/sd/gps/harddisk/...<br />
<br />
<br />
==Related Hardware==<br />
See [[Related Hardware]]<br />
<br />
[[Category:Hardware ideas| ]]<br />
[[Category:User]]</div>Digisushttp://openmoko.org/wiki/Neo_1973_vs_Neo_FreeRunnerNeo 1973 vs Neo FreeRunner2008-07-03T10:01:34Z<p>Digisus: </p>
<hr />
<div>{{Languages|Neo1973: GTA01Bv4 versus GTA02 comparison}}<br />
== Comparison Chart: Neo 1973 (GTA01Bv4) vs. Neo FreeRunner ([[GTA02#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]]) hardware revisions ==<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
{{gta02menu}}<br />
<br />
{| border="1"<br />
|Feature<br />
|Model<br />
|Model<br />
|-<br />
|Brand & Model Name<br />
|[[Neo 1973]]<br />
|[[Neo FreeRunner]]<br />
|-<br />
|Internal Codename<br />
|[[GTA01Bv4]]<br />
|[[GTA02]]<br />
|-<br />
|Sale<br />
|Sold out!<br />
|On sale now. See Openmoko's [http://www.openmoko.com/store.html Store]<br />
|-<br />
|Dimensions<br />(no differences) <br />
|120.7 x 62 x 18.5 mm<br />
|120.7 x 62 x 18.5 mm<br />
|-<br />
|Weight<br />
|184 g<br />
|184 g (unconfirmed)<br />
|-<br />
|Screen<br />(no differences)<br />
|2.8" 480x640 at 285 ppi, <br />
|2.8" 480x640 at 285 ppi,<br />
|-<br />
|[[Neo1973_Hardware#microSD-Card|Storage]]<br />
|64 MB integrated flash memory<br />
<br />
Expandable with any-size [http://lists.openmoko.org/pipermail/community/2007-February/003156.html microSD or MicroSDHC] cards<br />
| [http://lists.openmoko.org/pipermail/announce/2007-June/000013.html 256 MB] integrated flash memory<br />
<br />
Expandable with any-size [http://www.techtree.com/India/News/Samsung_Readies_8GB_microSD_Card/551-81172-581.html microSD or microSDHC] cards<br />
|-<br />
|[[Neo1973_Hardware#Processor|CPU]]<br />
|Samsung s3c2410 SoC @ 266 MHz ([http://lists.openmoko.org/pipermail/announce/2007-January/000000.html source])<br />
|Samsung 2442 SoC @ 400 MHz ([http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=SC32442&&ppmi= source])<br />
|-<br />
|Graphics Accelerator<br />
|<br />
|[http://www.smediatech.com/product3362.htm SMedia 3362] 2D/3D Graphics Accelerator ([http://lists.openmoko.org/pipermail/announce/2007-June/000013.html source])<br />
|-<br />
|[[Neo1973_Hardware#RAM|RAM]]<br />
|128 MB<br />
|128 MB<br />
|-<br />
|Wireless<br />
|Tri-band GSM 900/1800/1900<br />
<br />
GPRS Class12/CS4/[http://lists.openmoko.org/pipermail/community/2007-September/010400.html B] 2.5G (Not EDGE)<br />
<br />
Bluetooth 2.0 EDR<br />
|Tri-band GSM 900/1800/1900 or 850/1800/1900<br />
GPRS Class12/CS4/[http://lists.openmoko.org/pipermail/community/2007-September/010400.html B] 2.5G (Not EDGE)<br />
<br />
Bluetooth 2.0 EDR<br />
<br />
WiFi: [http://lists.openmoko.org/pipermail/announce/2007-April/000012.html Atheros AR6K] (See also [[AR6K]]) (802.11 b/g)<br />
|-<br />
|Embedded devices<br />
|Assisted GPS, 2 buttons<br />
|Assisted GPS, 2 backlit buttons; 2x3D [[Accelerometer]]s<br />
|-<br />
|GPS Hardware<br />
|Global Locate (now Broadcom) Hammerhead<br />
|u-blox/Atmel ATR0635 [http://lists.openmoko.org/pipermail/community/2007-October/011013.html]<br />
|-<br />
|Sound<br />
|Built-in stereo speakers, stereo handset<br />
|Built-in mono speaker, stereo jack for output to headset/earphones<br />
|-<br />
|WiFi<br />
|no<br />
|yes<br />
|-<br />
|Accelerometer<br />
|no<br />
|yes, 2x3D [[Accelerometer]]s<br />
|-<br />
|Software<br />
|Extremely buggy. Most software needs to be added or made to work.<br />
|Basic PDA functionality included. Additional, also self-written, software can be installed by users.<br />
|-<br />
|Battery<br />
|Replaceable [[Neo1973_Battery|1200mAh battery]] charged via USB 1.1<br />
|Replaceable [[Neo1973_Battery|1200mAh battery]] charged via USB 1.1, or wall charger supplying 1000mA[http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=956]. Also has a coulomb counter for accurate charge reading[http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=957]<br />
|-<br />
|USB Host Support<br />
|Yes, but external +5V is required<br />
|Yes, powered port [http://lists.openmoko.org/pipermail/neo1973-hardware/2007-October/000280.html]<br />
|-<br />
|Target Audience<br />
|Hardcore developer. [[Developer_preview|What to expect from the Developer preview]].<br />
|Developer.<br />
|-<br />
|Price <br /> (not including shipping costs and applicable taxes for your country)<br />
|USD 300 (base model)<br />
<br />
USD 399 including additional development hardware.<br />
<br />
(All units are shipped from the U.S.)<br />
|USD 399.<br />
<br />
You can buy the debug board for USD 99.<br />
|-<br />
|}<br />
<br />
<br />
<br />
[[Category:Hardware Support]]<br />
[[Category:GTA02 Hardware]]<br />
[[Category:Information]]</div>Digisushttp://openmoko.org/wiki/Openmoko_Local_Groups:_SwitzerlandOpenmoko Local Groups: Switzerland2008-06-25T14:21:44Z<p>Digisus: /* Buying Interest List */</p>
<hr />
<div>== Upcoming Events ==<br />
* [http://www.openexpo.ch/openexpo-2008-bern OpenExpo'08 Bern]<br />
<br />
== Past Activities ==<br />
<br />
=== OpenMoko Presentation at ZHAW Winterthur===<br />
* [http://lug.zhaw.ch/wiki/Distro-Bash_2007 Distro-Bash Winterthur]<br />
<br />
=== OpenMoko booth at the OpenExpo'07 Zurich ===<br />
<br />
* Date: 19./20. September 2007<br />
* Website: [http://www.openexpo.ch/openexpo-2007-zuerich/ link]<br />
* Brochure: [http://www.openexpo.ch/fileadmin/documents/OpenExpo_2007Zuerich_Prospekt.pdf link]<br />
<br />
<br />
== NEO FreeRunner (aka GTA02) Group Order ==<br />
=== Buying Interest List ===<br />
<br />
{| class="wikitable sortable" style="margin: 0em " cellspacing="0" cellpadding="3" border="1"<br />
! Quantity !! Base or Advanced? !! Color !! Nick<br />
|-<br />
| 1 || Advanced || Black/Silver || [[User:C7|C7]]<br />
|-<br />
| 1 || Base|| Black/Silver (If possible Black/Orange) || [[User:emonkey|emonkey]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:anthraxx|anthraxx]]<br />
|-<br />
| 1 || Advanced|| White/Orange || [[User:Gr33b|Gr33b]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:Megalomaniac|Megalomaniac]]<br />
|-<br />
| 1 || Advanced|| White/Orange || [[User:toldap|toldap]]<br />
|-<br />
| 1 || Advanced|| Black/Silver || [[User:Philgood|Philgood]]<br />
|-<br />
| 1 || Advanced|| Black/Silver || [[User:cgjusten|cgjusten]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:DarkAngel|DarkAngel]]<br />
|-<br />
| 1 || Advanced|| Black/Silver || [[User:Agh|Agh]]<br />
|-<br />
| 1 || -|| Black/Silver || [[User:Anakron|Anakron]]<br />
|-<br />
| 1 || Advanced|| Black/Silver || [[User:Onsonic|Onsonic]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:Mat|mat]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:JOn02|Jon02]]<br />
|-<br />
| 3 || Base|| Black/Silver || [[User:darktim|darktim]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:Skarhand|Skarhand]]<br />
|-<br />
| 1 || Base|| Black || [[User:Buz|Buz]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:peppy|peppy]]<br />
|-<br />
| 1 || Advanced|| Black/Silver || [[User:none|None]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:cimi|cimi]]<br />
|}<br />
<br />
== Users in Switzerland ==<br />
*[[User:C7|C7]]<br />
*[[User:Obri|Obri]]<br />
*[[User:yvanxxx|yvanxxx]]<br />
*[[User:Megalomaniac|Megalomaniac]]<br />
*[[User:toldap|toldap]]<br />
*[[User:Gr33b|Gr33b]]<br />
*[[User:AudriusA|AudriusA]]<br />
*[[User:cgjusten|cgjusten]]<br />
*[[User:DarkAngel|DarkAngel]]<br />
*[[User:Agh|Agh]]<br />
*[[User:Anakron|Anakron]]<br />
*[[User:Nowic|Nowic]]<br />
*[[User:Magbeat|Magbeat]]<br />
*[[User:darktim|darktim]]<br />
*[[User:nickik|nickik]]<br />
*[[User:Skarhand|Skarhand]]<br />
*[[User:mat|mat]]<br />
*[[User:psal|psal]]<br />
*[[User:Tuxfux.ch|Tuxfux.ch]]<br />
*[[User:claude-elrond740|claude-elrond740]]<br />
[[Category:Community]]<br />
[[Category: OpenMoko Local Groups| ]]</div>Digisushttp://openmoko.org/wiki/Openmoko_Local_Groups:_SwitzerlandOpenmoko Local Groups: Switzerland2008-06-06T15:38:54Z<p>Digisus: /* GTA02 Group Order */</p>
<hr />
<div>== Upcoming Events ==<br />
* [http://www.openexpo.ch/openexpo-2008-bern OpenExpo'08 Bern]<br />
<br />
== Past Activities ==<br />
<br />
=== OpenMoko Presentation at ZHAW Winterthur===<br />
* [http://lug.zhaw.ch/wiki/Distro-Bash_2007 Distro-Bash Winterthur]<br />
<br />
=== OpenMoko booth at the OpenExpo'07 Zurich ===<br />
<br />
* Date: 19./20. September 2007<br />
* Website: [http://www.openexpo.ch/openexpo-2007-zuerich/ link]<br />
* Brochure: [http://www.openexpo.ch/fileadmin/documents/OpenExpo_2007Zuerich_Prospekt.pdf link]<br />
<br />
<br />
== NEO FreeRunner (aka GTA02) Group Order ==<br />
=== Buying Interest List ===<br />
<br />
* Can someone explain the difference between Base and Advanced? Thanks.<br />
<br />
<br />
{| class="wikitable sortable" style="margin: 0em " cellspacing="0" cellpadding="3" border="1"<br />
! Quantity !! Base or Advanced? !! Color !! Nick<br />
|-<br />
| 1 || Advanced || Black/Silver || [[User:C7|C7]]<br />
|-<br />
| 1 || Base|| Black/Silver (If possible Black/Orange) || [[User:emonkey|emonkey]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:anthraxx|anthraxx]]<br />
|-<br />
| 1 || Advanced|| White/Orange || [[User:Gr33b|Gr33b]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:Megalomaniac|Megalomaniac]]<br />
|-<br />
| 1 || Advanced|| White/Orange || [[User:toldap|toldap]]<br />
|-<br />
| 1 || Advanced|| Black/Silver || [[User:Philgood|Philgood]]<br />
|-<br />
| 1 || Advanced|| Black/Silver || [[User:cgjusten|cgjusten]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:DarkAngel|DarkAngel]]<br />
|-<br />
| 1 || Advanced|| Black/Silver || [[User:Agh|Agh]]<br />
|-<br />
| 1 || -|| Black/Silver || [[User:Anakron|Anakron]]<br />
|-<br />
| 1 || Advanced|| Black/Silver || [[User:Onsonic|Onsonic]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:Mat|mat]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:JOn02|Jon02]]<br />
|-<br />
| 3 || Base|| Black/Silver || [[User:darktim|darktim]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:Skarhand|Skarhand]]<br />
|-<br />
| 1 || Base|| Black || [[User:Buz|Buz]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:peppy|peppy]]<br />
|-<br />
| 1 || Advanced|| Black/Silver || [[User:none|None]]<br />
|-<br />
| 1 || Base|| Black/Silver || [[User:cimi|cimi]]<br />
|}<br />
<br />
== Users in Switzerland ==<br />
*[[User:C7|C7]]<br />
*[[User:Obri|Obri]]<br />
*[[User:yvanxxx|yvanxxx]]<br />
*[[User:Megalomaniac|Megalomaniac]]<br />
*[[User:toldap|toldap]]<br />
*[[User:Gr33b|Gr33b]]<br />
*[[User:AudriusA|AudriusA]]<br />
*[[User:cgjusten|cgjusten]]<br />
*[[User:DarkAngel|DarkAngel]]<br />
*[[User:Agh|Agh]]<br />
*[[User:Anakron|Anakron]]<br />
*[[User:Nowic|Nowic]]<br />
*[[User:Magbeat|Magbeat]]<br />
*[[User:darktim|darktim]]<br />
*[[User:nickik|nickik]]<br />
*[[User:Skarhand|Skarhand]]<br />
*[[User:mat|mat]]<br />
*[[User:psal|psal]]<br />
*[[User:Tuxfux.ch|Tuxfux.ch]]<br />
[[Category:Community]]<br />
[[Category: OpenMoko Local Groups| ]]</div>Digisushttp://openmoko.org/wiki/User:DigisusUser:Digisus2008-06-06T15:36:05Z<p>Digisus: New page: Marcus Dapp info {a} digisus {.} info http://www.digisus.info</p>
<hr />
<div>Marcus Dapp<br />
<br />
info {a} digisus {.} info<br />
<br />
http://www.digisus.info</div>Digisushttp://openmoko.org/wiki/Neo_1973_vs_Neo_FreeRunnerNeo 1973 vs Neo FreeRunner2008-06-06T14:58:44Z<p>Digisus: table beautification, part 2</p>
<hr />
<div>{{Languages|Neo1973: GTA01Bv4 versus GTA02 comparison}}<br />
== Comparison Chart: Neo 1973 (GTA01Bv4) vs. Neo FreeRunner ([[GTA02#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]]) hardware revisions ==<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
{{gta02menu}}<br />
<br />
{| border="1"<br />
|Feature<br />
|Model<br />
|Model<br />
|-<br />
|Brand & Model Name<br />
|[[Neo 1973]]<br />
|[[Neo FreeRunner]]<br />
|-<br />
|FIC Internal Codename<br />
|[[GTA01Bv4]]<br />
|[[GTA02]]<br />
|-<br />
|Sale<br />
|Sold out!<br />
|Not yet on sale. Check [http://wiki.openmoko.org/wiki/Community_Updates Updates]<br />
|-<br />
|Dimensions<br />(no differences) <br />
|120.7 x 62 x 18.5 mm<br />
|120.7 x 62 x 18.5 mm<br />
|-<br />
|Weight<br />
|184 g<br />
|184 g (unconfirmed)<br />
|-<br />
|Screen<br />(no differences)<br />
|2.8" 480x640 at 285 ppi, <br />
|2.8" 480x640 at 285 ppi,<br />
|-<br />
|[[Neo1973_Hardware#microSD-Card|Storage]]<br />
|64 MB integrated flash memory<br />
<br />
Expandable with any-size [http://lists.openmoko.org/pipermail/community/2007-February/003156.html microSD or MicroSDHC] cards<br />
| [http://lists.openmoko.org/pipermail/announce/2007-June/000013.html 256 MB] integrated flash memory<br />
<br />
Expandable with any-size [http://www.techtree.com/India/News/Samsung_Readies_8GB_microSD_Card/551-81172-581.html microSD or microSDHC] cards<br />
|-<br />
|[[Neo1973_Hardware#Processor|CPU]]<br />
|Samsung s3c2410 SoC @ 266 MHz ([http://lists.openmoko.org/pipermail/announce/2007-January/000000.html source])<br />
|Samsung 2442 SoC @ 400 MHz ([http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=SC32442&&ppmi= source])<br />
|-<br />
|Graphics Accelerator<br />
|<br />
|[http://www.smediatech.com/product3362.htm SMedia 3362] 2D/3D Graphics Accelerator ([http://lists.openmoko.org/pipermail/announce/2007-June/000013.html source])<br />
|-<br />
|[[Neo1973_Hardware#RAM|RAM]]<br />
|128 MB<br />
|128 MB<br />
|-<br />
|Wireless<br />
|Tri-band GSM 900/1800/1900<br />
<br />
GPRS Class12/CS4/[http://lists.openmoko.org/pipermail/community/2007-September/010400.html B] 2.5G (Not EDGE)<br />
<br />
Bluetooth 2.0 EDR<br />
|Tri-band GSM 900 or 850/1800/1900<br />
GPRS Class12/CS4/[http://lists.openmoko.org/pipermail/community/2007-September/010400.html B] 2.5G (Not EDGE)<br />
<br />
Bluetooth 2.0 EDR<br />
<br />
WiFi: [http://lists.openmoko.org/pipermail/announce/2007-April/000012.html Atheros AR6K] (See also [[AR6K]]) (802.11 b/g)<br />
|-<br />
|Embedded devices<br />
|Assisted GPS, 2 buttons<br />
|Assisted GPS, 2 backlit buttons; 2x3D [[Accelerometer]]s<br />
|-<br />
|GPS Hardware<br />
|Global Locate (now Broadcom) Hammerhead<br />
|u-blox/Atmel ATR0635 [http://lists.openmoko.org/pipermail/community/2007-October/011013.html]<br />
|-<br />
|Sound<br />
|Built-in stereo speakers, stereo handset<br />
|Built-in mono speaker, stereo jack for output to headset/earphones<br />
|-<br />
|WiFi<br />
|no<br />
|yes<br />
|-<br />
|Accelerometer<br />
|no<br />
|yes, 2x3D [[Accelerometer]]s<br />
|-<br />
|Software<br />
|Extremely buggy. Most software needs to be added or made to work.<br />
|Basic PDA functionality included. Additional, also self-written, software can be installed by users.<br />
|-<br />
|Battery<br />
|Replaceable [[Neo1973_Battery|1200mAh battery]] charged via USB 1.1<br />
|Replaceable [[Neo1973_Battery|1200mAh battery]] charged via USB 1.1, or wall charger supplying 1000mA[http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=956]. Also has a coulomb counter for accurate charge reading[http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=957]<br />
|-<br />
|USB Host Support<br />
|Yes, but external +5V is required<br />
|Yes, powered port [http://lists.openmoko.org/pipermail/neo1973-hardware/2007-October/000280.html]<br />
|-<br />
|Target Audience<br />
|Hardcore developer. [[Developer_preview|What to expect from the Developer preview]].<br />
|Developer.<br />
|-<br />
|Price <br /> (not including shipping costs and applicable taxes for your country)<br />
|USD 300 (base model)<br />
<br />
USD 399 including additional development hardware.<br />
<br />
(All units are shipped from the U.S.)<br />
|USD 399.<br />
<br />
You can buy the debug board for USD 99.<br />
|-<br />
|}<br />
<br />
<br />
<br />
[[Category:Hardware Support]]<br />
[[Category:GTA02 Hardware]]<br />
[[Category:Information]]</div>Digisushttp://openmoko.org/wiki/Neo_1973_vs_Neo_FreeRunnerNeo 1973 vs Neo FreeRunner2008-06-06T14:53:05Z<p>Digisus: improved legibility of table; reformulated section on software.</p>
<hr />
<div>{{Languages|Neo1973: GTA01Bv4 versus GTA02 comparison}}<br />
== Comparison between the Neo 1973 (GTA01Bv4) and Neo FreeRunner ([[GTA02#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]]) hardware revisions ==<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
{{gta02menu}}<br />
<br />
{| border="1"<br />
|Feature<br />
|Model<br />
|Model<br />
|-<br />
|Brand & Model Name<br />
|[[Neo 1973]]<br />
|[[Neo FreeRunner]]<br />
|-<br />
|FIC Internal Codename<br />
|[[GTA01Bv4]]<br />
|[[GTA02]]<br />
|-<br />
|Sale<br />
|Sold out<br />
|Not ready yet. Check http://wiki.openmoko.org/wiki/Community_Updates Updates]<br />
|-<br />
|Dimensions<br />(no differences) <br />
|120.7 x 62 x 18.5 mm<br />
|120.7 x 62 x 18.5 mm<br />
|-<br />
|Weight<br />
|184 g<br />
|184 g (unconfirmed)<br />
|-<br />
|Screen<br />(no differences)<br />
|2.8" 480x640 at 285 ppi, <br />
|2.8" 480x640 at 285 ppi,<br />
|-<br />
|[[Neo1973_Hardware#microSD-Card|Storage]]<br />
|64 MB integrated flash memory<br />
<br />
Expandable with [http://lists.openmoko.org/pipermail/community/2007-February/003156.html any-size microSD or MicroSDHC] memory cards<br />
| [http://lists.openmoko.org/pipermail/announce/2007-June/000013.html 256 MB] integrated flash memory<br />
<br />
Expandable with [http://www.techtree.com/India/News/Samsung_Readies_8GB_microSD_Card/551-81172-581.html any-size microSD or microSDHC] memory cards<br />
|-<br />
|[[Neo1973_Hardware#Processor|CPU]]<br />
|Samsung s3c2410 SoC @ 266 MHz ([http://lists.openmoko.org/pipermail/announce/2007-January/000000.html source])<br />
|Samsung 2442 SoC @ 400 MHz ([http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=SC32442&&ppmi= source])<br />
|-<br />
|Graphics Accelerator<br />
|<br />
|[http://www.smediatech.com/product3362.htm SMedia 3362] 2D/3D Graphics Accelerator ([http://lists.openmoko.org/pipermail/announce/2007-June/000013.html source])<br />
|-<br />
|[[Neo1973_Hardware#RAM|RAM]]<br />
|128 MB<br />
|128 MB<br />
|-<br />
|Wireless<br />
|Tri-band GSM 900/1800/1900<br />
<br />
GPRS Class12/CS4/[http://lists.openmoko.org/pipermail/community/2007-September/010400.html B] 2.5G (Not EDGE)<br />
<br />
Bluetooth 2.0 EDR<br />
|Tri-band GSM 900 or 850/1800/1900<br />
GPRS Class12/CS4/[http://lists.openmoko.org/pipermail/community/2007-September/010400.html B] 2.5G (Not EDGE)<br />
<br />
Bluetooth 2.0 EDR<br />
<br />
WiFi: [http://lists.openmoko.org/pipermail/announce/2007-April/000012.html Atheros AR6K] (See also [[AR6K]]) (802.11 b/g)<br />
|-<br />
|Embedded devices<br />
|Assisted GPS, 2 buttons<br />
|Assisted GPS, 2 backlit buttons; 2x3D [[Accelerometer]]s<br />
|-<br />
|GPS Hardware<br />
|Global Locate (now Broadcom) Hammerhead<br />
|u-blox/Atmel ATR0635 [http://lists.openmoko.org/pipermail/community/2007-October/011013.html]<br />
|-<br />
|Sound<br />
|Built-in stereo speakers, stereo handset<br />
|Built-in mono speaker, stereo jack for output to headset/earphones<br />
|-<br />
|WiFi<br />
|no<br />
|yes<br />
|-<br />
|Accelerometer<br />
|no<br />
|yes, 2x3D [[Accelerometer]]s<br />
|-<br />
|Software<br />
|Extremely buggy. Most software needs to be added or made to work.<br />
|Basic PDA functionality included. Additional, also self-written, software can be installed by users.<br />
|-<br />
|Battery<br />
|Replaceable [[Neo1973_Battery|1200mAh battery]] charged via USB 1.1<br />
|Replaceable [[Neo1973_Battery|1200mAh battery]] charged via USB 1.1, or wall charger supplying 1000mA[http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=956]. Also has a coulomb counter for accurate charge reading[http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=957]<br />
|-<br />
|USB Host Support<br />
|Yes, but external +5V is required<br />
|Yes, powered port [http://lists.openmoko.org/pipermail/neo1973-hardware/2007-October/000280.html]<br />
|-<br />
|Target Audience<br />
|Hardcore developer. [[Developer_preview|What to expect from the Developer preview GTA01]].<br />
|Developer.<br />
|-<br />
|Price <br /> (not including shipping costs and applicable taxes for your country)<br />
|USD 300 (base model), USD 399 including additional development hardware. (All units are shipped from the U.S.)<br />
|USD 399. You can buy the debug board for USD 99.<br />
|-<br />
|}<br />
<br />
<br />
<br />
[[Category:Hardware Support]]<br />
[[Category:GTA02 Hardware]]<br />
[[Category:Information]]</div>Digisushttp://openmoko.org/wiki/Wish_ListWish List2007-07-10T23:40:22Z<p>Digisus: /* Wireless presenter */</p>
<hr />
<div>This article is a place to collect various thoughts about the future of the [[OpenMoko]] software platform. Most wish list ideas have been linked from this page, but you may also wish to check all pages [http://wiki.openmoko.org/wiki/Category:Ideas that have a category of 'Ideas'].<br />
<br />
== Development ==<br />
=== Painless SDK installation & Setup ===<br />
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]<br />
<br />
* one command for installation (apt-get install openmoko)<br />
* one command to start Xnest (openmoko-xephyr?)<br />
* one command to start an i386 shell (openmoko-386-shell)<br />
* one command to start an armel shell (openmoko-armel-shell)<br />
<br />
No extra configuration required.<br />
<br />
=== IDE Plugins ===<br />
People like to see plugins for<br />
* [http://anjuta.sourceforge.net Anjuta]<br />
* [http://www.eclipse.org Eclipse]<br />
evaluate eclipse project [http://www.eclipse.org/dsdp/index.php Device Software Development Platform Project from eclipse] and subproject [http://www.eclipse.org/proposals/tml/ Tool for Mobile Linux]<br />
* [http://www.kdevelop.org KDevelop]<br />
* [http://developer.apple.com/tools/xcode/ XCode]<br />
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]<br />
<br />
=== UI Designer ===<br />
Glade code generation is deprecated, so we don't want to use it. The Gtk+ powers told me that the plan is to have gtk 2.12 (out early 2007) with support for GtkBuilder, a libglade derivative which breaks a bit the XML definition in order to support all the new widgets and properties; as soon as it's in the other ui builders will add support for this format. See also [http://bugzilla.gnome.org/show_bug.cgi?id=172535 the relevant bug entry]<br />
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?<br />
<br />
<br />
== Built-in Scripting Language ==<br />
<br />
There was a [http://lists.openmoko.org/pipermail/community/2007-January/001909.html fruitful discussion about a built-in scripting language on the mailing list in January.] Many people feel that it is very important for OpenMoko to choose a scripting language to ship as default in the standard OpenMoko firmware. [[Wishlist:BuiltInScriptingLanguage]]<br />
<br />
== Community Support ==<br />
<br />
=== projects.openmoko.org ===<br />
Infrastructure for developers with<br />
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)<br />
* One mailing list for project<br />
<br />
== Platform ==<br />
=== Community Images ===<br />
In the future there could be complete, unofficial "product images" that are created by the community, for example maybe one that incorporates only free software (in the GNU or OSI sense). Or images build with a particular niche market in mind -- a student for example.<br />
<br />
== Software: Additional features ==<br />
===Calling===<br />
====Speaker-phone====<br />
* A speaker-phone is more than simply connecting the speakers to GSM audio, it's also echo cancellation, and eliminating the feedback that will otherwise happen between the speakers and the mic. This software has not been written.<br />
====Advanced Airtime Tracking====<br />
Many phone users have complicated plans, things like unlimited incoming, 100 anytime minutes, 1000 evening minutes, etc. It would be nice if a user could input the various monthly airtime chunks their plan gives them, and then the phone could track how much is left in each chunk, i.e. How much anytime minutes are left this month? Optionally, the software could warn when someone is close to the monthly limit, to help avoid bigger bills.<br />
<br />
==== Anti-stutter software ====<br />
Delayed Auditory Feedback (DAF) has shown to reduce stuttering in individuals by 70%. By using the microphone, it should be pretty simple to implement this on the OpenMoko. The DAF functionality should also be present during phone calls. See http://en.wikipedia.org/wiki/Delayed_auditory_feedback for more information.<br />
<br />
====Minimize In-Call mode (check address book while in call)====<br />
On my locked phones I always find it annoying that one can not use other features while a call is in progress. In particular, I'd like to access the address book so that we can (1) give a caller someone else's phone number (or other info) and (2) lookup a phone number when using a calling card or some other proxy.<br />
<br />
Similar request when using the browser (lookup passwords, todo list, etc).<br />
<br />
====People hear music when they call you====<br />
You know how on most cellphone networks you can pay so that people will hear music when they call you? I think we should do that. If this option is turned on (maybe it could be set for each person in your phone book) the Neo can automatically answer the call, mute the microphone, and play the selected sound file over the GSM connection to the caller. To you the Neo looks exactly as it does when anybody calls you, but behind the scenes it's playing music for the caller. When you answer the call, the music fades out and the microphone comes back on. Of course, callers could abuse this feature costing you minutes, which is why it should be individually set for each entry in the phonebook (defaulting to off) and you can only turn it on for people you trust.<br />
<br />
====Play sound bytes over the air====<br />
Dialer could have a tab with big buttons which, when push, send sound bytes over GSM to the person on the other end of the call. This feature is included in GizmoProject and is called sound blasts: http://support.gizmoproject.com/index.php?_a=knowledgebase&_j=questiondetails&_i=104<br />
The buttons can have default sounds, but also have the ability to be customized.<br />
<br />
=== Ambient Noise Detection ===<br />
<br />
Using the microphone to [[Wishlist:Ambient Noise Detection|detect ambient noise]] the ringtone volume could be adjusted automatically.<br />
<br />
=== Active noise control ===<br />
<br />
Using the microphone to do [http://en.wikipedia.org/wiki/Anti-noise active noise control] on media player playback or telephone calls. This should be an independent module/library which can be used by any application which might require this feature. also provide a way to easily alter the parameters of the active noise control.<br />
<br />
=== Ignore-Call Button ===<br />
<br />
[[Wishlist:Ignore Call Button|Shut up a ringing phone]], without rejecting the call.<br />
<br />
Another alternative might be to use microphone to recognize when the user gives an audible "Shhh!" command. This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises.<br />
<br />
<br />
=== [[Voice Mailbox]] ===<br />
<br />
On-Phone voice mailbox that records calls on the phone and retrieves voice messages from your mobile service provider's voice mailbox and saves them locally.<br />
Can act profile-dependent.<br />
<br />
=== Mute Button ===<br />
<br />
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.<br />
<br />
=== Hold Button ===<br />
<br />
Similar to mute, but plays a sound file for the user on the other end while they wait. The sound file could be chosen in some setup beforehand.<br />
<br />
=== Automated profile switching ===<br />
<br />
With a [[Wishlist:Silent mode timeout|"silent mode" timeout]], there is no need to turn the ringer back on if you previously know how long will be the film/meeting/...<br />
<br />
Profile zoning - define different zones for switching different profiles automatically either by GPS zoning, Wi-Fi proximity or GSM base station proximity.<br />
<br />
Profile scheduling - more complex than timeout. Ability to create a schedule for activating different profiles, or integrate profile switching with the schedule.<br />
<br />
===PIM===<br />
<br />
<br />
===Text Messaging===<br />
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included<br />
For current development status of the messaging-app see: [[Messages]]<br />
<br />
There are many useful options that now can be used to full capacity:<br />
* '''Acknowledge/status SMS'''<br />
In GSM networks so-called acknowledge-SMS are sent back to the SMS's dispatcher in order to indicate that the primal sms was received (as message delivery is only best effort and is not guaranteed). So in the SMS dialog there could be equal sized buttons with captions as 'send only', 'send and receive delivery status message' and 'send and notify (e.g. ring) when delivery succeeded'.<br />
** '''Special handling of status-SMS''' <br />
Related to the previous entry, these acknowledgment-sms' should be handled in a different way than normal SMS'. Most Motorola do this, while Samsung SGH series don't & clog the inbox, warn of a "new" message upon Status notification: Delivery Status Messages should be stored in a separate menu so they don't bloat the received-folder and you are able to quickly review the status of the messages you had sent.<br />
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date<br />
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: <br />
** Resource for SMS encoding: [http://web.archive.org/web/20021016104345/www.dreamfabric.com/sms/] [http://web.archive.org/web/20060411222332/] [http://home.student.utwente.nl/s.p.ekkebus/portfolio/resource/sms_pdu.html] [http://www.ihub.com/Binary%20Messages.htm]<br />
** [http://www.gammu.org www.gammu.org] - you can use Gammu/Gammu+ source for this software and/or understanding various SMS formats including EMS, WAP, Nokia Smart Messaging, Siemens & Alcatel encoding ([[User:Marcin|I could]] eventually help)<br />
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung<br />
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/<br />
* '''Profile-override-SMS''' SMS that start with a certain code word override the silent profile and have the phone ring. So someone could alert you in case of some emergency.<br />
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. "Server Down!" has a loud klaxon, "Disk Warning" has a quiet chirp.<br />
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: "hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz" becomes "Hi mate. Are you okay? I am sorry that I forgot to call you last night. Why don't we go and see a film tomorrow?" (taken from: [http://en.wikipedia.org/wiki/SMS_language])<br />
** Implement a script that abbreviates :-)<br />
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.<br />
* '''Rule based authorizations''' ...for received messages. For example, delete messages from one source between 9h00 and 18h00 (workday) allow them otherwise (to get alerting messages).<br />
* '''Enable chat-like SMS-viewing''' SMS-Email-like: retain SMS app, but store 'conversations' rather than pile-up. Group/archive conversations by Caller Group (Work / Friends / Home / any user-defined Caller Group). Show appropriate icon from either Caller Group or Caller ID at the source of conversations panel<br />
* '''Searching''' allow full-text search or string search.<br />
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...<br />
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.<br />
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.<br />
* '''SMS-EMail-Gateway'''<br />
SMS comes in, gets forward to your inbox, like any other piece of mail. Appropriate alerts and etc occur - again, just like for email. A simple SMTPD running on 127.0.0.1 that is hooked to an email-to-SMS translator that will send email addressed to 'SMS@localhost' (or whatever special address) out via SMS<br />
=== User Profiles ===<br />
<br />
This is different from contextual profiles for mobile phones, that might for example turn off the ringer, and turn on 'vibrate', when you select 'quiet'.<br />
<br />
They are profiles to let the owner of the phone set it up in a comfortable manner, without configuring every aspect.<br />
<br />
*'''[[Wish List UserProfile Beginner|Beginner]]''': Only basic functionality like, telephone and SMS<br />
*'''[[Wish List UserProfile Advanced|Advanced]]''': All in the "Beginner" profile, with e-mail, PIM functions<br />
*'''[[Wish List UserProfile Geek|Geek]]''': every functionality you can get<br />
*'''[[Wish List UserProfile Granny|Granny]]''': a minimum of functionality<br />
*'''[[Wish List UserProfile Child|Child]]''': Parents set limits for their child's phone.<br />
*'''[[Wish List UserProfile Employee|Employee]]''': Employers set limits for their employees phones.<br />
*'''[[Wish List UserProfile Subscriber|Subscriber]]''': Subsidised phone, with limits set for the user.<br />
<br />
The first modes are easily switchable between by the user, as they are also the owner of the phone.<br />
In the '''Child''', '''Employee''', '''Subscriber''' cases, this may not be the case.<br />
<br />
For example, for an employees phone, it may:<br />
*Record GPS track log whenever it is in range of a certain bluetooth device (the employees company vehicle)<br />
*Record all calls during working hours.<br />
*Disallow installation of non-company-approved software.<br />
<br />
For a child's phone, it may:<br />
*Constantly record GPS once a minute.<br />
*Mail GPS recordings to parents once an hour.<br />
*Record all phone calls<br />
*Disallow installation of software that is not 'child' rated.<br />
<br />
For these modes to be tamper proof, it would require on-phone security.<br />
A version of u-boot that would only allow signed images and some application on owners PC to generate them, and set policy.<br />
<br />
<br />
===Music/Video Software===<br />
A real good programming area for competition with the iPhone, a singular video/music player would be great for multimedia. A seamless integration system, a la iTunes and iPod, would be extremely popular. <br />
<br />
Using the Wi-Fi connectivity, a separate music program that supports wireless music sharing/ streaming (similar to what can be done when two computer running iTunes that are both on the same network) and that also supports internet radio.<br />
<br />
=== Address Book ===<br />
<br />
* Option to search not just the stored list of addresses, but one or more of the online phonebooks. Probably should be modular to make adding/changing phonebook sites easy. Also allows for future integration with LDAP<br />
servers or whatever.<br />
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)' This could also be done<br />
by integrating with whatever on-phone GPS mapping software the Neo ends up using.<br />
* Random text input 'notes' about a contact<br />
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's<br />
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant<br />
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account<br />
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.<br />
* Support for:<br />
**[http://en.wikipedia.org/wiki/SyncML SyncML]<br />
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book<br />
**[http://en.wikipedia.org/wiki/LDIF LDIF], [http://en.wikipedia.org/wiki/Xml XML] and [http://en.wikipedia.org/wiki/Comma-separated_values CSV] export and import (when possible).<br />
*Store Bluetooth IDs of friends and notify (configurable only on this device or on both devices) when a one of these Bluetooth ID has been detected (this is more a separate application but has requirements on the address book.<br />
<br />
==== Web-browser Plugins ====<br />
<br />
* While an extensive browser plugin system would be costly to the efficacy of the platform three particular browser plugins as poplularized by Mozilla firefox should be adapted to the web-browser, namely: [http://noscript.net/ noscript], [http://adblockplus.org/en/ adblock plus], [http://www.greasespot.net/ greasemonkey] and [http://www.foxmarks.com/ foxmarks].<br />
* Careful use of these can dramatically reduce bandwidth, page space, and rendering costs even if it comes at the risk of some hard drive space in the form of block lists.<br />
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.<br />
<br />
==== E-Book Reader ====<br />
* Neos brilliant ultra-sharp screen makes for a very good e-book reading device. All it takes is a good e-book reader with touch-screen page turning / scrolling. FBReader could probably be adjusted easily by an experienced GTK hacker. Note that e-book reading is different to pure text/pdf displaying as it requires at least auto-bookmarking of the last read page, proper text and image scaling and text formatting.<br />
<br />
=== Reading Support ===<br />
It would be really great to be able to read :<br />
<br />
*PDF<br />
*Open Document files<br />
*Text / RTF files<br />
*MS Office files<br />
*Aportis Doc (pdb)<br />
*...<br />
<br />
In both landscape and portrait<br />
<br />
<br />
=== [[Wishlist:Text Input| Text input]] ===<br />
There are many good suggestions for text input on the specific [[Wishlist:Text Input| text input ideas]] page.<br />
<br />
=== More/Custom Input Method Widgets ===<br />
Additional and customizable Input Method Widgets (similar to virtual keyboard). <br />
This could add soft-key functionality to games or other applications such as:<br />
*D-Pads<br />
*buttons<br />
*virtual trackballs<br />
*...<br />
Personalized layouts could be associated with each application.<br />
See [http://wiki.openmoko.org/wiki/Wishlist:More/Custom_Input_Method_Widgets Input Method Wishlist] for more.<br />
<br />
=== Games ===<br />
<br />
Please see [[Wishlist:Games|the games page]].<br />
<br />
=== Mesh Networking ===<br />
<br />
Please see [[Wishlist:Mesh Networking|Mesh Networking]].<br />
<br />
<br />
=== Wikipedia Mirror ===<br />
<br />
See [[Wishlist:Wikipedia_Mirror|Wikipedia Mirror]].<br />
<br />
<br />
=== Blog ScribblePad ===<br />
<br />
Draw an image (and maybe add some text), then post to your blog.<br />
<br />
=== Printing Support ===<br />
It would be really neat to be able to print over either bluetooth or USB. I can imagine wanting to print:<br />
<br />
* Notes<br />
* Maps<br />
* Email<br />
* Calendars<br />
* ...<br />
<br />
Cups contains a bluetooth printing backend, so (in theory) once you have your data in postscript format, you could hand it to cups and it'll do the rest. In practice, it depends on<br />
<br />
# GTK+'s printing support<br />
# Making cups run on a really small system<br />
<br />
{{note| GTK+'s printing support seems to be very immature in 2.6 (which we need to use for some time). Gtk+ 2.10 contains much better printing support -- once we can use this, it should be more easy.}}<br />
<br />
There's always the possibility to render postscript ourselves, but this is not a piece of cake -- in general, printing is much harder than one would imagine.<br />
<br />
Further details:<br />
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]<br />
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]<br />
* [http://www.j5live.com/?p=204 j5live.com]<br />
<br />
===Misc Software===<br />
<br />
==== A Universal Unit Converter Tool ====<br />
<br />
One never knows when one may have to convert acre-feet into deciliters. A unit conversion tool makes all engineers and engineer wannabes much happier.<br />
<br />
==== An Postfix Notation (RPN) calculator ====<br />
<br />
Many engineers, computer scientists and other groups who have grown to enjoy the simplicity and ease of an postfix notation calculator will miss them when give up other platforms to move to OpenMoko. A RPN calculator will increase adoption by providing one of the tools that other platforms have provided for many years.<br />
<br />
==== PalmOS Emulator ====<br />
<br />
The Access group is probably coming out with their Linux platform any time soon. One of the components is a PalmOS emulator which I'd like to see working on OpenMoko as well. There are literally thousands of PalmOS apps.<br />
<br />
Win CE emulator<br />
I'd like to see a Windows CE Emulator with active sync support.<br />
<br />
<br />
==== Egg Timer ====<br />
<br />
Very simple (one click) count up / count down timers are very useful. [[Wishlist:EggTimer]]<br />
<br />
==== Personal Wiki ====<br />
<br />
Display the notes database as a Wiki. Inspiration: [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki]. [[Wishlist:PersonalWiki]]<br />
<br />
[http://www.didiwiki.org/ Didiwiki]<br />
<br />
==== Database/List Display/Edit ====<br />
<br />
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db]. It's GPL'd. [[Wishlist:PilotDB]]<br />
<br />
==== Joe's Goals ====<br />
<br />
It'd be nice to have something like [http://www.joesgoals.com Joe's Goals] always available, like my phone is, even when I'm disconnected from the net.<br />
<br />
==== Workout ====<br />
<br />
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.<br />
<br />
==== TV Guide/Remote Control ====<br />
<br />
Use your Phone to easily program your VCR using EPGs.<br />
<br />
==== Shopping List ====<br />
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.<br />
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.<br />
<br />
==== Fuel Log ====<br />
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).<br />
Advanced features could include:<br />
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)<br />
* Sending the data to a central server which collects the information<br />
* Let the OpenMoko receive fuel logs per SMS (e.g. if my wife with a non-openmoko mobile fuels the car and wants to file the data using her mobile phone)<br />
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server<br />
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.<br />
<br />
==== Dictionary, thesaurus and translator ====<br />
Native lookup dictionary and thesaurus and foreign translation dictionaries, also with support for Asian languages. Optional custom configurable (though preconfigured) interface with on-line versions of dictionaries, thesaurus and translation services.<br />
<br />
<br />
==== Keep in touch reminder ====<br />
A background application which keeps track of your friends and reminds you when you have not talked, SMS, IM or mailed a person for more than # days.<br />
<br />
==== Alcohol meter ====<br />
Give the phone some info about your body (gender, size, weigth) and when/what you drink and it will compute an approximation of the amount of alcohol in your blood. Updates automatically, could have an alarm, when you are probably sober again.<br />
See, for example (German text) http://www.misterio-online.de/promille.htm<br />
<br />
==== Menstruation period timer ====<br />
Fill in statistics and compute probabilities for menstruation, fertility, mood.<br />
See http://www.getjar.com/products/48/MyGirls<br />
<br />
==== Interaction with LEGO Mindstorm ====<br />
With the accelerators, GPS and good CPU, the phone could be used to control/serve as input with robots built with LEGO Mindstorm, which can be accessed by USB and Bluetooth.<br />
<br />
=== Accessibility ===<br />
Accessibility features for the visually impaired.<br />
* High Contrast Themes.<br />
* Screen Magnifier. Features should include automatic cursor tracking when navigating menus and entereing text and provide manual controls to zoom in on other section of the screen.<br />
* Text to speech. The software should read out menu item ,contact lists ,text messages etc. Would also be useful for operating the phone while driving.<br />
<br />
==== VOIP ====<br />
Ability to use the phone for VOIP over wi-fi such as Vonage. They currently have 2 different pieces of software for pc . Basically software creates a mac address which is paired with your Vonage account. Skype could also be implemented but I prefer Vonage. Only available when connected to wi-fi with a good connection. Phone treats calls the same as a cellular call, could keep a separate log of minutes, ability to record conversations, etc. Option to use VOIP if connection is available automaticly or manually. Small icon to show when call is using VOIP.<br />
* A standard SIP client would probably fit better into the "free and open" philosophy.<br />
<br />
==== Power Meter ====<br />
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.<br />
<br />
==== Zfone or similar ====<br />
Something that allows the user to speak with another person securely.<br />
<br />
=== Flick interface ===<br />
Ability to "flick" the phone for page up/down by simply and rapidly tilting the phone back-and-forth for up and forth-and-back for down. The same motion can be implemented for sideways motion. This will take advantage of the 2 3d accelerators.<br />
<br />
<br />
=== Shake-to-Wake ===<br />
Giving the phone a shake enables voice commands for a few seconds.<br />
Usage Examples: <br />
<br />
{Shake} "Call" ''ContactName'' ''PhoneType'' --- {Shake} "Call John Mobile" (Calls John's mobile)<br />
<br />
{Shake} ''ApplicationName'' --- {Shake} "Reader" (Opens the e-book application)<br />
<br />
Would require a method of inputting voice tags for applications and contacts and obviously will only work for P2 (accelerators)<br />
<br />
=== Tactile feedback via buzzer ===<br />
Assuming the hardware has a vibrator/buzzer for silent calls, use a lightly pulsed version of that to simulate tactile feedback when dragging finger across buttons on-screen. Implemented properly, it would almost feel as if the buttons were real.<br />
<br />
=== VNC client ===<br />
A good, stylus friendly VNC client/host combo would be easy to add and terribly useful.<br />
<br />
==Bluetooth==<br />
<br />
=== Voice Dialing ===<br />
<br />
Dial by voice commands.<br />
<br />
=== Music through Bluetooth Headset ===<br />
<br />
Music can be played through a Bluetooth headset, but would stop playing when a call comes in.<br />
<br />
=== Walkie Talkie ===<br />
<br />
Let OpenMoko devices connect to one another via bluetooth or another connection method (GPRS for long distance but high latency, probably Wifi on P2), and hold a conversation.<br />
<br />
Features for this applications can be:<br />
* Push To Talk (PTT) button<br />
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.<br />
* Optionally a full duplex mode<br />
* Different channels to choose from<br />
* Monitor different (preselected or all) channels for traffic.<br />
* Content encryption<br />
* Active noise control<br />
<br />
Local (non-GPRS) use cases include chatting while biking<br />
or motorcycling in a group; perhaps also in a car caravan.<br />
This application could also be used as a baby-phone to monitor your siblings.<br />
<br />
This would be more useful if the Neo had Class 1 bluetooth, though probable Wifi on P2 will also offer more range.<br />
<br />
=== Automatic Sync ===<br />
<br />
Automatically synchronize with desktop computer when within range based on user profile. This may require the use of a secure data transfer.<br />
<br />
=== GPS Assisted Bluetooth Management ===<br />
<br />
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.<br />
<br />
A Bluetooth device is configured for automatic reacquisition based on the following profiles:<br />
* Manual - only when Bluetooth is on<br />
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.<br />
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.<br />
<br />
Each target device is configured as follows:<br />
* Automatic acquisition at last known location: enable/disable<br />
* Automatic acquisition at these locations: list of nickname + coordinates + range<br />
<br />
==== Non-mobile devices ====<br />
<br />
Examples devices include: computers<br />
<br />
The location and range of the target device is determined via training. Periodically, the current GPS coordinates and Bluetooth signal strength are logged. Additionally, connectivity loss events are logged. An algorithm uses these logs to determine the device location and range.<br />
<br />
Connection attempts are made when in a configurable proximity to the device. The first attempt when entering the proximity and further attempts at a configurable interval.<br />
<br />
==== Mobile devices ====<br />
<br />
Example devices include: automobiles<br />
<br />
Mobile devices are configured to have two types of locations:<br />
# Last known location<br />
# Non-mobile locations (homes)<br />
<br />
===== Last known location =====<br />
<br />
A car is mobile, ideally, when you leave your car, the phone should note the car's location when connectivity is lost and then attempt to reacquire the car when you return to the location of the car.<br />
<br />
===== Non-mobile locations (homes) =====<br />
<br />
As mobile devices may have multiple users, it is not sufficient to always use the last known location. In this case, the device may additionally have multiple homes. For example, a car might have as its homes: home garage and work parking lot.<br />
<br />
=== Bluetooth neighbor detection and multiuser apps ===<br />
<br />
Like the one laptop per child (OLPC) interface, keep a number in the status bar that represents a count of other openmoko or compatible bluetooth devices in the area. Allow for the spontaneous initiation of a chatroom or multiplayer game or file trading with any moko in the area.<br />
<br />
=== Remote control ===<br />
<br />
==== Wireless presenter ====<br />
Use the phone to run your OpenOffice.org Impress presentation remotely using Bluetooth. Cool features: <br />
* Display the text notes for the presenter on the phone's display and update it whenever the slide is changing.<br />
** OO.org has implemented support for [http://www.openoffice.org/issues/show_bug.cgi?id=12719 dual monitor]/[http://www.openoffice.org/issues/show_bug.cgi?id=18486 presenter mode] that can be used as a starting point<br />
* A small timer showing the time passed (and perhaps remaining if the presentation app supports such a feature). <br />
* If you want to be super-cool, you give a preview of the notes of the next slide in the show. <br />
* At the end of a presentation, a "navigator" could allow to easily jump to any slide in the presentation by clicking on it on the phone.<br />
** When you right-click in a running OO.org Impress presentation, you can choose "got o slide..." and select any slide to jump to.<br />
<br />
==== Initiated from another device ====<br />
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control), camera (capture image), etc.<br />
==== Directed at another device ====<br />
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.<br />
<br />
Z-wave uses web-browser control of devices that is said to be compatible with mobile phone browsers so should work with openmoko browser. [http://www.z-wave.com www.z-wave.com]<br />
<br />
=== Bluetooth Car Connection ===<br />
<br />
Have a deeper connection to the car than just handsfree speakerphone. For instance a transceiver with challenge/response systems to open, possibly even start the car. Possibly go as far as OBD connection to monitor car status on screen/log for later.<br />
<br />
==== Dude, Where's My Car? ====<br />
<br />
When in range of the car navigation system, remember the position (perhaps check with the car GPS). When not in range, assumme that you are not in the car, and offer the opportunity to navigate to the car's last known position. That way, you can find your car e.g. on a large parking lot.<br />
<br />
=== [[Bluetooth powered Multi-SIM support]] ===<br />
<br />
As the Neo1971 does not come with dual-SIM support this could be solved by joining your old bluetooth-enabled mobile to your OpenMoko-phone.<br />
<br />
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:<br />
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)<br />
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset<br />
* Same for Short Messages/MMS/Internet<br />
This way you'd have your old phone switched silent and connected to your OpenMoko-phone that handles all the calls and one can select which SIM card to use.<br />
Advantage: No 'switching' between cards<br />
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.<br />
<br />
===Internet Gateway===<br />
<br />
If the device could function as a Bluetooth router/gateway to the internet via the GPRS/data connector, then you could use it to get network connectivity from your laptop and other devices while on the road. Many smartphones can be configured as modems via Bluetooth for use as Dial-Up Networking connectors, and that should be the minimum target. Ideally, if the WiFi functionality was used so the OpenMoko could be an 802.11 router or peer to peer gateway for a laptop, this would be even better. The full bandwidth of GPRS or whatever network is available would then be available.<br />
<br />
== Other ==<br />
<br />
=== [[Wishlist:Tagging|Tagging]] ===<br />
Tags can be used by various applications. Requirement is interoperability for further enhancement.<br />
Tags should be applied to calendar events, mail/sms, calls, places(GPS) and files.<br />
<br />
<br />
=== Context based TO-DO list ===<br />
<br />
I arrives to home and there is some "@home" things in the to-do list, the [[Wishlist:context based to-do list|Context based to-do list]] reminds me that.<br />
<br />
=== Exchange Integration ===<br />
<br />
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/etc servers would be a big advantage... near-real-time automatic email downloads and automatic bi-directional syncing are productivity boosters that you have to experience to appreciate. It turns your phone from a 'nice gadget to fiddle with' to a natural-feeling extension of your day-to-day life.<br />
<br />
* Is the time right to name names ? Add as your liking...<br />
** Plugin/integration to & from Kontact<br />
** Same with Evolution - Thunderbird - Seamonkey<br />
** ?? Google Calendars ?? (this one is tough)<br />
<br />
=== Vibrate Pattern Recorder ===<br />
<br />
An application that would allow the user to define their own vibration patterns, and possibly link them to audio files. Recording would be done in real time initiated with a "Record" button, optionally playing the associated sound file in sync with recording). While recording, the user would press and hold a button to define the timing and duration of vibration. The user would press "Stop" when finished. Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).<br />
<br />
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a "time-slice" in milliseconds, which would determine the overall tempo(actually the inverse of tempo). The next byte would define the number of time-slices to leave the vibration on, and then another byte for how long to pause after. Continue alternating these on/off bytes until the entire pattern is defined.<br />
<br />
- or just use MIDI, using a separate channel for the vibrator.<br />
<br />
=== PC Input Device ===<br />
<br />
Provide a method to use the touchscreen as input device for a nearby desktop machine. Could connect over USB or bluetooth.<br />
<br />
=== Advanced Notification And Ringtone Manager ===<br />
<br />
[[Wishlist-ANARM|ANARM]] would be an application for handling all event-based audible notifications from an OpenMoko device.<br />
<br />
=== Conversation Recorder ===<br />
<br />
An option to record phone conversations. Would be helpful to have the device always recording for every call, with the sound data encoded to low quality Ogg Vorbis or SPEEX and stored in RAM. At the end of the conversation the user would have the option to save to flash or discard the conversation. This idea could also be applied to voicemail so you could save voicemails locally.<br />
<br />
=== Location based reminders ===<br />
[[Wishlist:Location_based_reminders|Location based reminders]] can be used to notify users of various events or reminders that are location based.<br />
<br />
=== Anti Theft mode ===<br />
Suppose you are in a busy environment and your device is lying around somewhere. You sometimes use it but cannot look after it all the time. A sort of high risk environment for phone theft where you could put it in anti theft mode which is enabled when someone moves it or touches the touch screen. This, of course will be set off after a predefined time out awaiting a password to unlock this mode (unprompted?). From the moment it has been moved or touched it will display a warning on a red background flashing in black: ''You are committing a crime. Put this phone back, now!'' or any other predefined text. If it is not unlocked it will set off a loud alarm and start sending messages to a predefined email address with pictures, GPS coordinates and network pings.<br />
<br />
=== Sport tracker ===<br />
[[Wishlist:Sport_tracker|Sport tracker]] can be used to measure the distance/velocity from point A to point B (or it could have several intermediate stopping points) using GPS. This would be extremely useful for running, biking, hiking, etc.<br />
<br />
=== Standby clock ===<br />
A quick way to see what [[Wishlist:Standby_clock|time]] it is.<br />
<br />
=== Cycle Computer ===<br />
As already mentioned by [http://wiki.openmoko.org/wiki/User_talk:Technil Technil], a cycle computer could be created using gps. The sensor at the bike's wheel could transmit data via bluetooth or some cable that would be attached to an openmoko device. In order to save power, one could switch off the gps and only use the bike's sensor.<br />
* Just another idea that came to me: Why don't have sensor's transmit cable plug into the headphone/microphone plug? A tool reads the signals created by the induction of the passing magnet, then gives them to the cycle-computer-app :) --[[User:Minime|Minime]] 19:50, 12 April 2007 (CEST)<br />
<br />
=== Internet Connection Management ===<br />
An application that automatically chooses the best available connection method, between Bluetooth, USBnet, Wifi, GPRS, etc. For GPRS or other services where the user may be paying per kb, there should be options to limit data transfer. The user could be asked permission to transfer data: per connection, per process, per process for a specific time limit, per process for a specific data size limit, etc.<br />
<br />
=== Synergy Client ===<br />
A synergy client would enable the user to place the device next to a desktop PC and share the desktop`s mouse, keyboard and clipboard over a TCP/IP network. [http://synergy2.sourceforge.net/ Synergy]<br />
<br />
=== Mask ID based on dialed numbers ===<br />
It would be nice if my number only showed up when I call people in my address book and was otherwise masked. The phone I have now either always shows my number or never or can be set on a per call basis. Having it done automatically based on the number dialed would be good.<br />
<br />
== Software: Language bindings ==<br />
=== Python bindings ===<br />
Python bindings seem to be a commonly requested feature. <br />
<br />
[[User:Mickey]] says, "They are kind of usable on the [http://www.maemo.org Nokia 770], but it's at the lower end of being bearable. We should keep this in mind -- Gtk+ already comes with Python Bindings, so we "just" would need to wrap libmoko*. I would prefer to leave this to the community do though, since it doesn't make sense to start wrapping the API until we have a stable API -- and I can imagine it will take us a couple of months after going open until we can start with stabilizing the libmoko API."<br />
<br />
=== C++ bindings ===<br />
There is a whole skilled C++ community coming from the [http://qtopia.net Qtopia] and [http://opie.handhelds.org Opie] projects. If we would consider basing OpenMoko C++ Bindings on [http://www.gtkmm.org/ Gtkmm], then we could drag these guys in.<br />
<br />
=== Other bindings ===<br />
* Perl<br />
* Ruby<br />
* C#<br />
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings<br />
<br />
== Software: Foreign Widget Set Bindings ==<br />
=== Qt Integration ===<br />
The Trolltech folks have a great widget library. I'd like to interface OpenMoko with Qt4, so that we can write Qt4 applications for the phone which don't look alienated.<br />
<br />
=== Maemo Integration ===<br />
The Maemo folks have created a successful standard for Webpad applications. I'd like to have a set of MaemoMoko and MokoMaemo wrapper classes that allow me add support for running OpenMoko applications on Maemo and vice versa. Perhaps we can get help from the Nokia OSS folks for that.<br />
<br />
=== wxWidgets Integration ===<br />
wxWidgets is a cross-platform application framework that's very popular (I'd say, #3 after Qt and Gtk+). On Linux, wxWidgets uses Gtk+ to implement the widgets. It shouldn't be hard to add support for the additional OpenMoko classes to wxWidgets hence supporting the native OpenMoko look and feel for wxWidgets applications.<br />
<br />
wxWidgets team wants OpenMoko classes too and we (wxWidgets) plan to include this project as one of our ideas for [http://google-code-updates.blogspot.com/2007/02/speaking-of-summer.html GSoC 2007]<br />
<br />
=== SDL Integration ===<br />
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.<br />
<br />
== GPS Software ==<br />
*Providing GPS Support also for outdoor users in addition to ordinary street navigation features<br />
** Overlay of satellite images with existing streetmaps<br />
** Incorporating SRTM digital elevation model: for example using the VRML/X3D as data format (see http://www.ai.sri.com/geovrml/) which is interesting for e.g. mountaineering: using a 3d browser rendering VRML/X3D Model, displaying the current position and track (possibly also other gps-tracks of the different routes to a summit downloaded before could be mapped onto the 3d model), (what about 3d hardware support? there is nothing written in the hardware specs about graphics: thinking of OpenGL for embedded systems (see http://www.khronos.org/opengles/)<br />
** Using sth like a tracking mode to allow certain people to determine the current position and track (for rescue missions)<br />
<br />
== Hardware ==<br />
See [[Wish List - Hardware]]<br />
<br />
[[Category:Ideas]]</div>Digisushttp://openmoko.org/wiki/Wish_ListWish List2007-06-25T16:51:32Z<p>Digisus: corrected; added timing & navigator functions</p>
<hr />
<div>This article is a place to collect various thoughts about the future of the [[OpenMoko]] software platform. Most wish list ideas have been linked from this page, but you may also wish to check all pages [http://wiki.openmoko.org/wiki/Category:Ideas that have a category of 'Ideas'].<br />
<br />
== Development ==<br />
=== Painless SDK installation & Setup ===<br />
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]<br />
<br />
* one command for installation (apt-get install openmoko)<br />
* one command to start Xnest (openmoko-xephyr?)<br />
* one command to start an i386 shell (openmoko-386-shell)<br />
* one command to start an armel shell (openmoko-armel-shell)<br />
<br />
No extra configuration required.<br />
<br />
=== IDE Plugins ===<br />
People like to see plugins for<br />
* [http://anjuta.sourceforge.net Anjuta]<br />
* [http://www.eclipse.org Eclipse]<br />
evaluate eclipse project [http://www.eclipse.org/dsdp/index.php Device Software Development Platform Project from eclipse] and subproject [http://www.eclipse.org/proposals/tml/ Tool for Mobile Linux]<br />
* [http://www.kdevelop.org KDevelop]<br />
* [http://developer.apple.com/tools/xcode/ XCode]<br />
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]<br />
<br />
=== UI Designer ===<br />
Glade code generation is deprecated, so we don't want to use it. The Gtk+ powers told me that the plan is to have gtk 2.12 (out early 2007) with support for GtkBuilder, a libglade derivative which breaks a bit the XML definition in order to support all the new widgets and properties; as soon as it's in the other ui builders will add support for this format. See also [http://bugzilla.gnome.org/show_bug.cgi?id=172535 the relevant bug entry]<br />
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?<br />
<br />
<br />
== Built-in Scripting Language ==<br />
<br />
There was a [http://lists.openmoko.org/pipermail/community/2007-January/001909.html fruitful discussion about a built-in scripting language on the mailing list in January.] Many people feel that it is very important for OpenMoko to choose a scripting language to ship as default in the standard OpenMoko firmware. [[Wishlist:BuiltInScriptingLanguage]]<br />
<br />
== Community Support ==<br />
<br />
=== projects.openmoko.org ===<br />
Infrastructure for developers with<br />
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)<br />
* One mailing list for project<br />
<br />
== Platform ==<br />
=== Community Images ===<br />
In the future there could be complete, unofficial "product images" that are created by the community, for example maybe one that incorporates only free software (in the GNU or OSI sense). Or images build with a particular niche market in mind -- a student for example.<br />
<br />
== Software: Additional features ==<br />
===Calling===<br />
====Speaker-phone====<br />
* A speaker-phone is more than simply connecting the speakers to GSM audio, it's also echo cancellation, and eliminating the feedback that will otherwise happen between the speakers and the mic. This software has not been written.<br />
====Advanced Airtime Tracking====<br />
Many phone users have complicated plans, things like unlimited incoming, 100 anytime minutes, 1000 evening minutes, etc. It would be nice if a user could input the various monthly airtime chunks their plan gives them, and then the phone could track how much is left in each chunk, i.e. How much anytime minutes are left this month? Optionally, the software could warn when someone is close to the monthly limit, to help avoid bigger bills.<br />
<br />
==== Anti-stutter software ====<br />
Delayed Auditory Feedback (DAF) has shown to reduce stuttering in individuals by 70%. By using the microphone, it should be pretty simple to implement this on the OpenMoko. The DAF functionality should also be present during phone calls. See http://en.wikipedia.org/wiki/Delayed_auditory_feedback for more information.<br />
<br />
=== Ambient Noise Detection ===<br />
<br />
Using the microphone to [[Wishlist:Ambient Noise Detection|detect ambient noise]] the ringtone volume could be adjusted automatically.<br />
<br />
=== Active noise control ===<br />
<br />
Using the microphone to do [http://en.wikipedia.org/wiki/Anti-noise active noise control] on media player playback or telephone calls. This should be an independent module/library which can be used by any application which might require this feature. also provide a way to easily alter the parameters of the active noise control.<br />
<br />
=== Ignore-Call Button ===<br />
<br />
[[Wishlist:Ignore Call Button|Shut up a ringing phone]], without rejecting the call.<br />
<br />
Another alternative might be to use microphone to recognize when the user gives an audible "Shhh!" command. This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises.<br />
<br />
<br />
=== [[Voice Mailbox]] ===<br />
<br />
On-Phone voice mailbox that records calls on the phone and retrieves voice messages from your mobile service provider's voice mailbox and saves them locally.<br />
Can act profile-dependent.<br />
<br />
=== Mute Button ===<br />
<br />
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.<br />
<br />
=== Hold Button ===<br />
<br />
Similar to mute, but plays a sound file for the user on the other end while they wait. The sound file could be chosen in some setup beforehand.<br />
<br />
=== Automated profile switching ===<br />
<br />
With a [[Wishlist:Silent mode timeout|"silent mode" timeout]], there is no need to turn the ringer back on if you previously know how long will be the film/meeting/...<br />
<br />
Profile zoning - define different zones for switching different profiles automatically either by GPS zoning, Wi-Fi proximity or GSM base station proximity.<br />
<br />
Profile scheduling - more complex than timeout. Ability to create a schedule for activating different profiles, or integrate profile switching with the schedule.<br />
<br />
===PIM===<br />
<br />
<br />
===Text Messaging===<br />
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included<br />
For current development status of the messaging-app see: [[Messages]]<br />
<br />
There are many useful options that now can be used to full capacity:<br />
* '''Acknowledge/status SMS'''<br />
In GSM networks so-called acknowledge-SMS are sent back to the SMS's dispatcher in order to indicate that the primal sms was received (as message delivery is only best effort and is not guaranteed). So in the SMS dialog there could be equal sized buttons with captions as 'send only', 'send and receive delivery status message' and 'send and notify (e.g. ring) when delivery succeeded'.<br />
** '''Special handling of status-SMS''' <br />
Related to the previous entry, these acknowledgment-sms' should be handled in a different way than normal SMS'. Most Motorola do this, while Samsung SGH series don't & clog the inbox, warn of a "new" message upon Status notification: Delivery Status Messages should be stored in a separate menu so they don't bloat the received-folder and you are able to quickly review the status of the messages you had sent.<br />
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date<br />
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: <br />
** Resource for SMS encoding: [http://web.archive.org/web/20021016104345/www.dreamfabric.com/sms/] [http://web.archive.org/web/20060411222332/] [http://home.student.utwente.nl/s.p.ekkebus/portfolio/resource/sms_pdu.html] [http://www.ihub.com/Binary%20Messages.htm]<br />
** [http://www.gammu.org www.gammu.org] - you can use Gammu/Gammu+ source for this software and/or understanding various SMS formats including EMS, WAP, Nokia Smart Messaging, Siemens & Alcatel encoding ([[User:Marcin|I could]] eventually help)<br />
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung<br />
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/<br />
* '''Profile-override-SMS''' SMS that start with a certain code word override the silent profile and have the phone ring. So someone could alert you in case of some emergency.<br />
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. "Server Down!" has a loud klaxon, "Disk Warning" has a quiet chirp.<br />
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: "hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz" becomes "Hi mate. Are you okay? I am sorry that I forgot to call you last night. Why don't we go and see a film tomorrow?" (taken from: [http://en.wikipedia.org/wiki/SMS_language])<br />
** Implement a script that abbreviates :-)<br />
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.<br />
* '''Rule based authorizations''' ...for received messages. For example, delete messages from one source between 9h00 and 18h00 (workday) allow them otherwise (to get alerting messages).<br />
* '''Enable chat-like SMS-viewing''' SMS-Email-like: retain SMS app, but store 'conversations' rather than pile-up. Group/archive conversations by Caller Group (Work / Friends / Home / any user-defined Caller Group). Show appropriate icon from either Caller Group or Caller ID at the source of conversations panel<br />
* '''Searching''' allow full-text search or string search.<br />
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...<br />
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.<br />
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.<br />
* '''SMS-EMail-Gateway'''<br />
SMS comes in, gets forward to your inbox, like any other piece of mail. Appropriate alerts and etc occur - again, just like for email. A simple SMTPD running on 127.0.0.1 that is hooked to an email-to-SMS translator that will send email addressed to 'SMS@localhost' (or whatever special address) out via SMS<br />
=== User Profiles ===<br />
<br />
This is different from contextual profiles for mobile phones, that might for example turn off the ringer, and turn on 'vibrate', when you select 'quiet'.<br />
<br />
They are profiles to let the owner of the phone set it up in a comfortable manner, without configuring every aspect.<br />
<br />
*'''[[Wish List UserProfile Beginner|Beginner]]''': Only basic functionality like, telephone and SMS<br />
*'''[[Wish List UserProfile Advanced|Advanced]]''': All in the "Beginner" profile, with e-mail, PIM functions<br />
*'''[[Wish List UserProfile Geek|Geek]]''': every functionality you can get<br />
*'''[[Wish List UserProfile Granny|Granny]]''': a minimum of functionality<br />
*'''[[Wish List UserProfile Child|Child]]''': Parents set limits for their child's phone.<br />
*'''[[Wish List UserProfile Employee|Employee]]''': Employers set limits for their employees phones.<br />
*'''[[Wish List UserProfile Subscriber|Subscriber]]''': Subsidised phone, with limits set for the user.<br />
<br />
The first modes are easily switchable between by the user, as they are also the owner of the phone.<br />
In the '''Child''', '''Employee''', '''Subscriber''' cases, this may not be the case.<br />
<br />
For example, for an employees phone, it may:<br />
*Record GPS track log whenever it is in range of a certain bluetooth device (the employees company vehicle)<br />
*Record all calls during working hours.<br />
*Disallow installation of non-company-approved software.<br />
<br />
For a child's phone, it may:<br />
*Constantly record GPS once a minute.<br />
*Mail GPS recordings to parents once an hour.<br />
*Record all phone calls<br />
*Disallow installation of software that is not 'child' rated.<br />
<br />
For these modes to be tamper proof, it would require on-phone security.<br />
A version of u-boot that would only allow signed images and some application on owners PC to generate them, and set policy.<br />
<br />
<br />
===Music/Video Software===<br />
A real good programming area for competition with the iPhone, a singular video/music player would be great for multimedia. A seamless integration system, a la iTunes and iPod, would be extremely popular.<br />
<br />
=== Address Book ===<br />
<br />
* Option to search not just the stored list of addresses, but one or more of the online phonebooks. Probably should be modular to make adding/changing phonebook sites easy. Also allows for future integration with LDAP<br />
servers or whatever.<br />
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)' This could also be done<br />
by integrating with whatever on-phone GPS mapping software the Neo ends up using.<br />
* Random text input 'notes' about a contact<br />
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's<br />
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant<br />
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account<br />
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.<br />
* Support for:<br />
**[http://en.wikipedia.org/wiki/SyncML SyncML]<br />
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book<br />
**[http://en.wikipedia.org/wiki/LDIF LDIF], [http://en.wikipedia.org/wiki/Xml XML] and [http://en.wikipedia.org/wiki/Comma-separated_values CSV] export and import (when possible).<br />
*Store Bluetooth IDs of friends and notify (configurable only on this device or on both devices) when a one of these Bluetooth ID has been detected (this is more a separate application but has requirements on the address book.<br />
<br />
==== Web-browser Plugins ====<br />
<br />
* While an extensive browser plugin system would be costly to the efficacy of the platform three particular browser plugins as poplularized by Mozilla firefox should be adapted to the web-browser, namely: [http://noscript.net/ noscript], [http://adblockplus.org/en/ adblock plus], [http://www.greasespot.net/ greasemonkey] and [http://www.foxmarks.com/ foxmarks].<br />
* Careful use of these can dramatically reduce bandwidth, page space, and rendering costs even if it comes at the risk of some hard drive space in the form of block lists.<br />
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.<br />
<br />
==== E-Book Reader ====<br />
* Neos brilliant ultra-sharp screen makes for a very good e-book reading device. All it takes is a good e-book reader with touch-screen page turning / scrolling. FBReader could probably be adjusted easily by an experienced GTK hacker. Note that e-book reading is different to pure text/pdf displaying as it requires at least auto-bookmarking of the last read page, proper text and image scaling and text formatting.<br />
<br />
=== Reading Support ===<br />
It would be really great to be able to read :<br />
<br />
*PDF<br />
*Open Document files<br />
*Text / RTF files<br />
*MS Office files<br />
*Aportis Doc (pdb)<br />
*...<br />
<br />
In both landscape and portrait<br />
<br />
<br />
=== [[Wishlist:Text Input| Text input]] ===<br />
There are many good suggestions for text input on the specific [[Wishlist:Text Input| text input ideas]] page.<br />
<br />
=== More/Custom Input Method Widgets ===<br />
Additional and customizable Input Method Widgets (similar to virtual keyboard). <br />
This could add soft-key functionality to games or other applications such as:<br />
*D-Pads<br />
*buttons<br />
*virtual trackballs<br />
*...<br />
Personalized layouts could be associated with each application.<br />
See [http://wiki.openmoko.org/wiki/Wishlist:More/Custom_Input_Method_Widgets Input Method Wishlist] for more.<br />
<br />
=== Games ===<br />
<br />
Please see [[Wishlist:Games|the games page]].<br />
<br />
=== Mesh Networking ===<br />
<br />
Please see [[Wishlist:Mesh Networking|Mesh Networking]].<br />
<br />
<br />
=== Wikipedia Mirror ===<br />
<br />
See [[Wishlist:Wikipedia_Mirror|Wikipedia Mirror]].<br />
<br />
=== Printing Support ===<br />
It would be really neat to be able to print over either bluetooth or USB. I can imagine wanting to print:<br />
<br />
* Notes<br />
* Maps<br />
* Email<br />
* Calendars<br />
* ...<br />
<br />
Cups contains a bluetooth printing backend, so (in theory) once you have your data in postscript format, you could hand it to cups and it'll do the rest. In practice, it depends on<br />
<br />
# GTK+'s printing support<br />
# Making cups run on a really small system<br />
<br />
{{note| GTK+'s printing support seems to be very immature in 2.6 (which we need to use for some time). Gtk+ 2.10 contains much better printing support -- once we can use this, it should be more easy.}}<br />
<br />
There's always the possibility to render postscript ourselves, but this is not a piece of cake -- in general, printing is much harder than one would imagine.<br />
<br />
Further details:<br />
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]<br />
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]<br />
* [http://www.j5live.com/?p=204 j5live.com]<br />
<br />
===Misc Software===<br />
<br />
==== PalmOS Emulator ====<br />
<br />
The Access group is probably coming out with their Linux platform any time soon. One of the components is a PalmOS emulator which I'd like to see working on OpenMoko as well. There are literally thousands of PalmOS apps.<br />
<br />
Win CE emulator<br />
I'd like to see a Windows CE Emulator with active sync support.<br />
<br />
<br />
==== Egg Timer ====<br />
<br />
Very simple (one click) count up / count down timers are very useful. [[Wishlist:EggTimer]]<br />
<br />
==== Personal Wiki ====<br />
<br />
Display the notes database as a Wiki. Inspiration: [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki]. [[Wishlist:PersonalWiki]]<br />
<br />
[http://www.didiwiki.org/ Didiwiki]<br />
<br />
==== Database/List Display/Edit ====<br />
<br />
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db]. It's GPL'd. [[Wishlist:PilotDB]]<br />
<br />
==== Joe's Goals ====<br />
<br />
It'd be nice to have something like [http://www.joesgoals.com Joe's Goals] always available, like my phone is, even when I'm disconnected from the net.<br />
<br />
==== Workout ====<br />
<br />
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.<br />
<br />
==== TV Guide/Remote Control ====<br />
<br />
Use your Phone to easily program your VCR using EPGs.<br />
<br />
==== Shopping List ====<br />
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.<br />
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.<br />
<br />
==== Fuel Log ====<br />
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).<br />
Advanced features could include:<br />
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)<br />
* Sending the data to a central server which collects the information<br />
* Let the OpenMoko receive fuel logs per SMS (e.g. if my wife with a non-openmoko mobile fuels the car and wants to file the data using her mobile phone)<br />
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server<br />
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.<br />
<br />
==== Dictionary, thesaurus and translator ====<br />
Native lookup dictionary and thesaurus and foreign translation dictionaries, also with support for Asian languages. Optional custom configurable (though preconfigured) interface with on-line versions of dictionaries, thesaurus and translation services.<br />
<br />
<br />
==== Keep in touch reminder ====<br />
A background application which keeps track of your friends and reminds you when you have not talked, SMS, IM or mailed a person for more than # days.<br />
<br />
=== Accessibility ===<br />
Accessibility features for the visually impaired.<br />
* High Contrast Themes.<br />
* Screen Magnifier. Features should include automatic cursor tracking when navigating menus and entereing text and provide manual controls to zoom in on other section of the screen.<br />
* Text to speech. The software should read out menu item ,contact lists ,text messages etc. Would also be useful for operating the phone while driving.<br />
<br />
==== VOIP ====<br />
Ability to use the phone for VOIP over wi-fi such as Vonage. They currently have 2 different pieces of software for pc . Basically software creates a mac address which is paired with your Vonage account. Skype could also be implemented but I prefer Vonage. Only available when connected to wi-fi with a good connection. Phone treats calls the same as a cellular call, could keep a separate log of minutes, ability to record conversations, etc. Option to use VOIP if connection is available automaticly or manually. Small icon to show when call is using VOIP.<br />
<br />
==== Power Meter ====<br />
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.<br />
<br />
==== Zfone or similar ====<br />
Something that allows the user to speak with another person securely.<br />
<br />
==Bluetooth==<br />
<br />
=== Voice Dialing ===<br />
<br />
Dial by voice commands.<br />
<br />
=== Walkie Talkie ===<br />
<br />
Let OpenMoko devices connect to one another via bluetooth or another connection method (GPRS for long distance but high latency, probably Wifi on P2), and hold a conversation.<br />
<br />
Features for this applications can be:<br />
* Push To Talk (PTT) button<br />
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.<br />
* Optionally a full duplex mode<br />
* Different channels to choose from<br />
* Monitor different (preselected or all) channels for traffic.<br />
* Content encryption<br />
* Active noise control<br />
<br />
Local (non-GPRS) use cases include chatting while biking<br />
or motorcycling in a group; perhaps also in a car caravan.<br />
This application could also be used as a baby-phone to monitor your siblings.<br />
<br />
This would be more useful if the Neo had Class 1 bluetooth, though probable Wifi on P2 will also offer more range.<br />
<br />
=== Automatic Sync ===<br />
<br />
Automatically synchronize with desktop computer when within range based on user profile. This may require the use of a secure data transfer.<br />
<br />
=== GPS Assisted Bluetooth Management ===<br />
<br />
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.<br />
<br />
A Bluetooth device is configured for automatic reacquisition based on the following profiles:<br />
* Manual - only when Bluetooth is on<br />
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.<br />
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.<br />
<br />
Each target device is configured as follows:<br />
* Automatic acquisition at last known location: enable/disable<br />
* Automatic acquisition at these locations: list of nickname + coordinates + range<br />
<br />
==== Non-mobile devices ====<br />
<br />
Examples devices include: computers<br />
<br />
The location and range of the target device is determined via training. Periodically, the current GPS coordinates and Bluetooth signal strength are logged. Additionally, connectivity loss events are logged. An algorithm uses these logs to determine the device location and range.<br />
<br />
Connection attempts are made when in a configurable proximity to the device. The first attempt when entering the proximity and further attempts at a configurable interval.<br />
<br />
==== Mobile devices ====<br />
<br />
Example devices include: automobiles<br />
<br />
Mobile devices are configured to have two types of locations:<br />
# Last known location<br />
# Non-mobile locations (homes)<br />
<br />
===== Last known location =====<br />
<br />
A car is mobile, ideally, when you leave your car, the phone should note the car's location when connectivity is lost and then attempt to reacquire the car when you return to the location of the car.<br />
<br />
===== Non-mobile locations (homes) =====<br />
<br />
As mobile devices may have multiple users, it is not sufficient to always use the last known location. In this case, the device may additionally have multiple homes. For example, a car might have as its homes: home garage and work parking lot.<br />
<br />
=== Bluetooth neighbor detection and multiuser apps ===<br />
<br />
Like the one laptop per child (OLPC) interface, keep a number in the status bar that represents a count of other openmoko or compatible bluetooth devices in the area. Allow for the spontaneous initiation of a chatroom or multiplayer game or file trading with any moko in the area.<br />
<br />
=== Remote control ===<br />
<br />
==== Wireless presenter ====<br />
Use the phone to run your presentation using Bluetooth. Cool features: 1) Display the text notes for the presenter on the phone's display and update it whenever the slide is changing. Have a mode with small text and a mode with enlarged text and scrolling function. 2) A small timer showing the time passed (and perhaps remaining if the presentation app supports such a feature). 3) If you want to be super-cool, you give a preview thumb of the coming slide. 4) At the end of presentations and general slide navigator could be shown that allows to easily jump to any slide in the presentation by clicking on it on the phone.<br />
<br />
==== Initiated from another device ====<br />
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control), camera (capture image), etc.<br />
==== Directed at another device ====<br />
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.<br />
<br />
Z-wave uses web-browser control of devices that is said to be compatible with mobile phone browsers so should work with openmoko browser. [http://www.z-wave.com www.z-wave.com]<br />
<br />
=== Bluetooth Car Connection ===<br />
<br />
Have a deeper connection to the car than just handsfree speakerphone. For instance a transceiver with challenge/response systems to open, possibly even start the car. Possibly go as far as OBD connection to monitor car status on screen/log for later.<br />
<br />
==== Dude, Where's My Car? ====<br />
<br />
When in range of the car navigation system, remember the position (perhaps check with the car GPS). When not in range, assumme that you are not in the car, and offer the opportunity to navigate to the car's last known position. That way, you can find your car e.g. on a large parking lot.<br />
<br />
=== [[Bluetooth powered Multi-SIM support]] ===<br />
<br />
As the Neo1971 does not come with dual-SIM support this could be solved by joining your old bluetooth-enabled mobile to your OpenMoko-phone.<br />
<br />
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:<br />
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)<br />
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset<br />
* Same for Short Messages/MMS/Internet<br />
This way you'd have your old phone switched silent and connected to your OpenMoko-phone that handles all the calls and one can select which SIM card to use.<br />
Advantage: No 'switching' between cards<br />
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.<br />
<br />
== Other ==<br />
<br />
=== [[Wishlist:Tagging|Tagging]] ===<br />
Tags can be used by various applications. Requirement is interoperability for further enhancement.<br />
Tags should be applied to calendar events, mail/sms, calls, places(GPS) and files.<br />
<br />
<br />
=== Context based TO-DO list ===<br />
<br />
I arrives to home and there is some "@home" things in the to-do list, the [[Wishlist:context based to-do list|Context based to-do list]] reminds me that.<br />
<br />
=== Exchange Integration ===<br />
<br />
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/etc servers would be a big advantage... near-real-time automatic email downloads and automatic bi-directional syncing are productivity boosters that you have to experience to appreciate. It turns your phone from a 'nice gadget to fiddle with' to a natural-feeling extension of your day-to-day life.<br />
<br />
* Is the time right to name names ? Add as your liking...<br />
** Plugin/integration to & from Kontact<br />
** Same with Evolution - Thunderbird - Seamonkey<br />
** ?? Google Calendars ?? (this one is tough)<br />
<br />
=== Vibrate Pattern Recorder ===<br />
<br />
An application that would allow the user to define their own vibration patterns, and possibly link them to audio files. Recording would be done in real time initiated with a "Record" button, optionally playing the associated sound file in sync with recording). While recording, the user would press and hold a button to define the timing and duration of vibration. The user would press "Stop" when finished. Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).<br />
<br />
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a "time-slice" in milliseconds, which would determine the overall tempo(actually the inverse of tempo). The next byte would define the number of time-slices to leave the vibration on, and then another byte for how long to pause after. Continue alternating these on/off bytes until the entire pattern is defined.<br />
<br />
- or just use MIDI, using a separate channel for the vibrator.<br />
<br />
=== PC Input Device ===<br />
<br />
Provide a method to use the touchscreen as input device for a nearby desktop machine. Could connect over USB or bluetooth.<br />
<br />
=== Advanced Notification And Ringtone Manager ===<br />
<br />
[[Wishlist-ANARM|ANARM]] would be an application for handling all event-based audible notifications from an OpenMoko device.<br />
<br />
=== Conversation Recorder ===<br />
<br />
An option to record phone conversations. Would be helpful to have the device always recording for every call, with the sound data encoded to low quality Ogg Vorbis or SPEEX and stored in RAM. At the end of the conversation the user would have the option to save to flash or discard the conversation. This idea could also be applied to voicemail so you could save voicemails locally.<br />
<br />
=== Location based reminders ===<br />
[[Wishlist:Location_based_reminders|Location based reminders]] can be used to notify users of various events or reminders that are location based.<br />
<br />
=== Anti Theft mode ===<br />
Suppose you are in a busy environment and your device is lying around somewhere. You sometimes use it but cannot look after it all the time. A sort of high risk environment for phone theft where you could put it in anti theft mode which is enabled when someone moves it or touches the touch screen. This, of course will be set off after a predefined time out awaiting a password to unlock this mode (unprompted?). From the moment it has been moved or touched it will display a warning on a red background flashing in black: ''You are committing a crime. Put this phone back, now!'' or any other predefined text. If it is not unlocked it will set off a loud alarm and start sending messages to a predefined email address with pictures, GPS coordinates and network pings.<br />
<br />
=== Sport tracker ===<br />
[[Wishlist:Sport_tracker|Sport tracker]] can be used to measure the distance/velocity from point A to point B (or it could have several intermediate stopping points) using GPS. This would be extremely useful for running, biking, hiking, etc.<br />
<br />
=== Standby clock ===<br />
A quick way to see what [[Wishlist:Standby_clock|time]] it is.<br />
<br />
=== Cycle Computer ===<br />
As already mentioned by [http://wiki.openmoko.org/wiki/User_talk:Technil Technil], a cycle computer could be created using gps. The sensor at the bike's wheel could transmit data via bluetooth or some cable that would be attached to an openmoko device. In order to save power, one could switch off the gps and only use the bike's sensor.<br />
* Just another idea that came to me: Why don't have sensor's transmit cable plug into the headphone/microphone plug? A tool reads the signals created by the induction of the passing magnet, then gives them to the cycle-computer-app :) --[[User:Minime|Minime]] 19:50, 12 April 2007 (CEST)<br />
<br />
=== Internet Connection Management ===<br />
An application that automatically chooses the best available connection method, between Bluetooth, USBnet, Wifi, GPRS, etc. For GPRS or other services where the user may be paying per kb, there should be options to limit data transfer. The user could be asked permission to transfer data: per connection, per process, per process for a specific time limit, per process for a specific data size limit, etc.<br />
<br />
=== Synergy Client ===<br />
A synergy client would enable the user to place the device next to a desktop PC and share the desktop`s mouse, keyboard and clipboard over a TCP/IP network. [http://synergy2.sourceforge.net/ Synergy]<br />
<br />
=== Mask ID based on dialed numbers ===<br />
It would be nice if my number only showed up when I call people in my address book and was otherwise masked. The phone I have now either always shows my number or never or can be set on a per call basis. Having it done automatically based on the number dialed would be good.<br />
<br />
== Software: Language bindings ==<br />
=== Python bindings ===<br />
Python bindings seem to be a commonly requested feature. <br />
<br />
[[User:Mickey]] says, "They are kind of usable on the [http://www.maemo.org Nokia 770], but it's at the lower end of being bearable. We should keep this in mind -- Gtk+ already comes with Python Bindings, so we "just" would need to wrap libmoko*. I would prefer to leave this to the community do though, since it doesn't make sense to start wrapping the API until we have a stable API -- and I can imagine it will take us a couple of months after going open until we can start with stabilizing the libmoko API."<br />
<br />
=== C++ bindings ===<br />
There is a whole skilled C++ community coming from the [http://qtopia.net Qtopia] and [http://opie.handhelds.org Opie] projects. If we would consider basing OpenMoko C++ Bindings on [http://www.gtkmm.org/ Gtkmm], then we could drag these guys in.<br />
<br />
=== Other bindings ===<br />
* Perl<br />
* Ruby<br />
* C#<br />
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings<br />
<br />
== Software: Foreign Widget Set Bindings ==<br />
=== Qt Integration ===<br />
The Trolltech folks have a great widget library. I'd like to interface OpenMoko with Qt4, so that we can write Qt4 applications for the phone which don't look alienated.<br />
<br />
=== Maemo Integration ===<br />
The Maemo folks have created a successful standard for Webpad applications. I'd like to have a set of MaemoMoko and MokoMaemo wrapper classes that allow me add support for running OpenMoko applications on Maemo and vice versa. Perhaps we can get help from the Nokia OSS folks for that.<br />
<br />
=== wxWidgets Integration ===<br />
wxWidgets is a cross-platform application framework that's very popular (I'd say, #3 after Qt and Gtk+). On Linux, wxWidgets uses Gtk+ to implement the widgets. It shouldn't be hard to add support for the additional OpenMoko classes to wxWidgets hence supporting the native OpenMoko look and feel for wxWidgets applications.<br />
<br />
wxWidgets team wants OpenMoko classes too and we (wxWidgets) plan to include this project as one of our ideas for [http://google-code-updates.blogspot.com/2007/02/speaking-of-summer.html GSoC 2007]<br />
<br />
=== SDL Integration ===<br />
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.<br />
<br />
== Hardware ==<br />
See [[Wish List - Hardware]]<br />
<br />
[[Category:Ideas]]</div>Digisushttp://openmoko.org/wiki/Wish_ListWish List2007-06-14T21:55:34Z<p>Digisus: added Wireless presenter idea</p>
<hr />
<div>This article is a place to collect various thoughts about the future of the [[OpenMoko]] software platform. Most wish list ideas have been linked from this page, but you may also wish to check all pages [http://wiki.openmoko.org/wiki/Category:Ideas that have a category of 'Ideas'].<br />
<br />
== Development ==<br />
=== Painless SDK installation & Setup ===<br />
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]<br />
<br />
* one command for installation (apt-get install openmoko)<br />
* one command to start Xnest (openmoko-xephyr?)<br />
* one command to start an i386 shell (openmoko-386-shell)<br />
* one command to start an armel shell (openmoko-armel-shell)<br />
<br />
No extra configuration required.<br />
<br />
=== IDE Plugins ===<br />
People like to see plugins for<br />
* [http://anjuta.sourceforge.net Anjuta]<br />
* [http://www.eclipse.org Eclipse]<br />
evaluate eclipse project [http://www.eclipse.org/dsdp/index.php Device Software Development Platform Project from eclipse] and subproject [http://www.eclipse.org/proposals/tml/ Tool for Mobile Linux]<br />
* [http://www.kdevelop.org KDevelop]<br />
* [http://developer.apple.com/tools/xcode/ XCode]<br />
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]<br />
<br />
=== UI Designer ===<br />
Glade code generation is deprecated, so we don't want to use it. The Gtk+ powers told me that the plan is to have gtk 2.12 (out early 2007) with support for GtkBuilder, a libglade derivative which breaks a bit the XML definition in order to support all the new widgets and properties; as soon as it's in the other ui builders will add support for this format. See also [http://bugzilla.gnome.org/show_bug.cgi?id=172535 the relevant bug entry]<br />
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?<br />
<br />
<br />
== Built-in Scripting Language ==<br />
<br />
There was a [http://lists.openmoko.org/pipermail/community/2007-January/001909.html fruitful discussion about a built-in scripting language on the mailing list in January.] Many people feel that it is very important for OpenMoko to choose a scripting language to ship as default in the standard OpenMoko firmware. [[Wishlist:BuiltInScriptingLanguage]]<br />
<br />
== Community Support ==<br />
<br />
=== projects.openmoko.org ===<br />
Infrastructure for developers with<br />
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)<br />
* One mailing list for project<br />
<br />
== Platform ==<br />
=== Community Images ===<br />
In the future there could be complete, unofficial "product images" that are created by the community, for example maybe one that incorporates only free software (in the GNU or OSI sense). Or images build with a particular niche market in mind -- a student for example.<br />
<br />
== Software: Additional features ==<br />
===Calling===<br />
====Speaker-phone====<br />
* A speaker-phone is more than simply connecting the speakers to GSM audio, it's also echo cancellation, and eliminating the feedback that will otherwise happen between the speakers and the mic. This software has not been written.<br />
====Advanced Airtime Tracking====<br />
Many phone users have complicated plans, things like unlimited incoming, 100 anytime minutes, 1000 evening minutes, etc. It would be nice if a user could input the various monthly airtime chunks their plan gives them, and then the phone could track how much is left in each chunk, i.e. How much anytime minutes are left this month? Optionally, the software could warn when someone is close to the monthly limit, to help avoid bigger bills.<br />
<br />
==== Anti-stutter software ====<br />
Delayed Auditory Feedback (DAF) has shown to reduce stuttering in individuals by 70%. By using the microphone, it should be pretty simple to implement this on the OpenMoko. The DAF functionality should also be present during phone calls. See http://en.wikipedia.org/wiki/Delayed_auditory_feedback for more information.<br />
<br />
=== Ambient Noise Detection ===<br />
<br />
Using the microphone to [[Wishlist:Ambient Noise Detection|detect ambient noise]] the ringtone volume could be adjusted automatically.<br />
<br />
=== Active noise control ===<br />
<br />
Using the microphone to do [http://en.wikipedia.org/wiki/Anti-noise active noise control] on media player playback or telephone calls. This should be an independent module/library which can be used by any application which might require this feature. also provide a way to easily alter the parameters of the active noise control.<br />
<br />
=== Ignore-Call Button ===<br />
<br />
[[Wishlist:Ignore Call Button|Shut up a ringing phone]], without rejecting the call.<br />
<br />
Another alternative might be to use microphone to recognize when the user gives an audible "Shhh!" command. This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises.<br />
<br />
=== Mute Button ===<br />
<br />
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.<br />
<br />
=== Hold Button ===<br />
<br />
Similar to mute, but plays a sound file for the user on the other end while they wait. The sound file could be chosen in some setup beforehand.<br />
<br />
=== Automated profile switching ===<br />
<br />
With a [[Wishlist:Silent mode timeout|"silent mode" timeout]], there is no need to turn the ringer back on if you previously know how long will be the film/meeting/...<br />
<br />
Profile zoning - define different zones for switching different profiles automatically either by GPS zoning, Wi-Fi proximity or GSM base station proximity.<br />
<br />
Profile scheduling - more complex than timeout. Ability to create a schedule for activating different profiles, or integrate profile switching with the schedule.<br />
<br />
===PIM===<br />
<br />
<br />
===Text Messaging===<br />
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included<br />
For current development status of the messaging-app see: [[Messages]]<br />
<br />
There are many useful options that now can be used to full capacity:<br />
* '''Acknowledge/status SMS'''<br />
In GSM networks so-called acknowledge-SMS are sent back to the SMS's dispatcher in order to indicate that the primal sms was received (as message delivery is only best effort and is not guaranteed). So in the SMS dialog there could be equal sized buttons with captions as 'send only', 'send and receive delivery status message' and 'send and notify (e.g. ring) when delivery succeeded'.<br />
** '''Special handling of status-SMS''' <br />
Related to the previous entry, these acknowledgment-sms' should be handled in a different way than normal SMS'. Most Motorola do this, while Samsung SGH series don't & clog the inbox, warn of a "new" message upon Status notification: Delivery Status Messages should be stored in a separate menu so they don't bloat the received-folder and you are able to quickly review the status of the messages you had sent.<br />
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date<br />
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: <br />
** Resource for SMS encoding: [http://web.archive.org/web/20021016104345/www.dreamfabric.com/sms/] [http://web.archive.org/web/20060411222332/] [http://home.student.utwente.nl/s.p.ekkebus/portfolio/resource/sms_pdu.html] [http://www.ihub.com/Binary%20Messages.htm]<br />
** [http://www.gammu.org www.gammu.org] - you can use Gammu/Gammu+ source for this software and/or understanding various SMS formats including EMS, WAP, Nokia Smart Messaging, Siemens & Alcatel encoding ([[User:Marcin|I could]] eventually help)<br />
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung<br />
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/<br />
* '''Profile-override-SMS''' SMS that start with a certain code word override the silent profile and have the phone ring. So someone could alert you in case of some emergency.<br />
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. "Server Down!" has a loud klaxon, "Disk Warning" has a quiet chirp.<br />
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: "hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz" becomes "Hi mate. Are you okay? I am sorry that I forgot to call you last night. Why don't we go and see a film tomorrow?" (taken from: [http://en.wikipedia.org/wiki/SMS_language])<br />
** Implement a script that abbreviates :-)<br />
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.<br />
* '''Rule based authorizations''' ...for received messages. For example, delete messages from one source between 9h00 and 18h00 (workday) allow them otherwise (to get alerting messages).<br />
* '''Enable chat-like SMS-viewing''' SMS-Email-like: retain SMS app, but store 'conversations' rather than pile-up. Group/archive conversations by Caller Group (Work / Friends / Home / any user-defined Caller Group). Show appropriate icon from either Caller Group or Caller ID at the source of conversations panel<br />
* '''Searching''' allow full-text search or string search.<br />
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...<br />
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.<br />
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.<br />
* '''SMS-EMail-Gateway'''<br />
SMS comes in, gets forward to your inbox, like any other piece of mail. Appropriate alerts and etc occur - again, just like for email. A simple SMTPD running on 127.0.0.1 that is hooked to an email-to-SMS translator that will send email addressed to 'SMS@localhost' (or whatever special address) out via SMS<br />
=== User Profiles ===<br />
<br />
This is different from contextual profiles for mobile phones, that might for example turn off the ringer, and turn on 'vibrate', when you select 'quiet'.<br />
<br />
They are profiles to let the owner of the phone set it up in a comfortable manner, without configuring every aspect.<br />
<br />
*'''[[Wish List UserProfile Beginner|Beginner]]''': Only basic functionality like, telephone and SMS<br />
*'''[[Wish List UserProfile Advanced|Advanced]]''': All in the "Beginner" profile, with e-mail, PIM functions<br />
*'''[[Wish List UserProfile Geek|Geek]]''': every functionality you can get<br />
*'''[[Wish List UserProfile Granny|Granny]]''': a minimum of functionality<br />
*'''[[Wish List UserProfile Child|Child]]''': Parents set limits for their child's phone.<br />
*'''[[Wish List UserProfile Employee|Employee]]''': Employers set limits for their employees phones.<br />
*'''[[Wish List UserProfile Subscriber|Subscriber]]''': Subsidised phone, with limits set for the user.<br />
<br />
The first modes are easily switchable between by the user, as they are also the owner of the phone.<br />
In the '''Child''', '''Employee''', '''Subscriber''' cases, this may not be the case.<br />
<br />
For example, for an employees phone, it may:<br />
*Record GPS track log whenever it is in range of a certain bluetooth device (the employees company vehicle)<br />
*Record all calls during working hours.<br />
*Disallow installation of non-company-approved software.<br />
<br />
For a child's phone, it may:<br />
*Constantly record GPS once a minute.<br />
*Mail GPS recordings to parents once an hour.<br />
*Record all phone calls<br />
*Disallow installation of software that is not 'child' rated.<br />
<br />
For these modes to be tamper proof, it would require on-phone security.<br />
A version of u-boot that would only allow signed images and some application on owners PC to generate them, and set policy.<br />
<br />
<br />
===Music/Video Software===<br />
A real good programming area for competition with the iPhone, a singular video/music player would be great for multimedia. A seamless integration system, a la iTunes and iPod, would be extremely popular.<br />
<br />
=== Address Book ===<br />
<br />
* Option to search not just the stored list of addresses, but one or more of the online phonebooks. Probably should be modular to make adding/changing phonebook sites easy. Also allows for future integration with LDAP<br />
servers or whatever.<br />
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)' This could also be done<br />
by integrating with whatever on-phone GPS mapping software the Neo ends up using.<br />
* Random text input 'notes' about a contact<br />
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's<br />
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant<br />
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account<br />
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.<br />
* Support for:<br />
**[http://en.wikipedia.org/wiki/SyncML SyncML]<br />
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book<br />
**[http://en.wikipedia.org/wiki/LDIF LDIF], [http://en.wikipedia.org/wiki/Xml XML] and [http://en.wikipedia.org/wiki/Comma-separated_values CSV] export and import (when possible).<br />
*Store Bluetooth IDs of friends and notify (configurable only on this device or on both devices) when a one of these Bluetooth ID has been detected (this is more a separate application but has requirements on the address book.<br />
<br />
==== Web-browser Plugins ====<br />
<br />
* While an extensive browser plugin system would be costly to the efficacy of the platform three particular browser plugins as poplularized by Mozilla firefox should be adapted to the web-browser, namely: [http://noscript.net/ noscript], [http://adblockplus.org/en/ adblock plus], [http://www.greasespot.net/ greasemonkey] and [http://www.foxmarks.com/ foxmarks].<br />
* Careful use of these can dramatically reduce bandwidth, page space, and rendering costs even if it comes at the risk of some hard drive space in the form of block lists.<br />
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.<br />
<br />
==== E-Book Reader ====<br />
* Neos brilliant ultra-sharp screen makes for a very good e-book reading device. All it takes is a good e-book reader with touch-screen page turning / scrolling. FBReader could probably be adjusted easily by an experienced GTK hacker. Note that e-book reading is different to pure text/pdf displaying as it requires at least auto-bookmarking of the last read page, proper text and image scaling and text formatting.<br />
<br />
=== Reading Support ===<br />
It would be really great to be able to read :<br />
<br />
*PDF<br />
*Open Document files<br />
*Text / RTF files<br />
*MS Office files<br />
*Aportis Doc (pdb)<br />
*...<br />
<br />
In both landscape and portrait<br />
<br />
<br />
=== [[Wishlist:Text Input| Text input]] ===<br />
There are many good suggestions for text input on the specific [[Wishlist:Text Input| text input ideas]] page.<br />
<br />
=== More/Custom Input Method Widgets ===<br />
Additional and customizable Input Method Widgets (similar to virtual keyboard). <br />
This could add soft-key functionality to games or other applications such as:<br />
*D-Pads<br />
*buttons<br />
*virtual trackballs<br />
*...<br />
Personalized layouts could be associated with each application.<br />
See [http://wiki.openmoko.org/wiki/Wishlist:More/Custom_Input_Method_Widgets Input Method Wishlist] for more.<br />
<br />
=== Games ===<br />
<br />
Please see [[Wishlist:Games|the games page]].<br />
<br />
=== Mesh Networking ===<br />
<br />
Please see [[Wishlist:Mesh Networking|Mesh Networking]].<br />
<br />
<br />
=== Wikipedia Mirror ===<br />
<br />
See [[Wishlist:Wikipedia_Mirror|Wikipedia Mirror]].<br />
<br />
=== Printing Support ===<br />
It would be really neat to be able to print over either bluetooth or USB. I can imagine wanting to print:<br />
<br />
* Notes<br />
* Maps<br />
* Email<br />
* Calendars<br />
* ...<br />
<br />
Cups contains a bluetooth printing backend, so (in theory) once you have your data in postscript format, you could hand it to cups and it'll do the rest. In practice, it depends on<br />
<br />
# GTK+'s printing support<br />
# Making cups run on a really small system<br />
<br />
{{note| GTK+'s printing support seems to be very immature in 2.6 (which we need to use for some time). Gtk+ 2.10 contains much better printing support -- once we can use this, it should be more easy.}}<br />
<br />
There's always the possibility to render postscript ourselves, but this is not a piece of cake -- in general, printing is much harder than one would imagine.<br />
<br />
Further details:<br />
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]<br />
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]<br />
* [http://www.j5live.com/?p=204 j5live.com]<br />
<br />
===Misc Software===<br />
<br />
==== PalmOS Emulator ====<br />
<br />
The Access group is probably coming out with their Linux platform any time soon. One of the components is a PalmOS emulator which I'd like to see working on OpenMoko as well. There are literally thousands of PalmOS apps.<br />
<br />
Win CE emulator<br />
I'd like to see a Windows CE Emulator with active sync support.<br />
<br />
<br />
==== Egg Timer ====<br />
<br />
Very simple (one click) count up / count down timers are very useful. [[Wishlist:EggTimer]]<br />
<br />
==== Personal Wiki ====<br />
<br />
Display the notes database as a Wiki. Inspiration: [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki]. [[Wishlist:PersonalWiki]]<br />
<br />
[http://www.didiwiki.org/ Didiwiki]<br />
<br />
==== Database/List Display/Edit ====<br />
<br />
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db]. It's GPL'd. [[Wishlist:PilotDB]]<br />
<br />
==== Joe's Goals ====<br />
<br />
It'd be nice to have something like [http://www.joesgoals.com Joe's Goals] always available, like my phone is, even when I'm disconnected from the net.<br />
<br />
==== Workout ====<br />
<br />
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.<br />
<br />
==== TV Guide/Remote Control ====<br />
<br />
Use your Phone to easily program your VCR using EPGs.<br />
<br />
==== Shopping List ====<br />
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.<br />
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.<br />
<br />
==== Fuel Log ====<br />
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).<br />
Advanced features could include:<br />
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)<br />
* Sending the data to a central server which collects the information<br />
* Let the OpenMoko receive fuel logs per SMS (e.g. if my wife with a non-openmoko mobile fuels the car and wants to file the data using her mobile phone)<br />
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server<br />
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.<br />
<br />
==== Dictionary, thesaurus and translator ====<br />
Native lookup dictionary and thesaurus and foreign translation dictionaries, also with support for Asian languages. Optional custom configurable (though preconfigured) interface with on-line versions of dictionaries, thesaurus and translation services.<br />
<br />
<br />
==== Keep in touch reminder ====<br />
A background application which keeps track of your friends and reminds you when you have not talked, SMS, IM or mailed a person for more than # days.<br />
<br />
=== Accessibility ===<br />
Accessibility features for the visually impaired.<br />
* High Contrast Themes.<br />
* Screen Magnifier. Features should include automatic cursor tracking when navigating menus and entereing text and provide manual controls to zoom in on other section of the screen.<br />
* Text to speech. The software should read out menu item ,contact lists ,text messages etc. Would also be useful for operating the phone while driving.<br />
<br />
==== VOIP ====<br />
Ability to use the phone for VOIP over wi-fi such as Vonage. They currently have 2 different pieces of software for pc . Basically software creates a mac address which is paired with your Vonage account. Skype could also be implemented but I prefer Vonage. Only available when connected to wi-fi with a good connection. Phone treats calls the same as a cellular call, could keep a separate log of minutes, ability to record conversations, etc. Option to use VOIP if connection is available automaticly or manually. Small icon to show when call is using VOIP.<br />
<br />
==== Power Meter ====<br />
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.<br />
<br />
==== Zfone or similar ====<br />
Something that allows the user to speak with another person securely.<br />
<br />
==Bluetooth==<br />
<br />
=== Voice Dialing ===<br />
<br />
Dial by voice commands.<br />
<br />
=== Walkie Talkie ===<br />
<br />
Let OpenMoko devices connect to one another via bluetooth or another connection method, and hold a conversation. <br />
Features for this applications can be:<br />
* Push To Talk (PTT) button<br />
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.<br />
* Optionally a full duplex mode<br />
* Different channels to choose from<br />
* Monitor different (preselected or all) channels for traffic.<br />
* Content encryption<br />
* Active noise control<br />
<br />
This application could also be used as a baby-phone to monitor your siblings.<br />
<br />
This would be much more useful locally if the Neo had Class 1 bluetooth. Perhaps that could be considered for a future version.<br />
<br />
=== Automatic Sync ===<br />
<br />
Automatically synchronize with desktop computer when within range based on user profile. This may require the use of a secure data transfer.<br />
<br />
=== GPS Assisted Bluetooth Management ===<br />
<br />
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.<br />
<br />
A Bluetooth device is configured for automatic reacquisition based on the following profiles:<br />
* Manual - only when Bluetooth is on<br />
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.<br />
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.<br />
<br />
Each target device is configured as follows:<br />
* Automatic acquisition at last known location: enable/disable<br />
* Automatic acquisition at these locations: list of nickname + coordinates + range<br />
<br />
==== Non-mobile devices ====<br />
<br />
Examples devices include: computers<br />
<br />
The location and range of the target device is determined via training. Periodically, the current GPS coordinates and Bluetooth signal strength are logged. Additionally, connectivity loss events are logged. An algorithm uses these logs to determine the device location and range.<br />
<br />
Connection attempts are made when in a configurable proximity to the device. The first attempt when entering the proximity and further attempts at a configurable interval.<br />
<br />
==== Mobile devices ====<br />
<br />
Example devices include: automobiles<br />
<br />
Mobile devices are configured to have two types of locations:<br />
# Last known location<br />
# Non-mobile locations (homes)<br />
<br />
===== Last known location =====<br />
<br />
A car is mobile, ideally, when you leave your car, the phone should note the car's location when connectivity is lost and then attempt to reacquire the car when you return to the location of the car.<br />
<br />
===== Non-mobile locations (homes) =====<br />
<br />
As mobile devices may have multiple users, it is not sufficient to always use the last known location. In this case, the device may additionally have multiple homes. For example, a car might have as its homes: home garage and work parking lot.<br />
<br />
=== Bluetooth neighbor detection and multiuser apps ===<br />
<br />
Like the one laptop per child (OLPC) interface, keep a number in the status bar that represents a count of other openmoko or compatible bluetooth devices in the area. Allow for the spontaneous initiation of a chatroom or multiplayer game or file trading with any moko in the area.<br />
<br />
=== Remote control ===<br />
<br />
==== Wireless presenter ====<br />
Use the phone to run your presentation using Bluetooth. Cool features: Display the text notes for the presenter on the phone's display and update it whenever the slide is changing. Have a mode with small text and a mode with enlarged text and scrolling function. If you want to be super-cool, you give a preview thumbb of the coming slide (ort of a "wireless keynote" presentation tool).<br />
<br />
==== Initiated from another device ====<br />
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control), camera (capture image), etc.<br />
==== Directed at another device ====<br />
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.<br />
<br />
Z-wave uses web-browser control of devices that is said to be compatible with mobile phone browsers so should work with openmoko browser. [http://www.z-wave.com www.z-wave.com]<br />
<br />
=== Bluetooth Car Connection ===<br />
<br />
Have a deeper connection to the car than just handsfree speakerphone. For instance a transceiver with challenge/response systems to open, possibly even start the car. Possibly go as far as OBD connection to monitor car status on screen/log for later.<br />
<br />
==== Dude, Where's My Car? ====<br />
<br />
When in range of the car navigation system, remember the position (perhaps check with the car GPS). When not in range, assumme that you are not in the car, and offer the opportunity to navigate to the car's last known position. That way, you can find your car e.g. on a large parking lot.<br />
<br />
=== [[Bluetooth powered Multi-SIM support]] ===<br />
<br />
As the Neo1971 does not come with dual-SIM support this could be solved by joining your old bluetooth-enabled mobile to your OpenMoko-phone.<br />
<br />
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:<br />
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)<br />
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset<br />
* Same for Short Messages/MMS/Internet<br />
This way you'd have your old phone switched silent and connected to your OpenMoko-phone that handles all the calls and one can select which SIM card to use.<br />
Advantage: No 'switching' between cards<br />
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.<br />
<br />
== Other ==<br />
<br />
=== [[Wishlist:Tagging|Tagging]] ===<br />
Tags can be used by various applications. Requirement is interoperability for further enhancement.<br />
Tags should be applied to calendar events, mail/sms, calls, places(GPS) and files.<br />
<br />
<br />
=== Context based TO-DO list ===<br />
<br />
I arrives to home and there is some "@home" things in the to-do list, the [[Wishlist:context based to-do list|Context based to-do list]] reminds me that.<br />
<br />
=== Exchange Integration ===<br />
<br />
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/etc servers would be a big advantage... near-real-time automatic email downloads and automatic bi-directional syncing are productivity boosters that you have to experience to appreciate. It turns your phone from a 'nice gadget to fiddle with' to a natural-feeling extension of your day-to-day life.<br />
<br />
* Is the time right to name names ? Add as your liking...<br />
** Plugin/integration to & from Kontact<br />
** Same with Evolution - Thunderbird - Seamonkey<br />
** ?? Google Calendars ?? (this one is tough)<br />
<br />
=== Vibrate Pattern Recorder ===<br />
<br />
An application that would allow the user to define their own vibration patterns, and possibly link them to audio files. Recording would be done in real time initiated with a "Record" button, optionally playing the associated sound file in sync with recording). While recording, the user would press and hold a button to define the timing and duration of vibration. The user would press "Stop" when finished. Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).<br />
<br />
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a "time-slice" in milliseconds, which would determine the overall tempo(actually the inverse of tempo). The next byte would define the number of time-slices to leave the vibration on, and then another byte for how long to pause after. Continue alternating these on/off bytes until the entire pattern is defined.<br />
<br />
- or just use MIDI, using a separate channel for the vibrator.<br />
<br />
=== PC Input Device ===<br />
<br />
Provide a method to use the touchscreen as input device for a nearby desktop machine. Could connect over USB or bluetooth.<br />
<br />
=== Advanced Notification And Ringtone Manager ===<br />
<br />
[[Wishlist-ANARM|ANARM]] would be an application for handling all event-based audible notifications from an OpenMoko device.<br />
<br />
=== Conversation Recorder ===<br />
<br />
An option to record phone conversations. Would be helpful to have the device always recording for every call, with the sound data encoded to low quality Ogg Vorbis or SPEEX and stored in RAM. At the end of the conversation the user would have the option to save to flash or discard the conversation. This idea could also be applied to voicemail so you could save voicemails locally.<br />
<br />
=== Location based reminders ===<br />
[[Wishlist:Location_based_reminders|Location based reminders]] can be used to notify users of various events or reminders that are location based.<br />
<br />
=== Anti Theft mode ===<br />
Suppose you are in a busy environment and your device is lying around somewhere. You sometimes use it but cannot look after it all the time. A sort of high risk environment for phone theft where you could put it in anti theft mode which is enabled when someone moves it or touches the touch screen. This, of course will be set off after a predefined time out awaiting a password to unlock this mode (unprompted?). From the moment it has been moved or touched it will display a warning on a red background flashing in black: ''You are committing a crime. Put this phone back, now!'' or any other predefined text. If it is not unlocked it will set off a loud alarm and start sending messages to a predefined email address with pictures, GPS coordinates and network pings.<br />
<br />
=== Sport tracker ===<br />
[[Wishlist:Sport_tracker|Sport tracker]] can be used to measure the distance/velocity from point A to point B (or it could have several intermediate stopping points) using GPS. This would be extremely useful for running, biking, hiking, etc.<br />
<br />
=== Standby clock ===<br />
A quick way to see what [[Wishlist:Standby_clock|time]] it is.<br />
<br />
=== Cycle Computer ===<br />
As already mentioned by [http://wiki.openmoko.org/wiki/User_talk:Technil Technil], a cycle computer could be created using gps. The sensor at the bike's wheel could transmit data via bluetooth or some cable that would be attached to an openmoko device. In order to save power, one could switch off the gps and only use the bike's sensor.<br />
* Just another idea that came to me: Why don't have sensor's transmit cable plug into the headphone/microphone plug? A tool reads the signals created by the induction of the passing magnet, then gives them to the cycle-computer-app :) --[[User:Minime|Minime]] 19:50, 12 April 2007 (CEST)<br />
<br />
=== Internet Connection Management ===<br />
An application that automatically chooses the best available connection method, between Bluetooth, USBnet, Wifi, GPRS, etc. For GPRS or other services where the user may be paying per kb, there should be options to limit data transfer. The user could be asked permission to transfer data: per connection, per process, per process for a specific time limit, per process for a specific data size limit, etc.<br />
<br />
=== Synergy Client ===<br />
A synergy client would enable the user to place the device next to a desktop PC and share the desktop`s mouse, keyboard and clipboard over a TCP/IP network. [http://synergy2.sourceforge.net/ Synergy]<br />
<br />
=== Mask ID based on dialed numbers ===<br />
It would be nice if my number only showed up when I call people in my address book and was otherwise masked. The phone I have now either always shows my number or never or can be set on a per call basis. Having it done automatically based on the number dialed would be good.<br />
<br />
== Software: Language bindings ==<br />
=== Python bindings ===<br />
Python bindings seem to be a commonly requested feature. <br />
<br />
[[User:Mickey]] says, "They are kind of usable on the [http://www.maemo.org Nokia 770], but it's at the lower end of being bearable. We should keep this in mind -- Gtk+ already comes with Python Bindings, so we "just" would need to wrap libmoko*. I would prefer to leave this to the community do though, since it doesn't make sense to start wrapping the API until we have a stable API -- and I can imagine it will take us a couple of months after going open until we can start with stabilizing the libmoko API."<br />
<br />
=== C++ bindings ===<br />
There is a whole skilled C++ community coming from the [http://qtopia.net Qtopia] and [http://opie.handhelds.org Opie] projects. If we would consider basing OpenMoko C++ Bindings on [http://www.gtkmm.org/ Gtkmm], then we could drag these guys in.<br />
<br />
=== Other bindings ===<br />
* Perl<br />
* Ruby<br />
* C#<br />
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings<br />
<br />
== Software: Foreign Widget Set Bindings ==<br />
=== Qt Integration ===<br />
The Trolltech folks have a great widget library. I'd like to interface OpenMoko with Qt4, so that we can write Qt4 applications for the phone which don't look alienated.<br />
<br />
=== Maemo Integration ===<br />
The Maemo folks have created a successful standard for Webpad applications. I'd like to have a set of MaemoMoko and MokoMaemo wrapper classes that allow me add support for running OpenMoko applications on Maemo and vice versa. Perhaps we can get help from the Nokia OSS folks for that.<br />
<br />
=== wxWidgets Integration ===<br />
wxWidgets is a cross-platform application framework that's very popular (I'd say, #3 after Qt and Gtk+). On Linux, wxWidgets uses Gtk+ to implement the widgets. It shouldn't be hard to add support for the additional OpenMoko classes to wxWidgets hence supporting the native OpenMoko look and feel for wxWidgets applications.<br />
<br />
wxWidgets team wants OpenMoko classes too and we (wxWidgets) plan to include this project as one of our ideas for [http://google-code-updates.blogspot.com/2007/02/speaking-of-summer.html GSoC 2007]<br />
<br />
=== SDL Integration ===<br />
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.<br />
<br />
== Hardware ==<br />
See [[Wish List - Hardware]]<br />
<br />
[[Category:Ideas]]</div>Digisus