<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.openmoko.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.openmoko.org/api.php?action=feedcontributions&amp;user=Lally&amp;feedformat=atom</id>
		<title>Openmoko - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.openmoko.org/api.php?action=feedcontributions&amp;user=Lally&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Special:Contributions/Lally"/>
		<updated>2013-05-24T05:37:17Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.6</generator>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2009-02-01T08:29:15Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win. (Note: He did, see the Epilogue.  You win some, and you lose all the rest.)&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/ ||&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gmp-4.2.4/ || For GCC.  --prefix=/usr&lt;br /&gt;
|-&lt;br /&gt;
| mpfr-2.3.2/ || For GCC --prefix=/usr&lt;br /&gt;
|-&lt;br /&gt;
| '''gcc-4.3.2/''' || B/c the original GCC supplied didn't understand a specific warning flag.&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.  Install in /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| '''Python-2.6/'''  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| '''subversion-1.5.3/'''  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| '''linux-2.6.18/''' || For the headers.  You don't have to build or even configure this.  Just untar and symlink the include/ directory.&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
== Linux Kernel ==&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgraded Python ==&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.  Modify the bang line in /usr/bin/yum to point to /usr/bin/python2.2&lt;br /&gt;
&lt;br /&gt;
== The new Bash ==&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
== Runtime Library Setup ==&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Host OSes]]&lt;br /&gt;
&lt;br /&gt;
= Epilogue =&lt;br /&gt;
Well, the last thing I got to was a QT based tool requiring a semaphore implementation.  Perhaps someone else can give that a try.&lt;br /&gt;
&lt;br /&gt;
I went ahead &amp;amp; VirtualBox'd an Ubuntu install and dedicated it to OM.  Ugh.&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2009-02-01T08:28:27Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: Unconditional Surrender&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/ ||&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gmp-4.2.4/ || For GCC.  --prefix=/usr&lt;br /&gt;
|-&lt;br /&gt;
| mpfr-2.3.2/ || For GCC --prefix=/usr&lt;br /&gt;
|-&lt;br /&gt;
| '''gcc-4.3.2/''' || B/c the original GCC supplied didn't understand a specific warning flag.&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.  Install in /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| '''Python-2.6/'''  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| '''subversion-1.5.3/'''  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| '''linux-2.6.18/''' || For the headers.  You don't have to build or even configure this.  Just untar and symlink the include/ directory.&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
== Linux Kernel ==&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgraded Python ==&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.  Modify the bang line in /usr/bin/yum to point to /usr/bin/python2.2&lt;br /&gt;
&lt;br /&gt;
== The new Bash ==&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
== Runtime Library Setup ==&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Host OSes]]&lt;br /&gt;
&lt;br /&gt;
= Epilogue =&lt;br /&gt;
Well, the last thing I got to was a QT based tool requiring a semaphore implementation.  Perhaps someone else can give that a try.&lt;br /&gt;
&lt;br /&gt;
I went ahead &amp;amp; VirtualBox'd an Ubuntu install and dedicated it to OM.  Ugh.&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-30T20:22:12Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */  Changed prefix for install for gmp &amp;amp; mpfr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/ ||&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gmp-4.2.4/ || For GCC.  --prefix=/usr&lt;br /&gt;
|-&lt;br /&gt;
| mpfr-2.3.2/ || For GCC --prefix=/usr&lt;br /&gt;
|-&lt;br /&gt;
| '''gcc-4.3.2/''' || B/c the original GCC supplied didn't understand a specific warning flag.&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.  Install in /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| '''Python-2.6/'''  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| '''subversion-1.5.3/'''  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| '''linux-2.6.18/''' || For the headers.  You don't have to build or even configure this.  Just untar and symlink the include/ directory.&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
== Linux Kernel ==&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgraded Python ==&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.  Modify the bang line in /usr/bin/yum to point to /usr/bin/python2.2&lt;br /&gt;
&lt;br /&gt;
== The new Bash ==&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
== Runtime Library Setup ==&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Host OSes]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-28T00:13:48Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Upgraded Python */ Changed yum instructions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/ ||&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gmp-4.2.4/ || For GCC&lt;br /&gt;
|-&lt;br /&gt;
| mpfr-2.3.2/ || For GCC&lt;br /&gt;
|-&lt;br /&gt;
| '''gcc-4.3.2/''' || B/c the original GCC supplied didn't understand a specific warning flag.&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.  Install in /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| '''Python-2.6/'''  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| '''subversion-1.5.3/'''  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| '''linux-2.6.18/''' || For the headers.  You don't have to build or even configure this.  Just untar and symlink the include/ directory.&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
== Linux Kernel ==&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgraded Python ==&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.  Modify the bang line in /usr/bin/yum to point to /usr/bin/python2.2&lt;br /&gt;
&lt;br /&gt;
== The new Bash ==&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
== Runtime Library Setup ==&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Host OSes]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-27T23:50:36Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* The new Bash */ Fixed formatting on .bashrc commands.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/ ||&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gmp-4.2.4/ || For GCC&lt;br /&gt;
|-&lt;br /&gt;
| mpfr-2.3.2/ || For GCC&lt;br /&gt;
|-&lt;br /&gt;
| '''gcc-4.3.2/''' || B/c the original GCC supplied didn't understand a specific warning flag.&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.  Install in /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| '''Python-2.6/'''  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| '''subversion-1.5.3/'''  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| '''linux-2.6.18/''' || For the headers.  You don't have to build or even configure this.  Just untar and symlink the include/ directory.&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
== Linux Kernel ==&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgraded Python ==&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.  This will break yum, so you'll have to change it back when you want to run that.&lt;br /&gt;
&lt;br /&gt;
== The new Bash ==&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
== Runtime Library Setup ==&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Host OSes]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-27T23:48:30Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */ Added GCC requirements &amp;amp; some formatting.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/ ||&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gmp-4.2.4/ || For GCC&lt;br /&gt;
|-&lt;br /&gt;
| mpfr-2.3.2/ || For GCC&lt;br /&gt;
|-&lt;br /&gt;
| '''gcc-4.3.2/''' || B/c the original GCC supplied didn't understand a specific warning flag.&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.  Install in /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| '''Python-2.6/'''  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| '''subversion-1.5.3/'''  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| '''linux-2.6.18/''' || For the headers.  You don't have to build or even configure this.  Just untar and symlink the include/ directory.&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
== Linux Kernel ==&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgraded Python ==&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.  This will break yum, so you'll have to change it back when you want to run that.&lt;br /&gt;
&lt;br /&gt;
== The new Bash ==&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
== Runtime Library Setup ==&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Host OSes]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-27T23:46:25Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/ ||&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gmp-4.2.4/ || For GCC&lt;br /&gt;
|-&lt;br /&gt;
| mpfr-2.3.2/ || For GCC&lt;br /&gt;
|-&lt;br /&gt;
| gcc-4.3.2 || B/c the original GCC supplied didn't understand a specific warning flag.  &lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.  Install in /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| Python-2.6/  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| subversion-1.5.3/  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| linux-2.6.18/ || For the headers.  You don't have to build or even configure this.  Just untar and symlink the include/ directory.&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
== Linux Kernel ==&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgraded Python ==&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.  This will break yum, so you'll have to change it back when you want to run that.&lt;br /&gt;
&lt;br /&gt;
== The new Bash ==&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
== Runtime Library Setup ==&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Host OSes]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-27T03:02:54Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/ ||&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/ ||&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.  Install in /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| Python-2.6/  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| subversion-1.5.3/  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| linux-2.6.18/ || For the headers.  You don't have to build or even configure this.  Just untar and symlink the include/ directory.&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
== Linux Kernel ==&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgraded Python ==&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.  This will break yum, so you'll have to change it back when you want to run that.&lt;br /&gt;
&lt;br /&gt;
== The new Bash ==&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
== Runtime Library Setup ==&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Host OSes]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-27T02:28:19Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Hacking up the system to make it work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/ ||&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/ ||&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.  Install in /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| Python-2.6/  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| subversion-1.5.3/  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| linux-2.6.18/ || For the headers&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
== Linux Kernel ==&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Upgraded Python ==&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.  This will break yum, so you'll have to change it back when you want to run that.  &lt;br /&gt;
&lt;br /&gt;
== The new Bash ==&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
== Runtime Library Setup ==&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-27T02:15:59Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/ ||&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/ ||&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/ ||&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.  Install in /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| Python-2.6/  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| subversion-1.5.3/  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| linux-2.6.18/ || For the headers&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-27T02:15:45Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.  Install in /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| Python-2.6/  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| subversion-1.5.3/  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| linux-2.6.18/ || For the headers&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-27T00:40:27Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| openssl-0.9.8i/ || for subversion.&lt;br /&gt;
|-&lt;br /&gt;
| Python-2.6/  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| subversion-1.5.3/  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| linux-2.6.18/ || For the headers&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-24T15:52:42Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: A little reorg and some new notes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| Python-2.6/  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| subversion-1.5.3/  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| linux-2.6.18/ || For the headers&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hacking up the system to make it work =&lt;br /&gt;
&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In /usr/bin, rename python to old_python, and link /usr/local/bin/python here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-23T05:48:27Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Onto the Point */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Use these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| Python-2.6/  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| subversion-1.5.3/  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| linux-2.6.18/ || For the headers&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
 export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Application Developer]]&lt;br /&gt;
[[Category:Host OSes]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-23T05:40:21Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */ Added requirement for linux kernel source.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Using these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| Python-2.6/  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| subversion-1.5.3/  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| linux-2.6.18/ || For the headers&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
Go into /usr/include, and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ln -s /usr/local/src/linux-2.6.18/include/linux .&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
 export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Application Developer]]&lt;br /&gt;
[[Category:Host OSes]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-14T15:54:59Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */  Made the packages into a table.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Using these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Package&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| apr-1.3.3/ || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| apr-util-1.3.4/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| bash-3.2/ || the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
|-&lt;br /&gt;
| diffstat-1.46/&lt;br /&gt;
|-&lt;br /&gt;
| help2man-1.36.4/&lt;br /&gt;
|-&lt;br /&gt;
| gettext-0.17/&lt;br /&gt;
|-&lt;br /&gt;
| git-1.6.0.2/ || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| ncftp-3.2.2/ || to make CPAN happy about Locale::gettext&lt;br /&gt;
|-&lt;br /&gt;
| neon-0.28.3/  || for subversion&lt;br /&gt;
|-&lt;br /&gt;
| Python-2.6/  || for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
|-&lt;br /&gt;
| sqlite-3.6.3/  || for python's sake.&lt;br /&gt;
|-&lt;br /&gt;
| subversion-1.5.3/  || yum didn't have this.&lt;br /&gt;
|-&lt;br /&gt;
| texi2html-1.64/ || no package for this either.&lt;br /&gt;
|-&lt;br /&gt;
| texinfo-4.9/ || default version didn't have makeinfo&lt;br /&gt;
|-&lt;br /&gt;
| make-3.81/ || seriously&lt;br /&gt;
|-&lt;br /&gt;
| tar-1.20/ || again, seriously.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
 export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Application Developer]]&lt;br /&gt;
[[Category:Host OSes]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-14T15:50:09Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Using these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/&lt;br /&gt;
# gettext-0.17/&lt;br /&gt;
# git-1.6.0.2/ -- yum didn't have this.&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
# sqlite-3.6.3/  -- for python's sake.&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/ -- no package for this either.&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
# make-3.81/ -- seriously&lt;br /&gt;
# tar-1.20/ -- again, seriously.&lt;br /&gt;
&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
 export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Application Developer]]&lt;br /&gt;
[[Category:Host OSes]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-14T15:48:01Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Using these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect distribution maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/&lt;br /&gt;
# gettext-0.17/&lt;br /&gt;
# git-1.6.0.2/ -- yum didn't have this.&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
# sqlite-3.6.3/  -- for python's sake.&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/ -- no package for this either.&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
# make-3.81/ -- seriously&lt;br /&gt;
# tar-1.20/ -- again, seriously.&lt;br /&gt;
&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Application Developer]]&lt;br /&gt;
[[Category:Host OSes]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-14T15:46:08Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Using these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software.  After you're done with this, you'll:&lt;br /&gt;
&lt;br /&gt;
# Respect package maintainers more&lt;br /&gt;
# Loathe other software developers more&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/ &lt;br /&gt;
# gettext-0.17/&lt;br /&gt;
# git-1.6.0.2/ -- yum didn't have this.&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
# sqlite-3.6.3/  -- for python's sake.&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/ -- no package for this either.&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
# make-3.81/ -- seriously&lt;br /&gt;
# tar-1.20/ -- again, seriously.&lt;br /&gt;
&lt;br /&gt;
As early as you can, build gettext and install it.  Then setup LD_LIBRARY_PATH, /etc/ld.so.conf, etc. before moving forward with the rest.  Otherwise some of the configures will complain about preloadable_libintl.so.&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Application Developer]]&lt;br /&gt;
[[Category:Host OSes]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-14T13:58:42Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Using these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software:&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.  [http://www.mail-archive.com/bug-bash@gnu.org/msg02148.html You'll probably need this one-line patch]&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/ -- yum didn't have this.&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
# sqlite-3.6.3/  -- for python's sake.&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/ -- no package for this either.&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
# make-3.81/ -- seriously&lt;br /&gt;
# tar-1.20/ -- again, seriously.&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Application Developer]]&lt;br /&gt;
[[Category:Host OSes]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-14T13:53:04Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Using these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software:&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/ -- yum didn't have this.&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
# sqlite-3.6.3/  -- for python's sake.&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/ -- no package for this either.&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
# make-3.81/ -- seriously&lt;br /&gt;
# tar-1.20/ -- again, seriously.&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash.&lt;br /&gt;
&lt;br /&gt;
In both root's and that user's .bashrc, pop in these lines:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions &amp;amp; shared libs will get picked up properly.&lt;br /&gt;
&lt;br /&gt;
Also, add /usr/local/lib to /etc/ld.so.conf (in the zone, obviously), and do an ldconfig after installing gettext.&lt;br /&gt;
&lt;br /&gt;
[[Category:Application Developer]]&lt;br /&gt;
[[Category:Host OSes]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T22:45:30Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Prerequisite Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Using these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
It's time to install a '''lot''' of software:&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/ -- yum didn't have this.&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
# sqlite-3.6.3/  -- for python's sake.&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/ -- no package for this either.&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
# make-3.81/ -- seriously&lt;br /&gt;
# tar-1.20/ -- again, seriously.&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash. &lt;br /&gt;
&lt;br /&gt;
In that user's .bashrc, pop in this line:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions will get picked up properly.&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T22:44:51Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Using these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
== Prerequisite Software ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a user (or the build system will complain that you're &amp;quot;root&amp;quot;).  Create /home, and then create the user.  Let's call him 'moko'.&lt;br /&gt;
&lt;br /&gt;
Before doing the su - moko, it's time to install a '''lot''' of software:&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/ -- yum didn't have this.&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
# sqlite-3.6.3/  -- for python's sake.&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/ -- no package for this either.&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
# make-3.81/ -- seriously&lt;br /&gt;
# tar-1.20/ -- again, seriously.&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When they're installed, they'll go in the default prefix setting, namely /usr/local/bin.  Put /usr/local/bin in as the first entry in your path.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The build system will complain if you attempt to run it as root, even if it's the bullshit root in a container (it can't tell the difference).  Create /home, and then create a user (say &amp;quot;moko&amp;quot;) to run the build system.  Also, edit /etc/shells and add /usr/local/bin/bash to the list.  Finally, edit /etc/passwd and change moko's shell to /usr/local/bin/bash. &lt;br /&gt;
&lt;br /&gt;
In that user's .bashrc, pop in this line:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin/:$PATH&lt;br /&gt;
&lt;br /&gt;
So that your new tool versions will get picked up properly.&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T22:16:08Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: Got fancier with my link syntax.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
[http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone Using these directions for setting up the zone].&lt;br /&gt;
&lt;br /&gt;
Create a user (or the build system will complain that you're &amp;quot;root&amp;quot;).  Create /home, and then create the user.  Let's call him 'moko'.&lt;br /&gt;
&lt;br /&gt;
Before doing the su - moko, it's time to install a '''lot''' of software:&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in [[MokoMakefile]]&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/ -- yum didn't have this.&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
# sqlite-3.6.3/  -- for python's sake.&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/ -- no package for this either.&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
This is being written as I do it, so note that it'll change until I've gotten a full build (make image) done.  After that, it's dfu-util!&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T22:09:56Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Onto the Point */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).&lt;br /&gt;
&lt;br /&gt;
Using these directions for setting up the zone:&lt;br /&gt;
http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone&lt;br /&gt;
&lt;br /&gt;
Create a user (or the build system will complain that you're &amp;quot;root&amp;quot;).  Create /home, and then create the user.  Let's call him 'moko'.&lt;br /&gt;
&lt;br /&gt;
Before doing the su - moko, it's time to install a '''lot''' of software:&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in MokoMakefile&lt;br /&gt;
&lt;br /&gt;
The rest by download, configure, and make. Here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/ -- yum didn't have this.&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support.  Yeah, the whole thing.&lt;br /&gt;
# sqlite-3.6.3/  -- for python's sake.&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/ -- no package for this either.&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
This is being written as I do it, so note that it'll change until I've gotten a full build (make image) done.  After that, it's dfu-util!&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T21:01:22Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Onto the Point */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).  &lt;br /&gt;
&lt;br /&gt;
Using these directions for setting up the zone:&lt;br /&gt;
http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in MokoMakefile&lt;br /&gt;
&lt;br /&gt;
The rest, here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support&lt;br /&gt;
# sqlite-3.6.3/  -- for python&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
This is being written as I do it, so note that it'll change until I've gotten a full build (make image) done.  After that, it's dfu-util!&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T20:52:53Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: Formatting.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing ''incredibly'' sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components ''extensively'' to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
Using these directions for setting up the zone:&lt;br /&gt;
http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in MokoMakefile&lt;br /&gt;
&lt;br /&gt;
The rest, here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support&lt;br /&gt;
# sqlite-3.6.3/  -- for python&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
This is being written as I do it, so note that it'll change until I've gotten a full build (make image) done.  After that, it's dfu-util!&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T20:52:02Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.&lt;br /&gt;
&lt;br /&gt;
Most likely, he'll win.&lt;br /&gt;
&lt;br /&gt;
The opposition's key weapon is the excessive use of unnecessary features.  Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing /incredibly/ sensitive to almost any difference between their build systems and yours.&lt;br /&gt;
&lt;br /&gt;
Hence, why we're going to use a full Linux userland stack to do this.  Atop of this, we'll have to upgrade components /extensively/ to make this all work.  You're going to hate all this.&lt;br /&gt;
&lt;br /&gt;
But hey, at least you don't actually have to run Linux.&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.  Until then, it's best an amusement to watch from the sidelines.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
Using these directions for setting up the zone:&lt;br /&gt;
http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in MokoMakefile&lt;br /&gt;
&lt;br /&gt;
The rest, here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support&lt;br /&gt;
# sqlite-3.6.3/  -- for python&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
This is being written as I do it, so note that it'll change until I've gotten a full build (make image) done.  After that, it's dfu-util!&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T20:48:28Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Onto the Point */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
Using these directions for setting up the zone:&lt;br /&gt;
http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in MokoMakefile&lt;br /&gt;
&lt;br /&gt;
The rest, here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support&lt;br /&gt;
# sqlite-3.6.3/  -- for python&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/&lt;br /&gt;
# texinfo-4.9/ -- default version didn't have makeinfo&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
This is being written as I do it, so note that it'll change until I've gotten a full build (make image) done.  After that, it's dfu-util!&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T20:41:34Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: Disclaimer added.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
== Note and Disclaimer ==&lt;br /&gt;
&lt;br /&gt;
I'm still working on getting this all to work.  Don't actually follow these instructions until I've claimed success.&lt;br /&gt;
&lt;br /&gt;
== Onto the Point ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
Using these directions for setting up the zone:&lt;br /&gt;
http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in MokoMakefile&lt;br /&gt;
&lt;br /&gt;
The rest, here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support&lt;br /&gt;
# sqlite-3.6.3/  -- for python&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
This is being written as I do it, so note that it'll change until I've gotten a full build (make image) done.  After that, it's dfu-util!&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T18:20:03Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
Using these directions for setting up the zone:&lt;br /&gt;
http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in MokoMakefile&lt;br /&gt;
&lt;br /&gt;
The rest, here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
# apr-1.3.3/ -- for subversion&lt;br /&gt;
# apr-util-1.3.4/  -- for subversion&lt;br /&gt;
# bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
# diffstat-1.46/&lt;br /&gt;
# help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
# git-1.6.0.2/&lt;br /&gt;
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
# neon-0.28.3/  -- for subversion&lt;br /&gt;
# Python-2.6/  -- for the proper sqlite support&lt;br /&gt;
# sqlite-3.6.3/  -- for python&lt;br /&gt;
# subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
# texi2html-1.64/&lt;br /&gt;
&lt;br /&gt;
Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.&lt;br /&gt;
&lt;br /&gt;
This is being written as I do it, so note that it'll change until I've gotten a full build (make image) done.  After that, it's dfu-util!&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T18:16:17Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Building on Solaris =&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
Using these directions for setting up the zone:&lt;br /&gt;
http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in MokoMakefile&lt;br /&gt;
&lt;br /&gt;
The rest, here's what I've had to install so far:&lt;br /&gt;
&lt;br /&gt;
apr-1.3.3/ -- for subversion&lt;br /&gt;
apr-util-1.3.4/  -- for subversion&lt;br /&gt;
bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
diffstat-1.46/&lt;br /&gt;
help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
git-1.6.0.2/&lt;br /&gt;
ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
neon-0.28.3/  -- for subversion&lt;br /&gt;
Python-2.6/  -- for the proper sqlite support&lt;br /&gt;
sqlite-3.6.3/  -- for python&lt;br /&gt;
subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
texi2html-1.64/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some more's probably necessary.  I'll update this as I go.&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Solaris</id>
		<title>Solaris</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Solaris"/>
				<updated>2008-10-13T18:15:14Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: Initial creation.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Building on Solaris&lt;br /&gt;
&lt;br /&gt;
(Well, OpenSolaris)&lt;br /&gt;
&lt;br /&gt;
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.&lt;br /&gt;
&lt;br /&gt;
Using these directions for setting up the zone:&lt;br /&gt;
http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone&lt;br /&gt;
&lt;br /&gt;
Try to install what you can from the package list in MokoMakefile&lt;br /&gt;
&lt;br /&gt;
The rest, here's what I've had to install so far:&lt;br /&gt;
apr-1.3.3/ -- for subversion&lt;br /&gt;
apr-util-1.3.4/  -- for subversion&lt;br /&gt;
bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.&lt;br /&gt;
diffstat-1.46/&lt;br /&gt;
help2man-1.36.4/  -- build without NLS.&lt;br /&gt;
git-1.6.0.2/ &lt;br /&gt;
ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext&lt;br /&gt;
neon-0.28.3/  -- for subversion&lt;br /&gt;
Python-2.6/  -- for the proper sqlite support&lt;br /&gt;
sqlite-3.6.3/  -- for python&lt;br /&gt;
subversion-1.5.3/  -- yum didn't have this.&lt;br /&gt;
texi2html-1.64/  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some more's probably necessary.  I'll update this as I go.&lt;br /&gt;
&lt;br /&gt;
[[Category:Solaris, Platforms, Porting]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Mac_OS_X</id>
		<title>Mac OS X</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Mac_OS_X"/>
				<updated>2008-09-12T23:53:51Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Apple CDC Ethernet driver 10.5.x */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Being primarily a Linux based project, the host platform of choice is Linux. However, it is entirely possible to work with Openmoko and Neo handsets using MacOS X, as you'll soon see.&lt;br /&gt;
&lt;br /&gt;
There are actually two ways of working with Openmoko and MacOS X. One is simply to run ubuntustudio on parallels (or your favourite debian in your favourite virtual machine), in which case you would then follow the instructions for Linux, and Ubuntu in particular.&lt;br /&gt;
&lt;br /&gt;
On the other hand, if you wish to use MacOS X directly, please continue:&lt;br /&gt;
&lt;br /&gt;
= Flashing to your device =&lt;br /&gt;
To operate the Phase 1 devices (Neo 1973), you need to flash a root file system first.&lt;br /&gt;
&lt;br /&gt;
== Graphical Flashing with Openmoko Flasher ==&lt;br /&gt;
Here are detailed instructions:&lt;br /&gt;
# download Version 1.4 or later of Openmoko Flasher from http://www.dsitri.de/wiki.php?page=Openmoko%20Flasher&lt;br /&gt;
# select the repository&lt;br /&gt;
# press the Refresh button (which loads the list of packages on the server)&lt;br /&gt;
# select and load the rootfs (takes some minutes for approx. 40 MByte)&lt;br /&gt;
# Now, on your Openmoko, hold the AUX button while pressing the Power button for 5 seconds&lt;br /&gt;
# the BOOT menu should appear&lt;br /&gt;
# connect the USB cable&lt;br /&gt;
# Press the Flash button&lt;br /&gt;
# the BOOT menu screen on the OM should show an indication that it has been switched to DFU mode&lt;br /&gt;
# (if it fails, unplug the Openmoko shortly and replug and try again (experience shows that it is needed up to three times)&lt;br /&gt;
# if it successfully flashed, you should be able to boot the Openmoko and continue configuring AJZaurusUSB&lt;br /&gt;
&lt;br /&gt;
A Universal Binary version of dfu-utils tool (and libusb) is included in the Openmoko Flasher application bundle. You can access it as ''Openmoko Flasher.app/Contents/MacOS/dfu-util''.&lt;br /&gt;
&lt;br /&gt;
To flash from Terminal (which is sometimes required), see the directions below or in [[Flashing_the_Neo_FreeRunner|Flashing the Neo]]&lt;br /&gt;
&lt;br /&gt;
To flash the kernel:&lt;br /&gt;
 Openmoko\ Flasher.app/Contents/MacOS/dfu-util -a kernel -R -D uImage&lt;br /&gt;
To flash the root filesystem:&lt;br /&gt;
 Openmoko\ Flasher.app/Contents/MacOS/dfu-util -a rootfs -R -D rootfs_filename.jffs2&lt;br /&gt;
To flash the boot loader to NAND&lt;br /&gt;
 Openmoko\ Flasher.app/Contents/MacOS/dfu-util -a u-boot -R -D uboot.bin&lt;br /&gt;
&lt;br /&gt;
When flashing succeeds (in any of the above cases) the following should be shown:&lt;br /&gt;
 status(0) = No error condition is present&lt;br /&gt;
 Done!&lt;br /&gt;
&lt;br /&gt;
{{Note|If you get an error: ''Cannot set alternate interface: usb_set_altinterface: could not set alternate interface''. You have to unplug and replug it again. '''Make sure it stays in the Boot menu during that!''' After you have replugged your openmoko you should see ''DFU: Switching to DFU Mode'' on the openmoko screen. Now you can execute the command again and this time it should work.&lt;br /&gt;
&lt;br /&gt;
If somebody has a solution for this problem please contact me. - [[User: Anakron|Anakron]]}}&lt;br /&gt;
&lt;br /&gt;
== Compiling dfu-util ==&lt;br /&gt;
Alternatively, you can compile dfu-util manually as described at http://wiki.openmoko.org/wiki/User:SNMoore but you need libusb (e.g. through MacPorts).&lt;br /&gt;
&lt;br /&gt;
= Connecting a Mac and an Openmoko device =&lt;br /&gt;
&lt;br /&gt;
== USB Serial ==&lt;br /&gt;
&lt;br /&gt;
It is possible to access the U-Boot [[Bootloader]] serial console from a Mac.  You can use the Terminal application on Mac OS X, or &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; from [http://finkproject.org/ Fink] or [http://www.macports.org/ MacPorts] (formerly Darwin Ports.)&lt;br /&gt;
&lt;br /&gt;
The USB driver creates cu and tty character devices, for example&lt;br /&gt;
 $ ls -la /dev/tty.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  18 Aug 23 14:10 /dev/tty.usbmodem00000001&lt;br /&gt;
 $ ls -la /dev/cu.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  19 Aug 23 14:10 /dev/cu.usbmodem00000001&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with screen ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console.   To do this, simply get to a shell prompt in the terminal and invoke &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% screen /dev/tty.usbmodem00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should find yourself at the U-boot serial console prompt.   To get out, type &amp;lt;code&amp;gt;control+a&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;control+backslash&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with minicom ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; program from the [http://www.macports.org/ MacPorts] collection can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/cu.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
First install the program (assuming you already have MacPorts installed):&lt;br /&gt;
&lt;br /&gt;
 sudo port install minicom&lt;br /&gt;
&lt;br /&gt;
Then launch it in configuration mode (the -s flag):&lt;br /&gt;
&lt;br /&gt;
 sudo minicom -s&lt;br /&gt;
&lt;br /&gt;
Under &amp;quot;Serial Port Setup&amp;quot;, set the Device to &amp;quot;/dev/cu.usbmodem00000001&amp;quot; and set Bps to &amp;quot;115200 8N1&amp;quot;. Under &amp;quot;Modem and Dialing&amp;quot;, enter empty strings for &amp;quot;Init string&amp;quot;, &amp;quot;Reset string&amp;quot;, and &amp;quot;Hang-up string&amp;quot;. Save the setup as default (&amp;quot;dfl&amp;quot;) then Exit. &lt;br /&gt;
&lt;br /&gt;
You should now be able to access the bootloader console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with Terminal ===&lt;br /&gt;
&lt;br /&gt;
The built in Mac Terminal application &amp;lt;tt&amp;gt;Terminal.app&amp;lt;/tt&amp;gt; can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/tty.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
An easy way to do this is to configure the terminal with Script Editor, as described in the short article, [http://www.macosxhints.com/article.php?story=20061109133825654 ''Use 'screen' as a serial terminal emulator''](macosxhints.com).  Then,&lt;br /&gt;
&lt;br /&gt;
# Press and hold {{aux}} and then press and hold {{power}} for 5 seconds&lt;br /&gt;
# Press {{aux}} to select &amp;lt;tt&amp;gt;Set console to USB&amp;lt;/tt&amp;gt; in the U-Boot menu, and {{power}} to execute it&lt;br /&gt;
# Start the serial terminal application.  You should see a U-Boot command line prompt, such as&lt;br /&gt;
 In:    usbtty&lt;br /&gt;
 Out:   usbtty&lt;br /&gt;
 Err:   usbtty&lt;br /&gt;
 DEVICE_CONFIGURED: 1&lt;br /&gt;
 Enabling automatic fast charge&lt;br /&gt;
 GTA01Bv4 #&lt;br /&gt;
When you boot Linux on the smartphone, or if the smartphone powers down, Mac OS X will show a USB Device Unplug Notice, &amp;quot;The USB device has been unplugged while an application was still active. This can result in loss of data.&amp;quot; This error is probably harmless.&lt;br /&gt;
&lt;br /&gt;
== USB Networking ==&lt;br /&gt;
&lt;br /&gt;
There are two drivers you can use to talk to the RNDIS/Ethernet Gadget that the Neo1973 presents to its host system. The main difference between them is stability, but both have their own problems. Leopard needs further testing (Apple revised the driver and the Network System Settings).&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.4.10 ===&lt;br /&gt;
MacOS X 10.4.10 and later includes a driver for RNDIS/Ethernet Gadget devices. Launch System Preferences -&amp;gt; Network and you should see &amp;quot;new interface detected enXX&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -&amp;gt; Show(Network Port Configurations) -&amp;gt; Select an enXX -&amp;gt; Delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: this is not a problem to blame MacOSX for because it tries to make network configuration simpler based on the assumption of stable Ethernet addresses.&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.5.x ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;:10.5 (Leopard) doesn't show a new ethernet interface for a Neo1973 running 2007.11. You'll only get the serial port, which is detected as a modem. The Ethernet device will show up in ifconfig though.  If it doesn't, try the other driver below.&lt;br /&gt;
&lt;br /&gt;
It turns out that the AppleUSBCDC driver prefers to use the CDC-ACM interface of USB networking devices instead of CDC-ECM with the exception of a broadcom network card. You can download a patched AppleUSBCDC driver that will recognize the usb id/vendor pair of g_ether and force it to use CDC-ECM. You can obtain the OS X 10.5.X patched driver from: http://bugcommunity.com/downloads/usbcdc-g_ether.zip. Source code: http://bugcommunity.com/downloads/files/AppleUSBCDCDriver-g_ether.326.4.1.zip&lt;br /&gt;
&lt;br /&gt;
The issue of multiple network interfaces showing up whenever the device is rebooted/power-cycled is due to the g_ether driver randomly setting the host and device mac addresses. This problem is remedied by passing the same host and device mac addresses during the modprobe of g_ether.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 modprobe g_ether host_addr=46:0d:9e:67:69:eb dev_addr=46:0d:9e:67:69:ec&lt;br /&gt;
&lt;br /&gt;
=== AJZaurusUSB driver ===&lt;br /&gt;
&lt;br /&gt;
You can also use the open source driver from [http://www.dsitri.de/wiki.php?page=AJZaurusUSB]. It was developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.3, 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the neo, because the driver provides a constant ethernet address independently what the Neo says. Only flashing a new kernel might force you to update.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: This driver is sometimes a bit flaky, and a reboot of the Mac seems to bring it back. It is especially critical about hot unplugging the OM and sleep modes of MacBooks. This may even result in a Kernel Panic.&lt;br /&gt;
&lt;br /&gt;
=== Network Settings ===&lt;br /&gt;
Open System Preferences and go to Network and you should see &amp;quot;new interface detected enXX&amp;quot;.  In the Show list box select the new interface - Ethernet Adapter enXX.&lt;br /&gt;
&lt;br /&gt;
Use this configuration on the new interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-V4: manual&lt;br /&gt;
IP-Addr:  192.168.0.200 (you can use anything in 192.168.0.* but OM is configured by default to use 192.168.0.200 as the external gateway)&lt;br /&gt;
Subnet:   255.255.255.0 (should be the default - see tip below if have issue with these settings)&lt;br /&gt;
Router:   192.168.0.202 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Tip&amp;lt;/b&amp;gt;: If your Internet connection is also in the range 192.168.0.x then instead you might want/need to use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Subnet:   255.255.255.248&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Your Connection ===&lt;br /&gt;
You should be able to connect to your Neo! Try using Terminal (Applications-&amp;gt;Utilities-&amp;gt;Terminal) to ping the Neo at 192.168.0.202 and the roundtrip time should be between 1 and 2 ms.&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth or share displays with X11.  Additional software and configuration could allow telnet, SMB, or many other possibilities using the TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Try pinging your Mac PC from the Neo&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
If that works then your Mac is routing the neo globally--if not see [[MacOS_X#Enabling_the_Mac_as_an_Internet_Router | Sharing Internet Connection with Mac]].&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
If that doesn't work then see [[USB_Networking#Configure_Default_Neo_DNS | Configuring Default Neo DNS]] to try and resolve the issue.&lt;br /&gt;
&lt;br /&gt;
Congordulations Elizagreth!!! The Neo is networked together with the Mac and sharing the Mac's interweb connection.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This approach is based on: &lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/Bluetooth_Support#Networking&lt;br /&gt;
http://www.macosxhints.com/article.php?story=20051220221237711&lt;br /&gt;
&lt;br /&gt;
Unfortunately we can't use the pand (PAN daemon for BNEP) or dund (Dial Up Networking daemon for LAP) since neither service is available for the Mac.&lt;br /&gt;
&lt;br /&gt;
So, we configure a RFCOMM connection and a PPP gateway on the Mac. Finally, we connect the OM as a ppp client to the Mac.&lt;br /&gt;
&lt;br /&gt;
The reversed direction (OM as the Access Point and the Mac as the client) is described shortly in http://wiki.openmoko.org/wiki/Manually_using_Bluetooth#PPP_Networking&lt;br /&gt;
&lt;br /&gt;
=== Making the Mac a PPP over Bluetooth Access Point ===&lt;br /&gt;
&lt;br /&gt;
In the Bluetooth System Preferences (10.4.11)&lt;br /&gt;
* go to the Sharing pane&lt;br /&gt;
* add a new service &amp;quot;BluetoothAccessPoint&amp;quot; of type RS-232&lt;br /&gt;
* Enable that it is shown in the network preferences pane&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In the Network System Preferences&lt;br /&gt;
* activate the new network configuration (BluetoothAccessPoint)&lt;br /&gt;
* go tot the Modem tab and change the modem to &amp;quot;Null Modem 115200&amp;quot;&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In a Terminal, enter the following:&lt;br /&gt;
 $ sudo /usr/sbin/pppd /dev/tty.BluetoothAccessPoint 115200 noauth local passive proxyarp asyncmap 0 silent persist :172.16.140.14&lt;br /&gt;
&lt;br /&gt;
Here you see the 172.16.140.14 address, which makes it possible not to use natd, since it's in the same network as the Mac is. So the firewall knows where to sent it to -- no routing problems etc. Pick any free address in your private range. For instance, if you are using the following ... firewall: 192.168.1.1, Mac: 192.168.1.2, you can enter 192.168.1.3, assuming it's not used elsewhere on your network.&lt;br /&gt;
&lt;br /&gt;
If you want to be sure you did it right, open the system.log file on the Mac (tail -f /var/log/system.log), and you should see something like this:&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  pppd 2.4.2 (Apple version 229) started by username, uid 0&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  Connect: ppp0 &amp;lt;--&amp;gt; /dev/tty.BluetoothAccessPoint&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo sysctl -w net.inet.ip.forwarding=1&lt;br /&gt;
which should give the following feedback:&lt;br /&gt;
 net.inet.ip.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo ifconfig ppp0 up.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the Openmoko as a Client to the Mac ===&lt;br /&gt;
&lt;br /&gt;
On the Openmoko do the following&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
* Scan for the Mac&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
         00:20:E0:5A:FE:C8       MacBook&lt;br /&gt;
&lt;br /&gt;
* start the PPP client&lt;br /&gt;
&lt;br /&gt;
 pppd 115000 192.168.1.202:192.168.1.200 local defaultroute pty 'rfcomm connect 0 00:16:CB:2F:A0:46 1'&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
== WiFi Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== Neo1973 as a Bluetooth GPRS modem ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
= Enabling the Mac as an Internet Router =&lt;br /&gt;
&lt;br /&gt;
Here is described how to enable your Mac to serve as a Internet Router for your Openmoko device.&lt;br /&gt;
&lt;br /&gt;
Note: you have to open all services you want to use from the Openmoko in the Mac Firewall.&lt;br /&gt;
&lt;br /&gt;
== USB connection ==&lt;br /&gt;
&lt;br /&gt;
In the Sharing System Preferences&lt;br /&gt;
* click the Internet tab&lt;br /&gt;
* Check all the ethernet (en) interfaces you want to enable Internet access for (i.e. the USB connection)&lt;br /&gt;
&lt;br /&gt;
SSH into your Neo and create /etc/resolv.conf, specify your Internet router IP address as the name server. You can simply copy the /etc/resolv.conf from your Mac.&lt;br /&gt;
 scp /etc/resolv.conf root@192.168.0.202:/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
 Example:&lt;br /&gt;
 nameserver 192.168.1.200    # replace by your real nameserver address&lt;br /&gt;
&lt;br /&gt;
Make sure your Neo routing table has entries so that all internet traffic is sent to your Mac (which will forward it to the outside world)&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ route&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 192.168.0.0     *               255.255.255.0   U     0      0        0 usb0&lt;br /&gt;
 default         192.168.0.200   0.0.0.0         UG    0      0        0 usb0&lt;br /&gt;
&lt;br /&gt;
Don't forget to enable your USB interface for Internet Sharing!&lt;br /&gt;
&lt;br /&gt;
== Bluetooth connection ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
= Accessing data and services on your device =&lt;br /&gt;
&lt;br /&gt;
== ssh ==&lt;br /&gt;
&lt;br /&gt;
After making the USB connection work, start ssh:&lt;br /&gt;
&lt;br /&gt;
 ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
If you don't have installed the key, it will ask for a &amp;quot;yes&amp;quot; on the first connection. The root password is blank unless you change it.&lt;br /&gt;
&lt;br /&gt;
 MacBook-hns:~ hns$ ssh -l root 192.168.0.202&lt;br /&gt;
 root@192.168.0.202's password: &lt;br /&gt;
 root@fic-gta01:~$ hostname&lt;br /&gt;
 fic-gta01&lt;br /&gt;
 root@fic-gta01:~$&lt;br /&gt;
&lt;br /&gt;
NOTE: the ssh daemon (dropbear 0.49) on the Openmoko appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
== SMB ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== X11 ==&lt;br /&gt;
Launch Apple X11.&lt;br /&gt;
 xhost +192.168.0.202.&lt;br /&gt;
On the Neo:&lt;br /&gt;
 export DISPLAY=192.168.0.200:0.0&lt;br /&gt;
&lt;br /&gt;
== Synchronizing ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This is not done yet. Possible solutions are SyncML or ZMacSync http://www.dsitri.de/wiki.php?page=ZMacSync&lt;br /&gt;
&lt;br /&gt;
ZMacSync does not yet synchronize but allows more easy access to the Openmoko through Terminal/ssh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Developing Openmoko software on a Mac =&lt;br /&gt;
&lt;br /&gt;
== Using virtualization software and MokoMakefile/OpenEmbedded ==&lt;br /&gt;
&lt;br /&gt;
You can use Parallels or VMWare to install your favourite Linux distribution and then develop just as on Linux.&lt;br /&gt;
&lt;br /&gt;
There are some drawback since AFAIK dfu-util may not work correctly in such environments.&lt;br /&gt;
&lt;br /&gt;
Don't bother with Parallels Desktop for Mac (&amp;lt;=3), the current USB support is terrible and USB storage keys don't even work so there was no way I would try dfu-util. USB keys work under VMWare Fusion for Mac though I have yet to try dfu-util in an VM under VMWare Fusion as there is Openmoko Flasher for Mac. -- [[User: Eric|Eric]]&lt;br /&gt;
&lt;br /&gt;
=== VMware Fusion ===&lt;br /&gt;
&lt;br /&gt;
In VMware Fusion USB Networking is working properly, just plug in the device and connect it to your virtual machine.&lt;br /&gt;
&lt;br /&gt;
Unfortunately dfu-util is currently not working. In fact if you get dfu-util working via unplug/replug method on Mac OS X it works inside VMware too.&lt;br /&gt;
&lt;br /&gt;
=== VirtualBox ===&lt;br /&gt;
&lt;br /&gt;
dfu-util is not working, has some problems with getting exclusive access to the USB device.&lt;br /&gt;
&lt;br /&gt;
== Natively ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
There are some efforts to get through process of compiling OE and Openmoko under mac: [[Openmoko_under_QEMU_on_MacOSX]]&lt;br /&gt;
&lt;br /&gt;
== GNUstep/mySTEP SDK ==&lt;br /&gt;
&lt;br /&gt;
There is a [[QuantumSTEP]]/mySTEP project to port GNUstep to the Openmoko/Neo: [[http://www.quantum-step.com/wiki.php?page=Openmoko-Edition More Info]]&lt;br /&gt;
An SDK for Xcode/Interface Builder is also available: [[http://www.versiontracker.com/dyn/moreinfo/macosx/20581 Entry at Version Tracker]] [[http://www.quantum-step.com/wiki.php?page=SDK More Info]]&lt;br /&gt;
&lt;br /&gt;
== Tools for Developers ==&lt;br /&gt;
&lt;br /&gt;
Some tools that run on MacOS X&lt;br /&gt;
&lt;br /&gt;
=== mkfs.jffs2 ===&lt;br /&gt;
[[http://www.quantum-step.com/download/Openmoko-Edition/mkfs.jffs2.tgz mkfs.jffs2]] - make JFFS2 (root) file system (Universal Binary). Package includes sources and Xcode 2.4 project file to rebuild on MacOS X 10.4.11. NOT TESTED DEEPLY.&lt;br /&gt;
&lt;br /&gt;
  mkfs.jffs2 --pad=0x700000 -o rootfs.jffs2 -e 0x4000 -n -d/tmp/jffsroot/&lt;br /&gt;
&lt;br /&gt;
=== Crosscompiler Toolchain ===&lt;br /&gt;
&lt;br /&gt;
[[http://www.quantum-step.com/wiki.php?page=Compiler gcc 2.95.3]] - OABI cross compiler toolchain (C, C++, Obj-C) with Linux headers (PPC and Intel Macs)&lt;br /&gt;
&lt;br /&gt;
If someone has a newer one that works, please provide as an installable OSX Package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Will the ones from MacPorts work? [[http://www.macports.org/ports.php?by=name&amp;amp;substr=gnueabi]] I'm still trying to get QEMU to work and haven't had a chance to test it yet.&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
&lt;br /&gt;
== Search Software Repositories ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.versiontracker.com/php/qs.php?action=search&amp;amp;str=openmoko&amp;amp;srchArea=macosx Keyword Openmoko]] at VersionTracker&lt;br /&gt;
&lt;br /&gt;
== Discussion Fora ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.oesf.org/forums/index.php?showforum=63 Mac Issues Forum]] at Open Embedded Software Foundation (was Zaurus User Group)&lt;br /&gt;
&lt;br /&gt;
[[Category:Flashing Openmoko]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_FreeRunner_Openness</id>
		<title>Neo FreeRunner Openness</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_FreeRunner_Openness"/>
				<updated>2008-09-10T03:05:40Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: Fixed a changed link in the Bluetooth section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{{Languages|GTA02_Openness}}&lt;br /&gt;
{{gta02menu}}&lt;br /&gt;
&lt;br /&gt;
Many people are more interested in getting a completely (and openly) documented hardware platform than in getting one with &amp;quot;just&amp;quot; all drivers under GPL. Why is this so? Just imagine an open source kernel which is released under a copyleft license which is incompatible to the GPL (like the OpenSolaris kernel). These poor developers would have to reverse engineer a so called &amp;quot;open platform&amp;quot; as they cannot use the available drivers and header files. If you are a GPL-is-the-only-true-license guy/girl: Don't be offended by this, it's simply about choice. :)&lt;br /&gt;
&lt;br /&gt;
This page tries to give you an overview how open the GTA02 hardware is documented and where to get the documentation. Your help is needed! If you know anything which is missing just add it, if possible with a reference where the info is coming from.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
!Component&lt;br /&gt;
!Name&lt;br /&gt;
!Openness&lt;br /&gt;
|-&lt;br /&gt;
|CPU&lt;br /&gt;
|Samsung S3C2442&lt;br /&gt;
|Docs available from Samsung, but not easily. Only after registering and qualifying. [http://www.elektronika.opatnet.cz/datasheet/U/um_s3c2442b_rev12.pdf here] is a copy.  um_s3c2442b_rev12.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|NAND flash&lt;br /&gt;
|Samsung?&lt;br /&gt;
|Standard [[NAND]] command-set.&lt;br /&gt;
|-&lt;br /&gt;
|GSM modem&lt;br /&gt;
|TI Calypso?&lt;br /&gt;
|Speaks standard protocols with proprietary extensions. Most of the proprietary extensions are present also in some BenQ and/or Enfora Enabler modems which have open documentation available on internet. See also [[GTA01 gsm modem]]. The NDAd documentation for the calypso, [http://cryptome.org/ti-calypso1.pdf register definition] and [http://cryptome.org/ti-calypso2.pdf hardware definition] was leaked onto a public forum on the 4th of March by persons or persons unknown.&lt;br /&gt;
The legality of reading these files may vary according to your local laws, as may generating code from them.&lt;br /&gt;
|-&lt;br /&gt;
|Transceiver&lt;br /&gt;
|TRF6151?&lt;br /&gt;
|No interaction with software.&lt;br /&gt;
|-&lt;br /&gt;
|Analog baseband&lt;br /&gt;
|TWL3014?&lt;br /&gt;
|No interaction with software.&lt;br /&gt;
|-&lt;br /&gt;
|WiFi&lt;br /&gt;
|Atheros AR6K&lt;br /&gt;
|No documentation available! GPL'ed driver only.&lt;br /&gt;
|-&lt;br /&gt;
|Bluetooth&lt;br /&gt;
|Delta DFBM-CS320 Class2 Module using CSR BlueCore4?&lt;br /&gt;
|Documented [http://www.bluetooth.com/Bluetooth/Technology/Building/Specifications/ here] &lt;br /&gt;
|-&lt;br /&gt;
|GPS&lt;br /&gt;
|[[u-blox ANTARIS 4 ATR0635]]&lt;br /&gt;
|Serial protocol documentation is freely available from the manufacturer.&lt;br /&gt;
|-&lt;br /&gt;
|Graphic Accelerator&lt;br /&gt;
|SMedia 3362&lt;br /&gt;
|Documentation is only available under NDA. Unlike [http://lists.openmoko.org/pipermail/community/2007-September/010175.html previously announced],&lt;br /&gt;
there are [http://ibot.rikers.org/%23openmoko/20080423.html.gz no current plans] to get this information out of NDA due to funding and time constraints.&lt;br /&gt;
|-&lt;br /&gt;
|MicroSDHC&lt;br /&gt;
|?&lt;br /&gt;
|Connected to the SMedia 3362&lt;br /&gt;
|-&lt;br /&gt;
|LCD&lt;br /&gt;
|TD028TTEC1 module using a Toshiba JBT6K74 TFT LCD Driver Chipset?&lt;br /&gt;
|No open documentation available! GPL'ed driver only.&lt;br /&gt;
|-&lt;br /&gt;
|Touch Screen&lt;br /&gt;
|?&lt;br /&gt;
|Connected to the s3c2442 similar to GTA01&lt;br /&gt;
|-&lt;br /&gt;
|Vibrator&lt;br /&gt;
|&lt;br /&gt;
|Simple motor attached to the PWM output of the s3c2442&lt;br /&gt;
|-&lt;br /&gt;
|Sound Codec&lt;br /&gt;
|Wolfson Codec&lt;br /&gt;
|[http://www.wolfsonmicro.com/uploads/documents/en/WM8753.pdf Full data sheet]&lt;br /&gt;
|-&lt;br /&gt;
|Sound Amplifier&lt;br /&gt;
|National Semiconductor LM4857&lt;br /&gt;
|[http://www.national.com/ds.cgi/LM/LM4857.pdf Full data sheet]&lt;br /&gt;
|-&lt;br /&gt;
|Power management&lt;br /&gt;
|Philips PCF50606&lt;br /&gt;
|Documented [http://www.rockbox.org/twiki/pub/Main/DataSheets/pcf50606.pdf here]&lt;br /&gt;
|-&lt;br /&gt;
|Battery&lt;br /&gt;
|Proprietary&lt;br /&gt;
|Schematic [http://people.openmoko.org/tony_tu/GTA02/hardware/GTA02/CT-GTA02.pdf here]&lt;br /&gt;
|-  &lt;br /&gt;
|JTAG&lt;br /&gt;
|?&lt;br /&gt;
|Standardized, BSDL file for the CPU will hopefully become available&lt;br /&gt;
|-&lt;br /&gt;
|Case&lt;br /&gt;
|Proprietary&lt;br /&gt;
|Openmoko has released the CAD files for the case schematics. See the [http://downloads.openmoko.org/CAD/ CAD directory]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo FreeRunner Hardware]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Wish_List</id>
		<title>Wish List</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Wish_List"/>
				<updated>2008-05-12T17:37:53Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Anti Theft Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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 [[:Category:Ideas|that have a category of 'Ideas']].&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Painless SDK installation &amp;amp; Setup ===&lt;br /&gt;
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]&lt;br /&gt;
&lt;br /&gt;
* one command for installation (apt-get install openmoko)&lt;br /&gt;
* one command to start Xnest (openmoko-xephyr?)&lt;br /&gt;
* one command to start an i386 shell (openmoko-386-shell)&lt;br /&gt;
* one command to start an armel shell (openmoko-armel-shell)&lt;br /&gt;
&lt;br /&gt;
No extra configuration required.&lt;br /&gt;
&lt;br /&gt;
==== IDE Plugins ====&lt;br /&gt;
People like to see plugins for&lt;br /&gt;
* [http://anjuta.sourceforge.net Anjuta]&lt;br /&gt;
* [http://www.eclipse.org Eclipse] (some things are possible - see [[Development with Eclipse]].&lt;br /&gt;
* [http://www.netbeans.org NetBeans]&lt;br /&gt;
* Game engine - Game Creation plugins&lt;br /&gt;
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]&lt;br /&gt;
* [http://www.kdevelop.org KDevelop]&lt;br /&gt;
* [http://developer.apple.com/tools/xcode/ XCode]&lt;br /&gt;
* [http://www.monodevelop.com MonoDevelop]&lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]&lt;br /&gt;
&lt;br /&gt;
==== UI Designer ====&lt;br /&gt;
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]&lt;br /&gt;
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Built-in Scripting Language ====&lt;br /&gt;
{{Main|Wishlist:BuiltInScriptingLanguage}}&lt;br /&gt;
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.&lt;br /&gt;
==== Easy build of the existing autotools - based packages ====&lt;br /&gt;
In the ideal case OpenMoko should exist on the top of the usual ./configure - make workflow which is typical for the majority of the C/C++ based open source projects. It should not require to rewrite or even replace the existing Makefile.am files of the project being ported, and it should allow to pass the needed parameters to the project configure script. Maybe OpenMoko project could be a bigger project having one or more (if some are libraries) autotools - based packages in its separate folders and include the proper documentation how to &amp;quot;wire&amp;quot; the standard autotools based package to the OpenMoko infrastructure.&lt;br /&gt;
&lt;br /&gt;
===Foreign Widget Set Bindings ===&lt;br /&gt;
==== Qt Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Maemo Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
==== SDL Integration ====&lt;br /&gt;
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.&lt;br /&gt;
&lt;br /&gt;
==== Cocoa / GNUstep ====&lt;br /&gt;
Allows to use MacOS X as a development platform.&lt;br /&gt;
&lt;br /&gt;
=== Software: Language bindings ===&lt;br /&gt;
==== Python bindings ====&lt;br /&gt;
Python bindings seem to be a commonly requested feature.  &lt;br /&gt;
&lt;br /&gt;
[[User:Mickey]] says, &amp;quot;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 &amp;quot;just&amp;quot; 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.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== C++ bindings ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Ruby bindings ====&lt;br /&gt;
Ruby and ruby-(gtk|glade) already ported to OpenMoko according to [http://lists.openmoko.org/pipermail/openmoko-apps/2007-May/000040.html this ] and [http://groups.google.de/group/comp.lang.ruby/browse_thread/thread/6bee9970cf055504 this] mesages. It just have to be included to distribution (only 4.9 MB!)&lt;br /&gt;
&lt;br /&gt;
==== Java bindings ====&lt;br /&gt;
People who concentrate on Java programming would like to have the OpenMoko port of some java virtual machine. GNU Classpath team a lot of great work in the past creating easily portable implementation. Sun's recently open sourced code could also be ported. &lt;br /&gt;
==== Other bindings ====&lt;br /&gt;
* Perl&lt;br /&gt;
* C#&lt;br /&gt;
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings&lt;br /&gt;
&lt;br /&gt;
== Community Support ==&lt;br /&gt;
&lt;br /&gt;
=== [http://projects.openmoko.org projects.openmoko.org] ===&lt;br /&gt;
Infrastructure for developers with&lt;br /&gt;
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)&lt;br /&gt;
* One mailing list for project&lt;br /&gt;
&lt;br /&gt;
== Platform ==&lt;br /&gt;
=== Community Images ===&lt;br /&gt;
In the future there could be complete, unofficial &amp;quot;product images&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
=== Wishlist voting ===&lt;br /&gt;
There could be a kind of voting system like they have at one of those big computer manufacturers homepage. Then the community could vote for the ideas that are most important to them. This would especially make sense for the hardware wishlist, because the hardware is still the part which can't be done by the community that easily.&lt;br /&gt;
&lt;br /&gt;
Here: [http://www.fevote.com/openmoko OpenMoko suggestion board]&lt;br /&gt;
&lt;br /&gt;
== Software: Additional features ==&lt;br /&gt;
&lt;br /&gt;
===PDA Mode===&lt;br /&gt;
&lt;br /&gt;
There are times when you wish to power up the device and not power up the gsm/cellphone portion of the phone. For example in meetings you might wish to access the PDA side with wifi as is the case for example on an aircraft.  On booting some method of booting to pda mode would be good - several other phones offer this feature.&lt;br /&gt;
&lt;br /&gt;
===Driving Mode===&lt;br /&gt;
&lt;br /&gt;
It may be forbidden in many countries, but many people use their cell phones while driving. With the touchscreen phones&lt;br /&gt;
this is very dangerous: You have to stare at the tiny numbers on the screen and try to hit them with your thumb or try to decipher tiny script of contacts, while steering with the other hand. There should be a configurable driving mode where the interface has a reduced functionality (e.g. only contacts and dialing) with HUGE interface buttons that are easy to use with limited attention.&lt;br /&gt;
&lt;br /&gt;
===Calling===&lt;br /&gt;
&lt;br /&gt;
==== Mask ID based on dialed numbers ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Use calling cards and similar routing techniques for lower-cost calling ====&lt;br /&gt;
Many people use calling cards, low-cost numbers and similar ways of reducing the costs of their calls.  It would be nice to have a single panel that would allow you to configure the rules of dialing a number taking in to account such systems.&lt;br /&gt;
&lt;br /&gt;
==== Outgoing black/white lists ====&lt;br /&gt;
The ability to allow or deny outoging calls to certain numbers can be useful in a number of situations (e.g. the holder of the 'phone is a child, untrusted, etc.).  This could be related to entries in the contact list, for example a user is only allowed to call people who are in their contact list.&lt;br /&gt;
&lt;br /&gt;
Also lists for incoming calls? Some friends always come through, unknown numbers get rejected automatically.&lt;br /&gt;
&lt;br /&gt;
==== Time-based blocking/unblocking of calls ====&lt;br /&gt;
Allowing or disallowing outgoing calls at certain times of the day could be useful, e.g. blocking a business phone from making calls outside of business hours.&lt;br /&gt;
&lt;br /&gt;
====Speaker-phone====&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
====Advanced Airtime Tracking====&lt;br /&gt;
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.&lt;br /&gt;
On (at least some) prepaid [http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data USSD] can be used to check current balance.&lt;br /&gt;
&lt;br /&gt;
* Call duration should consider billing increments and show the durations according to accounting period&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Anti-stutter software ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Minimize In-Call mode (check address book while in call)====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Similar request when using the browser (lookup passwords, todo list, etc).&lt;br /&gt;
&lt;br /&gt;
====Hold Music (Ringback Tone)====&lt;br /&gt;
On some cellphone networks you can pay to change the normal [http://en.wikipedia.org/wiki/Ringback_tone Ringback Tone] that the caller hears when ringing, to a customised sound.&lt;br /&gt;
This can partially be implemented on the phone.&lt;br /&gt;
Issues are:&lt;br /&gt;
*In countries where callers pay, this will make you unpopular.&lt;br /&gt;
*In countries where the called party pays, it will use your minutes, or cost you money.&lt;br /&gt;
**A list of people to activate this function for would alleviate this.&lt;br /&gt;
*[[GPRS]] internet connection will stall while the hold music is being played.&lt;br /&gt;
*Extra battery used when playing music.&lt;br /&gt;
&lt;br /&gt;
Also see [[Answering Machine]].&lt;br /&gt;
&lt;br /&gt;
====Play sound clips over the air====&lt;br /&gt;
Dialer could have a tab with big buttons which, when push, send sound clips 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&amp;amp;_j=questiondetails&amp;amp;_i=104&lt;br /&gt;
The buttons can have default sounds, but also have the ability to be customized.&lt;br /&gt;
&lt;br /&gt;
It would also be useful for notifying people why you can't talk (for example, having an &amp;quot;I can't talk tight now - I'm in the library - this is a pre-recorded message&amp;quot; would be good. Also perhaps you could loop a pre-recorded sound in the background so you can lie about where you are, and have the ability to simulate a really bad connection.&lt;br /&gt;
&lt;br /&gt;
==== DTMF Landline Dialing ====&lt;br /&gt;
The ability to hold the Neo near the microphone of a landline handset and have the Neo dial the landline by sounding DTMF tones. The DTMF tones could be generated in software or be pre-recorded files.&lt;br /&gt;
&lt;br /&gt;
Graphically this could be done by adding a 'DTFM dial' button to a context menu. The user would select a contact then presses the 'DTMF dial' button to start the process. A small delay could also be added to allow time to put the Neo near the landline handset.&lt;br /&gt;
&lt;br /&gt;
For the Neo to know which area code to use (or not use) the current or last GPS coordinates could be utilised.&lt;br /&gt;
&lt;br /&gt;
==== Conversation Recorder ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Unlicensed Mobile Access (UMA)====&lt;br /&gt;
T-Mobile recently rolled out a UMA service that hands off calls between the GSM network and WiFi access points. Only a few phones support it right now, this could be a rather unique feature if OpenMoko can implement it.&lt;br /&gt;
&lt;br /&gt;
This can be combined with a GPS map to show where local free hubs are.&lt;br /&gt;
&lt;br /&gt;
==== Ignore-Call Button ====&lt;br /&gt;
{{Main|Wishlist:Ignore Call Button}}&lt;br /&gt;
&lt;br /&gt;
Shut up a ringing phone, without accepting or rejecting the call.&lt;br /&gt;
&lt;br /&gt;
Another alternative might be to use microphone to recognize when the user gives an audible &amp;quot;Shhh!&amp;quot; command.  This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises. &lt;br /&gt;
&lt;br /&gt;
A really usable feature is to &amp;quot;reject with SMS/text message&amp;quot; - letting the user reply the caller choosing a previously setup template or typical response: &amp;quot;I'm in a meeting - I'll call you later&amp;quot; or &amp;quot;Can't take your call now, please call back in 10 minutes&amp;quot;. This feature typically is a much better way to get your co-workers (ie boss) to back off, than to silently ignore the call.&lt;br /&gt;
&lt;br /&gt;
The accelerometers could be queried while the phone is ringing to detect a firm tap on the phone. This would avoid the delays of fumbling to remove the phone from one's pocket to silence the ringer when you've forgotten to set it to silent mode. Just firmly tap the phone through your pocket, and the ringer will silence, like some Motorola pagers. Maybe single tap = silence; double tap = (activate voicemail or preset SMS).&lt;br /&gt;
&lt;br /&gt;
==== Voice Mailbox ====&lt;br /&gt;
{{Main|Voice Mailbox}}&lt;br /&gt;
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.&lt;br /&gt;
Can act profile-dependent.&lt;br /&gt;
&lt;br /&gt;
==== Hold Button ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Unanswered Call, Fast Call ====&lt;br /&gt;
&lt;br /&gt;
In Greece because of the various bill programs some people call a mobile phone, rings one time and then hangup.&lt;br /&gt;
Then the user of the mobile phone calls the other user(using the CallerID recognition).&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
==== Ambient Noise Detection ====&lt;br /&gt;
{{Main|Wishlist:Software:Ambient Noise Detection}}&lt;br /&gt;
&lt;br /&gt;
Using the microphone to detect ambient noise the ringtone volume could be adjusted automatically.&lt;br /&gt;
&lt;br /&gt;
If the ambient noise exceeds a preset threshold, the ring vibrator could be activated. This is good for when people forget to enable vibrate mode when entering noisy environments.&lt;br /&gt;
&lt;br /&gt;
Detection of ambient noise could also be used to subtract the noise from the audio signal. However this approach is best performed using two Microphones, one for the voice and the other to detect the noise.&lt;br /&gt;
&lt;br /&gt;
==== Active noise control ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Hear Impaired Mode ====&lt;br /&gt;
&lt;br /&gt;
Hearing impaired people need louder speaker(but with less volume than hands free) and equalized sound, based on their hearing problems(example 20dB hearing loss from 2KHz to 4KHz).&lt;br /&gt;
Older people 50+ years old need slower speech rate(time stretch, cut the big speech gups) and cleaner voice.&lt;br /&gt;
&lt;br /&gt;
Please note also the Hearing Aid Compatibility regulations in the US. I have tried to summarize and clarify them [http://quux.wiki.zoho.com/WhereAreHACphones.html here]. I haven't yet discovered whether the FIC device is M or T rated. For many hearing impaired users, a tcoil coupling to their hearing aid (t3/T4 rating) would be preferable to manipulating sound output in other ways.&lt;br /&gt;
&lt;br /&gt;
==== Mute Button ====&lt;br /&gt;
&lt;br /&gt;
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Web Browser===&lt;br /&gt;
&lt;br /&gt;
==== Full-page Zoom Support ====&lt;br /&gt;
Full page zoom is a very good feature. If possible, people would want to browse the internet with normal layout than a distorted one. It's best if I could double-tap a text or image block and zoom to a fit size.&lt;br /&gt;
&lt;br /&gt;
The [[BigPageWidget]] proposal suggests 'Full Page Zoom' should be implemented as a widget available to all applications.&lt;br /&gt;
&lt;br /&gt;
* If the processor and memory could afford, it is good to just use [http://www.mozilla.org/projects/firefox/3.0a8/releasenotes/ Firefox 3] in OpenMoko. It has implemented latest gecko's full-page-zoom ability. With certain modification, we could do the same zoom like iPhone's Safari.&lt;br /&gt;
* Firefox 3 may be a big eater. A cut-down version of it may be good enough.&lt;br /&gt;
* If this is not practical, Minimo with full-page-zoom ability is good.&lt;br /&gt;
&lt;br /&gt;
==== Plugins Support ====&lt;br /&gt;
* While an extensive browser plugin system would be costly to the efficacy of the platform four 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].&lt;br /&gt;
* 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.&lt;br /&gt;
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.&lt;br /&gt;
&lt;br /&gt;
==== Widget support ====&lt;br /&gt;
Built-in browser with the ability to install widget shortcuts (aka links) in the main phone menu, also some apis for interfacing with the other functionality of the phone like adding contacts, reading contacts, reading gps-psoition etc.. (maybe there is some defacto widget standard that could be used)&lt;br /&gt;
&lt;br /&gt;
There is a [http://www.w3.org/TR/widgets/ W3C spec] being developed, which may not be exactly what the original proposal had in mind, but it is about writing simple applications with HTML, SVG and JavaScript. It is mainly Opera's work, and while most [http://widgets.opera.com/ developed widgets are not very useful], there are some that are, and it creates a very nice development platform, especially for mobile devices. So, I think it makes an awful lot of sense for OpenMoko to support this spec.&lt;br /&gt;
&lt;br /&gt;
===Media===&lt;br /&gt;
====Music/Video Software====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
It would also be nice to have some kind of &amp;quot;announce your musical taste&amp;quot; mode. This could be implemented using last.fm profiles, such that when e.g. in a crowded place a user nearby has a similar musical taste, both users get notified so they can share their music files with each other (perhaps using a photo for id). Great for discovering new music - and making friends!&lt;br /&gt;
&lt;br /&gt;
- Possible copyright issues sharing music files?&lt;br /&gt;
&lt;br /&gt;
Sure, but that's the user's concern, not the developer's. There's no way for us to know which audio files the user is permitted/not permitted to share.&lt;br /&gt;
&lt;br /&gt;
==== Reading Support ====&lt;br /&gt;
It would be really great to be able to read :&lt;br /&gt;
&lt;br /&gt;
*PDF&lt;br /&gt;
*Open Document files&lt;br /&gt;
*Text / RTF files&lt;br /&gt;
*fb2 files (fbreader)&lt;br /&gt;
*MS Office files&lt;br /&gt;
*Aportis Doc (pdb)&lt;br /&gt;
*DjVu&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
In both landscape and portrait&lt;br /&gt;
&lt;br /&gt;
==== Wikipedia Mirror ====&lt;br /&gt;
{{Main|Wishlist:Wikipedia_Mirror}}&lt;br /&gt;
&lt;br /&gt;
==== Blog ScribblePad ====&lt;br /&gt;
&lt;br /&gt;
Draw an image (and maybe add some text), then post to your blog.&lt;br /&gt;
&lt;br /&gt;
==== E-Book Reader ====&lt;br /&gt;
* 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 (see the [[BigPageWidget]] proposal). 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.&lt;br /&gt;
&lt;br /&gt;
==== Personal Wiki ====&lt;br /&gt;
{{Main|Wishlist:PersonalWiki}}&lt;br /&gt;
&lt;br /&gt;
Display the notes database as a Wiki.  Inspiration:  [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki].&lt;br /&gt;
&lt;br /&gt;
[http://www.didiwiki.org/ Didiwiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Dictionary, thesaurus, translator and flashcards ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Dictionary'''&lt;br /&gt;
Something like [http://www-user.tu-chemnitz.de/~fri/ding/ ding]:&lt;br /&gt;
&lt;br /&gt;
advantages:&lt;br /&gt;
* small&lt;br /&gt;
* very efficient + useful&lt;br /&gt;
* only limited to really needed functions&lt;br /&gt;
&lt;br /&gt;
Support for vocabulary training with flashcard system (also usable for other content than foreign language words!)&lt;br /&gt;
&lt;br /&gt;
==== Flickr uploader ====&lt;br /&gt;
A simply, drag &amp;amp; drop uploader, tagger and organizer to upload images on phone to [http://flickr.com Flickr], with support for various languages. A good base could be the cross-platform uploader [http://juploadr.org/ jUploadr], written in Java and working on Windows, Mac and Linux. But, most of all, the best '''GPL''' program which actually do this work is '''[http://mobilepushr.jottit.com/ Mobile Pushr]''', written in C and Cocoa for iPhone, must be probably ported in python to work on OpenMoko.&lt;br /&gt;
&lt;br /&gt;
===PIM (Personal Information Managment)===&lt;br /&gt;
====Context Sensitivity====&lt;br /&gt;
Any email or sms message or application that contains a telephone number should be click to dial, eg [http://123567890 1234567890]. Addresses link to mapping software too?&lt;br /&gt;
&lt;br /&gt;
==== Notes ====&lt;br /&gt;
&lt;br /&gt;
Something for taking notes would be a nice feature:&lt;br /&gt;
[http://www.gnome.org/projects/tomboy/ Tomboy] has some nice syncing features and is gtk based.&lt;br /&gt;
&lt;br /&gt;
Some Screenshots are [http://www.gnome.org/projects/tomboy/images/ here].&lt;br /&gt;
&lt;br /&gt;
==== Calendar ====&lt;br /&gt;
&lt;br /&gt;
A nice calendar application should be implemented in OpenMoko. This tool should have a syncing feature with your desktop computer.&lt;br /&gt;
The tool should have a reminder feature and other features like other mobile phones already have.&lt;br /&gt;
&lt;br /&gt;
I think synchronization sould be handled by computer with opensync+syncml based tool, not by calendar itself. --[[User:Antono|Antono]] 12:25, 7 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
* If this cellphone is thought also as a PDA, of course it needs a calendar. But I would like to see something better than just a calendar, I was thinking that there could be some application using &amp;quot;fisheye&amp;quot; view. Just like [http://www.cs.umd.edu/hcil/datelens/], though that example seem a bit chaotic. --[[User:Yprum|Yprum]] 22:27, 21 February 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
==== Address Book ====&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
servers or whatever.&lt;br /&gt;
* Also the possibility to search all info on the contact, like number, email, postal address and so on, in case someone asks you to identify a known number.&lt;br /&gt;
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)'  This could also be done&lt;br /&gt;
by integrating with whatever on-phone GPS mapping software the Neo ends up using.&lt;br /&gt;
* Random text input 'notes' about a contact&lt;br /&gt;
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's&lt;br /&gt;
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant&lt;br /&gt;
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account&lt;br /&gt;
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.&lt;br /&gt;
* Support for:&lt;br /&gt;
**[http://en.wikipedia.org/wiki/SyncML SyncML]&lt;br /&gt;
**[http://abook.sourceforge.net/ abook] a text-based addressbook program&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book&lt;br /&gt;
**[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).&lt;br /&gt;
*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. Should also be able to create an address book entry from a Bluetooth ID. Could be used as a nice tool to detect people who you're avoiding.&lt;br /&gt;
* Support for family relations (explained further on the [[Talk:Wish_List#Address_book:_Support_for_family_relations|talk page]]).&lt;br /&gt;
&lt;br /&gt;
==== Database/List Display/Edit ====&lt;br /&gt;
{{Main|Wishlist:PilotDB}}&lt;br /&gt;
&lt;br /&gt;
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db].  It's GPL'd.&lt;br /&gt;
&lt;br /&gt;
==== To-Do lists ====&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* I would like to be able update my [http://todotxt.com/ todo.txt] which is stored on a personal server from the phone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Context based To-Do list ====&lt;br /&gt;
{{Main|Wishlist:context based to-do list}}&lt;br /&gt;
&lt;br /&gt;
If I arrive home and there are &amp;quot;@home&amp;quot; things in the to-do list, the Context based to-do list reminds me of that.&lt;br /&gt;
&lt;br /&gt;
==== Workout ====&lt;br /&gt;
&lt;br /&gt;
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.&lt;br /&gt;
&lt;br /&gt;
==== Shopping List ====&lt;br /&gt;
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.&lt;br /&gt;
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.&lt;br /&gt;
&lt;br /&gt;
==== [[Fuel Log]] ====&lt;br /&gt;
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).&lt;br /&gt;
Advanced features could include:&lt;br /&gt;
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)&lt;br /&gt;
* Sending the data to a central server which collects the information ( spritmonitor.de, anything else ?)&lt;br /&gt;
* 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)&lt;br /&gt;
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server&lt;br /&gt;
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.&lt;br /&gt;
&lt;br /&gt;
==== Keep in touch reminder ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Menstruation period timer ====&lt;br /&gt;
Fill in statistics and compute probabilities for menstruation, fertility, mood.&lt;br /&gt;
See http://www.getjar.com/products/48/MyGirls&lt;br /&gt;
&lt;br /&gt;
==== Tagging ====&lt;br /&gt;
{{Main|Wishlist:Tagging}}&lt;br /&gt;
Tags can be used by various applications. Requirement is interoperability for further enhancement.&lt;br /&gt;
Tags should be applied to contacts, calendar events, mail/sms, calls, places(GPS) and files.&lt;br /&gt;
http://tracker-project.org has all needed tagging-and-searching functionality and ready to be used on low-resourced devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Exchange Integration ====&lt;br /&gt;
&lt;br /&gt;
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/contacts/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.&lt;br /&gt;
&lt;br /&gt;
* Is the time right to name names ? Add as your liking...&lt;br /&gt;
** Plugin/integration to &amp;amp; from Kontact&lt;br /&gt;
** Same with Evolution - Thunderbird - Seamonkey&lt;br /&gt;
** ?? Google Calendars ?? (this one is tough)&lt;br /&gt;
** Ms Exchange&lt;br /&gt;
&lt;br /&gt;
==== An electronic wallet ====&lt;br /&gt;
&lt;br /&gt;
A database which stores securely PIN codes, login data, bank and email accounts, membership informations, and other valuable and private data. Entries can be ordered in a folder-like manner. Access to the database is given by a master password. The database as well as the master password are stored with strong encryption. For security reasons, the program asks again for entry of the master password after a certain period of inactivity. The database can be synchronized with a PC application (ideally written in Java for cross platform compatibility).&lt;br /&gt;
&lt;br /&gt;
Examples: KWallet [http://docs.kde.org/stable/en/kdeutils/kwallet/index.html], Viskeeper [http://www.sfr-software.de/cms/EN/pocketpc/viskeeperpro/index.html], KeePass [http://keepass.info/]&lt;br /&gt;
&lt;br /&gt;
==== Easy business card sharing for a small group (in the same room) over bluetooth or WIFI ====&lt;br /&gt;
&lt;br /&gt;
Six Neo1973 owners are having a chat in a cafe.    They agree to split but meet later.     They want to exchange their numbers with each other before they go....     The normal way to do this is for a rather longwinded repeating of numbers to each other, or half the people manually inputting numbers before phoning/texting the other half to complete the process.    All in all its a fair number of button presses to get it sorted.&lt;br /&gt;
&lt;br /&gt;
Instead the NEO could have a small app where the phones link up in a small peer to peer Bluetooth network and share automatically with one person initiating a request and the other detected NEOS agreeing/acknowledging the share.   The initiating NEO would then sync the mini-group automatically by interrogating each phone and then sending the table of results.     The NEOs would have to be clever about checking for duplicates in the address book and offering a choice to the user if there are any conflicts.&lt;br /&gt;
&lt;br /&gt;
PROS: &lt;br /&gt;
*genuine saving in time for social and business situations&lt;br /&gt;
&lt;br /&gt;
CONS: &lt;br /&gt;
*I am sure there are some security hassles to be pondered....&lt;br /&gt;
*not going to be used every day... definitely not an immediate priority.....&lt;br /&gt;
*only at geek conferences will all have a neo....&lt;br /&gt;
&lt;br /&gt;
==== SMS Counter ====&lt;br /&gt;
&lt;br /&gt;
An application which shows on the today-screen how many SMS i've already sent in this actual month. Some have for example 150 free SMS to write each month. With that program you can see all the time how many SMS are left until the end of the period. As an alternative it could be a counter which counts backwards from a predefined number over a defined period.&lt;br /&gt;
&lt;br /&gt;
==== Data Storage ====&lt;br /&gt;
&lt;br /&gt;
Store all the data about communications with a contact (SMS, MMS, phone calls, emails, IM, etc)  in a database and make them available in one list or one timeline.&lt;br /&gt;
Make this list available through the address book.&lt;br /&gt;
This would be great for people who are switching between one or more communication channels frequently&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{{Main|Wishlist:Profiles}}&lt;br /&gt;
&lt;br /&gt;
The Wishlist:Profiles page documents many possible profiles - ways to configure the phone. Including ways to respond to calls, wifi and GPS events.&lt;br /&gt;
And how to automatically switch between them.&lt;br /&gt;
&lt;br /&gt;
===Text Messaging===&lt;br /&gt;
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included&lt;br /&gt;
For current development status of the messaging-app see: [[Messages]].&lt;br /&gt;
&lt;br /&gt;
There are many useful options that now can be used to full capacity:&lt;br /&gt;
&lt;br /&gt;
* '''Instant Messaging'''&lt;br /&gt;
Bringing a new GTK gui or a resized Qt gui out for the serverless Instant Messenger http://Retroshare.sf.net&lt;br /&gt;
&lt;br /&gt;
* '''Acknowledge/status SMS'''&lt;br /&gt;
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'.&lt;br /&gt;
&lt;br /&gt;
** '''Special handling of status-SMS''' &lt;br /&gt;
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 &amp;amp; clog the inbox, warn of a &amp;quot;new&amp;quot; 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.&lt;br /&gt;
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date&lt;br /&gt;
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: &lt;br /&gt;
** 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]&lt;br /&gt;
** [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 &amp;amp; Alcatel encoding ([[User:Marcin|I could]] eventually help)&lt;br /&gt;
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung&lt;br /&gt;
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. &amp;quot;Server Down!&amp;quot; has a loud klaxon, &amp;quot;Disk Warning&amp;quot; has a quiet chirp.&lt;br /&gt;
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: &amp;quot;hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz&amp;quot; becomes &amp;quot;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?&amp;quot; (taken from: [http://en.wikipedia.org/wiki/SMS_language])&lt;br /&gt;
** Implement a script that abbreviates :-)&lt;br /&gt;
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''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&lt;br /&gt;
* '''Searching''' allow full-text search or string search.&lt;br /&gt;
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...&lt;br /&gt;
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.&lt;br /&gt;
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.&lt;br /&gt;
* '''SMS-EMail-Gateway'''&lt;br /&gt;
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&lt;br /&gt;
* '''SMS-filter chain''', for stuff like Codeword-SMS above, Theft-mode activation, auto-response (reply with gsm-position for &amp;quot;Where are you?&amp;quot;), auto-substitution (like replace $POS with gsm-position in outgoing SMS).&lt;br /&gt;
* '''SCROOGE-SMS'''  This is an intelligent SMS router.    When you write your SMS you get the option of how to send it&lt;br /&gt;
** By standard carrier SMS - cost 10cents&lt;br /&gt;
** By OpenMoko SCROOGE SERVER - this will send your SMS to the OpenMoko Community SCROOGE SERVER next time you have WiFi - the phone will remind you to turn on WiFi when it knows you are in places where you have WiFi access.   The person you are sending to picks up when they come into WiFi Range.    This comes with an intelligent reminder that tells you that message has still not been delivered in 24 hours and would you now like to send it by a paymethod.    This is better than IM because both parties do not have to have WiFi at the same time. - cost FREE&lt;br /&gt;
** By email/Wifi - cost FREE&lt;br /&gt;
** By email/GPRS - cost ?&lt;br /&gt;
** Too many options!!!&lt;br /&gt;
** Alternatively SCROOGE SERVER could auto launch IM client if it detects both parties have WiFi at the same time (Status kept on SCROOGE SERVER?) to allow instant reply.....    Person who receives has the option to reply in SMS or in IM or in VOIP phone.&lt;br /&gt;
&lt;br /&gt;
=== Text input ===&lt;br /&gt;
{{Main|Wishlist:Text Input}}&lt;br /&gt;
There are many good suggestions for text input on the specific text input ideas page.&lt;br /&gt;
&lt;br /&gt;
=== More/Custom Input Method Widgets ===&lt;br /&gt;
{{Main|Wishlist:More/Custom_Input_Method_Widgets}}&lt;br /&gt;
Additional and customizable Input Method Widgets (similar to virtual keyboard).  &lt;br /&gt;
This could add soft-key functionality to games or other applications such as:&lt;br /&gt;
*D-Pads&lt;br /&gt;
*buttons&lt;br /&gt;
*virtual trackballs&lt;br /&gt;
*...&lt;br /&gt;
Personalized layouts could be associated with each application.&lt;br /&gt;
&lt;br /&gt;
=== Games ===&lt;br /&gt;
{{Main|Wishlist:Games}}&lt;br /&gt;
&lt;br /&gt;
=== Mesh Networking ===&lt;br /&gt;
{{Main|Wishlist:Mesh Networking}}&lt;br /&gt;
&lt;br /&gt;
=== Printing Support ===&lt;br /&gt;
It would be really neat to be able to print over either bluetooth, Wifi, or USB. I can imagine wanting to print:&lt;br /&gt;
&lt;br /&gt;
* Notes&lt;br /&gt;
* Maps&lt;br /&gt;
* Email&lt;br /&gt;
* Calendars&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
# GTK+'s printing support&lt;br /&gt;
# Making cups run on a really small system&lt;br /&gt;
&lt;br /&gt;
{{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.}}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Further details:&lt;br /&gt;
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]&lt;br /&gt;
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]&lt;br /&gt;
* [http://www.j5live.com/?p=204 j5live.com]&lt;br /&gt;
&lt;br /&gt;
===Misc Software===&lt;br /&gt;
====Clocks/timers/Activity meters====&lt;br /&gt;
===== Sport tracker =====&lt;br /&gt;
{{Main|Wishlist:Sport_tracker}}&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===== Standby clock =====&lt;br /&gt;
{{Main|Wishlist:Standby_clock}}&lt;br /&gt;
A quick way to see what time it is.&lt;br /&gt;
&lt;br /&gt;
===== Egg Timer =====&lt;br /&gt;
{{Main|Wishlist:EggTimer}}&lt;br /&gt;
&lt;br /&gt;
Very simple (one click) count up / count down timers are very useful.&lt;br /&gt;
&lt;br /&gt;
===== Cycle Computer =====&lt;br /&gt;
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.&lt;br /&gt;
* 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)&lt;br /&gt;
&lt;br /&gt;
===== NTP Server =====&lt;br /&gt;
&lt;br /&gt;
Run the [http://www.ntp.org NTP] daemon using the GPS chipset as a reference clock, so that the Neo would have a very accurate time-of-day clock and would be able to serve time to other networked devices. &lt;br /&gt;
&lt;br /&gt;
I don't know what it would take to implement this. Items to consider would be the availability of a 1 pulse-per-second hardware signal, the accuracy of timestamps delivered in NMEA messags, etc. Dealing with power-management issues (such as the device going to sleep) would also be challenging.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Find Keys/locate stuff =====&lt;br /&gt;
&lt;br /&gt;
This would require an additional accessory: a tag which transmits a signal that the Openmoko device can pick up. The tag could for example be attached with a ring loop to your keys, put in your wallet, or be attached with high strength adhesive strips to your remotely controlled aircraft. Whenever you can't find back your keys, wallet, RC aircraft,... you activate this application. When the device picks up the signal of the tag, it translates it to clear audio and visual prompts to guide you in the right direction.&lt;br /&gt;
&lt;br /&gt;
A commercial device that offers this functionality is the [http://loc8tor.com/ loc8tor]. Having this in the Openmoko phone would obliviate the need for a separate device. Murphy's law dictates that you'll only loose your keys when you don't know any more where you've put the loc8tor tracking device. But you're bound to always have your phone with you. &lt;br /&gt;
&lt;br /&gt;
Additionally, you could also set a safety perimeter. Whenever a tagged item moves more then X meters from the phone, a signal will be given.&lt;br /&gt;
&lt;br /&gt;
For a related idea, see [[Wishlist#Dude.2C_Where.27s_My_Car.3F|Dude, Where's my car]].&lt;br /&gt;
&lt;br /&gt;
===== Reality check reminder =====&lt;br /&gt;
{{Main|Wishlist:Reality check reminder}}&lt;br /&gt;
&lt;br /&gt;
A tool to [http://www.phrack.org/issues.html?issue=64&amp;amp;id=16 hack your brain]&lt;br /&gt;
&lt;br /&gt;
===== Automatic timezone changing (GPS) =====&lt;br /&gt;
&lt;br /&gt;
Check the timezone with GPS and adapt them.&lt;br /&gt;
&lt;br /&gt;
====Calculators====&lt;br /&gt;
===== A Universal Unit Converter Tool =====&lt;br /&gt;
&lt;br /&gt;
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. And not only the engineers. &lt;br /&gt;
&lt;br /&gt;
Ideas what kind of conversions a converter tool could do:&lt;br /&gt;
&lt;br /&gt;
Length&lt;br /&gt;
- Acceleration&lt;br /&gt;
- Angle&lt;br /&gt;
- Angular Velocity&lt;br /&gt;
- Area&lt;br /&gt;
- Capacitance&lt;br /&gt;
- Radioactivity&lt;br /&gt;
- Currency &lt;br /&gt;
- Charge&lt;br /&gt;
- Computer Memory&lt;br /&gt;
- Conductance&lt;br /&gt;
- Density&lt;br /&gt;
- Energy&lt;br /&gt;
- Illumination&lt;br /&gt;
- Power&lt;br /&gt;
- Force &lt;br /&gt;
- Flow&lt;br /&gt;
- Pressure&lt;br /&gt;
- Speed&lt;br /&gt;
- Temperature&lt;br /&gt;
- Time&lt;br /&gt;
- Torque&lt;br /&gt;
- Viscosity&lt;br /&gt;
- Volume&lt;br /&gt;
- Weight&lt;br /&gt;
&lt;br /&gt;
Roman Numerals&lt;br /&gt;
- ASCII, Hex&lt;br /&gt;
- Cooking&lt;br /&gt;
- BMI&lt;br /&gt;
- Clothing Sizes&lt;br /&gt;
&lt;br /&gt;
Money Converter based on current rates from Internet...&lt;br /&gt;
e. g. Dollar &amp;lt;-&amp;gt; Euro&lt;br /&gt;
 &lt;br /&gt;
Physical and Mathematical Constants&lt;br /&gt;
GPS conversions &lt;br /&gt;
&lt;br /&gt;
- link to or integration of a scientific calculator&lt;br /&gt;
- link to or integration of a simple calculator&lt;br /&gt;
&lt;br /&gt;
A good basis for such a converter tool could be the Palm program &amp;quot;units&amp;quot; from &lt;br /&gt;
François Pessaux [http://francois.pessaux.neuf.fr/files/units1_11.tgz]. The GPL'd program comes with full documentation.&lt;br /&gt;
&lt;br /&gt;
For GPS conversions see gpsbabel [http://www.gpsbabel.org]&lt;br /&gt;
&lt;br /&gt;
===== An Postfix Notation (RPN) calculator =====&lt;br /&gt;
&lt;br /&gt;
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 they 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.&lt;br /&gt;
&lt;br /&gt;
==== Windows CE Emulator ====&lt;br /&gt;
&lt;br /&gt;
On ARM machine, Windows CE API emulator, like Wine on x86 machines. &lt;br /&gt;
&lt;br /&gt;
==== PalmOS Emulator ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
I'd like to see a Windows CE Emulator with active sync support.&lt;br /&gt;
&lt;br /&gt;
==== Chumby Emulator ====&lt;br /&gt;
&lt;br /&gt;
Would be very cool if the neo can act as a chumby. see http://chumby.com for more details about a chumby.&lt;br /&gt;
&lt;br /&gt;
==== TV Guide ====&lt;br /&gt;
Display a TV guide using [http://xmltv.org xmltv].&lt;br /&gt;
Something like [http://mtvg.sourceforge.net/ Maxemum TV-Guide] (QT)&lt;br /&gt;
&lt;br /&gt;
==== Alcohol meter ====&lt;br /&gt;
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.&lt;br /&gt;
See, for example (German text) http://www.misterio-online.de/promille.htm&lt;br /&gt;
&lt;br /&gt;
==== Interaction with LEGO Mindstorm ====&lt;br /&gt;
With the accelerometers, 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.&lt;br /&gt;
&lt;br /&gt;
==== Flashlight ====&lt;br /&gt;
Simple finger application that makes every pixel on the entire screen white to be as bright as possible until you tap the screen again to turn it off.  This way, you can use your Neo as a (short term) flashlight!&lt;br /&gt;
&lt;br /&gt;
==== Wii Controller Emulator ====&lt;br /&gt;
Use the accelerometers and buttons on screen to work as a Wii controller via Bluetooth.&lt;br /&gt;
&lt;br /&gt;
==== FUSE support ====&lt;br /&gt;
Ability to use FUSE to mount larger file systems over wireless.  (even gmailfs, sshfs, etc.)&lt;br /&gt;
&lt;br /&gt;
=== Accessibility ===&lt;br /&gt;
Accessibility features for the visually impaired.&lt;br /&gt;
* High Contrast Themes.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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. see: [[Wishlist:Speech synthesis]]&lt;br /&gt;
&lt;br /&gt;
==== VOIP ====&lt;br /&gt;
* [[Dialer]] should be able to use SIP.&lt;br /&gt;
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.&lt;br /&gt;
* A standard SIP client would probably fit better into the &amp;quot;free and open&amp;quot; philosophy.&lt;br /&gt;
* Ideally a SIP client that includes ZRTP/SRTP for secure communications.&lt;br /&gt;
(Note: Vonage will not give you your SIP credentials, so you cannot log into their network with a non-approved softphone. Other VoIP providers have different policies.)&lt;br /&gt;
&lt;br /&gt;
''This seems very similar to what [http://en.wikipedia.org/wiki/Generic_Access_Network UMA] offers.''&lt;br /&gt;
&lt;br /&gt;
Asterisk is a great communication platform that can run on small devices. I have an Asterisk server running on a Nokia 770 and I read about running Asterisk on an iPhone. With the crosscompiler available it sould be possible to compile it and run Asterisk on an openmoko phone and let it take care of almost everything on the wishlist below.&lt;br /&gt;
Edw/&lt;br /&gt;
&lt;br /&gt;
==== Power Meter ====&lt;br /&gt;
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.&lt;br /&gt;
&lt;br /&gt;
Also a rrdtool type of configurable timespan/frequency graphical overview would be very cool and usefull to some people?&lt;br /&gt;
&lt;br /&gt;
=== Accelerometer wishes ===&lt;br /&gt;
==== Flick interface ====&lt;br /&gt;
Ability to &amp;quot;flick&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Sensitivity of the scrolling should be configurable and a test option provided.&lt;br /&gt;
&lt;br /&gt;
==== Reading navigation of documents enhanced by accelerometers ====&lt;br /&gt;
If the two accelerometers in Neo1973 allows it, it will be nice if when you're reading, give a newspaper, you can move up, down, left and to the right the viewing of the document just moving the phones to the corresponding direction.&lt;br /&gt;
&lt;br /&gt;
I don't know if this is possible (haven't seen the project in detail yet) but this feature could be very attractive for final users (and this is good). (sorry for my english but i'm italian)&lt;br /&gt;
&lt;br /&gt;
==== Wand UI ====&lt;br /&gt;
In keeping with the requests to think outside of the box... the dual 3d accelerometers should enable a 'magic wand'-style UI for certain uses. Macros could be recorded and edited, or presets could be used. For example, flipping the device playfully could initiate a game mode or could signal the end of the work day.&lt;br /&gt;
==== Panning interface ====&lt;br /&gt;
Some applications display underlying data that is larger than the screen.  Typically they let you pan across the data using scroll bars.&lt;br /&gt;
&lt;br /&gt;
In cases where the data is only (say) 3 or 4 screens wide or high, it may be very intuitive to just shift the hand held device a few centimeters to the left or right, up or down to pan in that direction.  The screen would appear to be a hole into the world of the data, and you're just moving the hole to look at something else.&lt;br /&gt;
&lt;br /&gt;
When the underlying data is very large, you obviously wouldn't want to use this mechanism unaltered; you'd have to walk to the next room to see the data 100 screens away.  Instead different accelerations can be used for different panning sizes.  This is the same adaption used for accelerated mouse pointers typical on touch pads.  A quick flick moves the mouse pointer fast and far.  A slower drag over the same area on a touch pad moves the pointer slower and with more precision.&lt;br /&gt;
&lt;br /&gt;
==== Shake-to-Wake ====&lt;br /&gt;
Giving the phone a shake enables voice commands for a few seconds.&lt;br /&gt;
Usage Examples: &lt;br /&gt;
&lt;br /&gt;
* {Shake} &amp;quot;Call&amp;quot; ''ContactName'' ''PhoneType''&lt;br /&gt;
* {Shake} &amp;quot;Call John Mobile&amp;quot;  (Calls John's mobile)&lt;br /&gt;
* {Shake} ''ApplicationName''&lt;br /&gt;
* {Shake} &amp;quot;Reader&amp;quot; (Opens the e-book application)&lt;br /&gt;
&lt;br /&gt;
Would require a method of inputting voice tags for applications and contacts and obviously will only work for P2 (accelerometers)&lt;br /&gt;
But lets get voice command functionality working before P2 (just by pressing a button on the screen instead of shaking)&lt;br /&gt;
&lt;br /&gt;
I think that is possibly to replace &amp;quot;Shake&amp;quot; with double hit with finger in the side of phone. Proper algorithms(with accelerometers) should recognize any similar activities.&lt;br /&gt;
&lt;br /&gt;
==== Emergency call ====&lt;br /&gt;
When the accelerometer detects a great acceleration (i.e. 5G) start a countdown sequence, if it is not stopped make a call to a preconfigured emergency number. If the data from the GPS is accurate give it.&lt;br /&gt;
&lt;br /&gt;
A first version could use a recorded message (an audio file). In next version it could use a synthesizer, so it can give more information (add GPS information when it is ready).&lt;br /&gt;
&lt;br /&gt;
:I would worry that most such events would be false positives, and hard to distinguish from the real thing.  A user dropping their phone (an event very common in the life of any cellphone) is far more likely than a user being in a car accident with their phone, and the clatter of a cell phone on asphalt could reach 5G.  Additionally, it has to be very hard to distinguish hitting pavement from hitting a windshield, as from a physics standpoint the two are the same thing. [[User:Hashbrowncipher|Hashbrowncipher]] 02:06, 26 October 2007 (CEST)&lt;br /&gt;
::It could use the gps data to calculate the speed it is traveling with. Let's say it has been moving for more than 50 km/h for more than 10 seconds. Then it could activate the &amp;quot;emergency call if more than 5g&amp;quot; function. Aside from the countdown timer, it could increase the volume to max and warn the user that an automatic emergency call will take place in x seconds. While it is counting down it could listen for &amp;quot;Never mind, I'm fine, phone&amp;quot; and stop the countdown in case it hears that. It could also output the warning sound to the attached bluetooth headset and let the user talk to emergency services if the user is still conscious. [[User:Tommy|Tommy]] 17:48, 8 January 2008 (CET)&lt;br /&gt;
:::Perhaps have the phone yell loudly that it's about to do the emergency call for a decent amount of time, disabled by touching the screen or entering the pin number. In the case of any bluetooth device attached to the user, the phone could check to see if it's in range before calling. [[User:sin|sin]]&lt;br /&gt;
&lt;br /&gt;
==== Movement detection ====&lt;br /&gt;
By detecting that the owner is walking a user defined profile can be activated with a specific set of notification settings. For example you may wish to use a cheap old sounding ringtone so you don't attract attention from muggers. Or you may wish to have a louder ringtone if you carry your phone in a bag where it can't be so easily heard.&lt;br /&gt;
&lt;br /&gt;
==== Games ====&lt;br /&gt;
Imagine a first person shooter that you look around by turning your body.&lt;br /&gt;
&lt;br /&gt;
==== Sloshing battery indicator ====&lt;br /&gt;
Shaking the phone will produce a sloshing sound, as if  it contained a liquid. As the battery loses charge, so the sound produced on being shaken, will replicate a decreasingly empty container. [http://mobile.slashdot.org/article.pl?sid=07/11/28/1342248] for an example.&lt;br /&gt;
==== Steady screen ====&lt;br /&gt;
It may be hard to read the screen when the device is shaking from some source of vibration.  E.g.&lt;br /&gt;
* being mounted inside a vehicle&lt;br /&gt;
* during certain sports&lt;br /&gt;
* while the internal vibrator is activated (perhaps)&lt;br /&gt;
The accelerometers could be used to determine the frequency of the shaking and to make the screen appear to be steady by offsetting the contents at the same frequency in the opposite direction.  If this was handled by the graphics processor it might not even be an intensive operation or produce significant battery usage.&lt;br /&gt;
&lt;br /&gt;
At slower movements, (say just being held in an older unsteady hand) the accelerometer data could be fed directly into the screen offset.  This would allow you to compensate for unpredictable movements.  &lt;br /&gt;
&lt;br /&gt;
Such a mode would cancel out shaking, producing what would appear to be a slightly smaller but steady screen.  (Smaller because pixels at the edge of the screen may have ''any'' screen in the same location in the next fraction of the vibration).  Gross movements that move the screen to an entirely different position would not be cancelled, effectively 'panning' to keep up with the large movement.&lt;br /&gt;
&lt;br /&gt;
In situations where the hand is not experiencing the same source of vibration that the screen is, the areas of touch sensitivity should be offset at the same time as the screen.  So a steady hand touching a vibrating screen isn't interpretted by the application software as a vibrating hand.&lt;br /&gt;
&lt;br /&gt;
These features would best be implemented in the rendering and touch libraries so they could be activated for all applications.&lt;br /&gt;
&lt;br /&gt;
==== Taping as input ====&lt;br /&gt;
If I understand correctly the accelerometer should be capable to be used as a simple input. When OpenMoko is in the pocket, simple taps against the pocket should be possible to use as input. For example when there is an incoming call and the user is notified using a headset then one tap would accept the call and two concurrent taps against the pocket would cancel it. This can also be used for lot more.&lt;br /&gt;
&lt;br /&gt;
==== Others ====&lt;br /&gt;
Also see the pages[[Wishlist:Auto Align Map]], [[Wishlist:Determine Position]], [[Distance Measuring]], [[Wishlist:Computer Mouse]], [[Wishlist:Dynamic Screen Orientation]].&lt;br /&gt;
&lt;br /&gt;
=== Connectivity ===&lt;br /&gt;
&lt;br /&gt;
==== VNC ====&lt;br /&gt;
A good, stylus friendly VNC client/host combo would be easy to add and terribly useful.&lt;br /&gt;
&lt;br /&gt;
==== Networked X-Windows ====&lt;br /&gt;
&lt;br /&gt;
Whether it's running true X-Windowing over the network, or your bog-standard VNC connection as mentioned above, the ability to have your phone's screen available on your laptop or palmtop would be most desirable.&lt;br /&gt;
&lt;br /&gt;
==== NX client ====&lt;br /&gt;
&lt;br /&gt;
A form of X-windows forwarding optimized for performance over slow, or high-latency links, which could prove extremely useful. Capable of streaming a good quality, full desktop session over modem speeds. The protocol and at least one implementation is gpl'd. [http://en.wikipedia.org/wiki/NX_technology wikipedia]&lt;br /&gt;
&lt;br /&gt;
==== OpenOffice Presenter Control ====&lt;br /&gt;
&lt;br /&gt;
I Think it is a good idea to control your OO Presentation with Openmoko about WLAN or Bluetooth.&lt;br /&gt;
I think it needs some buttons to go back or forward and control the mouse to show something and take normal mouse clicks.&lt;br /&gt;
But with the mouse clicks I think that we need a short time between the clicks in example 1 second. Because when you make a mouse &lt;br /&gt;
click than to fast than you must go back.&lt;br /&gt;
&lt;br /&gt;
Some similar functionality will be implemented during SoC 08. More info at [[OpenMoko Bluetooth remote controller]]&lt;br /&gt;
&lt;br /&gt;
==== Amarok and other Media Player remote control ====&lt;br /&gt;
&lt;br /&gt;
Control Amarok or any other Media Player with OpenMoko (as a remote control). Bluetooth or WLAN could be used as protocol to send and receive the data. Maybe a WebInterface of Amarok is a start. Can be used on parties for a mobile music management.&lt;br /&gt;
&lt;br /&gt;
==== Read informations with SMS ====&lt;br /&gt;
Send a SMS with Code to the OpenMoko (from a specific number).&lt;br /&gt;
For example to send get the GPS coordinates from a stolen Neo (or if you don't know where your Neo is).&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== General Filesystem Encryption ====&lt;br /&gt;
&lt;br /&gt;
If anyone wants to get your private data saved on your OpenMoko device, he should have to get through a high security mechanism like dm-crypt. The question is how much CPU power would be needed. &lt;br /&gt;
Would it be an idea to encrypt only the private data like phone numbers, preferences, address book etc. (like /home/$USER).&lt;br /&gt;
&lt;br /&gt;
http://luks.endorphin.org&lt;br /&gt;
&lt;br /&gt;
==== My Account ====&lt;br /&gt;
{{Main|My Account}}&lt;br /&gt;
A way to securely store information about the phone, and ensure that a phone you may be considering purchasing is not stolen.&lt;br /&gt;
&lt;br /&gt;
Can we keep a serial number/user registry here on the OM wiki?  Not really secure, but something most thieves wouldn't know about.&lt;br /&gt;
&lt;br /&gt;
==== [http://zfoneproject.com/ Zfone] or similar ====&lt;br /&gt;
&lt;br /&gt;
Something that allows the user to speak with another person securely.&lt;br /&gt;
&lt;br /&gt;
==== GSM Encryption ====&lt;br /&gt;
&lt;br /&gt;
This software application would allow GSM encrypted calls to be made using the GSM Data Call Channel. &lt;br /&gt;
&lt;br /&gt;
[[OSvS]]&lt;br /&gt;
&lt;br /&gt;
==== My Voice is my Passport ====&lt;br /&gt;
Use voice recognition to unlock the phone.  &amp;quot;Hi. My name is ... My voice is my passport.  Verify me.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Firewall ====&lt;br /&gt;
A network firewall&lt;br /&gt;
&lt;br /&gt;
==== Full Mac Support ====&lt;br /&gt;
Full mac support, preferably with full software and full sync capabilities with iCal and iMail &lt;br /&gt;
&lt;br /&gt;
==== Anti Theft Application ====&lt;br /&gt;
&lt;br /&gt;
This application would enter the phone into an [[Anti-Theft Mode]] which activates particular security features to reduce the risk of theft and also to ensure a higher probability of recovery of a stolen handset.&lt;br /&gt;
&lt;br /&gt;
Hmm, if you're away from your home for more than a few days (via GPS), it starts sending its coordinates home.&lt;br /&gt;
&lt;br /&gt;
====RFID based personal alerts====&lt;br /&gt;
Assuming an RFID reader is available:  You'd put an RFID tag on your keys, wallet, etc and train a program on the phone to give you a soft or hard alert when one of them leaves detection range.  That way, if you're walking away from one of them, the phone could alert you.&lt;br /&gt;
&lt;br /&gt;
Actually there is a RFID reader available. Take a look at this: http://www.wdi.ca/ We only need driver for that thing. .... Well, never mind. I think it doesn't work because of the size. Anyway an interesting idea.&lt;br /&gt;
&lt;br /&gt;
====OpenVPN Client====&lt;br /&gt;
This application allows to configure the device as an OpenVPN client using the GUI including support for X.509 certificates.&lt;br /&gt;
&lt;br /&gt;
=== Integrated Help System ===&lt;br /&gt;
&lt;br /&gt;
A help system that is either on or off. It could be activated and deactivated by a [[five-second-press]] on a button, for example the AUX button. When the help system is activated, it will explain the use of any item you touch on screen (with stylus or finger). Example: if you touch the battery icon, it will explain that this shows battery level / remaining time. If you touch the date / time icon, it will explain that this icon shows date and time, and that if you press it, you can set date and time. Primarily, this help system should be able to explain all user interface elements in the main screen, but if it proves popular, it could be expanded to cover other applications as well.&lt;br /&gt;
&lt;br /&gt;
===Performance optimisation===&lt;br /&gt;
==== Use DMA engine in CPU for blitter ====&lt;br /&gt;
The DMA engine in the CPU can substantially speed up moving of large  areas of screen in some cases.&lt;br /&gt;
&lt;br /&gt;
==== Use virtual screen to optimise scrolling ====&lt;br /&gt;
In some other cases, the hardware supported virtual screen may also speed it up.&lt;br /&gt;
===Reusable Display/UI Widgets===&lt;br /&gt;
====Use BigPage for full page zoom, scroll, scale in many apps====&lt;br /&gt;
The [[BigPageWidget]] Page decribes a widget that could bring full natural page viewing, scaling, scrolling to the OM platform - allowing all applications to make intuitive UIs. A good way to read documents of any type without reformatting them massively increases the utility of a device with a small screen&lt;br /&gt;
&lt;br /&gt;
==Bluetooth==&lt;br /&gt;
&lt;br /&gt;
=== Voice Dialing ===&lt;br /&gt;
&lt;br /&gt;
Dial by voice commands.&lt;br /&gt;
&amp;lt;br&amp;gt;Dial by dictating phone number. This way we can voice dial any number even if not in our contact list.&lt;br /&gt;
&lt;br /&gt;
=== Music through Bluetooth Headset ===&lt;br /&gt;
&lt;br /&gt;
Music can be played through a Bluetooth headset, but would stop playing when a call comes in.&lt;br /&gt;
&lt;br /&gt;
=== Walkie Talkie ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Features for this applications can be:&lt;br /&gt;
* Push To Talk (PTT) button&lt;br /&gt;
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.&lt;br /&gt;
* Optionally a full duplex mode&lt;br /&gt;
* Different channels to choose from&lt;br /&gt;
* Monitor different (preselected or all) channels for traffic.&lt;br /&gt;
* Content encryption&lt;br /&gt;
* Active noise control&lt;br /&gt;
* Allow zero config use (units can talk without any access point helping)&lt;br /&gt;
* Overview of all connected people trough sending GPS data to everyone who is in the Walkie Talkie channel&lt;br /&gt;
&lt;br /&gt;
Local (non-GPRS) use cases include chatting while biking&lt;br /&gt;
or motorcycling in a group; perhaps also in a car caravan.&lt;br /&gt;
This application could also be used as a baby-phone to monitor your siblings.&lt;br /&gt;
&lt;br /&gt;
This would be more useful if the Neo had Class 1 bluetooth, though probable Wifi on P2 will also offer more range.&lt;br /&gt;
&lt;br /&gt;
(One thumbs up from me) Jackcday&lt;br /&gt;
&lt;br /&gt;
See also [[Wish_List#WiFi_Walkie_Talkie|WiFi Walkie Talkie]] and perhaps construct one application that can handle both Bleutooth and Wifi.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Sync ===&lt;br /&gt;
&lt;br /&gt;
Automatically synchronize with desktop computer (or with any [http://en.wikipedia.org/wiki/SyncML SyncML] server) when within range based on user profile.  This may require the use of a secure data transfer.&lt;br /&gt;
&lt;br /&gt;
=== GPS Assisted Bluetooth Management ===&lt;br /&gt;
&lt;br /&gt;
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.&lt;br /&gt;
&lt;br /&gt;
A Bluetooth device is configured for automatic reacquisition based on the following profiles:&lt;br /&gt;
* Manual - only when Bluetooth is on&lt;br /&gt;
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.&lt;br /&gt;
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.&lt;br /&gt;
&lt;br /&gt;
Each target device is configured as follows:&lt;br /&gt;
* Automatic acquisition at last known location: enable/disable&lt;br /&gt;
* Automatic acquisition at these locations: list of nickname + coordinates + range&lt;br /&gt;
&lt;br /&gt;
==== Non-mobile devices ====&lt;br /&gt;
&lt;br /&gt;
Examples devices include: computers&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Mobile devices ====&lt;br /&gt;
&lt;br /&gt;
Example devices include: automobiles&lt;br /&gt;
&lt;br /&gt;
Mobile devices are configured to have two types of locations:&lt;br /&gt;
# Last known location&lt;br /&gt;
# Non-mobile locations (homes)&lt;br /&gt;
&lt;br /&gt;
===== Last known location =====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===== Non-mobile locations (homes) =====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth neighbor detection and multiuser apps  ===&lt;br /&gt;
&lt;br /&gt;
Like the [http://en.wikipedia.org/wiki/One_laptop_per_child 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.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth environment detection ===&lt;br /&gt;
&lt;br /&gt;
Capability to detect when a predetermined bt device enters/leaves bt range and launch a system-wide event accordingly. This would feed not only the &amp;quot;Neighbour detection&amp;quot; idea described above, but also the &amp;quot;Profiles&amp;quot;, &amp;quot;Context based TO-DO list&amp;quot; and &amp;quot;Location-based reminders&amp;quot; ideas. Reminders could be set to trigger in the presence of a specific person X (with BT device Y). Profiles can take into account which devices are present around the phone (car kit, for ex.). To-do list could also change according to present devices.&lt;br /&gt;
&lt;br /&gt;
=== Remote control ===&lt;br /&gt;
&lt;br /&gt;
==== Wireless presenter ====&lt;br /&gt;
Use the phone to run your OpenOffice.org Impress presentation remotely using Bluetooth. Cool features: &lt;br /&gt;
* Display the text notes for the presenter on the phone's display and update it whenever the slide is changing.&lt;br /&gt;
** 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&lt;br /&gt;
* A small timer showing the time passed (and perhaps remaining if the presentation app supports such a feature). &lt;br /&gt;
* If you want to be super-cool, you give a preview of the notes of the next slide in the show. &lt;br /&gt;
* At the end of a presentation, a &amp;quot;navigator&amp;quot; could allow to easily jump to any slide in the presentation by clicking on it on the phone.&lt;br /&gt;
** When you right-click in a running OO.org Impress presentation, you can choose &amp;quot;got o slide...&amp;quot; and select any slide to jump to.&lt;br /&gt;
&lt;br /&gt;
Some similar functionality will be implemented during SoC 08. More info at [[OpenMoko Bluetooth remote controller]]&lt;br /&gt;
&lt;br /&gt;
==== Initiated from another device ====&lt;br /&gt;
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control),  camera (capture image), etc.&lt;br /&gt;
==== Directed at another device ====&lt;br /&gt;
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.&lt;br /&gt;
&lt;br /&gt;
[http://mjr.iki.fi/software/remote-0.9.0.tar.gz Remote] is my draft of a python-based remote control app that allows you to define button sets and commands to run on the local or a remote host (through ssh, for instance). Error handling and command interface need work.--[[User:Mjr|Mjr]] 11:14, 18 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth Car Connection ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Could be done with a port of [https://garage.maemo.org/projects/carman/ Carman] or similar that can connect to an OBD2 adapter via USB or Bluetooth and display various information collect from the car, GPS, and accelerometers.  --[http://wiki.openmoko.org/wiki/User:Bmk789 bmk789]&lt;br /&gt;
&lt;br /&gt;
==== Dude, Where's My Car? ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Bluetooth powered Multi-SIM support]] ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:&lt;br /&gt;
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)&lt;br /&gt;
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset&lt;br /&gt;
* Same for Short Messages/MMS/Internet&lt;br /&gt;
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.&lt;br /&gt;
Advantage: No 'switching' between cards&lt;br /&gt;
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.&lt;br /&gt;
&lt;br /&gt;
===Internet Gateway===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Social Networking ===&lt;br /&gt;
&lt;br /&gt;
Anybody running the social networking app will be broadcasting a profile, and when certain keywords are matched with other users who are also running the application, an alert is sounded. Each mokoid can be added as a hexstring to a profile page, and xml filters can be developed for each social service to convert various keywords and interests to moko-friendly format.&lt;br /&gt;
&lt;br /&gt;
=== Give userspace api control over bluetooth signal strength ===&lt;br /&gt;
&lt;br /&gt;
I have tried bluetooth handsfree sets with other phones and don't get perfect reception due to low signal strength. I suppose the reason the signal is so weak is because the manufacturer wants the battery to last long on its latest charge. Can you please make the strength setting configurable by the user of the phone through an api and perhaps even through the phones gui? I would gladly waste some battery time in exchange for stronger bluetooth signal strength.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WiFi ==&lt;br /&gt;
&lt;br /&gt;
=== Industrial grade Wifi management ===&lt;br /&gt;
One annoyance I've had with Wifi enabled gadgets is that they simply keep the connections in a dumb list. What I'd like to see is more granular connection management, which enables me to specify whether a given connection is friend &amp;amp; family (mom's place), professional client (joe's copies and coffee), commercially available (panera), onetime use, or anything else, as well as managing router config backups, firmware images, and security keys.&lt;br /&gt;
&lt;br /&gt;
: [[User:lally|Lally]] 13:01 12 May 2008 (EST) -- Profiles of connections.  Mac OS (9 &amp;amp; X) have 'Locations', which do exactly that.  A UI for setting up/choosing them is nice, plus maybe some GPS-driven autoselection.&lt;br /&gt;
&lt;br /&gt;
=== Captive portal auto-login support ===&lt;br /&gt;
Having a nice front-end to some sort of script that checks the authenticity of a captive portal login page (SSL cert), then passes your username and password login information to automatically log you into your account would be very nice as well. This can be done with curl, but it is difficult to make it work on all captive portals out there. Perhaps just a field that you can specify &amp;quot;once I am connected to this AP, run this script: &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Walkie Talkie ===&lt;br /&gt;
Provide walktie talkie functionality like http://www.domain17.net/walkietalkie/index.html See also [[Wish_List#Walkie_Talkie|Bluetooth Walkie Talkie]] and perhaps construct one application that can handle both Bleutooth and Wifi.&lt;br /&gt;
&lt;br /&gt;
== Wireless Piggyback ==&lt;br /&gt;
&lt;br /&gt;
HSDPA support and the like, so that users can connect directly with the internet with G3/G4 mobile service providers at speeds at or above 3.6 Mb/s.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
=== Auto Update ===&lt;br /&gt;
&lt;br /&gt;
A small tool which is configurable to download the latest OpenMoko and OpenMoko related software. Maybe if any internet connection is available or a minimum of bandwith is available then the auto update would download only security related or the whole system etc. .&lt;br /&gt;
&lt;br /&gt;
=== Vibrate Pattern Recorder ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Record&amp;quot; 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 &amp;quot;Stop&amp;quot; when finished.  Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).&lt;br /&gt;
&lt;br /&gt;
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a &amp;quot;time-slice&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
- or just use MIDI, using a separate channel for the vibrator.&lt;br /&gt;
&lt;br /&gt;
An implementation of RTTL could also be used to define vibration patterns.&lt;br /&gt;
&lt;br /&gt;
=== PC Input Device ===&lt;br /&gt;
&lt;br /&gt;
Provide a method to use the touchscreen as input device for a nearby desktop machine.  Could connect over USB or bluetooth.&lt;br /&gt;
&lt;br /&gt;
Could emulate a pointer device (mouse) or even keyboard using standard bluetooth/USB interfaces for such a device.&lt;br /&gt;
&lt;br /&gt;
Use case: Alice is lazing on a couch and doesn't want to get up to do some minor interaction with the computer.  She can see the screen and uses the OpenMoko device as a mouse and/or keyboard to interact with the computer.&lt;br /&gt;
&lt;br /&gt;
=== Advanced Notification And Ringtone Manager ===&lt;br /&gt;
{{Main|Wishlist-ANARM}}&lt;br /&gt;
&lt;br /&gt;
ANARM would be an application for handling all event-based audible notifications from an OpenMoko device.&lt;br /&gt;
&lt;br /&gt;
=== Location based reminders ===&lt;br /&gt;
{{Main|Wishlist:Location_based_reminders}}&lt;br /&gt;
Location based reminders can be used to notify users of various events or reminders that are location based.&lt;br /&gt;
&lt;br /&gt;
=== Synergy Client ===&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
=== Next device ===&lt;br /&gt;
List features for your fantasy device to come from FIC (or anyone else, for that matter).  Define the GTA03 here ;-)&lt;br /&gt;
&lt;br /&gt;
==== There is no device ====&lt;br /&gt;
From [http://wurp.blogspot.com/2008/01/teh-future.html Wurp's blog]:&lt;br /&gt;
&lt;br /&gt;
Clearly the Next Big Thing has to be for the device to go away altogether. I know the basic idea for wearables has been around forever, but it seems to me that the time has come.&lt;br /&gt;
&lt;br /&gt;
I wanna wear a bluetooth earpiece and cool shades, possibly with [ here's where my imagination is failing me :-( ] gloves, or fingerless gloves, or (ew) wristbands, and let any surface, including my hand, or no surface, be my interface. Tap the earpiece when you get a phone call, see a dial pad on your palm and tap out the number with the other hand, watch movies on a giant screen hovering in the air...&lt;br /&gt;
&lt;br /&gt;
(equipment list: bluetooth earpiece, some brick in my pocket or on my belt, glasses w/ minute camera, painted video display, &amp;amp; variable darkness lenses, and gloves)&lt;br /&gt;
&lt;br /&gt;
Why the hell do I want to dig out a device every time I want mindless entertainment or superficial conversation?&lt;br /&gt;
&lt;br /&gt;
Ideally, you could then sell any little doohickey with whatever interface you want (switches, knobs, g-spots, ...) and all it needs to do is network with some software on the brick to be anything at all...&lt;br /&gt;
&lt;br /&gt;
A rubberized shell, like some of the other new phones.  Helps me not drop it, especially when drunken wardriving. [anon ;-)]&lt;br /&gt;
&lt;br /&gt;
== GPS Software ==&lt;br /&gt;
[[Image:Cheap_gps.png|right|300px|From xkcd.com :-)]]&lt;br /&gt;
*Providing GPS Support also for outdoor users in addition to ordinary street navigation features&lt;br /&gt;
** Overlay of satellite images with existing streetmaps&lt;br /&gt;
** 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/)&lt;br /&gt;
** Using sth like a tracking mode to allow certain people to determine the current position and track (for rescue missions - like they have for example at http://www.steiger-stiftung.de (a German beneficence for rescue issues) There you can register your mobile phone so the rescue service is able to track you immediately if necessary. The interesting thing: It seems like some mobile phones with GPS have special support for this issue. If your phone is registered, the rescue service is able to get your GPS coordinates directly from the phone without any user assistance. Openmoko should also support this! )&lt;br /&gt;
* Implementation of 3dTracking's (http://free.3dtracking.net/) tracking software or equivalent.&lt;br /&gt;
* &amp;quot;Geomark&amp;quot; function: if you have to save the current time with your current location, only hit one button...&lt;br /&gt;
** You also should be able to navigate with a small &amp;quot;compass&amp;quot; and the distance should be displayed to your saved point (maybe where you parked your car on a big car parking area)...&lt;br /&gt;
* '''Measure the distance between two points (air line or walked way) -&amp;gt; no need for a tape measure'''&lt;br /&gt;
**I think it would be good if you could either use Bluetooth, GPRS or AdHoc Wifi, and see near Neo1972 on the GPS map so you could see where your friends are, e.g &amp;quot;You want to know if you friend is on the bus behind&amp;quot; You would need a strong wifi and GPRS would be too expensive.&lt;br /&gt;
*A bicycle sat-nav would be cool, speciayl designed for bicycles, e.g. cycle routes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Community Based Traffic Information]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Main|Wish List - Hardware}}&lt;br /&gt;
&lt;br /&gt;
It could be use for beepway Online service too &lt;br /&gt;
[http://www.beepway.com]&lt;br /&gt;
&lt;br /&gt;
=== Dedicated Power / Charger Pinout ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The main question is just deciding on where to take power from 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Hmm... a separate power adapter would have really come in handy right now&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
I suggest a tiny 3mm, dedicated +5V power input (something a la Nokia).&lt;br /&gt;
&lt;br /&gt;
=== Inductive charging ===&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Inductive_charging Inductive charging] is the sort of charging where you place the device in a cradle, and a coil in the cradle induces a current in a coil inside the device, allowing it to recharge without wires. This should eliminate proprietary power connections.&lt;br /&gt;
&lt;br /&gt;
=== Tactile feedback via buzzer ===&lt;br /&gt;
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.&lt;br /&gt;
: 25 ms bump on the buzzer feels about right.  Does this harm the vibrator motor? --[[User:Sagacis|Sagacis]] 05:15, 2 October 2007 (CEST)&lt;br /&gt;
:: Created a patch to do this [[User:Sagacis/ForceFeedback]] --[[User:Sagacis|Sagacis]] 05:05, 3 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
=== Detachable keyboard ===&lt;br /&gt;
Hardware keyboard that can be attached with magnets to a future version of the Neo.&lt;br /&gt;
&lt;br /&gt;
A bluetooth mini-qwerty keyboard that straps to my wrist!&lt;br /&gt;
&lt;br /&gt;
: A BT keyboard would be nice, but do you need openmoko to provide it? [[http://www.intomobile.com/2007/11/07/targus-bluetooth-mobile-tumbpad-when-the-tiny-keyboard-on-your-smartphone-just-doesnt-cut-it.html Targus bluetooth keyboard]]&lt;br /&gt;
&lt;br /&gt;
=== SD Card Slot ===&lt;br /&gt;
I think the Neo1973 should have a normal SD card slot as the micro is too small, and the SDs have more space. [unknown author]&lt;br /&gt;
&lt;br /&gt;
SD Cards now support 32GB. Their storage density will always be multiples ahead of microSD (now at only 2GB). An SD Card slot will:&lt;br /&gt;
* Provide enough storage to '''turn an OpenMoko into a music (MP3) jukebox''' large enough for entire music collections, like an iPod with Bluetooth for the car.&lt;br /&gt;
* Enable '''storage''' of:&lt;br /&gt;
** podcasts, full-length movies, or large photo collections&lt;br /&gt;
** photo and video from an on-board high-res camera&lt;br /&gt;
** entire email database at your fingertips, even in poor phone signal areas&lt;br /&gt;
** more detailed maps and charts&lt;br /&gt;
** encrypted work databases that are not available online&lt;br /&gt;
* Have easy '''external access''', without requiring battery removal like the microSD card&lt;br /&gt;
* Support '''SDIO''' accessories&lt;br /&gt;
* Enable '''transfer''' of data from an external camera's full SD memory to:&lt;br /&gt;
** a portable USB hard drive, offsetting the need to travel with a notebook PC&lt;br /&gt;
** the internet, via wifi or phone network&lt;br /&gt;
* Enable editing of videos and photos obtained from external cameras&lt;br /&gt;
&lt;br /&gt;
Without an easily accessible higher storage SD Card slot, many users will soon be playing the juggling game of which data to delete from the much smaller and harder to swap microSD card. This is especially true for OpenMoko users, who are more likely to be power users than is the average mobile phone carrying population. Why carry an OpenMoko and an iPod, when you can simply add an SD Card slot?&lt;br /&gt;
--[[User:Pedro|Pedro]] 20:06, 17 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
: This is not true. Now you can find 2GB micros at the price of 20-30 euros. Too small for what?? --[[User:V0n0|V0n0]] 22:06, 28 December 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
: Think of putting a few '''movies''' on that SD memory card. It could really help if it was a little bigger (8GB, 16GB, 32GB). Also think of going '''offline''' for 1-2 weeks, far away from any computer you can access and then wanting to listen to some music. What you get in turn with a 2 GB memory slot is the same music over and over. Or you have to switch memory a cards a lot.&lt;br /&gt;
&lt;br /&gt;
: This situation is far more common than one would think: going in the mountains, going offshore (on a cruise ship). Or simply you may want to store many types of music, and '''share''' your device with friends. --[[User:Bogdanbiv|Bogdanbiv]] 13:47, 10 January 2008 (EEST)&lt;br /&gt;
&lt;br /&gt;
: Well, it can be micro SD, but why to put it so deep inside, under the battery and even under the SIM card? I would suggest to have a simple slot on the side where we could insert/remove the SD card equally easily as we swap CD's in computer. [[User:AudriusA|AudriusA]] 16:36, 12 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
[[User:Cfriedt|Cfriedt]] 12:40, 24 February 2008 (CET) -- I completely agree with a more accessible SD card slot. It should be made external for quick removal / insertion. I realize that would mean program data shouldn't reside on the SD, but really 256 MB of on-board flash is plenty. Micro or normally-sized, a regular-sized SD is still trivial to implement in terms of solder pads and traces.&lt;br /&gt;
&lt;br /&gt;
: Sorry, but this looks like useless chat. Micro-SD cards are perfect for mobile devices as they don't get too much space on the pcb. Also, we can find micro-sd up to 8gb, if you want more space just wait a while and they'll produce a bigger one in a few months :-p. Really, almost every single phone that has a sd slot has in its micro version, why would we need a full-sized, huge normal sd slot ? It gets too much space on the pcb it's not only about sw configuration or pin soldering, it's more regarding pcb layout.&lt;br /&gt;
&lt;br /&gt;
: What about something like this adapter[http://linitx.com/viewproduct.php?prodid=11922]? Is there any place in the case left to put this into? Nevertheless there is a 12GB microSD card announced from SanDisk and a 8GB card costs about 40€ or 15€ for 4GB. (But a 8GB SD card costs only about 25€) --[[user:kelvan|Kelvan]]&lt;br /&gt;
&lt;br /&gt;
: Maybe just an additional microSD that is easily accessible and hot-swappable. I imagine replacing the huge lanyard hole could help with this. --[[User:Sin|Sin]] 02:30, 4 May 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
: My thoughts exactly.  Two slots: 1 internal microSD for our storage, and a second external one for more immediate expansion.  My thoughts are more towards hardware expansion.  For example, some of us could put in a second wifi card that does have promiscuous mode.  External VGA connections, etc would also be possible.  The external slot should be chosen by availability of hardware expansions as well as memory availability/price.  --[[User:lally|Lally]] 13:01 12 May 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
=== IR port ===&lt;br /&gt;
Remote control applications&lt;br /&gt;
&lt;br /&gt;
Would be great to use openmoko as a Harmony remote controller.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
[[Category:User]]&lt;br /&gt;
[[Category:Ideas| ]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Wish_List</id>
		<title>Wish List</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Wish_List"/>
				<updated>2008-05-12T17:36:18Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* My Account */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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 [[:Category:Ideas|that have a category of 'Ideas']].&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Painless SDK installation &amp;amp; Setup ===&lt;br /&gt;
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]&lt;br /&gt;
&lt;br /&gt;
* one command for installation (apt-get install openmoko)&lt;br /&gt;
* one command to start Xnest (openmoko-xephyr?)&lt;br /&gt;
* one command to start an i386 shell (openmoko-386-shell)&lt;br /&gt;
* one command to start an armel shell (openmoko-armel-shell)&lt;br /&gt;
&lt;br /&gt;
No extra configuration required.&lt;br /&gt;
&lt;br /&gt;
==== IDE Plugins ====&lt;br /&gt;
People like to see plugins for&lt;br /&gt;
* [http://anjuta.sourceforge.net Anjuta]&lt;br /&gt;
* [http://www.eclipse.org Eclipse] (some things are possible - see [[Development with Eclipse]].&lt;br /&gt;
* [http://www.netbeans.org NetBeans]&lt;br /&gt;
* Game engine - Game Creation plugins&lt;br /&gt;
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]&lt;br /&gt;
* [http://www.kdevelop.org KDevelop]&lt;br /&gt;
* [http://developer.apple.com/tools/xcode/ XCode]&lt;br /&gt;
* [http://www.monodevelop.com MonoDevelop]&lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]&lt;br /&gt;
&lt;br /&gt;
==== UI Designer ====&lt;br /&gt;
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]&lt;br /&gt;
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Built-in Scripting Language ====&lt;br /&gt;
{{Main|Wishlist:BuiltInScriptingLanguage}}&lt;br /&gt;
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.&lt;br /&gt;
==== Easy build of the existing autotools - based packages ====&lt;br /&gt;
In the ideal case OpenMoko should exist on the top of the usual ./configure - make workflow which is typical for the majority of the C/C++ based open source projects. It should not require to rewrite or even replace the existing Makefile.am files of the project being ported, and it should allow to pass the needed parameters to the project configure script. Maybe OpenMoko project could be a bigger project having one or more (if some are libraries) autotools - based packages in its separate folders and include the proper documentation how to &amp;quot;wire&amp;quot; the standard autotools based package to the OpenMoko infrastructure.&lt;br /&gt;
&lt;br /&gt;
===Foreign Widget Set Bindings ===&lt;br /&gt;
==== Qt Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Maemo Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
==== SDL Integration ====&lt;br /&gt;
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.&lt;br /&gt;
&lt;br /&gt;
==== Cocoa / GNUstep ====&lt;br /&gt;
Allows to use MacOS X as a development platform.&lt;br /&gt;
&lt;br /&gt;
=== Software: Language bindings ===&lt;br /&gt;
==== Python bindings ====&lt;br /&gt;
Python bindings seem to be a commonly requested feature.  &lt;br /&gt;
&lt;br /&gt;
[[User:Mickey]] says, &amp;quot;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 &amp;quot;just&amp;quot; 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.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== C++ bindings ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Ruby bindings ====&lt;br /&gt;
Ruby and ruby-(gtk|glade) already ported to OpenMoko according to [http://lists.openmoko.org/pipermail/openmoko-apps/2007-May/000040.html this ] and [http://groups.google.de/group/comp.lang.ruby/browse_thread/thread/6bee9970cf055504 this] mesages. It just have to be included to distribution (only 4.9 MB!)&lt;br /&gt;
&lt;br /&gt;
==== Java bindings ====&lt;br /&gt;
People who concentrate on Java programming would like to have the OpenMoko port of some java virtual machine. GNU Classpath team a lot of great work in the past creating easily portable implementation. Sun's recently open sourced code could also be ported. &lt;br /&gt;
==== Other bindings ====&lt;br /&gt;
* Perl&lt;br /&gt;
* C#&lt;br /&gt;
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings&lt;br /&gt;
&lt;br /&gt;
== Community Support ==&lt;br /&gt;
&lt;br /&gt;
=== [http://projects.openmoko.org projects.openmoko.org] ===&lt;br /&gt;
Infrastructure for developers with&lt;br /&gt;
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)&lt;br /&gt;
* One mailing list for project&lt;br /&gt;
&lt;br /&gt;
== Platform ==&lt;br /&gt;
=== Community Images ===&lt;br /&gt;
In the future there could be complete, unofficial &amp;quot;product images&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
=== Wishlist voting ===&lt;br /&gt;
There could be a kind of voting system like they have at one of those big computer manufacturers homepage. Then the community could vote for the ideas that are most important to them. This would especially make sense for the hardware wishlist, because the hardware is still the part which can't be done by the community that easily.&lt;br /&gt;
&lt;br /&gt;
Here: [http://www.fevote.com/openmoko OpenMoko suggestion board]&lt;br /&gt;
&lt;br /&gt;
== Software: Additional features ==&lt;br /&gt;
&lt;br /&gt;
===PDA Mode===&lt;br /&gt;
&lt;br /&gt;
There are times when you wish to power up the device and not power up the gsm/cellphone portion of the phone. For example in meetings you might wish to access the PDA side with wifi as is the case for example on an aircraft.  On booting some method of booting to pda mode would be good - several other phones offer this feature.&lt;br /&gt;
&lt;br /&gt;
===Driving Mode===&lt;br /&gt;
&lt;br /&gt;
It may be forbidden in many countries, but many people use their cell phones while driving. With the touchscreen phones&lt;br /&gt;
this is very dangerous: You have to stare at the tiny numbers on the screen and try to hit them with your thumb or try to decipher tiny script of contacts, while steering with the other hand. There should be a configurable driving mode where the interface has a reduced functionality (e.g. only contacts and dialing) with HUGE interface buttons that are easy to use with limited attention.&lt;br /&gt;
&lt;br /&gt;
===Calling===&lt;br /&gt;
&lt;br /&gt;
==== Mask ID based on dialed numbers ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Use calling cards and similar routing techniques for lower-cost calling ====&lt;br /&gt;
Many people use calling cards, low-cost numbers and similar ways of reducing the costs of their calls.  It would be nice to have a single panel that would allow you to configure the rules of dialing a number taking in to account such systems.&lt;br /&gt;
&lt;br /&gt;
==== Outgoing black/white lists ====&lt;br /&gt;
The ability to allow or deny outoging calls to certain numbers can be useful in a number of situations (e.g. the holder of the 'phone is a child, untrusted, etc.).  This could be related to entries in the contact list, for example a user is only allowed to call people who are in their contact list.&lt;br /&gt;
&lt;br /&gt;
Also lists for incoming calls? Some friends always come through, unknown numbers get rejected automatically.&lt;br /&gt;
&lt;br /&gt;
==== Time-based blocking/unblocking of calls ====&lt;br /&gt;
Allowing or disallowing outgoing calls at certain times of the day could be useful, e.g. blocking a business phone from making calls outside of business hours.&lt;br /&gt;
&lt;br /&gt;
====Speaker-phone====&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
====Advanced Airtime Tracking====&lt;br /&gt;
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.&lt;br /&gt;
On (at least some) prepaid [http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data USSD] can be used to check current balance.&lt;br /&gt;
&lt;br /&gt;
* Call duration should consider billing increments and show the durations according to accounting period&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Anti-stutter software ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Minimize In-Call mode (check address book while in call)====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Similar request when using the browser (lookup passwords, todo list, etc).&lt;br /&gt;
&lt;br /&gt;
====Hold Music (Ringback Tone)====&lt;br /&gt;
On some cellphone networks you can pay to change the normal [http://en.wikipedia.org/wiki/Ringback_tone Ringback Tone] that the caller hears when ringing, to a customised sound.&lt;br /&gt;
This can partially be implemented on the phone.&lt;br /&gt;
Issues are:&lt;br /&gt;
*In countries where callers pay, this will make you unpopular.&lt;br /&gt;
*In countries where the called party pays, it will use your minutes, or cost you money.&lt;br /&gt;
**A list of people to activate this function for would alleviate this.&lt;br /&gt;
*[[GPRS]] internet connection will stall while the hold music is being played.&lt;br /&gt;
*Extra battery used when playing music.&lt;br /&gt;
&lt;br /&gt;
Also see [[Answering Machine]].&lt;br /&gt;
&lt;br /&gt;
====Play sound clips over the air====&lt;br /&gt;
Dialer could have a tab with big buttons which, when push, send sound clips 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&amp;amp;_j=questiondetails&amp;amp;_i=104&lt;br /&gt;
The buttons can have default sounds, but also have the ability to be customized.&lt;br /&gt;
&lt;br /&gt;
It would also be useful for notifying people why you can't talk (for example, having an &amp;quot;I can't talk tight now - I'm in the library - this is a pre-recorded message&amp;quot; would be good. Also perhaps you could loop a pre-recorded sound in the background so you can lie about where you are, and have the ability to simulate a really bad connection.&lt;br /&gt;
&lt;br /&gt;
==== DTMF Landline Dialing ====&lt;br /&gt;
The ability to hold the Neo near the microphone of a landline handset and have the Neo dial the landline by sounding DTMF tones. The DTMF tones could be generated in software or be pre-recorded files.&lt;br /&gt;
&lt;br /&gt;
Graphically this could be done by adding a 'DTFM dial' button to a context menu. The user would select a contact then presses the 'DTMF dial' button to start the process. A small delay could also be added to allow time to put the Neo near the landline handset.&lt;br /&gt;
&lt;br /&gt;
For the Neo to know which area code to use (or not use) the current or last GPS coordinates could be utilised.&lt;br /&gt;
&lt;br /&gt;
==== Conversation Recorder ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Unlicensed Mobile Access (UMA)====&lt;br /&gt;
T-Mobile recently rolled out a UMA service that hands off calls between the GSM network and WiFi access points. Only a few phones support it right now, this could be a rather unique feature if OpenMoko can implement it.&lt;br /&gt;
&lt;br /&gt;
This can be combined with a GPS map to show where local free hubs are.&lt;br /&gt;
&lt;br /&gt;
==== Ignore-Call Button ====&lt;br /&gt;
{{Main|Wishlist:Ignore Call Button}}&lt;br /&gt;
&lt;br /&gt;
Shut up a ringing phone, without accepting or rejecting the call.&lt;br /&gt;
&lt;br /&gt;
Another alternative might be to use microphone to recognize when the user gives an audible &amp;quot;Shhh!&amp;quot; command.  This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises. &lt;br /&gt;
&lt;br /&gt;
A really usable feature is to &amp;quot;reject with SMS/text message&amp;quot; - letting the user reply the caller choosing a previously setup template or typical response: &amp;quot;I'm in a meeting - I'll call you later&amp;quot; or &amp;quot;Can't take your call now, please call back in 10 minutes&amp;quot;. This feature typically is a much better way to get your co-workers (ie boss) to back off, than to silently ignore the call.&lt;br /&gt;
&lt;br /&gt;
The accelerometers could be queried while the phone is ringing to detect a firm tap on the phone. This would avoid the delays of fumbling to remove the phone from one's pocket to silence the ringer when you've forgotten to set it to silent mode. Just firmly tap the phone through your pocket, and the ringer will silence, like some Motorola pagers. Maybe single tap = silence; double tap = (activate voicemail or preset SMS).&lt;br /&gt;
&lt;br /&gt;
==== Voice Mailbox ====&lt;br /&gt;
{{Main|Voice Mailbox}}&lt;br /&gt;
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.&lt;br /&gt;
Can act profile-dependent.&lt;br /&gt;
&lt;br /&gt;
==== Hold Button ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Unanswered Call, Fast Call ====&lt;br /&gt;
&lt;br /&gt;
In Greece because of the various bill programs some people call a mobile phone, rings one time and then hangup.&lt;br /&gt;
Then the user of the mobile phone calls the other user(using the CallerID recognition).&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
==== Ambient Noise Detection ====&lt;br /&gt;
{{Main|Wishlist:Software:Ambient Noise Detection}}&lt;br /&gt;
&lt;br /&gt;
Using the microphone to detect ambient noise the ringtone volume could be adjusted automatically.&lt;br /&gt;
&lt;br /&gt;
If the ambient noise exceeds a preset threshold, the ring vibrator could be activated. This is good for when people forget to enable vibrate mode when entering noisy environments.&lt;br /&gt;
&lt;br /&gt;
Detection of ambient noise could also be used to subtract the noise from the audio signal. However this approach is best performed using two Microphones, one for the voice and the other to detect the noise.&lt;br /&gt;
&lt;br /&gt;
==== Active noise control ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Hear Impaired Mode ====&lt;br /&gt;
&lt;br /&gt;
Hearing impaired people need louder speaker(but with less volume than hands free) and equalized sound, based on their hearing problems(example 20dB hearing loss from 2KHz to 4KHz).&lt;br /&gt;
Older people 50+ years old need slower speech rate(time stretch, cut the big speech gups) and cleaner voice.&lt;br /&gt;
&lt;br /&gt;
Please note also the Hearing Aid Compatibility regulations in the US. I have tried to summarize and clarify them [http://quux.wiki.zoho.com/WhereAreHACphones.html here]. I haven't yet discovered whether the FIC device is M or T rated. For many hearing impaired users, a tcoil coupling to their hearing aid (t3/T4 rating) would be preferable to manipulating sound output in other ways.&lt;br /&gt;
&lt;br /&gt;
==== Mute Button ====&lt;br /&gt;
&lt;br /&gt;
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Web Browser===&lt;br /&gt;
&lt;br /&gt;
==== Full-page Zoom Support ====&lt;br /&gt;
Full page zoom is a very good feature. If possible, people would want to browse the internet with normal layout than a distorted one. It's best if I could double-tap a text or image block and zoom to a fit size.&lt;br /&gt;
&lt;br /&gt;
The [[BigPageWidget]] proposal suggests 'Full Page Zoom' should be implemented as a widget available to all applications.&lt;br /&gt;
&lt;br /&gt;
* If the processor and memory could afford, it is good to just use [http://www.mozilla.org/projects/firefox/3.0a8/releasenotes/ Firefox 3] in OpenMoko. It has implemented latest gecko's full-page-zoom ability. With certain modification, we could do the same zoom like iPhone's Safari.&lt;br /&gt;
* Firefox 3 may be a big eater. A cut-down version of it may be good enough.&lt;br /&gt;
* If this is not practical, Minimo with full-page-zoom ability is good.&lt;br /&gt;
&lt;br /&gt;
==== Plugins Support ====&lt;br /&gt;
* While an extensive browser plugin system would be costly to the efficacy of the platform four 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].&lt;br /&gt;
* 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.&lt;br /&gt;
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.&lt;br /&gt;
&lt;br /&gt;
==== Widget support ====&lt;br /&gt;
Built-in browser with the ability to install widget shortcuts (aka links) in the main phone menu, also some apis for interfacing with the other functionality of the phone like adding contacts, reading contacts, reading gps-psoition etc.. (maybe there is some defacto widget standard that could be used)&lt;br /&gt;
&lt;br /&gt;
There is a [http://www.w3.org/TR/widgets/ W3C spec] being developed, which may not be exactly what the original proposal had in mind, but it is about writing simple applications with HTML, SVG and JavaScript. It is mainly Opera's work, and while most [http://widgets.opera.com/ developed widgets are not very useful], there are some that are, and it creates a very nice development platform, especially for mobile devices. So, I think it makes an awful lot of sense for OpenMoko to support this spec.&lt;br /&gt;
&lt;br /&gt;
===Media===&lt;br /&gt;
====Music/Video Software====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
It would also be nice to have some kind of &amp;quot;announce your musical taste&amp;quot; mode. This could be implemented using last.fm profiles, such that when e.g. in a crowded place a user nearby has a similar musical taste, both users get notified so they can share their music files with each other (perhaps using a photo for id). Great for discovering new music - and making friends!&lt;br /&gt;
&lt;br /&gt;
- Possible copyright issues sharing music files?&lt;br /&gt;
&lt;br /&gt;
Sure, but that's the user's concern, not the developer's. There's no way for us to know which audio files the user is permitted/not permitted to share.&lt;br /&gt;
&lt;br /&gt;
==== Reading Support ====&lt;br /&gt;
It would be really great to be able to read :&lt;br /&gt;
&lt;br /&gt;
*PDF&lt;br /&gt;
*Open Document files&lt;br /&gt;
*Text / RTF files&lt;br /&gt;
*fb2 files (fbreader)&lt;br /&gt;
*MS Office files&lt;br /&gt;
*Aportis Doc (pdb)&lt;br /&gt;
*DjVu&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
In both landscape and portrait&lt;br /&gt;
&lt;br /&gt;
==== Wikipedia Mirror ====&lt;br /&gt;
{{Main|Wishlist:Wikipedia_Mirror}}&lt;br /&gt;
&lt;br /&gt;
==== Blog ScribblePad ====&lt;br /&gt;
&lt;br /&gt;
Draw an image (and maybe add some text), then post to your blog.&lt;br /&gt;
&lt;br /&gt;
==== E-Book Reader ====&lt;br /&gt;
* 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 (see the [[BigPageWidget]] proposal). 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.&lt;br /&gt;
&lt;br /&gt;
==== Personal Wiki ====&lt;br /&gt;
{{Main|Wishlist:PersonalWiki}}&lt;br /&gt;
&lt;br /&gt;
Display the notes database as a Wiki.  Inspiration:  [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki].&lt;br /&gt;
&lt;br /&gt;
[http://www.didiwiki.org/ Didiwiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Dictionary, thesaurus, translator and flashcards ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Dictionary'''&lt;br /&gt;
Something like [http://www-user.tu-chemnitz.de/~fri/ding/ ding]:&lt;br /&gt;
&lt;br /&gt;
advantages:&lt;br /&gt;
* small&lt;br /&gt;
* very efficient + useful&lt;br /&gt;
* only limited to really needed functions&lt;br /&gt;
&lt;br /&gt;
Support for vocabulary training with flashcard system (also usable for other content than foreign language words!)&lt;br /&gt;
&lt;br /&gt;
==== Flickr uploader ====&lt;br /&gt;
A simply, drag &amp;amp; drop uploader, tagger and organizer to upload images on phone to [http://flickr.com Flickr], with support for various languages. A good base could be the cross-platform uploader [http://juploadr.org/ jUploadr], written in Java and working on Windows, Mac and Linux. But, most of all, the best '''GPL''' program which actually do this work is '''[http://mobilepushr.jottit.com/ Mobile Pushr]''', written in C and Cocoa for iPhone, must be probably ported in python to work on OpenMoko.&lt;br /&gt;
&lt;br /&gt;
===PIM (Personal Information Managment)===&lt;br /&gt;
====Context Sensitivity====&lt;br /&gt;
Any email or sms message or application that contains a telephone number should be click to dial, eg [http://123567890 1234567890]. Addresses link to mapping software too?&lt;br /&gt;
&lt;br /&gt;
==== Notes ====&lt;br /&gt;
&lt;br /&gt;
Something for taking notes would be a nice feature:&lt;br /&gt;
[http://www.gnome.org/projects/tomboy/ Tomboy] has some nice syncing features and is gtk based.&lt;br /&gt;
&lt;br /&gt;
Some Screenshots are [http://www.gnome.org/projects/tomboy/images/ here].&lt;br /&gt;
&lt;br /&gt;
==== Calendar ====&lt;br /&gt;
&lt;br /&gt;
A nice calendar application should be implemented in OpenMoko. This tool should have a syncing feature with your desktop computer.&lt;br /&gt;
The tool should have a reminder feature and other features like other mobile phones already have.&lt;br /&gt;
&lt;br /&gt;
I think synchronization sould be handled by computer with opensync+syncml based tool, not by calendar itself. --[[User:Antono|Antono]] 12:25, 7 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
* If this cellphone is thought also as a PDA, of course it needs a calendar. But I would like to see something better than just a calendar, I was thinking that there could be some application using &amp;quot;fisheye&amp;quot; view. Just like [http://www.cs.umd.edu/hcil/datelens/], though that example seem a bit chaotic. --[[User:Yprum|Yprum]] 22:27, 21 February 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
==== Address Book ====&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
servers or whatever.&lt;br /&gt;
* Also the possibility to search all info on the contact, like number, email, postal address and so on, in case someone asks you to identify a known number.&lt;br /&gt;
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)'  This could also be done&lt;br /&gt;
by integrating with whatever on-phone GPS mapping software the Neo ends up using.&lt;br /&gt;
* Random text input 'notes' about a contact&lt;br /&gt;
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's&lt;br /&gt;
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant&lt;br /&gt;
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account&lt;br /&gt;
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.&lt;br /&gt;
* Support for:&lt;br /&gt;
**[http://en.wikipedia.org/wiki/SyncML SyncML]&lt;br /&gt;
**[http://abook.sourceforge.net/ abook] a text-based addressbook program&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book&lt;br /&gt;
**[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).&lt;br /&gt;
*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. Should also be able to create an address book entry from a Bluetooth ID. Could be used as a nice tool to detect people who you're avoiding.&lt;br /&gt;
* Support for family relations (explained further on the [[Talk:Wish_List#Address_book:_Support_for_family_relations|talk page]]).&lt;br /&gt;
&lt;br /&gt;
==== Database/List Display/Edit ====&lt;br /&gt;
{{Main|Wishlist:PilotDB}}&lt;br /&gt;
&lt;br /&gt;
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db].  It's GPL'd.&lt;br /&gt;
&lt;br /&gt;
==== To-Do lists ====&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* I would like to be able update my [http://todotxt.com/ todo.txt] which is stored on a personal server from the phone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Context based To-Do list ====&lt;br /&gt;
{{Main|Wishlist:context based to-do list}}&lt;br /&gt;
&lt;br /&gt;
If I arrive home and there are &amp;quot;@home&amp;quot; things in the to-do list, the Context based to-do list reminds me of that.&lt;br /&gt;
&lt;br /&gt;
==== Workout ====&lt;br /&gt;
&lt;br /&gt;
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.&lt;br /&gt;
&lt;br /&gt;
==== Shopping List ====&lt;br /&gt;
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.&lt;br /&gt;
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.&lt;br /&gt;
&lt;br /&gt;
==== [[Fuel Log]] ====&lt;br /&gt;
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).&lt;br /&gt;
Advanced features could include:&lt;br /&gt;
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)&lt;br /&gt;
* Sending the data to a central server which collects the information ( spritmonitor.de, anything else ?)&lt;br /&gt;
* 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)&lt;br /&gt;
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server&lt;br /&gt;
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.&lt;br /&gt;
&lt;br /&gt;
==== Keep in touch reminder ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Menstruation period timer ====&lt;br /&gt;
Fill in statistics and compute probabilities for menstruation, fertility, mood.&lt;br /&gt;
See http://www.getjar.com/products/48/MyGirls&lt;br /&gt;
&lt;br /&gt;
==== Tagging ====&lt;br /&gt;
{{Main|Wishlist:Tagging}}&lt;br /&gt;
Tags can be used by various applications. Requirement is interoperability for further enhancement.&lt;br /&gt;
Tags should be applied to contacts, calendar events, mail/sms, calls, places(GPS) and files.&lt;br /&gt;
http://tracker-project.org has all needed tagging-and-searching functionality and ready to be used on low-resourced devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Exchange Integration ====&lt;br /&gt;
&lt;br /&gt;
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/contacts/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.&lt;br /&gt;
&lt;br /&gt;
* Is the time right to name names ? Add as your liking...&lt;br /&gt;
** Plugin/integration to &amp;amp; from Kontact&lt;br /&gt;
** Same with Evolution - Thunderbird - Seamonkey&lt;br /&gt;
** ?? Google Calendars ?? (this one is tough)&lt;br /&gt;
** Ms Exchange&lt;br /&gt;
&lt;br /&gt;
==== An electronic wallet ====&lt;br /&gt;
&lt;br /&gt;
A database which stores securely PIN codes, login data, bank and email accounts, membership informations, and other valuable and private data. Entries can be ordered in a folder-like manner. Access to the database is given by a master password. The database as well as the master password are stored with strong encryption. For security reasons, the program asks again for entry of the master password after a certain period of inactivity. The database can be synchronized with a PC application (ideally written in Java for cross platform compatibility).&lt;br /&gt;
&lt;br /&gt;
Examples: KWallet [http://docs.kde.org/stable/en/kdeutils/kwallet/index.html], Viskeeper [http://www.sfr-software.de/cms/EN/pocketpc/viskeeperpro/index.html], KeePass [http://keepass.info/]&lt;br /&gt;
&lt;br /&gt;
==== Easy business card sharing for a small group (in the same room) over bluetooth or WIFI ====&lt;br /&gt;
&lt;br /&gt;
Six Neo1973 owners are having a chat in a cafe.    They agree to split but meet later.     They want to exchange their numbers with each other before they go....     The normal way to do this is for a rather longwinded repeating of numbers to each other, or half the people manually inputting numbers before phoning/texting the other half to complete the process.    All in all its a fair number of button presses to get it sorted.&lt;br /&gt;
&lt;br /&gt;
Instead the NEO could have a small app where the phones link up in a small peer to peer Bluetooth network and share automatically with one person initiating a request and the other detected NEOS agreeing/acknowledging the share.   The initiating NEO would then sync the mini-group automatically by interrogating each phone and then sending the table of results.     The NEOs would have to be clever about checking for duplicates in the address book and offering a choice to the user if there are any conflicts.&lt;br /&gt;
&lt;br /&gt;
PROS: &lt;br /&gt;
*genuine saving in time for social and business situations&lt;br /&gt;
&lt;br /&gt;
CONS: &lt;br /&gt;
*I am sure there are some security hassles to be pondered....&lt;br /&gt;
*not going to be used every day... definitely not an immediate priority.....&lt;br /&gt;
*only at geek conferences will all have a neo....&lt;br /&gt;
&lt;br /&gt;
==== SMS Counter ====&lt;br /&gt;
&lt;br /&gt;
An application which shows on the today-screen how many SMS i've already sent in this actual month. Some have for example 150 free SMS to write each month. With that program you can see all the time how many SMS are left until the end of the period. As an alternative it could be a counter which counts backwards from a predefined number over a defined period.&lt;br /&gt;
&lt;br /&gt;
==== Data Storage ====&lt;br /&gt;
&lt;br /&gt;
Store all the data about communications with a contact (SMS, MMS, phone calls, emails, IM, etc)  in a database and make them available in one list or one timeline.&lt;br /&gt;
Make this list available through the address book.&lt;br /&gt;
This would be great for people who are switching between one or more communication channels frequently&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{{Main|Wishlist:Profiles}}&lt;br /&gt;
&lt;br /&gt;
The Wishlist:Profiles page documents many possible profiles - ways to configure the phone. Including ways to respond to calls, wifi and GPS events.&lt;br /&gt;
And how to automatically switch between them.&lt;br /&gt;
&lt;br /&gt;
===Text Messaging===&lt;br /&gt;
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included&lt;br /&gt;
For current development status of the messaging-app see: [[Messages]].&lt;br /&gt;
&lt;br /&gt;
There are many useful options that now can be used to full capacity:&lt;br /&gt;
&lt;br /&gt;
* '''Instant Messaging'''&lt;br /&gt;
Bringing a new GTK gui or a resized Qt gui out for the serverless Instant Messenger http://Retroshare.sf.net&lt;br /&gt;
&lt;br /&gt;
* '''Acknowledge/status SMS'''&lt;br /&gt;
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'.&lt;br /&gt;
&lt;br /&gt;
** '''Special handling of status-SMS''' &lt;br /&gt;
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 &amp;amp; clog the inbox, warn of a &amp;quot;new&amp;quot; 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.&lt;br /&gt;
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date&lt;br /&gt;
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: &lt;br /&gt;
** 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]&lt;br /&gt;
** [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 &amp;amp; Alcatel encoding ([[User:Marcin|I could]] eventually help)&lt;br /&gt;
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung&lt;br /&gt;
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. &amp;quot;Server Down!&amp;quot; has a loud klaxon, &amp;quot;Disk Warning&amp;quot; has a quiet chirp.&lt;br /&gt;
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: &amp;quot;hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz&amp;quot; becomes &amp;quot;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?&amp;quot; (taken from: [http://en.wikipedia.org/wiki/SMS_language])&lt;br /&gt;
** Implement a script that abbreviates :-)&lt;br /&gt;
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''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&lt;br /&gt;
* '''Searching''' allow full-text search or string search.&lt;br /&gt;
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...&lt;br /&gt;
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.&lt;br /&gt;
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.&lt;br /&gt;
* '''SMS-EMail-Gateway'''&lt;br /&gt;
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&lt;br /&gt;
* '''SMS-filter chain''', for stuff like Codeword-SMS above, Theft-mode activation, auto-response (reply with gsm-position for &amp;quot;Where are you?&amp;quot;), auto-substitution (like replace $POS with gsm-position in outgoing SMS).&lt;br /&gt;
* '''SCROOGE-SMS'''  This is an intelligent SMS router.    When you write your SMS you get the option of how to send it&lt;br /&gt;
** By standard carrier SMS - cost 10cents&lt;br /&gt;
** By OpenMoko SCROOGE SERVER - this will send your SMS to the OpenMoko Community SCROOGE SERVER next time you have WiFi - the phone will remind you to turn on WiFi when it knows you are in places where you have WiFi access.   The person you are sending to picks up when they come into WiFi Range.    This comes with an intelligent reminder that tells you that message has still not been delivered in 24 hours and would you now like to send it by a paymethod.    This is better than IM because both parties do not have to have WiFi at the same time. - cost FREE&lt;br /&gt;
** By email/Wifi - cost FREE&lt;br /&gt;
** By email/GPRS - cost ?&lt;br /&gt;
** Too many options!!!&lt;br /&gt;
** Alternatively SCROOGE SERVER could auto launch IM client if it detects both parties have WiFi at the same time (Status kept on SCROOGE SERVER?) to allow instant reply.....    Person who receives has the option to reply in SMS or in IM or in VOIP phone.&lt;br /&gt;
&lt;br /&gt;
=== Text input ===&lt;br /&gt;
{{Main|Wishlist:Text Input}}&lt;br /&gt;
There are many good suggestions for text input on the specific text input ideas page.&lt;br /&gt;
&lt;br /&gt;
=== More/Custom Input Method Widgets ===&lt;br /&gt;
{{Main|Wishlist:More/Custom_Input_Method_Widgets}}&lt;br /&gt;
Additional and customizable Input Method Widgets (similar to virtual keyboard).  &lt;br /&gt;
This could add soft-key functionality to games or other applications such as:&lt;br /&gt;
*D-Pads&lt;br /&gt;
*buttons&lt;br /&gt;
*virtual trackballs&lt;br /&gt;
*...&lt;br /&gt;
Personalized layouts could be associated with each application.&lt;br /&gt;
&lt;br /&gt;
=== Games ===&lt;br /&gt;
{{Main|Wishlist:Games}}&lt;br /&gt;
&lt;br /&gt;
=== Mesh Networking ===&lt;br /&gt;
{{Main|Wishlist:Mesh Networking}}&lt;br /&gt;
&lt;br /&gt;
=== Printing Support ===&lt;br /&gt;
It would be really neat to be able to print over either bluetooth, Wifi, or USB. I can imagine wanting to print:&lt;br /&gt;
&lt;br /&gt;
* Notes&lt;br /&gt;
* Maps&lt;br /&gt;
* Email&lt;br /&gt;
* Calendars&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
# GTK+'s printing support&lt;br /&gt;
# Making cups run on a really small system&lt;br /&gt;
&lt;br /&gt;
{{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.}}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Further details:&lt;br /&gt;
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]&lt;br /&gt;
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]&lt;br /&gt;
* [http://www.j5live.com/?p=204 j5live.com]&lt;br /&gt;
&lt;br /&gt;
===Misc Software===&lt;br /&gt;
====Clocks/timers/Activity meters====&lt;br /&gt;
===== Sport tracker =====&lt;br /&gt;
{{Main|Wishlist:Sport_tracker}}&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===== Standby clock =====&lt;br /&gt;
{{Main|Wishlist:Standby_clock}}&lt;br /&gt;
A quick way to see what time it is.&lt;br /&gt;
&lt;br /&gt;
===== Egg Timer =====&lt;br /&gt;
{{Main|Wishlist:EggTimer}}&lt;br /&gt;
&lt;br /&gt;
Very simple (one click) count up / count down timers are very useful.&lt;br /&gt;
&lt;br /&gt;
===== Cycle Computer =====&lt;br /&gt;
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.&lt;br /&gt;
* 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)&lt;br /&gt;
&lt;br /&gt;
===== NTP Server =====&lt;br /&gt;
&lt;br /&gt;
Run the [http://www.ntp.org NTP] daemon using the GPS chipset as a reference clock, so that the Neo would have a very accurate time-of-day clock and would be able to serve time to other networked devices. &lt;br /&gt;
&lt;br /&gt;
I don't know what it would take to implement this. Items to consider would be the availability of a 1 pulse-per-second hardware signal, the accuracy of timestamps delivered in NMEA messags, etc. Dealing with power-management issues (such as the device going to sleep) would also be challenging.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Find Keys/locate stuff =====&lt;br /&gt;
&lt;br /&gt;
This would require an additional accessory: a tag which transmits a signal that the Openmoko device can pick up. The tag could for example be attached with a ring loop to your keys, put in your wallet, or be attached with high strength adhesive strips to your remotely controlled aircraft. Whenever you can't find back your keys, wallet, RC aircraft,... you activate this application. When the device picks up the signal of the tag, it translates it to clear audio and visual prompts to guide you in the right direction.&lt;br /&gt;
&lt;br /&gt;
A commercial device that offers this functionality is the [http://loc8tor.com/ loc8tor]. Having this in the Openmoko phone would obliviate the need for a separate device. Murphy's law dictates that you'll only loose your keys when you don't know any more where you've put the loc8tor tracking device. But you're bound to always have your phone with you. &lt;br /&gt;
&lt;br /&gt;
Additionally, you could also set a safety perimeter. Whenever a tagged item moves more then X meters from the phone, a signal will be given.&lt;br /&gt;
&lt;br /&gt;
For a related idea, see [[Wishlist#Dude.2C_Where.27s_My_Car.3F|Dude, Where's my car]].&lt;br /&gt;
&lt;br /&gt;
===== Reality check reminder =====&lt;br /&gt;
{{Main|Wishlist:Reality check reminder}}&lt;br /&gt;
&lt;br /&gt;
A tool to [http://www.phrack.org/issues.html?issue=64&amp;amp;id=16 hack your brain]&lt;br /&gt;
&lt;br /&gt;
===== Automatic timezone changing (GPS) =====&lt;br /&gt;
&lt;br /&gt;
Check the timezone with GPS and adapt them.&lt;br /&gt;
&lt;br /&gt;
====Calculators====&lt;br /&gt;
===== A Universal Unit Converter Tool =====&lt;br /&gt;
&lt;br /&gt;
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. And not only the engineers. &lt;br /&gt;
&lt;br /&gt;
Ideas what kind of conversions a converter tool could do:&lt;br /&gt;
&lt;br /&gt;
Length&lt;br /&gt;
- Acceleration&lt;br /&gt;
- Angle&lt;br /&gt;
- Angular Velocity&lt;br /&gt;
- Area&lt;br /&gt;
- Capacitance&lt;br /&gt;
- Radioactivity&lt;br /&gt;
- Currency &lt;br /&gt;
- Charge&lt;br /&gt;
- Computer Memory&lt;br /&gt;
- Conductance&lt;br /&gt;
- Density&lt;br /&gt;
- Energy&lt;br /&gt;
- Illumination&lt;br /&gt;
- Power&lt;br /&gt;
- Force &lt;br /&gt;
- Flow&lt;br /&gt;
- Pressure&lt;br /&gt;
- Speed&lt;br /&gt;
- Temperature&lt;br /&gt;
- Time&lt;br /&gt;
- Torque&lt;br /&gt;
- Viscosity&lt;br /&gt;
- Volume&lt;br /&gt;
- Weight&lt;br /&gt;
&lt;br /&gt;
Roman Numerals&lt;br /&gt;
- ASCII, Hex&lt;br /&gt;
- Cooking&lt;br /&gt;
- BMI&lt;br /&gt;
- Clothing Sizes&lt;br /&gt;
&lt;br /&gt;
Money Converter based on current rates from Internet...&lt;br /&gt;
e. g. Dollar &amp;lt;-&amp;gt; Euro&lt;br /&gt;
 &lt;br /&gt;
Physical and Mathematical Constants&lt;br /&gt;
GPS conversions &lt;br /&gt;
&lt;br /&gt;
- link to or integration of a scientific calculator&lt;br /&gt;
- link to or integration of a simple calculator&lt;br /&gt;
&lt;br /&gt;
A good basis for such a converter tool could be the Palm program &amp;quot;units&amp;quot; from &lt;br /&gt;
François Pessaux [http://francois.pessaux.neuf.fr/files/units1_11.tgz]. The GPL'd program comes with full documentation.&lt;br /&gt;
&lt;br /&gt;
For GPS conversions see gpsbabel [http://www.gpsbabel.org]&lt;br /&gt;
&lt;br /&gt;
===== An Postfix Notation (RPN) calculator =====&lt;br /&gt;
&lt;br /&gt;
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 they 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.&lt;br /&gt;
&lt;br /&gt;
==== Windows CE Emulator ====&lt;br /&gt;
&lt;br /&gt;
On ARM machine, Windows CE API emulator, like Wine on x86 machines. &lt;br /&gt;
&lt;br /&gt;
==== PalmOS Emulator ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
I'd like to see a Windows CE Emulator with active sync support.&lt;br /&gt;
&lt;br /&gt;
==== Chumby Emulator ====&lt;br /&gt;
&lt;br /&gt;
Would be very cool if the neo can act as a chumby. see http://chumby.com for more details about a chumby.&lt;br /&gt;
&lt;br /&gt;
==== TV Guide ====&lt;br /&gt;
Display a TV guide using [http://xmltv.org xmltv].&lt;br /&gt;
Something like [http://mtvg.sourceforge.net/ Maxemum TV-Guide] (QT)&lt;br /&gt;
&lt;br /&gt;
==== Alcohol meter ====&lt;br /&gt;
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.&lt;br /&gt;
See, for example (German text) http://www.misterio-online.de/promille.htm&lt;br /&gt;
&lt;br /&gt;
==== Interaction with LEGO Mindstorm ====&lt;br /&gt;
With the accelerometers, 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.&lt;br /&gt;
&lt;br /&gt;
==== Flashlight ====&lt;br /&gt;
Simple finger application that makes every pixel on the entire screen white to be as bright as possible until you tap the screen again to turn it off.  This way, you can use your Neo as a (short term) flashlight!&lt;br /&gt;
&lt;br /&gt;
==== Wii Controller Emulator ====&lt;br /&gt;
Use the accelerometers and buttons on screen to work as a Wii controller via Bluetooth.&lt;br /&gt;
&lt;br /&gt;
==== FUSE support ====&lt;br /&gt;
Ability to use FUSE to mount larger file systems over wireless.  (even gmailfs, sshfs, etc.)&lt;br /&gt;
&lt;br /&gt;
=== Accessibility ===&lt;br /&gt;
Accessibility features for the visually impaired.&lt;br /&gt;
* High Contrast Themes.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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. see: [[Wishlist:Speech synthesis]]&lt;br /&gt;
&lt;br /&gt;
==== VOIP ====&lt;br /&gt;
* [[Dialer]] should be able to use SIP.&lt;br /&gt;
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.&lt;br /&gt;
* A standard SIP client would probably fit better into the &amp;quot;free and open&amp;quot; philosophy.&lt;br /&gt;
* Ideally a SIP client that includes ZRTP/SRTP for secure communications.&lt;br /&gt;
(Note: Vonage will not give you your SIP credentials, so you cannot log into their network with a non-approved softphone. Other VoIP providers have different policies.)&lt;br /&gt;
&lt;br /&gt;
''This seems very similar to what [http://en.wikipedia.org/wiki/Generic_Access_Network UMA] offers.''&lt;br /&gt;
&lt;br /&gt;
Asterisk is a great communication platform that can run on small devices. I have an Asterisk server running on a Nokia 770 and I read about running Asterisk on an iPhone. With the crosscompiler available it sould be possible to compile it and run Asterisk on an openmoko phone and let it take care of almost everything on the wishlist below.&lt;br /&gt;
Edw/&lt;br /&gt;
&lt;br /&gt;
==== Power Meter ====&lt;br /&gt;
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.&lt;br /&gt;
&lt;br /&gt;
Also a rrdtool type of configurable timespan/frequency graphical overview would be very cool and usefull to some people?&lt;br /&gt;
&lt;br /&gt;
=== Accelerometer wishes ===&lt;br /&gt;
==== Flick interface ====&lt;br /&gt;
Ability to &amp;quot;flick&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Sensitivity of the scrolling should be configurable and a test option provided.&lt;br /&gt;
&lt;br /&gt;
==== Reading navigation of documents enhanced by accelerometers ====&lt;br /&gt;
If the two accelerometers in Neo1973 allows it, it will be nice if when you're reading, give a newspaper, you can move up, down, left and to the right the viewing of the document just moving the phones to the corresponding direction.&lt;br /&gt;
&lt;br /&gt;
I don't know if this is possible (haven't seen the project in detail yet) but this feature could be very attractive for final users (and this is good). (sorry for my english but i'm italian)&lt;br /&gt;
&lt;br /&gt;
==== Wand UI ====&lt;br /&gt;
In keeping with the requests to think outside of the box... the dual 3d accelerometers should enable a 'magic wand'-style UI for certain uses. Macros could be recorded and edited, or presets could be used. For example, flipping the device playfully could initiate a game mode or could signal the end of the work day.&lt;br /&gt;
==== Panning interface ====&lt;br /&gt;
Some applications display underlying data that is larger than the screen.  Typically they let you pan across the data using scroll bars.&lt;br /&gt;
&lt;br /&gt;
In cases where the data is only (say) 3 or 4 screens wide or high, it may be very intuitive to just shift the hand held device a few centimeters to the left or right, up or down to pan in that direction.  The screen would appear to be a hole into the world of the data, and you're just moving the hole to look at something else.&lt;br /&gt;
&lt;br /&gt;
When the underlying data is very large, you obviously wouldn't want to use this mechanism unaltered; you'd have to walk to the next room to see the data 100 screens away.  Instead different accelerations can be used for different panning sizes.  This is the same adaption used for accelerated mouse pointers typical on touch pads.  A quick flick moves the mouse pointer fast and far.  A slower drag over the same area on a touch pad moves the pointer slower and with more precision.&lt;br /&gt;
&lt;br /&gt;
==== Shake-to-Wake ====&lt;br /&gt;
Giving the phone a shake enables voice commands for a few seconds.&lt;br /&gt;
Usage Examples: &lt;br /&gt;
&lt;br /&gt;
* {Shake} &amp;quot;Call&amp;quot; ''ContactName'' ''PhoneType''&lt;br /&gt;
* {Shake} &amp;quot;Call John Mobile&amp;quot;  (Calls John's mobile)&lt;br /&gt;
* {Shake} ''ApplicationName''&lt;br /&gt;
* {Shake} &amp;quot;Reader&amp;quot; (Opens the e-book application)&lt;br /&gt;
&lt;br /&gt;
Would require a method of inputting voice tags for applications and contacts and obviously will only work for P2 (accelerometers)&lt;br /&gt;
But lets get voice command functionality working before P2 (just by pressing a button on the screen instead of shaking)&lt;br /&gt;
&lt;br /&gt;
I think that is possibly to replace &amp;quot;Shake&amp;quot; with double hit with finger in the side of phone. Proper algorithms(with accelerometers) should recognize any similar activities.&lt;br /&gt;
&lt;br /&gt;
==== Emergency call ====&lt;br /&gt;
When the accelerometer detects a great acceleration (i.e. 5G) start a countdown sequence, if it is not stopped make a call to a preconfigured emergency number. If the data from the GPS is accurate give it.&lt;br /&gt;
&lt;br /&gt;
A first version could use a recorded message (an audio file). In next version it could use a synthesizer, so it can give more information (add GPS information when it is ready).&lt;br /&gt;
&lt;br /&gt;
:I would worry that most such events would be false positives, and hard to distinguish from the real thing.  A user dropping their phone (an event very common in the life of any cellphone) is far more likely than a user being in a car accident with their phone, and the clatter of a cell phone on asphalt could reach 5G.  Additionally, it has to be very hard to distinguish hitting pavement from hitting a windshield, as from a physics standpoint the two are the same thing. [[User:Hashbrowncipher|Hashbrowncipher]] 02:06, 26 October 2007 (CEST)&lt;br /&gt;
::It could use the gps data to calculate the speed it is traveling with. Let's say it has been moving for more than 50 km/h for more than 10 seconds. Then it could activate the &amp;quot;emergency call if more than 5g&amp;quot; function. Aside from the countdown timer, it could increase the volume to max and warn the user that an automatic emergency call will take place in x seconds. While it is counting down it could listen for &amp;quot;Never mind, I'm fine, phone&amp;quot; and stop the countdown in case it hears that. It could also output the warning sound to the attached bluetooth headset and let the user talk to emergency services if the user is still conscious. [[User:Tommy|Tommy]] 17:48, 8 January 2008 (CET)&lt;br /&gt;
:::Perhaps have the phone yell loudly that it's about to do the emergency call for a decent amount of time, disabled by touching the screen or entering the pin number. In the case of any bluetooth device attached to the user, the phone could check to see if it's in range before calling. [[User:sin|sin]]&lt;br /&gt;
&lt;br /&gt;
==== Movement detection ====&lt;br /&gt;
By detecting that the owner is walking a user defined profile can be activated with a specific set of notification settings. For example you may wish to use a cheap old sounding ringtone so you don't attract attention from muggers. Or you may wish to have a louder ringtone if you carry your phone in a bag where it can't be so easily heard.&lt;br /&gt;
&lt;br /&gt;
==== Games ====&lt;br /&gt;
Imagine a first person shooter that you look around by turning your body.&lt;br /&gt;
&lt;br /&gt;
==== Sloshing battery indicator ====&lt;br /&gt;
Shaking the phone will produce a sloshing sound, as if  it contained a liquid. As the battery loses charge, so the sound produced on being shaken, will replicate a decreasingly empty container. [http://mobile.slashdot.org/article.pl?sid=07/11/28/1342248] for an example.&lt;br /&gt;
==== Steady screen ====&lt;br /&gt;
It may be hard to read the screen when the device is shaking from some source of vibration.  E.g.&lt;br /&gt;
* being mounted inside a vehicle&lt;br /&gt;
* during certain sports&lt;br /&gt;
* while the internal vibrator is activated (perhaps)&lt;br /&gt;
The accelerometers could be used to determine the frequency of the shaking and to make the screen appear to be steady by offsetting the contents at the same frequency in the opposite direction.  If this was handled by the graphics processor it might not even be an intensive operation or produce significant battery usage.&lt;br /&gt;
&lt;br /&gt;
At slower movements, (say just being held in an older unsteady hand) the accelerometer data could be fed directly into the screen offset.  This would allow you to compensate for unpredictable movements.  &lt;br /&gt;
&lt;br /&gt;
Such a mode would cancel out shaking, producing what would appear to be a slightly smaller but steady screen.  (Smaller because pixels at the edge of the screen may have ''any'' screen in the same location in the next fraction of the vibration).  Gross movements that move the screen to an entirely different position would not be cancelled, effectively 'panning' to keep up with the large movement.&lt;br /&gt;
&lt;br /&gt;
In situations where the hand is not experiencing the same source of vibration that the screen is, the areas of touch sensitivity should be offset at the same time as the screen.  So a steady hand touching a vibrating screen isn't interpretted by the application software as a vibrating hand.&lt;br /&gt;
&lt;br /&gt;
These features would best be implemented in the rendering and touch libraries so they could be activated for all applications.&lt;br /&gt;
&lt;br /&gt;
==== Taping as input ====&lt;br /&gt;
If I understand correctly the accelerometer should be capable to be used as a simple input. When OpenMoko is in the pocket, simple taps against the pocket should be possible to use as input. For example when there is an incoming call and the user is notified using a headset then one tap would accept the call and two concurrent taps against the pocket would cancel it. This can also be used for lot more.&lt;br /&gt;
&lt;br /&gt;
==== Others ====&lt;br /&gt;
Also see the pages[[Wishlist:Auto Align Map]], [[Wishlist:Determine Position]], [[Distance Measuring]], [[Wishlist:Computer Mouse]], [[Wishlist:Dynamic Screen Orientation]].&lt;br /&gt;
&lt;br /&gt;
=== Connectivity ===&lt;br /&gt;
&lt;br /&gt;
==== VNC ====&lt;br /&gt;
A good, stylus friendly VNC client/host combo would be easy to add and terribly useful.&lt;br /&gt;
&lt;br /&gt;
==== Networked X-Windows ====&lt;br /&gt;
&lt;br /&gt;
Whether it's running true X-Windowing over the network, or your bog-standard VNC connection as mentioned above, the ability to have your phone's screen available on your laptop or palmtop would be most desirable.&lt;br /&gt;
&lt;br /&gt;
==== NX client ====&lt;br /&gt;
&lt;br /&gt;
A form of X-windows forwarding optimized for performance over slow, or high-latency links, which could prove extremely useful. Capable of streaming a good quality, full desktop session over modem speeds. The protocol and at least one implementation is gpl'd. [http://en.wikipedia.org/wiki/NX_technology wikipedia]&lt;br /&gt;
&lt;br /&gt;
==== OpenOffice Presenter Control ====&lt;br /&gt;
&lt;br /&gt;
I Think it is a good idea to control your OO Presentation with Openmoko about WLAN or Bluetooth.&lt;br /&gt;
I think it needs some buttons to go back or forward and control the mouse to show something and take normal mouse clicks.&lt;br /&gt;
But with the mouse clicks I think that we need a short time between the clicks in example 1 second. Because when you make a mouse &lt;br /&gt;
click than to fast than you must go back.&lt;br /&gt;
&lt;br /&gt;
Some similar functionality will be implemented during SoC 08. More info at [[OpenMoko Bluetooth remote controller]]&lt;br /&gt;
&lt;br /&gt;
==== Amarok and other Media Player remote control ====&lt;br /&gt;
&lt;br /&gt;
Control Amarok or any other Media Player with OpenMoko (as a remote control). Bluetooth or WLAN could be used as protocol to send and receive the data. Maybe a WebInterface of Amarok is a start. Can be used on parties for a mobile music management.&lt;br /&gt;
&lt;br /&gt;
==== Read informations with SMS ====&lt;br /&gt;
Send a SMS with Code to the OpenMoko (from a specific number).&lt;br /&gt;
For example to send get the GPS coordinates from a stolen Neo (or if you don't know where your Neo is).&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== General Filesystem Encryption ====&lt;br /&gt;
&lt;br /&gt;
If anyone wants to get your private data saved on your OpenMoko device, he should have to get through a high security mechanism like dm-crypt. The question is how much CPU power would be needed. &lt;br /&gt;
Would it be an idea to encrypt only the private data like phone numbers, preferences, address book etc. (like /home/$USER).&lt;br /&gt;
&lt;br /&gt;
http://luks.endorphin.org&lt;br /&gt;
&lt;br /&gt;
==== My Account ====&lt;br /&gt;
{{Main|My Account}}&lt;br /&gt;
A way to securely store information about the phone, and ensure that a phone you may be considering purchasing is not stolen.&lt;br /&gt;
&lt;br /&gt;
Can we keep a serial number/user registry here on the OM wiki?  Not really secure, but something most thieves wouldn't know about.&lt;br /&gt;
&lt;br /&gt;
==== [http://zfoneproject.com/ Zfone] or similar ====&lt;br /&gt;
&lt;br /&gt;
Something that allows the user to speak with another person securely.&lt;br /&gt;
&lt;br /&gt;
==== GSM Encryption ====&lt;br /&gt;
&lt;br /&gt;
This software application would allow GSM encrypted calls to be made using the GSM Data Call Channel. &lt;br /&gt;
&lt;br /&gt;
[[OSvS]]&lt;br /&gt;
&lt;br /&gt;
==== My Voice is my Passport ====&lt;br /&gt;
Use voice recognition to unlock the phone.  &amp;quot;Hi. My name is ... My voice is my passport.  Verify me.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Firewall ====&lt;br /&gt;
A network firewall&lt;br /&gt;
&lt;br /&gt;
==== Full Mac Support ====&lt;br /&gt;
Full mac support, preferably with full software and full sync capabilities with iCal and iMail &lt;br /&gt;
&lt;br /&gt;
==== Anti Theft Application ====&lt;br /&gt;
&lt;br /&gt;
This application would enter the phone into an [[Anti-Theft Mode]] which activates particular security features to reduce the risk of theft and also to ensure a higher probability of recovery of a stolen handset.&lt;br /&gt;
&lt;br /&gt;
====RFID based personal alerts====&lt;br /&gt;
Assuming an RFID reader is available:  You'd put an RFID tag on your keys, wallet, etc and train a program on the phone to give you a soft or hard alert when one of them leaves detection range.  That way, if you're walking away from one of them, the phone could alert you.&lt;br /&gt;
&lt;br /&gt;
Actually there is a RFID reader available. Take a look at this: http://www.wdi.ca/ We only need driver for that thing. .... Well, never mind. I think it doesn't work because of the size. Anyway an interesting idea.&lt;br /&gt;
&lt;br /&gt;
====OpenVPN Client====&lt;br /&gt;
This application allows to configure the device as an OpenVPN client using the GUI including support for X.509 certificates.&lt;br /&gt;
&lt;br /&gt;
=== Integrated Help System ===&lt;br /&gt;
&lt;br /&gt;
A help system that is either on or off. It could be activated and deactivated by a [[five-second-press]] on a button, for example the AUX button. When the help system is activated, it will explain the use of any item you touch on screen (with stylus or finger). Example: if you touch the battery icon, it will explain that this shows battery level / remaining time. If you touch the date / time icon, it will explain that this icon shows date and time, and that if you press it, you can set date and time. Primarily, this help system should be able to explain all user interface elements in the main screen, but if it proves popular, it could be expanded to cover other applications as well.&lt;br /&gt;
&lt;br /&gt;
===Performance optimisation===&lt;br /&gt;
==== Use DMA engine in CPU for blitter ====&lt;br /&gt;
The DMA engine in the CPU can substantially speed up moving of large  areas of screen in some cases.&lt;br /&gt;
&lt;br /&gt;
==== Use virtual screen to optimise scrolling ====&lt;br /&gt;
In some other cases, the hardware supported virtual screen may also speed it up.&lt;br /&gt;
===Reusable Display/UI Widgets===&lt;br /&gt;
====Use BigPage for full page zoom, scroll, scale in many apps====&lt;br /&gt;
The [[BigPageWidget]] Page decribes a widget that could bring full natural page viewing, scaling, scrolling to the OM platform - allowing all applications to make intuitive UIs. A good way to read documents of any type without reformatting them massively increases the utility of a device with a small screen&lt;br /&gt;
&lt;br /&gt;
==Bluetooth==&lt;br /&gt;
&lt;br /&gt;
=== Voice Dialing ===&lt;br /&gt;
&lt;br /&gt;
Dial by voice commands.&lt;br /&gt;
&amp;lt;br&amp;gt;Dial by dictating phone number. This way we can voice dial any number even if not in our contact list.&lt;br /&gt;
&lt;br /&gt;
=== Music through Bluetooth Headset ===&lt;br /&gt;
&lt;br /&gt;
Music can be played through a Bluetooth headset, but would stop playing when a call comes in.&lt;br /&gt;
&lt;br /&gt;
=== Walkie Talkie ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Features for this applications can be:&lt;br /&gt;
* Push To Talk (PTT) button&lt;br /&gt;
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.&lt;br /&gt;
* Optionally a full duplex mode&lt;br /&gt;
* Different channels to choose from&lt;br /&gt;
* Monitor different (preselected or all) channels for traffic.&lt;br /&gt;
* Content encryption&lt;br /&gt;
* Active noise control&lt;br /&gt;
* Allow zero config use (units can talk without any access point helping)&lt;br /&gt;
* Overview of all connected people trough sending GPS data to everyone who is in the Walkie Talkie channel&lt;br /&gt;
&lt;br /&gt;
Local (non-GPRS) use cases include chatting while biking&lt;br /&gt;
or motorcycling in a group; perhaps also in a car caravan.&lt;br /&gt;
This application could also be used as a baby-phone to monitor your siblings.&lt;br /&gt;
&lt;br /&gt;
This would be more useful if the Neo had Class 1 bluetooth, though probable Wifi on P2 will also offer more range.&lt;br /&gt;
&lt;br /&gt;
(One thumbs up from me) Jackcday&lt;br /&gt;
&lt;br /&gt;
See also [[Wish_List#WiFi_Walkie_Talkie|WiFi Walkie Talkie]] and perhaps construct one application that can handle both Bleutooth and Wifi.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Sync ===&lt;br /&gt;
&lt;br /&gt;
Automatically synchronize with desktop computer (or with any [http://en.wikipedia.org/wiki/SyncML SyncML] server) when within range based on user profile.  This may require the use of a secure data transfer.&lt;br /&gt;
&lt;br /&gt;
=== GPS Assisted Bluetooth Management ===&lt;br /&gt;
&lt;br /&gt;
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.&lt;br /&gt;
&lt;br /&gt;
A Bluetooth device is configured for automatic reacquisition based on the following profiles:&lt;br /&gt;
* Manual - only when Bluetooth is on&lt;br /&gt;
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.&lt;br /&gt;
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.&lt;br /&gt;
&lt;br /&gt;
Each target device is configured as follows:&lt;br /&gt;
* Automatic acquisition at last known location: enable/disable&lt;br /&gt;
* Automatic acquisition at these locations: list of nickname + coordinates + range&lt;br /&gt;
&lt;br /&gt;
==== Non-mobile devices ====&lt;br /&gt;
&lt;br /&gt;
Examples devices include: computers&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Mobile devices ====&lt;br /&gt;
&lt;br /&gt;
Example devices include: automobiles&lt;br /&gt;
&lt;br /&gt;
Mobile devices are configured to have two types of locations:&lt;br /&gt;
# Last known location&lt;br /&gt;
# Non-mobile locations (homes)&lt;br /&gt;
&lt;br /&gt;
===== Last known location =====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===== Non-mobile locations (homes) =====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth neighbor detection and multiuser apps  ===&lt;br /&gt;
&lt;br /&gt;
Like the [http://en.wikipedia.org/wiki/One_laptop_per_child 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.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth environment detection ===&lt;br /&gt;
&lt;br /&gt;
Capability to detect when a predetermined bt device enters/leaves bt range and launch a system-wide event accordingly. This would feed not only the &amp;quot;Neighbour detection&amp;quot; idea described above, but also the &amp;quot;Profiles&amp;quot;, &amp;quot;Context based TO-DO list&amp;quot; and &amp;quot;Location-based reminders&amp;quot; ideas. Reminders could be set to trigger in the presence of a specific person X (with BT device Y). Profiles can take into account which devices are present around the phone (car kit, for ex.). To-do list could also change according to present devices.&lt;br /&gt;
&lt;br /&gt;
=== Remote control ===&lt;br /&gt;
&lt;br /&gt;
==== Wireless presenter ====&lt;br /&gt;
Use the phone to run your OpenOffice.org Impress presentation remotely using Bluetooth. Cool features: &lt;br /&gt;
* Display the text notes for the presenter on the phone's display and update it whenever the slide is changing.&lt;br /&gt;
** 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&lt;br /&gt;
* A small timer showing the time passed (and perhaps remaining if the presentation app supports such a feature). &lt;br /&gt;
* If you want to be super-cool, you give a preview of the notes of the next slide in the show. &lt;br /&gt;
* At the end of a presentation, a &amp;quot;navigator&amp;quot; could allow to easily jump to any slide in the presentation by clicking on it on the phone.&lt;br /&gt;
** When you right-click in a running OO.org Impress presentation, you can choose &amp;quot;got o slide...&amp;quot; and select any slide to jump to.&lt;br /&gt;
&lt;br /&gt;
Some similar functionality will be implemented during SoC 08. More info at [[OpenMoko Bluetooth remote controller]]&lt;br /&gt;
&lt;br /&gt;
==== Initiated from another device ====&lt;br /&gt;
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control),  camera (capture image), etc.&lt;br /&gt;
==== Directed at another device ====&lt;br /&gt;
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.&lt;br /&gt;
&lt;br /&gt;
[http://mjr.iki.fi/software/remote-0.9.0.tar.gz Remote] is my draft of a python-based remote control app that allows you to define button sets and commands to run on the local or a remote host (through ssh, for instance). Error handling and command interface need work.--[[User:Mjr|Mjr]] 11:14, 18 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth Car Connection ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Could be done with a port of [https://garage.maemo.org/projects/carman/ Carman] or similar that can connect to an OBD2 adapter via USB or Bluetooth and display various information collect from the car, GPS, and accelerometers.  --[http://wiki.openmoko.org/wiki/User:Bmk789 bmk789]&lt;br /&gt;
&lt;br /&gt;
==== Dude, Where's My Car? ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Bluetooth powered Multi-SIM support]] ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:&lt;br /&gt;
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)&lt;br /&gt;
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset&lt;br /&gt;
* Same for Short Messages/MMS/Internet&lt;br /&gt;
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.&lt;br /&gt;
Advantage: No 'switching' between cards&lt;br /&gt;
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.&lt;br /&gt;
&lt;br /&gt;
===Internet Gateway===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Social Networking ===&lt;br /&gt;
&lt;br /&gt;
Anybody running the social networking app will be broadcasting a profile, and when certain keywords are matched with other users who are also running the application, an alert is sounded. Each mokoid can be added as a hexstring to a profile page, and xml filters can be developed for each social service to convert various keywords and interests to moko-friendly format.&lt;br /&gt;
&lt;br /&gt;
=== Give userspace api control over bluetooth signal strength ===&lt;br /&gt;
&lt;br /&gt;
I have tried bluetooth handsfree sets with other phones and don't get perfect reception due to low signal strength. I suppose the reason the signal is so weak is because the manufacturer wants the battery to last long on its latest charge. Can you please make the strength setting configurable by the user of the phone through an api and perhaps even through the phones gui? I would gladly waste some battery time in exchange for stronger bluetooth signal strength.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WiFi ==&lt;br /&gt;
&lt;br /&gt;
=== Industrial grade Wifi management ===&lt;br /&gt;
One annoyance I've had with Wifi enabled gadgets is that they simply keep the connections in a dumb list. What I'd like to see is more granular connection management, which enables me to specify whether a given connection is friend &amp;amp; family (mom's place), professional client (joe's copies and coffee), commercially available (panera), onetime use, or anything else, as well as managing router config backups, firmware images, and security keys.&lt;br /&gt;
&lt;br /&gt;
: [[User:lally|Lally]] 13:01 12 May 2008 (EST) -- Profiles of connections.  Mac OS (9 &amp;amp; X) have 'Locations', which do exactly that.  A UI for setting up/choosing them is nice, plus maybe some GPS-driven autoselection.&lt;br /&gt;
&lt;br /&gt;
=== Captive portal auto-login support ===&lt;br /&gt;
Having a nice front-end to some sort of script that checks the authenticity of a captive portal login page (SSL cert), then passes your username and password login information to automatically log you into your account would be very nice as well. This can be done with curl, but it is difficult to make it work on all captive portals out there. Perhaps just a field that you can specify &amp;quot;once I am connected to this AP, run this script: &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Walkie Talkie ===&lt;br /&gt;
Provide walktie talkie functionality like http://www.domain17.net/walkietalkie/index.html See also [[Wish_List#Walkie_Talkie|Bluetooth Walkie Talkie]] and perhaps construct one application that can handle both Bleutooth and Wifi.&lt;br /&gt;
&lt;br /&gt;
== Wireless Piggyback ==&lt;br /&gt;
&lt;br /&gt;
HSDPA support and the like, so that users can connect directly with the internet with G3/G4 mobile service providers at speeds at or above 3.6 Mb/s.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
=== Auto Update ===&lt;br /&gt;
&lt;br /&gt;
A small tool which is configurable to download the latest OpenMoko and OpenMoko related software. Maybe if any internet connection is available or a minimum of bandwith is available then the auto update would download only security related or the whole system etc. .&lt;br /&gt;
&lt;br /&gt;
=== Vibrate Pattern Recorder ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Record&amp;quot; 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 &amp;quot;Stop&amp;quot; when finished.  Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).&lt;br /&gt;
&lt;br /&gt;
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a &amp;quot;time-slice&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
- or just use MIDI, using a separate channel for the vibrator.&lt;br /&gt;
&lt;br /&gt;
An implementation of RTTL could also be used to define vibration patterns.&lt;br /&gt;
&lt;br /&gt;
=== PC Input Device ===&lt;br /&gt;
&lt;br /&gt;
Provide a method to use the touchscreen as input device for a nearby desktop machine.  Could connect over USB or bluetooth.&lt;br /&gt;
&lt;br /&gt;
Could emulate a pointer device (mouse) or even keyboard using standard bluetooth/USB interfaces for such a device.&lt;br /&gt;
&lt;br /&gt;
Use case: Alice is lazing on a couch and doesn't want to get up to do some minor interaction with the computer.  She can see the screen and uses the OpenMoko device as a mouse and/or keyboard to interact with the computer.&lt;br /&gt;
&lt;br /&gt;
=== Advanced Notification And Ringtone Manager ===&lt;br /&gt;
{{Main|Wishlist-ANARM}}&lt;br /&gt;
&lt;br /&gt;
ANARM would be an application for handling all event-based audible notifications from an OpenMoko device.&lt;br /&gt;
&lt;br /&gt;
=== Location based reminders ===&lt;br /&gt;
{{Main|Wishlist:Location_based_reminders}}&lt;br /&gt;
Location based reminders can be used to notify users of various events or reminders that are location based.&lt;br /&gt;
&lt;br /&gt;
=== Synergy Client ===&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
=== Next device ===&lt;br /&gt;
List features for your fantasy device to come from FIC (or anyone else, for that matter).  Define the GTA03 here ;-)&lt;br /&gt;
&lt;br /&gt;
==== There is no device ====&lt;br /&gt;
From [http://wurp.blogspot.com/2008/01/teh-future.html Wurp's blog]:&lt;br /&gt;
&lt;br /&gt;
Clearly the Next Big Thing has to be for the device to go away altogether. I know the basic idea for wearables has been around forever, but it seems to me that the time has come.&lt;br /&gt;
&lt;br /&gt;
I wanna wear a bluetooth earpiece and cool shades, possibly with [ here's where my imagination is failing me :-( ] gloves, or fingerless gloves, or (ew) wristbands, and let any surface, including my hand, or no surface, be my interface. Tap the earpiece when you get a phone call, see a dial pad on your palm and tap out the number with the other hand, watch movies on a giant screen hovering in the air...&lt;br /&gt;
&lt;br /&gt;
(equipment list: bluetooth earpiece, some brick in my pocket or on my belt, glasses w/ minute camera, painted video display, &amp;amp; variable darkness lenses, and gloves)&lt;br /&gt;
&lt;br /&gt;
Why the hell do I want to dig out a device every time I want mindless entertainment or superficial conversation?&lt;br /&gt;
&lt;br /&gt;
Ideally, you could then sell any little doohickey with whatever interface you want (switches, knobs, g-spots, ...) and all it needs to do is network with some software on the brick to be anything at all...&lt;br /&gt;
&lt;br /&gt;
A rubberized shell, like some of the other new phones.  Helps me not drop it, especially when drunken wardriving. [anon ;-)]&lt;br /&gt;
&lt;br /&gt;
== GPS Software ==&lt;br /&gt;
[[Image:Cheap_gps.png|right|300px|From xkcd.com :-)]]&lt;br /&gt;
*Providing GPS Support also for outdoor users in addition to ordinary street navigation features&lt;br /&gt;
** Overlay of satellite images with existing streetmaps&lt;br /&gt;
** 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/)&lt;br /&gt;
** Using sth like a tracking mode to allow certain people to determine the current position and track (for rescue missions - like they have for example at http://www.steiger-stiftung.de (a German beneficence for rescue issues) There you can register your mobile phone so the rescue service is able to track you immediately if necessary. The interesting thing: It seems like some mobile phones with GPS have special support for this issue. If your phone is registered, the rescue service is able to get your GPS coordinates directly from the phone without any user assistance. Openmoko should also support this! )&lt;br /&gt;
* Implementation of 3dTracking's (http://free.3dtracking.net/) tracking software or equivalent.&lt;br /&gt;
* &amp;quot;Geomark&amp;quot; function: if you have to save the current time with your current location, only hit one button...&lt;br /&gt;
** You also should be able to navigate with a small &amp;quot;compass&amp;quot; and the distance should be displayed to your saved point (maybe where you parked your car on a big car parking area)...&lt;br /&gt;
* '''Measure the distance between two points (air line or walked way) -&amp;gt; no need for a tape measure'''&lt;br /&gt;
**I think it would be good if you could either use Bluetooth, GPRS or AdHoc Wifi, and see near Neo1972 on the GPS map so you could see where your friends are, e.g &amp;quot;You want to know if you friend is on the bus behind&amp;quot; You would need a strong wifi and GPRS would be too expensive.&lt;br /&gt;
*A bicycle sat-nav would be cool, speciayl designed for bicycles, e.g. cycle routes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Community Based Traffic Information]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Main|Wish List - Hardware}}&lt;br /&gt;
&lt;br /&gt;
It could be use for beepway Online service too &lt;br /&gt;
[http://www.beepway.com]&lt;br /&gt;
&lt;br /&gt;
=== Dedicated Power / Charger Pinout ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The main question is just deciding on where to take power from 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Hmm... a separate power adapter would have really come in handy right now&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
I suggest a tiny 3mm, dedicated +5V power input (something a la Nokia).&lt;br /&gt;
&lt;br /&gt;
=== Inductive charging ===&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Inductive_charging Inductive charging] is the sort of charging where you place the device in a cradle, and a coil in the cradle induces a current in a coil inside the device, allowing it to recharge without wires. This should eliminate proprietary power connections.&lt;br /&gt;
&lt;br /&gt;
=== Tactile feedback via buzzer ===&lt;br /&gt;
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.&lt;br /&gt;
: 25 ms bump on the buzzer feels about right.  Does this harm the vibrator motor? --[[User:Sagacis|Sagacis]] 05:15, 2 October 2007 (CEST)&lt;br /&gt;
:: Created a patch to do this [[User:Sagacis/ForceFeedback]] --[[User:Sagacis|Sagacis]] 05:05, 3 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
=== Detachable keyboard ===&lt;br /&gt;
Hardware keyboard that can be attached with magnets to a future version of the Neo.&lt;br /&gt;
&lt;br /&gt;
A bluetooth mini-qwerty keyboard that straps to my wrist!&lt;br /&gt;
&lt;br /&gt;
: A BT keyboard would be nice, but do you need openmoko to provide it? [[http://www.intomobile.com/2007/11/07/targus-bluetooth-mobile-tumbpad-when-the-tiny-keyboard-on-your-smartphone-just-doesnt-cut-it.html Targus bluetooth keyboard]]&lt;br /&gt;
&lt;br /&gt;
=== SD Card Slot ===&lt;br /&gt;
I think the Neo1973 should have a normal SD card slot as the micro is too small, and the SDs have more space. [unknown author]&lt;br /&gt;
&lt;br /&gt;
SD Cards now support 32GB. Their storage density will always be multiples ahead of microSD (now at only 2GB). An SD Card slot will:&lt;br /&gt;
* Provide enough storage to '''turn an OpenMoko into a music (MP3) jukebox''' large enough for entire music collections, like an iPod with Bluetooth for the car.&lt;br /&gt;
* Enable '''storage''' of:&lt;br /&gt;
** podcasts, full-length movies, or large photo collections&lt;br /&gt;
** photo and video from an on-board high-res camera&lt;br /&gt;
** entire email database at your fingertips, even in poor phone signal areas&lt;br /&gt;
** more detailed maps and charts&lt;br /&gt;
** encrypted work databases that are not available online&lt;br /&gt;
* Have easy '''external access''', without requiring battery removal like the microSD card&lt;br /&gt;
* Support '''SDIO''' accessories&lt;br /&gt;
* Enable '''transfer''' of data from an external camera's full SD memory to:&lt;br /&gt;
** a portable USB hard drive, offsetting the need to travel with a notebook PC&lt;br /&gt;
** the internet, via wifi or phone network&lt;br /&gt;
* Enable editing of videos and photos obtained from external cameras&lt;br /&gt;
&lt;br /&gt;
Without an easily accessible higher storage SD Card slot, many users will soon be playing the juggling game of which data to delete from the much smaller and harder to swap microSD card. This is especially true for OpenMoko users, who are more likely to be power users than is the average mobile phone carrying population. Why carry an OpenMoko and an iPod, when you can simply add an SD Card slot?&lt;br /&gt;
--[[User:Pedro|Pedro]] 20:06, 17 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
: This is not true. Now you can find 2GB micros at the price of 20-30 euros. Too small for what?? --[[User:V0n0|V0n0]] 22:06, 28 December 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
: Think of putting a few '''movies''' on that SD memory card. It could really help if it was a little bigger (8GB, 16GB, 32GB). Also think of going '''offline''' for 1-2 weeks, far away from any computer you can access and then wanting to listen to some music. What you get in turn with a 2 GB memory slot is the same music over and over. Or you have to switch memory a cards a lot.&lt;br /&gt;
&lt;br /&gt;
: This situation is far more common than one would think: going in the mountains, going offshore (on a cruise ship). Or simply you may want to store many types of music, and '''share''' your device with friends. --[[User:Bogdanbiv|Bogdanbiv]] 13:47, 10 January 2008 (EEST)&lt;br /&gt;
&lt;br /&gt;
: Well, it can be micro SD, but why to put it so deep inside, under the battery and even under the SIM card? I would suggest to have a simple slot on the side where we could insert/remove the SD card equally easily as we swap CD's in computer. [[User:AudriusA|AudriusA]] 16:36, 12 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
[[User:Cfriedt|Cfriedt]] 12:40, 24 February 2008 (CET) -- I completely agree with a more accessible SD card slot. It should be made external for quick removal / insertion. I realize that would mean program data shouldn't reside on the SD, but really 256 MB of on-board flash is plenty. Micro or normally-sized, a regular-sized SD is still trivial to implement in terms of solder pads and traces.&lt;br /&gt;
&lt;br /&gt;
: Sorry, but this looks like useless chat. Micro-SD cards are perfect for mobile devices as they don't get too much space on the pcb. Also, we can find micro-sd up to 8gb, if you want more space just wait a while and they'll produce a bigger one in a few months :-p. Really, almost every single phone that has a sd slot has in its micro version, why would we need a full-sized, huge normal sd slot ? It gets too much space on the pcb it's not only about sw configuration or pin soldering, it's more regarding pcb layout.&lt;br /&gt;
&lt;br /&gt;
: What about something like this adapter[http://linitx.com/viewproduct.php?prodid=11922]? Is there any place in the case left to put this into? Nevertheless there is a 12GB microSD card announced from SanDisk and a 8GB card costs about 40€ or 15€ for 4GB. (But a 8GB SD card costs only about 25€) --[[user:kelvan|Kelvan]]&lt;br /&gt;
&lt;br /&gt;
: Maybe just an additional microSD that is easily accessible and hot-swappable. I imagine replacing the huge lanyard hole could help with this. --[[User:Sin|Sin]] 02:30, 4 May 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
: My thoughts exactly.  Two slots: 1 internal microSD for our storage, and a second external one for more immediate expansion.  My thoughts are more towards hardware expansion.  For example, some of us could put in a second wifi card that does have promiscuous mode.  External VGA connections, etc would also be possible.  The external slot should be chosen by availability of hardware expansions as well as memory availability/price.  --[[User:lally|Lally]] 13:01 12 May 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
=== IR port ===&lt;br /&gt;
Remote control applications&lt;br /&gt;
&lt;br /&gt;
Would be great to use openmoko as a Harmony remote controller.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
[[Category:User]]&lt;br /&gt;
[[Category:Ideas| ]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Wish_List</id>
		<title>Wish List</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Wish_List"/>
				<updated>2008-05-12T17:33:31Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Next device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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 [[:Category:Ideas|that have a category of 'Ideas']].&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Painless SDK installation &amp;amp; Setup ===&lt;br /&gt;
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]&lt;br /&gt;
&lt;br /&gt;
* one command for installation (apt-get install openmoko)&lt;br /&gt;
* one command to start Xnest (openmoko-xephyr?)&lt;br /&gt;
* one command to start an i386 shell (openmoko-386-shell)&lt;br /&gt;
* one command to start an armel shell (openmoko-armel-shell)&lt;br /&gt;
&lt;br /&gt;
No extra configuration required.&lt;br /&gt;
&lt;br /&gt;
==== IDE Plugins ====&lt;br /&gt;
People like to see plugins for&lt;br /&gt;
* [http://anjuta.sourceforge.net Anjuta]&lt;br /&gt;
* [http://www.eclipse.org Eclipse] (some things are possible - see [[Development with Eclipse]].&lt;br /&gt;
* [http://www.netbeans.org NetBeans]&lt;br /&gt;
* Game engine - Game Creation plugins&lt;br /&gt;
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]&lt;br /&gt;
* [http://www.kdevelop.org KDevelop]&lt;br /&gt;
* [http://developer.apple.com/tools/xcode/ XCode]&lt;br /&gt;
* [http://www.monodevelop.com MonoDevelop]&lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]&lt;br /&gt;
&lt;br /&gt;
==== UI Designer ====&lt;br /&gt;
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]&lt;br /&gt;
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Built-in Scripting Language ====&lt;br /&gt;
{{Main|Wishlist:BuiltInScriptingLanguage}}&lt;br /&gt;
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.&lt;br /&gt;
==== Easy build of the existing autotools - based packages ====&lt;br /&gt;
In the ideal case OpenMoko should exist on the top of the usual ./configure - make workflow which is typical for the majority of the C/C++ based open source projects. It should not require to rewrite or even replace the existing Makefile.am files of the project being ported, and it should allow to pass the needed parameters to the project configure script. Maybe OpenMoko project could be a bigger project having one or more (if some are libraries) autotools - based packages in its separate folders and include the proper documentation how to &amp;quot;wire&amp;quot; the standard autotools based package to the OpenMoko infrastructure.&lt;br /&gt;
&lt;br /&gt;
===Foreign Widget Set Bindings ===&lt;br /&gt;
==== Qt Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Maemo Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
==== SDL Integration ====&lt;br /&gt;
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.&lt;br /&gt;
&lt;br /&gt;
==== Cocoa / GNUstep ====&lt;br /&gt;
Allows to use MacOS X as a development platform.&lt;br /&gt;
&lt;br /&gt;
=== Software: Language bindings ===&lt;br /&gt;
==== Python bindings ====&lt;br /&gt;
Python bindings seem to be a commonly requested feature.  &lt;br /&gt;
&lt;br /&gt;
[[User:Mickey]] says, &amp;quot;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 &amp;quot;just&amp;quot; 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.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== C++ bindings ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Ruby bindings ====&lt;br /&gt;
Ruby and ruby-(gtk|glade) already ported to OpenMoko according to [http://lists.openmoko.org/pipermail/openmoko-apps/2007-May/000040.html this ] and [http://groups.google.de/group/comp.lang.ruby/browse_thread/thread/6bee9970cf055504 this] mesages. It just have to be included to distribution (only 4.9 MB!)&lt;br /&gt;
&lt;br /&gt;
==== Java bindings ====&lt;br /&gt;
People who concentrate on Java programming would like to have the OpenMoko port of some java virtual machine. GNU Classpath team a lot of great work in the past creating easily portable implementation. Sun's recently open sourced code could also be ported. &lt;br /&gt;
==== Other bindings ====&lt;br /&gt;
* Perl&lt;br /&gt;
* C#&lt;br /&gt;
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings&lt;br /&gt;
&lt;br /&gt;
== Community Support ==&lt;br /&gt;
&lt;br /&gt;
=== [http://projects.openmoko.org projects.openmoko.org] ===&lt;br /&gt;
Infrastructure for developers with&lt;br /&gt;
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)&lt;br /&gt;
* One mailing list for project&lt;br /&gt;
&lt;br /&gt;
== Platform ==&lt;br /&gt;
=== Community Images ===&lt;br /&gt;
In the future there could be complete, unofficial &amp;quot;product images&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
=== Wishlist voting ===&lt;br /&gt;
There could be a kind of voting system like they have at one of those big computer manufacturers homepage. Then the community could vote for the ideas that are most important to them. This would especially make sense for the hardware wishlist, because the hardware is still the part which can't be done by the community that easily.&lt;br /&gt;
&lt;br /&gt;
Here: [http://www.fevote.com/openmoko OpenMoko suggestion board]&lt;br /&gt;
&lt;br /&gt;
== Software: Additional features ==&lt;br /&gt;
&lt;br /&gt;
===PDA Mode===&lt;br /&gt;
&lt;br /&gt;
There are times when you wish to power up the device and not power up the gsm/cellphone portion of the phone. For example in meetings you might wish to access the PDA side with wifi as is the case for example on an aircraft.  On booting some method of booting to pda mode would be good - several other phones offer this feature.&lt;br /&gt;
&lt;br /&gt;
===Driving Mode===&lt;br /&gt;
&lt;br /&gt;
It may be forbidden in many countries, but many people use their cell phones while driving. With the touchscreen phones&lt;br /&gt;
this is very dangerous: You have to stare at the tiny numbers on the screen and try to hit them with your thumb or try to decipher tiny script of contacts, while steering with the other hand. There should be a configurable driving mode where the interface has a reduced functionality (e.g. only contacts and dialing) with HUGE interface buttons that are easy to use with limited attention.&lt;br /&gt;
&lt;br /&gt;
===Calling===&lt;br /&gt;
&lt;br /&gt;
==== Mask ID based on dialed numbers ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Use calling cards and similar routing techniques for lower-cost calling ====&lt;br /&gt;
Many people use calling cards, low-cost numbers and similar ways of reducing the costs of their calls.  It would be nice to have a single panel that would allow you to configure the rules of dialing a number taking in to account such systems.&lt;br /&gt;
&lt;br /&gt;
==== Outgoing black/white lists ====&lt;br /&gt;
The ability to allow or deny outoging calls to certain numbers can be useful in a number of situations (e.g. the holder of the 'phone is a child, untrusted, etc.).  This could be related to entries in the contact list, for example a user is only allowed to call people who are in their contact list.&lt;br /&gt;
&lt;br /&gt;
Also lists for incoming calls? Some friends always come through, unknown numbers get rejected automatically.&lt;br /&gt;
&lt;br /&gt;
==== Time-based blocking/unblocking of calls ====&lt;br /&gt;
Allowing or disallowing outgoing calls at certain times of the day could be useful, e.g. blocking a business phone from making calls outside of business hours.&lt;br /&gt;
&lt;br /&gt;
====Speaker-phone====&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
====Advanced Airtime Tracking====&lt;br /&gt;
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.&lt;br /&gt;
On (at least some) prepaid [http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data USSD] can be used to check current balance.&lt;br /&gt;
&lt;br /&gt;
* Call duration should consider billing increments and show the durations according to accounting period&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Anti-stutter software ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Minimize In-Call mode (check address book while in call)====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Similar request when using the browser (lookup passwords, todo list, etc).&lt;br /&gt;
&lt;br /&gt;
====Hold Music (Ringback Tone)====&lt;br /&gt;
On some cellphone networks you can pay to change the normal [http://en.wikipedia.org/wiki/Ringback_tone Ringback Tone] that the caller hears when ringing, to a customised sound.&lt;br /&gt;
This can partially be implemented on the phone.&lt;br /&gt;
Issues are:&lt;br /&gt;
*In countries where callers pay, this will make you unpopular.&lt;br /&gt;
*In countries where the called party pays, it will use your minutes, or cost you money.&lt;br /&gt;
**A list of people to activate this function for would alleviate this.&lt;br /&gt;
*[[GPRS]] internet connection will stall while the hold music is being played.&lt;br /&gt;
*Extra battery used when playing music.&lt;br /&gt;
&lt;br /&gt;
Also see [[Answering Machine]].&lt;br /&gt;
&lt;br /&gt;
====Play sound clips over the air====&lt;br /&gt;
Dialer could have a tab with big buttons which, when push, send sound clips 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&amp;amp;_j=questiondetails&amp;amp;_i=104&lt;br /&gt;
The buttons can have default sounds, but also have the ability to be customized.&lt;br /&gt;
&lt;br /&gt;
It would also be useful for notifying people why you can't talk (for example, having an &amp;quot;I can't talk tight now - I'm in the library - this is a pre-recorded message&amp;quot; would be good. Also perhaps you could loop a pre-recorded sound in the background so you can lie about where you are, and have the ability to simulate a really bad connection.&lt;br /&gt;
&lt;br /&gt;
==== DTMF Landline Dialing ====&lt;br /&gt;
The ability to hold the Neo near the microphone of a landline handset and have the Neo dial the landline by sounding DTMF tones. The DTMF tones could be generated in software or be pre-recorded files.&lt;br /&gt;
&lt;br /&gt;
Graphically this could be done by adding a 'DTFM dial' button to a context menu. The user would select a contact then presses the 'DTMF dial' button to start the process. A small delay could also be added to allow time to put the Neo near the landline handset.&lt;br /&gt;
&lt;br /&gt;
For the Neo to know which area code to use (or not use) the current or last GPS coordinates could be utilised.&lt;br /&gt;
&lt;br /&gt;
==== Conversation Recorder ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Unlicensed Mobile Access (UMA)====&lt;br /&gt;
T-Mobile recently rolled out a UMA service that hands off calls between the GSM network and WiFi access points. Only a few phones support it right now, this could be a rather unique feature if OpenMoko can implement it.&lt;br /&gt;
&lt;br /&gt;
This can be combined with a GPS map to show where local free hubs are.&lt;br /&gt;
&lt;br /&gt;
==== Ignore-Call Button ====&lt;br /&gt;
{{Main|Wishlist:Ignore Call Button}}&lt;br /&gt;
&lt;br /&gt;
Shut up a ringing phone, without accepting or rejecting the call.&lt;br /&gt;
&lt;br /&gt;
Another alternative might be to use microphone to recognize when the user gives an audible &amp;quot;Shhh!&amp;quot; command.  This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises. &lt;br /&gt;
&lt;br /&gt;
A really usable feature is to &amp;quot;reject with SMS/text message&amp;quot; - letting the user reply the caller choosing a previously setup template or typical response: &amp;quot;I'm in a meeting - I'll call you later&amp;quot; or &amp;quot;Can't take your call now, please call back in 10 minutes&amp;quot;. This feature typically is a much better way to get your co-workers (ie boss) to back off, than to silently ignore the call.&lt;br /&gt;
&lt;br /&gt;
The accelerometers could be queried while the phone is ringing to detect a firm tap on the phone. This would avoid the delays of fumbling to remove the phone from one's pocket to silence the ringer when you've forgotten to set it to silent mode. Just firmly tap the phone through your pocket, and the ringer will silence, like some Motorola pagers. Maybe single tap = silence; double tap = (activate voicemail or preset SMS).&lt;br /&gt;
&lt;br /&gt;
==== Voice Mailbox ====&lt;br /&gt;
{{Main|Voice Mailbox}}&lt;br /&gt;
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.&lt;br /&gt;
Can act profile-dependent.&lt;br /&gt;
&lt;br /&gt;
==== Hold Button ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Unanswered Call, Fast Call ====&lt;br /&gt;
&lt;br /&gt;
In Greece because of the various bill programs some people call a mobile phone, rings one time and then hangup.&lt;br /&gt;
Then the user of the mobile phone calls the other user(using the CallerID recognition).&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
==== Ambient Noise Detection ====&lt;br /&gt;
{{Main|Wishlist:Software:Ambient Noise Detection}}&lt;br /&gt;
&lt;br /&gt;
Using the microphone to detect ambient noise the ringtone volume could be adjusted automatically.&lt;br /&gt;
&lt;br /&gt;
If the ambient noise exceeds a preset threshold, the ring vibrator could be activated. This is good for when people forget to enable vibrate mode when entering noisy environments.&lt;br /&gt;
&lt;br /&gt;
Detection of ambient noise could also be used to subtract the noise from the audio signal. However this approach is best performed using two Microphones, one for the voice and the other to detect the noise.&lt;br /&gt;
&lt;br /&gt;
==== Active noise control ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Hear Impaired Mode ====&lt;br /&gt;
&lt;br /&gt;
Hearing impaired people need louder speaker(but with less volume than hands free) and equalized sound, based on their hearing problems(example 20dB hearing loss from 2KHz to 4KHz).&lt;br /&gt;
Older people 50+ years old need slower speech rate(time stretch, cut the big speech gups) and cleaner voice.&lt;br /&gt;
&lt;br /&gt;
Please note also the Hearing Aid Compatibility regulations in the US. I have tried to summarize and clarify them [http://quux.wiki.zoho.com/WhereAreHACphones.html here]. I haven't yet discovered whether the FIC device is M or T rated. For many hearing impaired users, a tcoil coupling to their hearing aid (t3/T4 rating) would be preferable to manipulating sound output in other ways.&lt;br /&gt;
&lt;br /&gt;
==== Mute Button ====&lt;br /&gt;
&lt;br /&gt;
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Web Browser===&lt;br /&gt;
&lt;br /&gt;
==== Full-page Zoom Support ====&lt;br /&gt;
Full page zoom is a very good feature. If possible, people would want to browse the internet with normal layout than a distorted one. It's best if I could double-tap a text or image block and zoom to a fit size.&lt;br /&gt;
&lt;br /&gt;
The [[BigPageWidget]] proposal suggests 'Full Page Zoom' should be implemented as a widget available to all applications.&lt;br /&gt;
&lt;br /&gt;
* If the processor and memory could afford, it is good to just use [http://www.mozilla.org/projects/firefox/3.0a8/releasenotes/ Firefox 3] in OpenMoko. It has implemented latest gecko's full-page-zoom ability. With certain modification, we could do the same zoom like iPhone's Safari.&lt;br /&gt;
* Firefox 3 may be a big eater. A cut-down version of it may be good enough.&lt;br /&gt;
* If this is not practical, Minimo with full-page-zoom ability is good.&lt;br /&gt;
&lt;br /&gt;
==== Plugins Support ====&lt;br /&gt;
* While an extensive browser plugin system would be costly to the efficacy of the platform four 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].&lt;br /&gt;
* 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.&lt;br /&gt;
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.&lt;br /&gt;
&lt;br /&gt;
==== Widget support ====&lt;br /&gt;
Built-in browser with the ability to install widget shortcuts (aka links) in the main phone menu, also some apis for interfacing with the other functionality of the phone like adding contacts, reading contacts, reading gps-psoition etc.. (maybe there is some defacto widget standard that could be used)&lt;br /&gt;
&lt;br /&gt;
There is a [http://www.w3.org/TR/widgets/ W3C spec] being developed, which may not be exactly what the original proposal had in mind, but it is about writing simple applications with HTML, SVG and JavaScript. It is mainly Opera's work, and while most [http://widgets.opera.com/ developed widgets are not very useful], there are some that are, and it creates a very nice development platform, especially for mobile devices. So, I think it makes an awful lot of sense for OpenMoko to support this spec.&lt;br /&gt;
&lt;br /&gt;
===Media===&lt;br /&gt;
====Music/Video Software====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
It would also be nice to have some kind of &amp;quot;announce your musical taste&amp;quot; mode. This could be implemented using last.fm profiles, such that when e.g. in a crowded place a user nearby has a similar musical taste, both users get notified so they can share their music files with each other (perhaps using a photo for id). Great for discovering new music - and making friends!&lt;br /&gt;
&lt;br /&gt;
- Possible copyright issues sharing music files?&lt;br /&gt;
&lt;br /&gt;
Sure, but that's the user's concern, not the developer's. There's no way for us to know which audio files the user is permitted/not permitted to share.&lt;br /&gt;
&lt;br /&gt;
==== Reading Support ====&lt;br /&gt;
It would be really great to be able to read :&lt;br /&gt;
&lt;br /&gt;
*PDF&lt;br /&gt;
*Open Document files&lt;br /&gt;
*Text / RTF files&lt;br /&gt;
*fb2 files (fbreader)&lt;br /&gt;
*MS Office files&lt;br /&gt;
*Aportis Doc (pdb)&lt;br /&gt;
*DjVu&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
In both landscape and portrait&lt;br /&gt;
&lt;br /&gt;
==== Wikipedia Mirror ====&lt;br /&gt;
{{Main|Wishlist:Wikipedia_Mirror}}&lt;br /&gt;
&lt;br /&gt;
==== Blog ScribblePad ====&lt;br /&gt;
&lt;br /&gt;
Draw an image (and maybe add some text), then post to your blog.&lt;br /&gt;
&lt;br /&gt;
==== E-Book Reader ====&lt;br /&gt;
* 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 (see the [[BigPageWidget]] proposal). 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.&lt;br /&gt;
&lt;br /&gt;
==== Personal Wiki ====&lt;br /&gt;
{{Main|Wishlist:PersonalWiki}}&lt;br /&gt;
&lt;br /&gt;
Display the notes database as a Wiki.  Inspiration:  [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki].&lt;br /&gt;
&lt;br /&gt;
[http://www.didiwiki.org/ Didiwiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Dictionary, thesaurus, translator and flashcards ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Dictionary'''&lt;br /&gt;
Something like [http://www-user.tu-chemnitz.de/~fri/ding/ ding]:&lt;br /&gt;
&lt;br /&gt;
advantages:&lt;br /&gt;
* small&lt;br /&gt;
* very efficient + useful&lt;br /&gt;
* only limited to really needed functions&lt;br /&gt;
&lt;br /&gt;
Support for vocabulary training with flashcard system (also usable for other content than foreign language words!)&lt;br /&gt;
&lt;br /&gt;
==== Flickr uploader ====&lt;br /&gt;
A simply, drag &amp;amp; drop uploader, tagger and organizer to upload images on phone to [http://flickr.com Flickr], with support for various languages. A good base could be the cross-platform uploader [http://juploadr.org/ jUploadr], written in Java and working on Windows, Mac and Linux. But, most of all, the best '''GPL''' program which actually do this work is '''[http://mobilepushr.jottit.com/ Mobile Pushr]''', written in C and Cocoa for iPhone, must be probably ported in python to work on OpenMoko.&lt;br /&gt;
&lt;br /&gt;
===PIM (Personal Information Managment)===&lt;br /&gt;
====Context Sensitivity====&lt;br /&gt;
Any email or sms message or application that contains a telephone number should be click to dial, eg [http://123567890 1234567890]. Addresses link to mapping software too?&lt;br /&gt;
&lt;br /&gt;
==== Notes ====&lt;br /&gt;
&lt;br /&gt;
Something for taking notes would be a nice feature:&lt;br /&gt;
[http://www.gnome.org/projects/tomboy/ Tomboy] has some nice syncing features and is gtk based.&lt;br /&gt;
&lt;br /&gt;
Some Screenshots are [http://www.gnome.org/projects/tomboy/images/ here].&lt;br /&gt;
&lt;br /&gt;
==== Calendar ====&lt;br /&gt;
&lt;br /&gt;
A nice calendar application should be implemented in OpenMoko. This tool should have a syncing feature with your desktop computer.&lt;br /&gt;
The tool should have a reminder feature and other features like other mobile phones already have.&lt;br /&gt;
&lt;br /&gt;
I think synchronization sould be handled by computer with opensync+syncml based tool, not by calendar itself. --[[User:Antono|Antono]] 12:25, 7 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
* If this cellphone is thought also as a PDA, of course it needs a calendar. But I would like to see something better than just a calendar, I was thinking that there could be some application using &amp;quot;fisheye&amp;quot; view. Just like [http://www.cs.umd.edu/hcil/datelens/], though that example seem a bit chaotic. --[[User:Yprum|Yprum]] 22:27, 21 February 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
==== Address Book ====&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
servers or whatever.&lt;br /&gt;
* Also the possibility to search all info on the contact, like number, email, postal address and so on, in case someone asks you to identify a known number.&lt;br /&gt;
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)'  This could also be done&lt;br /&gt;
by integrating with whatever on-phone GPS mapping software the Neo ends up using.&lt;br /&gt;
* Random text input 'notes' about a contact&lt;br /&gt;
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's&lt;br /&gt;
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant&lt;br /&gt;
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account&lt;br /&gt;
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.&lt;br /&gt;
* Support for:&lt;br /&gt;
**[http://en.wikipedia.org/wiki/SyncML SyncML]&lt;br /&gt;
**[http://abook.sourceforge.net/ abook] a text-based addressbook program&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book&lt;br /&gt;
**[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).&lt;br /&gt;
*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. Should also be able to create an address book entry from a Bluetooth ID. Could be used as a nice tool to detect people who you're avoiding.&lt;br /&gt;
* Support for family relations (explained further on the [[Talk:Wish_List#Address_book:_Support_for_family_relations|talk page]]).&lt;br /&gt;
&lt;br /&gt;
==== Database/List Display/Edit ====&lt;br /&gt;
{{Main|Wishlist:PilotDB}}&lt;br /&gt;
&lt;br /&gt;
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db].  It's GPL'd.&lt;br /&gt;
&lt;br /&gt;
==== To-Do lists ====&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* I would like to be able update my [http://todotxt.com/ todo.txt] which is stored on a personal server from the phone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Context based To-Do list ====&lt;br /&gt;
{{Main|Wishlist:context based to-do list}}&lt;br /&gt;
&lt;br /&gt;
If I arrive home and there are &amp;quot;@home&amp;quot; things in the to-do list, the Context based to-do list reminds me of that.&lt;br /&gt;
&lt;br /&gt;
==== Workout ====&lt;br /&gt;
&lt;br /&gt;
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.&lt;br /&gt;
&lt;br /&gt;
==== Shopping List ====&lt;br /&gt;
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.&lt;br /&gt;
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.&lt;br /&gt;
&lt;br /&gt;
==== [[Fuel Log]] ====&lt;br /&gt;
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).&lt;br /&gt;
Advanced features could include:&lt;br /&gt;
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)&lt;br /&gt;
* Sending the data to a central server which collects the information ( spritmonitor.de, anything else ?)&lt;br /&gt;
* 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)&lt;br /&gt;
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server&lt;br /&gt;
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.&lt;br /&gt;
&lt;br /&gt;
==== Keep in touch reminder ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Menstruation period timer ====&lt;br /&gt;
Fill in statistics and compute probabilities for menstruation, fertility, mood.&lt;br /&gt;
See http://www.getjar.com/products/48/MyGirls&lt;br /&gt;
&lt;br /&gt;
==== Tagging ====&lt;br /&gt;
{{Main|Wishlist:Tagging}}&lt;br /&gt;
Tags can be used by various applications. Requirement is interoperability for further enhancement.&lt;br /&gt;
Tags should be applied to contacts, calendar events, mail/sms, calls, places(GPS) and files.&lt;br /&gt;
http://tracker-project.org has all needed tagging-and-searching functionality and ready to be used on low-resourced devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Exchange Integration ====&lt;br /&gt;
&lt;br /&gt;
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/contacts/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.&lt;br /&gt;
&lt;br /&gt;
* Is the time right to name names ? Add as your liking...&lt;br /&gt;
** Plugin/integration to &amp;amp; from Kontact&lt;br /&gt;
** Same with Evolution - Thunderbird - Seamonkey&lt;br /&gt;
** ?? Google Calendars ?? (this one is tough)&lt;br /&gt;
** Ms Exchange&lt;br /&gt;
&lt;br /&gt;
==== An electronic wallet ====&lt;br /&gt;
&lt;br /&gt;
A database which stores securely PIN codes, login data, bank and email accounts, membership informations, and other valuable and private data. Entries can be ordered in a folder-like manner. Access to the database is given by a master password. The database as well as the master password are stored with strong encryption. For security reasons, the program asks again for entry of the master password after a certain period of inactivity. The database can be synchronized with a PC application (ideally written in Java for cross platform compatibility).&lt;br /&gt;
&lt;br /&gt;
Examples: KWallet [http://docs.kde.org/stable/en/kdeutils/kwallet/index.html], Viskeeper [http://www.sfr-software.de/cms/EN/pocketpc/viskeeperpro/index.html], KeePass [http://keepass.info/]&lt;br /&gt;
&lt;br /&gt;
==== Easy business card sharing for a small group (in the same room) over bluetooth or WIFI ====&lt;br /&gt;
&lt;br /&gt;
Six Neo1973 owners are having a chat in a cafe.    They agree to split but meet later.     They want to exchange their numbers with each other before they go....     The normal way to do this is for a rather longwinded repeating of numbers to each other, or half the people manually inputting numbers before phoning/texting the other half to complete the process.    All in all its a fair number of button presses to get it sorted.&lt;br /&gt;
&lt;br /&gt;
Instead the NEO could have a small app where the phones link up in a small peer to peer Bluetooth network and share automatically with one person initiating a request and the other detected NEOS agreeing/acknowledging the share.   The initiating NEO would then sync the mini-group automatically by interrogating each phone and then sending the table of results.     The NEOs would have to be clever about checking for duplicates in the address book and offering a choice to the user if there are any conflicts.&lt;br /&gt;
&lt;br /&gt;
PROS: &lt;br /&gt;
*genuine saving in time for social and business situations&lt;br /&gt;
&lt;br /&gt;
CONS: &lt;br /&gt;
*I am sure there are some security hassles to be pondered....&lt;br /&gt;
*not going to be used every day... definitely not an immediate priority.....&lt;br /&gt;
*only at geek conferences will all have a neo....&lt;br /&gt;
&lt;br /&gt;
==== SMS Counter ====&lt;br /&gt;
&lt;br /&gt;
An application which shows on the today-screen how many SMS i've already sent in this actual month. Some have for example 150 free SMS to write each month. With that program you can see all the time how many SMS are left until the end of the period. As an alternative it could be a counter which counts backwards from a predefined number over a defined period.&lt;br /&gt;
&lt;br /&gt;
==== Data Storage ====&lt;br /&gt;
&lt;br /&gt;
Store all the data about communications with a contact (SMS, MMS, phone calls, emails, IM, etc)  in a database and make them available in one list or one timeline.&lt;br /&gt;
Make this list available through the address book.&lt;br /&gt;
This would be great for people who are switching between one or more communication channels frequently&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{{Main|Wishlist:Profiles}}&lt;br /&gt;
&lt;br /&gt;
The Wishlist:Profiles page documents many possible profiles - ways to configure the phone. Including ways to respond to calls, wifi and GPS events.&lt;br /&gt;
And how to automatically switch between them.&lt;br /&gt;
&lt;br /&gt;
===Text Messaging===&lt;br /&gt;
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included&lt;br /&gt;
For current development status of the messaging-app see: [[Messages]].&lt;br /&gt;
&lt;br /&gt;
There are many useful options that now can be used to full capacity:&lt;br /&gt;
&lt;br /&gt;
* '''Instant Messaging'''&lt;br /&gt;
Bringing a new GTK gui or a resized Qt gui out for the serverless Instant Messenger http://Retroshare.sf.net&lt;br /&gt;
&lt;br /&gt;
* '''Acknowledge/status SMS'''&lt;br /&gt;
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'.&lt;br /&gt;
&lt;br /&gt;
** '''Special handling of status-SMS''' &lt;br /&gt;
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 &amp;amp; clog the inbox, warn of a &amp;quot;new&amp;quot; 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.&lt;br /&gt;
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date&lt;br /&gt;
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: &lt;br /&gt;
** 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]&lt;br /&gt;
** [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 &amp;amp; Alcatel encoding ([[User:Marcin|I could]] eventually help)&lt;br /&gt;
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung&lt;br /&gt;
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. &amp;quot;Server Down!&amp;quot; has a loud klaxon, &amp;quot;Disk Warning&amp;quot; has a quiet chirp.&lt;br /&gt;
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: &amp;quot;hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz&amp;quot; becomes &amp;quot;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?&amp;quot; (taken from: [http://en.wikipedia.org/wiki/SMS_language])&lt;br /&gt;
** Implement a script that abbreviates :-)&lt;br /&gt;
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''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&lt;br /&gt;
* '''Searching''' allow full-text search or string search.&lt;br /&gt;
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...&lt;br /&gt;
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.&lt;br /&gt;
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.&lt;br /&gt;
* '''SMS-EMail-Gateway'''&lt;br /&gt;
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&lt;br /&gt;
* '''SMS-filter chain''', for stuff like Codeword-SMS above, Theft-mode activation, auto-response (reply with gsm-position for &amp;quot;Where are you?&amp;quot;), auto-substitution (like replace $POS with gsm-position in outgoing SMS).&lt;br /&gt;
* '''SCROOGE-SMS'''  This is an intelligent SMS router.    When you write your SMS you get the option of how to send it&lt;br /&gt;
** By standard carrier SMS - cost 10cents&lt;br /&gt;
** By OpenMoko SCROOGE SERVER - this will send your SMS to the OpenMoko Community SCROOGE SERVER next time you have WiFi - the phone will remind you to turn on WiFi when it knows you are in places where you have WiFi access.   The person you are sending to picks up when they come into WiFi Range.    This comes with an intelligent reminder that tells you that message has still not been delivered in 24 hours and would you now like to send it by a paymethod.    This is better than IM because both parties do not have to have WiFi at the same time. - cost FREE&lt;br /&gt;
** By email/Wifi - cost FREE&lt;br /&gt;
** By email/GPRS - cost ?&lt;br /&gt;
** Too many options!!!&lt;br /&gt;
** Alternatively SCROOGE SERVER could auto launch IM client if it detects both parties have WiFi at the same time (Status kept on SCROOGE SERVER?) to allow instant reply.....    Person who receives has the option to reply in SMS or in IM or in VOIP phone.&lt;br /&gt;
&lt;br /&gt;
=== Text input ===&lt;br /&gt;
{{Main|Wishlist:Text Input}}&lt;br /&gt;
There are many good suggestions for text input on the specific text input ideas page.&lt;br /&gt;
&lt;br /&gt;
=== More/Custom Input Method Widgets ===&lt;br /&gt;
{{Main|Wishlist:More/Custom_Input_Method_Widgets}}&lt;br /&gt;
Additional and customizable Input Method Widgets (similar to virtual keyboard).  &lt;br /&gt;
This could add soft-key functionality to games or other applications such as:&lt;br /&gt;
*D-Pads&lt;br /&gt;
*buttons&lt;br /&gt;
*virtual trackballs&lt;br /&gt;
*...&lt;br /&gt;
Personalized layouts could be associated with each application.&lt;br /&gt;
&lt;br /&gt;
=== Games ===&lt;br /&gt;
{{Main|Wishlist:Games}}&lt;br /&gt;
&lt;br /&gt;
=== Mesh Networking ===&lt;br /&gt;
{{Main|Wishlist:Mesh Networking}}&lt;br /&gt;
&lt;br /&gt;
=== Printing Support ===&lt;br /&gt;
It would be really neat to be able to print over either bluetooth, Wifi, or USB. I can imagine wanting to print:&lt;br /&gt;
&lt;br /&gt;
* Notes&lt;br /&gt;
* Maps&lt;br /&gt;
* Email&lt;br /&gt;
* Calendars&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
# GTK+'s printing support&lt;br /&gt;
# Making cups run on a really small system&lt;br /&gt;
&lt;br /&gt;
{{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.}}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Further details:&lt;br /&gt;
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]&lt;br /&gt;
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]&lt;br /&gt;
* [http://www.j5live.com/?p=204 j5live.com]&lt;br /&gt;
&lt;br /&gt;
===Misc Software===&lt;br /&gt;
====Clocks/timers/Activity meters====&lt;br /&gt;
===== Sport tracker =====&lt;br /&gt;
{{Main|Wishlist:Sport_tracker}}&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===== Standby clock =====&lt;br /&gt;
{{Main|Wishlist:Standby_clock}}&lt;br /&gt;
A quick way to see what time it is.&lt;br /&gt;
&lt;br /&gt;
===== Egg Timer =====&lt;br /&gt;
{{Main|Wishlist:EggTimer}}&lt;br /&gt;
&lt;br /&gt;
Very simple (one click) count up / count down timers are very useful.&lt;br /&gt;
&lt;br /&gt;
===== Cycle Computer =====&lt;br /&gt;
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.&lt;br /&gt;
* 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)&lt;br /&gt;
&lt;br /&gt;
===== NTP Server =====&lt;br /&gt;
&lt;br /&gt;
Run the [http://www.ntp.org NTP] daemon using the GPS chipset as a reference clock, so that the Neo would have a very accurate time-of-day clock and would be able to serve time to other networked devices. &lt;br /&gt;
&lt;br /&gt;
I don't know what it would take to implement this. Items to consider would be the availability of a 1 pulse-per-second hardware signal, the accuracy of timestamps delivered in NMEA messags, etc. Dealing with power-management issues (such as the device going to sleep) would also be challenging.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Find Keys/locate stuff =====&lt;br /&gt;
&lt;br /&gt;
This would require an additional accessory: a tag which transmits a signal that the Openmoko device can pick up. The tag could for example be attached with a ring loop to your keys, put in your wallet, or be attached with high strength adhesive strips to your remotely controlled aircraft. Whenever you can't find back your keys, wallet, RC aircraft,... you activate this application. When the device picks up the signal of the tag, it translates it to clear audio and visual prompts to guide you in the right direction.&lt;br /&gt;
&lt;br /&gt;
A commercial device that offers this functionality is the [http://loc8tor.com/ loc8tor]. Having this in the Openmoko phone would obliviate the need for a separate device. Murphy's law dictates that you'll only loose your keys when you don't know any more where you've put the loc8tor tracking device. But you're bound to always have your phone with you. &lt;br /&gt;
&lt;br /&gt;
Additionally, you could also set a safety perimeter. Whenever a tagged item moves more then X meters from the phone, a signal will be given.&lt;br /&gt;
&lt;br /&gt;
For a related idea, see [[Wishlist#Dude.2C_Where.27s_My_Car.3F|Dude, Where's my car]].&lt;br /&gt;
&lt;br /&gt;
===== Reality check reminder =====&lt;br /&gt;
{{Main|Wishlist:Reality check reminder}}&lt;br /&gt;
&lt;br /&gt;
A tool to [http://www.phrack.org/issues.html?issue=64&amp;amp;id=16 hack your brain]&lt;br /&gt;
&lt;br /&gt;
===== Automatic timezone changing (GPS) =====&lt;br /&gt;
&lt;br /&gt;
Check the timezone with GPS and adapt them.&lt;br /&gt;
&lt;br /&gt;
====Calculators====&lt;br /&gt;
===== A Universal Unit Converter Tool =====&lt;br /&gt;
&lt;br /&gt;
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. And not only the engineers. &lt;br /&gt;
&lt;br /&gt;
Ideas what kind of conversions a converter tool could do:&lt;br /&gt;
&lt;br /&gt;
Length&lt;br /&gt;
- Acceleration&lt;br /&gt;
- Angle&lt;br /&gt;
- Angular Velocity&lt;br /&gt;
- Area&lt;br /&gt;
- Capacitance&lt;br /&gt;
- Radioactivity&lt;br /&gt;
- Currency &lt;br /&gt;
- Charge&lt;br /&gt;
- Computer Memory&lt;br /&gt;
- Conductance&lt;br /&gt;
- Density&lt;br /&gt;
- Energy&lt;br /&gt;
- Illumination&lt;br /&gt;
- Power&lt;br /&gt;
- Force &lt;br /&gt;
- Flow&lt;br /&gt;
- Pressure&lt;br /&gt;
- Speed&lt;br /&gt;
- Temperature&lt;br /&gt;
- Time&lt;br /&gt;
- Torque&lt;br /&gt;
- Viscosity&lt;br /&gt;
- Volume&lt;br /&gt;
- Weight&lt;br /&gt;
&lt;br /&gt;
Roman Numerals&lt;br /&gt;
- ASCII, Hex&lt;br /&gt;
- Cooking&lt;br /&gt;
- BMI&lt;br /&gt;
- Clothing Sizes&lt;br /&gt;
&lt;br /&gt;
Money Converter based on current rates from Internet...&lt;br /&gt;
e. g. Dollar &amp;lt;-&amp;gt; Euro&lt;br /&gt;
 &lt;br /&gt;
Physical and Mathematical Constants&lt;br /&gt;
GPS conversions &lt;br /&gt;
&lt;br /&gt;
- link to or integration of a scientific calculator&lt;br /&gt;
- link to or integration of a simple calculator&lt;br /&gt;
&lt;br /&gt;
A good basis for such a converter tool could be the Palm program &amp;quot;units&amp;quot; from &lt;br /&gt;
François Pessaux [http://francois.pessaux.neuf.fr/files/units1_11.tgz]. The GPL'd program comes with full documentation.&lt;br /&gt;
&lt;br /&gt;
For GPS conversions see gpsbabel [http://www.gpsbabel.org]&lt;br /&gt;
&lt;br /&gt;
===== An Postfix Notation (RPN) calculator =====&lt;br /&gt;
&lt;br /&gt;
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 they 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.&lt;br /&gt;
&lt;br /&gt;
==== Windows CE Emulator ====&lt;br /&gt;
&lt;br /&gt;
On ARM machine, Windows CE API emulator, like Wine on x86 machines. &lt;br /&gt;
&lt;br /&gt;
==== PalmOS Emulator ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
I'd like to see a Windows CE Emulator with active sync support.&lt;br /&gt;
&lt;br /&gt;
==== Chumby Emulator ====&lt;br /&gt;
&lt;br /&gt;
Would be very cool if the neo can act as a chumby. see http://chumby.com for more details about a chumby.&lt;br /&gt;
&lt;br /&gt;
==== TV Guide ====&lt;br /&gt;
Display a TV guide using [http://xmltv.org xmltv].&lt;br /&gt;
Something like [http://mtvg.sourceforge.net/ Maxemum TV-Guide] (QT)&lt;br /&gt;
&lt;br /&gt;
==== Alcohol meter ====&lt;br /&gt;
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.&lt;br /&gt;
See, for example (German text) http://www.misterio-online.de/promille.htm&lt;br /&gt;
&lt;br /&gt;
==== Interaction with LEGO Mindstorm ====&lt;br /&gt;
With the accelerometers, 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.&lt;br /&gt;
&lt;br /&gt;
==== Flashlight ====&lt;br /&gt;
Simple finger application that makes every pixel on the entire screen white to be as bright as possible until you tap the screen again to turn it off.  This way, you can use your Neo as a (short term) flashlight!&lt;br /&gt;
&lt;br /&gt;
==== Wii Controller Emulator ====&lt;br /&gt;
Use the accelerometers and buttons on screen to work as a Wii controller via Bluetooth.&lt;br /&gt;
&lt;br /&gt;
==== FUSE support ====&lt;br /&gt;
Ability to use FUSE to mount larger file systems over wireless.  (even gmailfs, sshfs, etc.)&lt;br /&gt;
&lt;br /&gt;
=== Accessibility ===&lt;br /&gt;
Accessibility features for the visually impaired.&lt;br /&gt;
* High Contrast Themes.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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. see: [[Wishlist:Speech synthesis]]&lt;br /&gt;
&lt;br /&gt;
==== VOIP ====&lt;br /&gt;
* [[Dialer]] should be able to use SIP.&lt;br /&gt;
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.&lt;br /&gt;
* A standard SIP client would probably fit better into the &amp;quot;free and open&amp;quot; philosophy.&lt;br /&gt;
* Ideally a SIP client that includes ZRTP/SRTP for secure communications.&lt;br /&gt;
(Note: Vonage will not give you your SIP credentials, so you cannot log into their network with a non-approved softphone. Other VoIP providers have different policies.)&lt;br /&gt;
&lt;br /&gt;
''This seems very similar to what [http://en.wikipedia.org/wiki/Generic_Access_Network UMA] offers.''&lt;br /&gt;
&lt;br /&gt;
Asterisk is a great communication platform that can run on small devices. I have an Asterisk server running on a Nokia 770 and I read about running Asterisk on an iPhone. With the crosscompiler available it sould be possible to compile it and run Asterisk on an openmoko phone and let it take care of almost everything on the wishlist below.&lt;br /&gt;
Edw/&lt;br /&gt;
&lt;br /&gt;
==== Power Meter ====&lt;br /&gt;
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.&lt;br /&gt;
&lt;br /&gt;
Also a rrdtool type of configurable timespan/frequency graphical overview would be very cool and usefull to some people?&lt;br /&gt;
&lt;br /&gt;
=== Accelerometer wishes ===&lt;br /&gt;
==== Flick interface ====&lt;br /&gt;
Ability to &amp;quot;flick&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Sensitivity of the scrolling should be configurable and a test option provided.&lt;br /&gt;
&lt;br /&gt;
==== Reading navigation of documents enhanced by accelerometers ====&lt;br /&gt;
If the two accelerometers in Neo1973 allows it, it will be nice if when you're reading, give a newspaper, you can move up, down, left and to the right the viewing of the document just moving the phones to the corresponding direction.&lt;br /&gt;
&lt;br /&gt;
I don't know if this is possible (haven't seen the project in detail yet) but this feature could be very attractive for final users (and this is good). (sorry for my english but i'm italian)&lt;br /&gt;
&lt;br /&gt;
==== Wand UI ====&lt;br /&gt;
In keeping with the requests to think outside of the box... the dual 3d accelerometers should enable a 'magic wand'-style UI for certain uses. Macros could be recorded and edited, or presets could be used. For example, flipping the device playfully could initiate a game mode or could signal the end of the work day.&lt;br /&gt;
==== Panning interface ====&lt;br /&gt;
Some applications display underlying data that is larger than the screen.  Typically they let you pan across the data using scroll bars.&lt;br /&gt;
&lt;br /&gt;
In cases where the data is only (say) 3 or 4 screens wide or high, it may be very intuitive to just shift the hand held device a few centimeters to the left or right, up or down to pan in that direction.  The screen would appear to be a hole into the world of the data, and you're just moving the hole to look at something else.&lt;br /&gt;
&lt;br /&gt;
When the underlying data is very large, you obviously wouldn't want to use this mechanism unaltered; you'd have to walk to the next room to see the data 100 screens away.  Instead different accelerations can be used for different panning sizes.  This is the same adaption used for accelerated mouse pointers typical on touch pads.  A quick flick moves the mouse pointer fast and far.  A slower drag over the same area on a touch pad moves the pointer slower and with more precision.&lt;br /&gt;
&lt;br /&gt;
==== Shake-to-Wake ====&lt;br /&gt;
Giving the phone a shake enables voice commands for a few seconds.&lt;br /&gt;
Usage Examples: &lt;br /&gt;
&lt;br /&gt;
* {Shake} &amp;quot;Call&amp;quot; ''ContactName'' ''PhoneType''&lt;br /&gt;
* {Shake} &amp;quot;Call John Mobile&amp;quot;  (Calls John's mobile)&lt;br /&gt;
* {Shake} ''ApplicationName''&lt;br /&gt;
* {Shake} &amp;quot;Reader&amp;quot; (Opens the e-book application)&lt;br /&gt;
&lt;br /&gt;
Would require a method of inputting voice tags for applications and contacts and obviously will only work for P2 (accelerometers)&lt;br /&gt;
But lets get voice command functionality working before P2 (just by pressing a button on the screen instead of shaking)&lt;br /&gt;
&lt;br /&gt;
I think that is possibly to replace &amp;quot;Shake&amp;quot; with double hit with finger in the side of phone. Proper algorithms(with accelerometers) should recognize any similar activities.&lt;br /&gt;
&lt;br /&gt;
==== Emergency call ====&lt;br /&gt;
When the accelerometer detects a great acceleration (i.e. 5G) start a countdown sequence, if it is not stopped make a call to a preconfigured emergency number. If the data from the GPS is accurate give it.&lt;br /&gt;
&lt;br /&gt;
A first version could use a recorded message (an audio file). In next version it could use a synthesizer, so it can give more information (add GPS information when it is ready).&lt;br /&gt;
&lt;br /&gt;
:I would worry that most such events would be false positives, and hard to distinguish from the real thing.  A user dropping their phone (an event very common in the life of any cellphone) is far more likely than a user being in a car accident with their phone, and the clatter of a cell phone on asphalt could reach 5G.  Additionally, it has to be very hard to distinguish hitting pavement from hitting a windshield, as from a physics standpoint the two are the same thing. [[User:Hashbrowncipher|Hashbrowncipher]] 02:06, 26 October 2007 (CEST)&lt;br /&gt;
::It could use the gps data to calculate the speed it is traveling with. Let's say it has been moving for more than 50 km/h for more than 10 seconds. Then it could activate the &amp;quot;emergency call if more than 5g&amp;quot; function. Aside from the countdown timer, it could increase the volume to max and warn the user that an automatic emergency call will take place in x seconds. While it is counting down it could listen for &amp;quot;Never mind, I'm fine, phone&amp;quot; and stop the countdown in case it hears that. It could also output the warning sound to the attached bluetooth headset and let the user talk to emergency services if the user is still conscious. [[User:Tommy|Tommy]] 17:48, 8 January 2008 (CET)&lt;br /&gt;
:::Perhaps have the phone yell loudly that it's about to do the emergency call for a decent amount of time, disabled by touching the screen or entering the pin number. In the case of any bluetooth device attached to the user, the phone could check to see if it's in range before calling. [[User:sin|sin]]&lt;br /&gt;
&lt;br /&gt;
==== Movement detection ====&lt;br /&gt;
By detecting that the owner is walking a user defined profile can be activated with a specific set of notification settings. For example you may wish to use a cheap old sounding ringtone so you don't attract attention from muggers. Or you may wish to have a louder ringtone if you carry your phone in a bag where it can't be so easily heard.&lt;br /&gt;
&lt;br /&gt;
==== Games ====&lt;br /&gt;
Imagine a first person shooter that you look around by turning your body.&lt;br /&gt;
&lt;br /&gt;
==== Sloshing battery indicator ====&lt;br /&gt;
Shaking the phone will produce a sloshing sound, as if  it contained a liquid. As the battery loses charge, so the sound produced on being shaken, will replicate a decreasingly empty container. [http://mobile.slashdot.org/article.pl?sid=07/11/28/1342248] for an example.&lt;br /&gt;
==== Steady screen ====&lt;br /&gt;
It may be hard to read the screen when the device is shaking from some source of vibration.  E.g.&lt;br /&gt;
* being mounted inside a vehicle&lt;br /&gt;
* during certain sports&lt;br /&gt;
* while the internal vibrator is activated (perhaps)&lt;br /&gt;
The accelerometers could be used to determine the frequency of the shaking and to make the screen appear to be steady by offsetting the contents at the same frequency in the opposite direction.  If this was handled by the graphics processor it might not even be an intensive operation or produce significant battery usage.&lt;br /&gt;
&lt;br /&gt;
At slower movements, (say just being held in an older unsteady hand) the accelerometer data could be fed directly into the screen offset.  This would allow you to compensate for unpredictable movements.  &lt;br /&gt;
&lt;br /&gt;
Such a mode would cancel out shaking, producing what would appear to be a slightly smaller but steady screen.  (Smaller because pixels at the edge of the screen may have ''any'' screen in the same location in the next fraction of the vibration).  Gross movements that move the screen to an entirely different position would not be cancelled, effectively 'panning' to keep up with the large movement.&lt;br /&gt;
&lt;br /&gt;
In situations where the hand is not experiencing the same source of vibration that the screen is, the areas of touch sensitivity should be offset at the same time as the screen.  So a steady hand touching a vibrating screen isn't interpretted by the application software as a vibrating hand.&lt;br /&gt;
&lt;br /&gt;
These features would best be implemented in the rendering and touch libraries so they could be activated for all applications.&lt;br /&gt;
&lt;br /&gt;
==== Taping as input ====&lt;br /&gt;
If I understand correctly the accelerometer should be capable to be used as a simple input. When OpenMoko is in the pocket, simple taps against the pocket should be possible to use as input. For example when there is an incoming call and the user is notified using a headset then one tap would accept the call and two concurrent taps against the pocket would cancel it. This can also be used for lot more.&lt;br /&gt;
&lt;br /&gt;
==== Others ====&lt;br /&gt;
Also see the pages[[Wishlist:Auto Align Map]], [[Wishlist:Determine Position]], [[Distance Measuring]], [[Wishlist:Computer Mouse]], [[Wishlist:Dynamic Screen Orientation]].&lt;br /&gt;
&lt;br /&gt;
=== Connectivity ===&lt;br /&gt;
&lt;br /&gt;
==== VNC ====&lt;br /&gt;
A good, stylus friendly VNC client/host combo would be easy to add and terribly useful.&lt;br /&gt;
&lt;br /&gt;
==== Networked X-Windows ====&lt;br /&gt;
&lt;br /&gt;
Whether it's running true X-Windowing over the network, or your bog-standard VNC connection as mentioned above, the ability to have your phone's screen available on your laptop or palmtop would be most desirable.&lt;br /&gt;
&lt;br /&gt;
==== NX client ====&lt;br /&gt;
&lt;br /&gt;
A form of X-windows forwarding optimized for performance over slow, or high-latency links, which could prove extremely useful. Capable of streaming a good quality, full desktop session over modem speeds. The protocol and at least one implementation is gpl'd. [http://en.wikipedia.org/wiki/NX_technology wikipedia]&lt;br /&gt;
&lt;br /&gt;
==== OpenOffice Presenter Control ====&lt;br /&gt;
&lt;br /&gt;
I Think it is a good idea to control your OO Presentation with Openmoko about WLAN or Bluetooth.&lt;br /&gt;
I think it needs some buttons to go back or forward and control the mouse to show something and take normal mouse clicks.&lt;br /&gt;
But with the mouse clicks I think that we need a short time between the clicks in example 1 second. Because when you make a mouse &lt;br /&gt;
click than to fast than you must go back.&lt;br /&gt;
&lt;br /&gt;
Some similar functionality will be implemented during SoC 08. More info at [[OpenMoko Bluetooth remote controller]]&lt;br /&gt;
&lt;br /&gt;
==== Amarok and other Media Player remote control ====&lt;br /&gt;
&lt;br /&gt;
Control Amarok or any other Media Player with OpenMoko (as a remote control). Bluetooth or WLAN could be used as protocol to send and receive the data. Maybe a WebInterface of Amarok is a start. Can be used on parties for a mobile music management.&lt;br /&gt;
&lt;br /&gt;
==== Read informations with SMS ====&lt;br /&gt;
Send a SMS with Code to the OpenMoko (from a specific number).&lt;br /&gt;
For example to send get the GPS coordinates from a stolen Neo (or if you don't know where your Neo is).&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== General Filesystem Encryption ====&lt;br /&gt;
&lt;br /&gt;
If anyone wants to get your private data saved on your OpenMoko device, he should have to get through a high security mechanism like dm-crypt. The question is how much CPU power would be needed. &lt;br /&gt;
Would it be an idea to encrypt only the private data like phone numbers, preferences, address book etc. (like /home/$USER).&lt;br /&gt;
&lt;br /&gt;
http://luks.endorphin.org&lt;br /&gt;
&lt;br /&gt;
==== My Account ====&lt;br /&gt;
{{Main|My Account}}&lt;br /&gt;
A way to securely store information about the phone, and ensure that a phone you may be considering purchasing is not stolen.&lt;br /&gt;
&lt;br /&gt;
==== [http://zfoneproject.com/ Zfone] or similar ====&lt;br /&gt;
&lt;br /&gt;
Something that allows the user to speak with another person securely.&lt;br /&gt;
&lt;br /&gt;
==== GSM Encryption ====&lt;br /&gt;
&lt;br /&gt;
This software application would allow GSM encrypted calls to be made using the GSM Data Call Channel. &lt;br /&gt;
&lt;br /&gt;
[[OSvS]]&lt;br /&gt;
&lt;br /&gt;
==== My Voice is my Passport ====&lt;br /&gt;
Use voice recognition to unlock the phone.  &amp;quot;Hi. My name is ... My voice is my passport.  Verify me.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Firewall ====&lt;br /&gt;
A network firewall&lt;br /&gt;
&lt;br /&gt;
==== Full Mac Support ====&lt;br /&gt;
Full mac support, preferably with full software and full sync capabilities with iCal and iMail &lt;br /&gt;
&lt;br /&gt;
==== Anti Theft Application ====&lt;br /&gt;
&lt;br /&gt;
This application would enter the phone into an [[Anti-Theft Mode]] which activates particular security features to reduce the risk of theft and also to ensure a higher probability of recovery of a stolen handset.&lt;br /&gt;
&lt;br /&gt;
====RFID based personal alerts====&lt;br /&gt;
Assuming an RFID reader is available:  You'd put an RFID tag on your keys, wallet, etc and train a program on the phone to give you a soft or hard alert when one of them leaves detection range.  That way, if you're walking away from one of them, the phone could alert you.&lt;br /&gt;
&lt;br /&gt;
Actually there is a RFID reader available. Take a look at this: http://www.wdi.ca/ We only need driver for that thing. .... Well, never mind. I think it doesn't work because of the size. Anyway an interesting idea.&lt;br /&gt;
&lt;br /&gt;
====OpenVPN Client====&lt;br /&gt;
This application allows to configure the device as an OpenVPN client using the GUI including support for X.509 certificates.&lt;br /&gt;
&lt;br /&gt;
=== Integrated Help System ===&lt;br /&gt;
&lt;br /&gt;
A help system that is either on or off. It could be activated and deactivated by a [[five-second-press]] on a button, for example the AUX button. When the help system is activated, it will explain the use of any item you touch on screen (with stylus or finger). Example: if you touch the battery icon, it will explain that this shows battery level / remaining time. If you touch the date / time icon, it will explain that this icon shows date and time, and that if you press it, you can set date and time. Primarily, this help system should be able to explain all user interface elements in the main screen, but if it proves popular, it could be expanded to cover other applications as well.&lt;br /&gt;
&lt;br /&gt;
===Performance optimisation===&lt;br /&gt;
==== Use DMA engine in CPU for blitter ====&lt;br /&gt;
The DMA engine in the CPU can substantially speed up moving of large  areas of screen in some cases.&lt;br /&gt;
&lt;br /&gt;
==== Use virtual screen to optimise scrolling ====&lt;br /&gt;
In some other cases, the hardware supported virtual screen may also speed it up.&lt;br /&gt;
===Reusable Display/UI Widgets===&lt;br /&gt;
====Use BigPage for full page zoom, scroll, scale in many apps====&lt;br /&gt;
The [[BigPageWidget]] Page decribes a widget that could bring full natural page viewing, scaling, scrolling to the OM platform - allowing all applications to make intuitive UIs. A good way to read documents of any type without reformatting them massively increases the utility of a device with a small screen&lt;br /&gt;
&lt;br /&gt;
==Bluetooth==&lt;br /&gt;
&lt;br /&gt;
=== Voice Dialing ===&lt;br /&gt;
&lt;br /&gt;
Dial by voice commands.&lt;br /&gt;
&amp;lt;br&amp;gt;Dial by dictating phone number. This way we can voice dial any number even if not in our contact list.&lt;br /&gt;
&lt;br /&gt;
=== Music through Bluetooth Headset ===&lt;br /&gt;
&lt;br /&gt;
Music can be played through a Bluetooth headset, but would stop playing when a call comes in.&lt;br /&gt;
&lt;br /&gt;
=== Walkie Talkie ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Features for this applications can be:&lt;br /&gt;
* Push To Talk (PTT) button&lt;br /&gt;
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.&lt;br /&gt;
* Optionally a full duplex mode&lt;br /&gt;
* Different channels to choose from&lt;br /&gt;
* Monitor different (preselected or all) channels for traffic.&lt;br /&gt;
* Content encryption&lt;br /&gt;
* Active noise control&lt;br /&gt;
* Allow zero config use (units can talk without any access point helping)&lt;br /&gt;
* Overview of all connected people trough sending GPS data to everyone who is in the Walkie Talkie channel&lt;br /&gt;
&lt;br /&gt;
Local (non-GPRS) use cases include chatting while biking&lt;br /&gt;
or motorcycling in a group; perhaps also in a car caravan.&lt;br /&gt;
This application could also be used as a baby-phone to monitor your siblings.&lt;br /&gt;
&lt;br /&gt;
This would be more useful if the Neo had Class 1 bluetooth, though probable Wifi on P2 will also offer more range.&lt;br /&gt;
&lt;br /&gt;
(One thumbs up from me) Jackcday&lt;br /&gt;
&lt;br /&gt;
See also [[Wish_List#WiFi_Walkie_Talkie|WiFi Walkie Talkie]] and perhaps construct one application that can handle both Bleutooth and Wifi.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Sync ===&lt;br /&gt;
&lt;br /&gt;
Automatically synchronize with desktop computer (or with any [http://en.wikipedia.org/wiki/SyncML SyncML] server) when within range based on user profile.  This may require the use of a secure data transfer.&lt;br /&gt;
&lt;br /&gt;
=== GPS Assisted Bluetooth Management ===&lt;br /&gt;
&lt;br /&gt;
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.&lt;br /&gt;
&lt;br /&gt;
A Bluetooth device is configured for automatic reacquisition based on the following profiles:&lt;br /&gt;
* Manual - only when Bluetooth is on&lt;br /&gt;
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.&lt;br /&gt;
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.&lt;br /&gt;
&lt;br /&gt;
Each target device is configured as follows:&lt;br /&gt;
* Automatic acquisition at last known location: enable/disable&lt;br /&gt;
* Automatic acquisition at these locations: list of nickname + coordinates + range&lt;br /&gt;
&lt;br /&gt;
==== Non-mobile devices ====&lt;br /&gt;
&lt;br /&gt;
Examples devices include: computers&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Mobile devices ====&lt;br /&gt;
&lt;br /&gt;
Example devices include: automobiles&lt;br /&gt;
&lt;br /&gt;
Mobile devices are configured to have two types of locations:&lt;br /&gt;
# Last known location&lt;br /&gt;
# Non-mobile locations (homes)&lt;br /&gt;
&lt;br /&gt;
===== Last known location =====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===== Non-mobile locations (homes) =====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth neighbor detection and multiuser apps  ===&lt;br /&gt;
&lt;br /&gt;
Like the [http://en.wikipedia.org/wiki/One_laptop_per_child 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.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth environment detection ===&lt;br /&gt;
&lt;br /&gt;
Capability to detect when a predetermined bt device enters/leaves bt range and launch a system-wide event accordingly. This would feed not only the &amp;quot;Neighbour detection&amp;quot; idea described above, but also the &amp;quot;Profiles&amp;quot;, &amp;quot;Context based TO-DO list&amp;quot; and &amp;quot;Location-based reminders&amp;quot; ideas. Reminders could be set to trigger in the presence of a specific person X (with BT device Y). Profiles can take into account which devices are present around the phone (car kit, for ex.). To-do list could also change according to present devices.&lt;br /&gt;
&lt;br /&gt;
=== Remote control ===&lt;br /&gt;
&lt;br /&gt;
==== Wireless presenter ====&lt;br /&gt;
Use the phone to run your OpenOffice.org Impress presentation remotely using Bluetooth. Cool features: &lt;br /&gt;
* Display the text notes for the presenter on the phone's display and update it whenever the slide is changing.&lt;br /&gt;
** 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&lt;br /&gt;
* A small timer showing the time passed (and perhaps remaining if the presentation app supports such a feature). &lt;br /&gt;
* If you want to be super-cool, you give a preview of the notes of the next slide in the show. &lt;br /&gt;
* At the end of a presentation, a &amp;quot;navigator&amp;quot; could allow to easily jump to any slide in the presentation by clicking on it on the phone.&lt;br /&gt;
** When you right-click in a running OO.org Impress presentation, you can choose &amp;quot;got o slide...&amp;quot; and select any slide to jump to.&lt;br /&gt;
&lt;br /&gt;
Some similar functionality will be implemented during SoC 08. More info at [[OpenMoko Bluetooth remote controller]]&lt;br /&gt;
&lt;br /&gt;
==== Initiated from another device ====&lt;br /&gt;
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control),  camera (capture image), etc.&lt;br /&gt;
==== Directed at another device ====&lt;br /&gt;
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.&lt;br /&gt;
&lt;br /&gt;
[http://mjr.iki.fi/software/remote-0.9.0.tar.gz Remote] is my draft of a python-based remote control app that allows you to define button sets and commands to run on the local or a remote host (through ssh, for instance). Error handling and command interface need work.--[[User:Mjr|Mjr]] 11:14, 18 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth Car Connection ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Could be done with a port of [https://garage.maemo.org/projects/carman/ Carman] or similar that can connect to an OBD2 adapter via USB or Bluetooth and display various information collect from the car, GPS, and accelerometers.  --[http://wiki.openmoko.org/wiki/User:Bmk789 bmk789]&lt;br /&gt;
&lt;br /&gt;
==== Dude, Where's My Car? ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Bluetooth powered Multi-SIM support]] ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:&lt;br /&gt;
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)&lt;br /&gt;
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset&lt;br /&gt;
* Same for Short Messages/MMS/Internet&lt;br /&gt;
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.&lt;br /&gt;
Advantage: No 'switching' between cards&lt;br /&gt;
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.&lt;br /&gt;
&lt;br /&gt;
===Internet Gateway===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Social Networking ===&lt;br /&gt;
&lt;br /&gt;
Anybody running the social networking app will be broadcasting a profile, and when certain keywords are matched with other users who are also running the application, an alert is sounded. Each mokoid can be added as a hexstring to a profile page, and xml filters can be developed for each social service to convert various keywords and interests to moko-friendly format.&lt;br /&gt;
&lt;br /&gt;
=== Give userspace api control over bluetooth signal strength ===&lt;br /&gt;
&lt;br /&gt;
I have tried bluetooth handsfree sets with other phones and don't get perfect reception due to low signal strength. I suppose the reason the signal is so weak is because the manufacturer wants the battery to last long on its latest charge. Can you please make the strength setting configurable by the user of the phone through an api and perhaps even through the phones gui? I would gladly waste some battery time in exchange for stronger bluetooth signal strength.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WiFi ==&lt;br /&gt;
&lt;br /&gt;
=== Industrial grade Wifi management ===&lt;br /&gt;
One annoyance I've had with Wifi enabled gadgets is that they simply keep the connections in a dumb list. What I'd like to see is more granular connection management, which enables me to specify whether a given connection is friend &amp;amp; family (mom's place), professional client (joe's copies and coffee), commercially available (panera), onetime use, or anything else, as well as managing router config backups, firmware images, and security keys.&lt;br /&gt;
&lt;br /&gt;
: [[User:lally|Lally]] 13:01 12 May 2008 (EST) -- Profiles of connections.  Mac OS (9 &amp;amp; X) have 'Locations', which do exactly that.  A UI for setting up/choosing them is nice, plus maybe some GPS-driven autoselection.&lt;br /&gt;
&lt;br /&gt;
=== Captive portal auto-login support ===&lt;br /&gt;
Having a nice front-end to some sort of script that checks the authenticity of a captive portal login page (SSL cert), then passes your username and password login information to automatically log you into your account would be very nice as well. This can be done with curl, but it is difficult to make it work on all captive portals out there. Perhaps just a field that you can specify &amp;quot;once I am connected to this AP, run this script: &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Walkie Talkie ===&lt;br /&gt;
Provide walktie talkie functionality like http://www.domain17.net/walkietalkie/index.html See also [[Wish_List#Walkie_Talkie|Bluetooth Walkie Talkie]] and perhaps construct one application that can handle both Bleutooth and Wifi.&lt;br /&gt;
&lt;br /&gt;
== Wireless Piggyback ==&lt;br /&gt;
&lt;br /&gt;
HSDPA support and the like, so that users can connect directly with the internet with G3/G4 mobile service providers at speeds at or above 3.6 Mb/s.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
=== Auto Update ===&lt;br /&gt;
&lt;br /&gt;
A small tool which is configurable to download the latest OpenMoko and OpenMoko related software. Maybe if any internet connection is available or a minimum of bandwith is available then the auto update would download only security related or the whole system etc. .&lt;br /&gt;
&lt;br /&gt;
=== Vibrate Pattern Recorder ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Record&amp;quot; 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 &amp;quot;Stop&amp;quot; when finished.  Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).&lt;br /&gt;
&lt;br /&gt;
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a &amp;quot;time-slice&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
- or just use MIDI, using a separate channel for the vibrator.&lt;br /&gt;
&lt;br /&gt;
An implementation of RTTL could also be used to define vibration patterns.&lt;br /&gt;
&lt;br /&gt;
=== PC Input Device ===&lt;br /&gt;
&lt;br /&gt;
Provide a method to use the touchscreen as input device for a nearby desktop machine.  Could connect over USB or bluetooth.&lt;br /&gt;
&lt;br /&gt;
Could emulate a pointer device (mouse) or even keyboard using standard bluetooth/USB interfaces for such a device.&lt;br /&gt;
&lt;br /&gt;
Use case: Alice is lazing on a couch and doesn't want to get up to do some minor interaction with the computer.  She can see the screen and uses the OpenMoko device as a mouse and/or keyboard to interact with the computer.&lt;br /&gt;
&lt;br /&gt;
=== Advanced Notification And Ringtone Manager ===&lt;br /&gt;
{{Main|Wishlist-ANARM}}&lt;br /&gt;
&lt;br /&gt;
ANARM would be an application for handling all event-based audible notifications from an OpenMoko device.&lt;br /&gt;
&lt;br /&gt;
=== Location based reminders ===&lt;br /&gt;
{{Main|Wishlist:Location_based_reminders}}&lt;br /&gt;
Location based reminders can be used to notify users of various events or reminders that are location based.&lt;br /&gt;
&lt;br /&gt;
=== Synergy Client ===&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
=== Next device ===&lt;br /&gt;
List features for your fantasy device to come from FIC (or anyone else, for that matter).  Define the GTA03 here ;-)&lt;br /&gt;
&lt;br /&gt;
==== There is no device ====&lt;br /&gt;
From [http://wurp.blogspot.com/2008/01/teh-future.html Wurp's blog]:&lt;br /&gt;
&lt;br /&gt;
Clearly the Next Big Thing has to be for the device to go away altogether. I know the basic idea for wearables has been around forever, but it seems to me that the time has come.&lt;br /&gt;
&lt;br /&gt;
I wanna wear a bluetooth earpiece and cool shades, possibly with [ here's where my imagination is failing me :-( ] gloves, or fingerless gloves, or (ew) wristbands, and let any surface, including my hand, or no surface, be my interface. Tap the earpiece when you get a phone call, see a dial pad on your palm and tap out the number with the other hand, watch movies on a giant screen hovering in the air...&lt;br /&gt;
&lt;br /&gt;
(equipment list: bluetooth earpiece, some brick in my pocket or on my belt, glasses w/ minute camera, painted video display, &amp;amp; variable darkness lenses, and gloves)&lt;br /&gt;
&lt;br /&gt;
Why the hell do I want to dig out a device every time I want mindless entertainment or superficial conversation?&lt;br /&gt;
&lt;br /&gt;
Ideally, you could then sell any little doohickey with whatever interface you want (switches, knobs, g-spots, ...) and all it needs to do is network with some software on the brick to be anything at all...&lt;br /&gt;
&lt;br /&gt;
A rubberized shell, like some of the other new phones.  Helps me not drop it, especially when drunken wardriving. [anon ;-)]&lt;br /&gt;
&lt;br /&gt;
== GPS Software ==&lt;br /&gt;
[[Image:Cheap_gps.png|right|300px|From xkcd.com :-)]]&lt;br /&gt;
*Providing GPS Support also for outdoor users in addition to ordinary street navigation features&lt;br /&gt;
** Overlay of satellite images with existing streetmaps&lt;br /&gt;
** 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/)&lt;br /&gt;
** Using sth like a tracking mode to allow certain people to determine the current position and track (for rescue missions - like they have for example at http://www.steiger-stiftung.de (a German beneficence for rescue issues) There you can register your mobile phone so the rescue service is able to track you immediately if necessary. The interesting thing: It seems like some mobile phones with GPS have special support for this issue. If your phone is registered, the rescue service is able to get your GPS coordinates directly from the phone without any user assistance. Openmoko should also support this! )&lt;br /&gt;
* Implementation of 3dTracking's (http://free.3dtracking.net/) tracking software or equivalent.&lt;br /&gt;
* &amp;quot;Geomark&amp;quot; function: if you have to save the current time with your current location, only hit one button...&lt;br /&gt;
** You also should be able to navigate with a small &amp;quot;compass&amp;quot; and the distance should be displayed to your saved point (maybe where you parked your car on a big car parking area)...&lt;br /&gt;
* '''Measure the distance between two points (air line or walked way) -&amp;gt; no need for a tape measure'''&lt;br /&gt;
**I think it would be good if you could either use Bluetooth, GPRS or AdHoc Wifi, and see near Neo1972 on the GPS map so you could see where your friends are, e.g &amp;quot;You want to know if you friend is on the bus behind&amp;quot; You would need a strong wifi and GPRS would be too expensive.&lt;br /&gt;
*A bicycle sat-nav would be cool, speciayl designed for bicycles, e.g. cycle routes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Community Based Traffic Information]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Main|Wish List - Hardware}}&lt;br /&gt;
&lt;br /&gt;
It could be use for beepway Online service too &lt;br /&gt;
[http://www.beepway.com]&lt;br /&gt;
&lt;br /&gt;
=== Dedicated Power / Charger Pinout ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The main question is just deciding on where to take power from 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Hmm... a separate power adapter would have really come in handy right now&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
I suggest a tiny 3mm, dedicated +5V power input (something a la Nokia).&lt;br /&gt;
&lt;br /&gt;
=== Inductive charging ===&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Inductive_charging Inductive charging] is the sort of charging where you place the device in a cradle, and a coil in the cradle induces a current in a coil inside the device, allowing it to recharge without wires. This should eliminate proprietary power connections.&lt;br /&gt;
&lt;br /&gt;
=== Tactile feedback via buzzer ===&lt;br /&gt;
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.&lt;br /&gt;
: 25 ms bump on the buzzer feels about right.  Does this harm the vibrator motor? --[[User:Sagacis|Sagacis]] 05:15, 2 October 2007 (CEST)&lt;br /&gt;
:: Created a patch to do this [[User:Sagacis/ForceFeedback]] --[[User:Sagacis|Sagacis]] 05:05, 3 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
=== Detachable keyboard ===&lt;br /&gt;
Hardware keyboard that can be attached with magnets to a future version of the Neo.&lt;br /&gt;
&lt;br /&gt;
A bluetooth mini-qwerty keyboard that straps to my wrist!&lt;br /&gt;
&lt;br /&gt;
: A BT keyboard would be nice, but do you need openmoko to provide it? [[http://www.intomobile.com/2007/11/07/targus-bluetooth-mobile-tumbpad-when-the-tiny-keyboard-on-your-smartphone-just-doesnt-cut-it.html Targus bluetooth keyboard]]&lt;br /&gt;
&lt;br /&gt;
=== SD Card Slot ===&lt;br /&gt;
I think the Neo1973 should have a normal SD card slot as the micro is too small, and the SDs have more space. [unknown author]&lt;br /&gt;
&lt;br /&gt;
SD Cards now support 32GB. Their storage density will always be multiples ahead of microSD (now at only 2GB). An SD Card slot will:&lt;br /&gt;
* Provide enough storage to '''turn an OpenMoko into a music (MP3) jukebox''' large enough for entire music collections, like an iPod with Bluetooth for the car.&lt;br /&gt;
* Enable '''storage''' of:&lt;br /&gt;
** podcasts, full-length movies, or large photo collections&lt;br /&gt;
** photo and video from an on-board high-res camera&lt;br /&gt;
** entire email database at your fingertips, even in poor phone signal areas&lt;br /&gt;
** more detailed maps and charts&lt;br /&gt;
** encrypted work databases that are not available online&lt;br /&gt;
* Have easy '''external access''', without requiring battery removal like the microSD card&lt;br /&gt;
* Support '''SDIO''' accessories&lt;br /&gt;
* Enable '''transfer''' of data from an external camera's full SD memory to:&lt;br /&gt;
** a portable USB hard drive, offsetting the need to travel with a notebook PC&lt;br /&gt;
** the internet, via wifi or phone network&lt;br /&gt;
* Enable editing of videos and photos obtained from external cameras&lt;br /&gt;
&lt;br /&gt;
Without an easily accessible higher storage SD Card slot, many users will soon be playing the juggling game of which data to delete from the much smaller and harder to swap microSD card. This is especially true for OpenMoko users, who are more likely to be power users than is the average mobile phone carrying population. Why carry an OpenMoko and an iPod, when you can simply add an SD Card slot?&lt;br /&gt;
--[[User:Pedro|Pedro]] 20:06, 17 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
: This is not true. Now you can find 2GB micros at the price of 20-30 euros. Too small for what?? --[[User:V0n0|V0n0]] 22:06, 28 December 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
: Think of putting a few '''movies''' on that SD memory card. It could really help if it was a little bigger (8GB, 16GB, 32GB). Also think of going '''offline''' for 1-2 weeks, far away from any computer you can access and then wanting to listen to some music. What you get in turn with a 2 GB memory slot is the same music over and over. Or you have to switch memory a cards a lot.&lt;br /&gt;
&lt;br /&gt;
: This situation is far more common than one would think: going in the mountains, going offshore (on a cruise ship). Or simply you may want to store many types of music, and '''share''' your device with friends. --[[User:Bogdanbiv|Bogdanbiv]] 13:47, 10 January 2008 (EEST)&lt;br /&gt;
&lt;br /&gt;
: Well, it can be micro SD, but why to put it so deep inside, under the battery and even under the SIM card? I would suggest to have a simple slot on the side where we could insert/remove the SD card equally easily as we swap CD's in computer. [[User:AudriusA|AudriusA]] 16:36, 12 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
[[User:Cfriedt|Cfriedt]] 12:40, 24 February 2008 (CET) -- I completely agree with a more accessible SD card slot. It should be made external for quick removal / insertion. I realize that would mean program data shouldn't reside on the SD, but really 256 MB of on-board flash is plenty. Micro or normally-sized, a regular-sized SD is still trivial to implement in terms of solder pads and traces.&lt;br /&gt;
&lt;br /&gt;
: Sorry, but this looks like useless chat. Micro-SD cards are perfect for mobile devices as they don't get too much space on the pcb. Also, we can find micro-sd up to 8gb, if you want more space just wait a while and they'll produce a bigger one in a few months :-p. Really, almost every single phone that has a sd slot has in its micro version, why would we need a full-sized, huge normal sd slot ? It gets too much space on the pcb it's not only about sw configuration or pin soldering, it's more regarding pcb layout.&lt;br /&gt;
&lt;br /&gt;
: What about something like this adapter[http://linitx.com/viewproduct.php?prodid=11922]? Is there any place in the case left to put this into? Nevertheless there is a 12GB microSD card announced from SanDisk and a 8GB card costs about 40€ or 15€ for 4GB. (But a 8GB SD card costs only about 25€) --[[user:kelvan|Kelvan]]&lt;br /&gt;
&lt;br /&gt;
: Maybe just an additional microSD that is easily accessible and hot-swappable. I imagine replacing the huge lanyard hole could help with this. --[[User:Sin|Sin]] 02:30, 4 May 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
: My thoughts exactly.  Two slots: 1 internal microSD for our storage, and a second external one for more immediate expansion.  My thoughts are more towards hardware expansion.  For example, some of us could put in a second wifi card that does have promiscuous mode.  External VGA connections, etc would also be possible.  The external slot should be chosen by availability of hardware expansions as well as memory availability/price.  --[[User:lally|Lally]] 13:01 12 May 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
=== IR port ===&lt;br /&gt;
Remote control applications&lt;br /&gt;
&lt;br /&gt;
Would be great to use openmoko as a Harmony remote controller.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
[[Category:User]]&lt;br /&gt;
[[Category:Ideas| ]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Wish_List</id>
		<title>Wish List</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Wish_List"/>
				<updated>2008-05-12T17:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Industrial grade Wifi management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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 [[:Category:Ideas|that have a category of 'Ideas']].&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Painless SDK installation &amp;amp; Setup ===&lt;br /&gt;
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]&lt;br /&gt;
&lt;br /&gt;
* one command for installation (apt-get install openmoko)&lt;br /&gt;
* one command to start Xnest (openmoko-xephyr?)&lt;br /&gt;
* one command to start an i386 shell (openmoko-386-shell)&lt;br /&gt;
* one command to start an armel shell (openmoko-armel-shell)&lt;br /&gt;
&lt;br /&gt;
No extra configuration required.&lt;br /&gt;
&lt;br /&gt;
==== IDE Plugins ====&lt;br /&gt;
People like to see plugins for&lt;br /&gt;
* [http://anjuta.sourceforge.net Anjuta]&lt;br /&gt;
* [http://www.eclipse.org Eclipse] (some things are possible - see [[Development with Eclipse]].&lt;br /&gt;
* [http://www.netbeans.org NetBeans]&lt;br /&gt;
* Game engine - Game Creation plugins&lt;br /&gt;
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]&lt;br /&gt;
* [http://www.kdevelop.org KDevelop]&lt;br /&gt;
* [http://developer.apple.com/tools/xcode/ XCode]&lt;br /&gt;
* [http://www.monodevelop.com MonoDevelop]&lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]&lt;br /&gt;
&lt;br /&gt;
==== UI Designer ====&lt;br /&gt;
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]&lt;br /&gt;
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Built-in Scripting Language ====&lt;br /&gt;
{{Main|Wishlist:BuiltInScriptingLanguage}}&lt;br /&gt;
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.&lt;br /&gt;
==== Easy build of the existing autotools - based packages ====&lt;br /&gt;
In the ideal case OpenMoko should exist on the top of the usual ./configure - make workflow which is typical for the majority of the C/C++ based open source projects. It should not require to rewrite or even replace the existing Makefile.am files of the project being ported, and it should allow to pass the needed parameters to the project configure script. Maybe OpenMoko project could be a bigger project having one or more (if some are libraries) autotools - based packages in its separate folders and include the proper documentation how to &amp;quot;wire&amp;quot; the standard autotools based package to the OpenMoko infrastructure.&lt;br /&gt;
&lt;br /&gt;
===Foreign Widget Set Bindings ===&lt;br /&gt;
==== Qt Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Maemo Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
==== SDL Integration ====&lt;br /&gt;
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.&lt;br /&gt;
&lt;br /&gt;
==== Cocoa / GNUstep ====&lt;br /&gt;
Allows to use MacOS X as a development platform.&lt;br /&gt;
&lt;br /&gt;
=== Software: Language bindings ===&lt;br /&gt;
==== Python bindings ====&lt;br /&gt;
Python bindings seem to be a commonly requested feature.  &lt;br /&gt;
&lt;br /&gt;
[[User:Mickey]] says, &amp;quot;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 &amp;quot;just&amp;quot; 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.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== C++ bindings ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Ruby bindings ====&lt;br /&gt;
Ruby and ruby-(gtk|glade) already ported to OpenMoko according to [http://lists.openmoko.org/pipermail/openmoko-apps/2007-May/000040.html this ] and [http://groups.google.de/group/comp.lang.ruby/browse_thread/thread/6bee9970cf055504 this] mesages. It just have to be included to distribution (only 4.9 MB!)&lt;br /&gt;
&lt;br /&gt;
==== Java bindings ====&lt;br /&gt;
People who concentrate on Java programming would like to have the OpenMoko port of some java virtual machine. GNU Classpath team a lot of great work in the past creating easily portable implementation. Sun's recently open sourced code could also be ported. &lt;br /&gt;
==== Other bindings ====&lt;br /&gt;
* Perl&lt;br /&gt;
* C#&lt;br /&gt;
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings&lt;br /&gt;
&lt;br /&gt;
== Community Support ==&lt;br /&gt;
&lt;br /&gt;
=== [http://projects.openmoko.org projects.openmoko.org] ===&lt;br /&gt;
Infrastructure for developers with&lt;br /&gt;
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)&lt;br /&gt;
* One mailing list for project&lt;br /&gt;
&lt;br /&gt;
== Platform ==&lt;br /&gt;
=== Community Images ===&lt;br /&gt;
In the future there could be complete, unofficial &amp;quot;product images&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
=== Wishlist voting ===&lt;br /&gt;
There could be a kind of voting system like they have at one of those big computer manufacturers homepage. Then the community could vote for the ideas that are most important to them. This would especially make sense for the hardware wishlist, because the hardware is still the part which can't be done by the community that easily.&lt;br /&gt;
&lt;br /&gt;
Here: [http://www.fevote.com/openmoko OpenMoko suggestion board]&lt;br /&gt;
&lt;br /&gt;
== Software: Additional features ==&lt;br /&gt;
&lt;br /&gt;
===PDA Mode===&lt;br /&gt;
&lt;br /&gt;
There are times when you wish to power up the device and not power up the gsm/cellphone portion of the phone. For example in meetings you might wish to access the PDA side with wifi as is the case for example on an aircraft.  On booting some method of booting to pda mode would be good - several other phones offer this feature.&lt;br /&gt;
&lt;br /&gt;
===Driving Mode===&lt;br /&gt;
&lt;br /&gt;
It may be forbidden in many countries, but many people use their cell phones while driving. With the touchscreen phones&lt;br /&gt;
this is very dangerous: You have to stare at the tiny numbers on the screen and try to hit them with your thumb or try to decipher tiny script of contacts, while steering with the other hand. There should be a configurable driving mode where the interface has a reduced functionality (e.g. only contacts and dialing) with HUGE interface buttons that are easy to use with limited attention.&lt;br /&gt;
&lt;br /&gt;
===Calling===&lt;br /&gt;
&lt;br /&gt;
==== Mask ID based on dialed numbers ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Use calling cards and similar routing techniques for lower-cost calling ====&lt;br /&gt;
Many people use calling cards, low-cost numbers and similar ways of reducing the costs of their calls.  It would be nice to have a single panel that would allow you to configure the rules of dialing a number taking in to account such systems.&lt;br /&gt;
&lt;br /&gt;
==== Outgoing black/white lists ====&lt;br /&gt;
The ability to allow or deny outoging calls to certain numbers can be useful in a number of situations (e.g. the holder of the 'phone is a child, untrusted, etc.).  This could be related to entries in the contact list, for example a user is only allowed to call people who are in their contact list.&lt;br /&gt;
&lt;br /&gt;
Also lists for incoming calls? Some friends always come through, unknown numbers get rejected automatically.&lt;br /&gt;
&lt;br /&gt;
==== Time-based blocking/unblocking of calls ====&lt;br /&gt;
Allowing or disallowing outgoing calls at certain times of the day could be useful, e.g. blocking a business phone from making calls outside of business hours.&lt;br /&gt;
&lt;br /&gt;
====Speaker-phone====&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
====Advanced Airtime Tracking====&lt;br /&gt;
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.&lt;br /&gt;
On (at least some) prepaid [http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data USSD] can be used to check current balance.&lt;br /&gt;
&lt;br /&gt;
* Call duration should consider billing increments and show the durations according to accounting period&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Anti-stutter software ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Minimize In-Call mode (check address book while in call)====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Similar request when using the browser (lookup passwords, todo list, etc).&lt;br /&gt;
&lt;br /&gt;
====Hold Music (Ringback Tone)====&lt;br /&gt;
On some cellphone networks you can pay to change the normal [http://en.wikipedia.org/wiki/Ringback_tone Ringback Tone] that the caller hears when ringing, to a customised sound.&lt;br /&gt;
This can partially be implemented on the phone.&lt;br /&gt;
Issues are:&lt;br /&gt;
*In countries where callers pay, this will make you unpopular.&lt;br /&gt;
*In countries where the called party pays, it will use your minutes, or cost you money.&lt;br /&gt;
**A list of people to activate this function for would alleviate this.&lt;br /&gt;
*[[GPRS]] internet connection will stall while the hold music is being played.&lt;br /&gt;
*Extra battery used when playing music.&lt;br /&gt;
&lt;br /&gt;
Also see [[Answering Machine]].&lt;br /&gt;
&lt;br /&gt;
====Play sound clips over the air====&lt;br /&gt;
Dialer could have a tab with big buttons which, when push, send sound clips 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&amp;amp;_j=questiondetails&amp;amp;_i=104&lt;br /&gt;
The buttons can have default sounds, but also have the ability to be customized.&lt;br /&gt;
&lt;br /&gt;
It would also be useful for notifying people why you can't talk (for example, having an &amp;quot;I can't talk tight now - I'm in the library - this is a pre-recorded message&amp;quot; would be good. Also perhaps you could loop a pre-recorded sound in the background so you can lie about where you are, and have the ability to simulate a really bad connection.&lt;br /&gt;
&lt;br /&gt;
==== DTMF Landline Dialing ====&lt;br /&gt;
The ability to hold the Neo near the microphone of a landline handset and have the Neo dial the landline by sounding DTMF tones. The DTMF tones could be generated in software or be pre-recorded files.&lt;br /&gt;
&lt;br /&gt;
Graphically this could be done by adding a 'DTFM dial' button to a context menu. The user would select a contact then presses the 'DTMF dial' button to start the process. A small delay could also be added to allow time to put the Neo near the landline handset.&lt;br /&gt;
&lt;br /&gt;
For the Neo to know which area code to use (or not use) the current or last GPS coordinates could be utilised.&lt;br /&gt;
&lt;br /&gt;
==== Conversation Recorder ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Unlicensed Mobile Access (UMA)====&lt;br /&gt;
T-Mobile recently rolled out a UMA service that hands off calls between the GSM network and WiFi access points. Only a few phones support it right now, this could be a rather unique feature if OpenMoko can implement it.&lt;br /&gt;
&lt;br /&gt;
This can be combined with a GPS map to show where local free hubs are.&lt;br /&gt;
&lt;br /&gt;
==== Ignore-Call Button ====&lt;br /&gt;
{{Main|Wishlist:Ignore Call Button}}&lt;br /&gt;
&lt;br /&gt;
Shut up a ringing phone, without accepting or rejecting the call.&lt;br /&gt;
&lt;br /&gt;
Another alternative might be to use microphone to recognize when the user gives an audible &amp;quot;Shhh!&amp;quot; command.  This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises. &lt;br /&gt;
&lt;br /&gt;
A really usable feature is to &amp;quot;reject with SMS/text message&amp;quot; - letting the user reply the caller choosing a previously setup template or typical response: &amp;quot;I'm in a meeting - I'll call you later&amp;quot; or &amp;quot;Can't take your call now, please call back in 10 minutes&amp;quot;. This feature typically is a much better way to get your co-workers (ie boss) to back off, than to silently ignore the call.&lt;br /&gt;
&lt;br /&gt;
The accelerometers could be queried while the phone is ringing to detect a firm tap on the phone. This would avoid the delays of fumbling to remove the phone from one's pocket to silence the ringer when you've forgotten to set it to silent mode. Just firmly tap the phone through your pocket, and the ringer will silence, like some Motorola pagers. Maybe single tap = silence; double tap = (activate voicemail or preset SMS).&lt;br /&gt;
&lt;br /&gt;
==== Voice Mailbox ====&lt;br /&gt;
{{Main|Voice Mailbox}}&lt;br /&gt;
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.&lt;br /&gt;
Can act profile-dependent.&lt;br /&gt;
&lt;br /&gt;
==== Hold Button ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Unanswered Call, Fast Call ====&lt;br /&gt;
&lt;br /&gt;
In Greece because of the various bill programs some people call a mobile phone, rings one time and then hangup.&lt;br /&gt;
Then the user of the mobile phone calls the other user(using the CallerID recognition).&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
==== Ambient Noise Detection ====&lt;br /&gt;
{{Main|Wishlist:Software:Ambient Noise Detection}}&lt;br /&gt;
&lt;br /&gt;
Using the microphone to detect ambient noise the ringtone volume could be adjusted automatically.&lt;br /&gt;
&lt;br /&gt;
If the ambient noise exceeds a preset threshold, the ring vibrator could be activated. This is good for when people forget to enable vibrate mode when entering noisy environments.&lt;br /&gt;
&lt;br /&gt;
Detection of ambient noise could also be used to subtract the noise from the audio signal. However this approach is best performed using two Microphones, one for the voice and the other to detect the noise.&lt;br /&gt;
&lt;br /&gt;
==== Active noise control ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Hear Impaired Mode ====&lt;br /&gt;
&lt;br /&gt;
Hearing impaired people need louder speaker(but with less volume than hands free) and equalized sound, based on their hearing problems(example 20dB hearing loss from 2KHz to 4KHz).&lt;br /&gt;
Older people 50+ years old need slower speech rate(time stretch, cut the big speech gups) and cleaner voice.&lt;br /&gt;
&lt;br /&gt;
Please note also the Hearing Aid Compatibility regulations in the US. I have tried to summarize and clarify them [http://quux.wiki.zoho.com/WhereAreHACphones.html here]. I haven't yet discovered whether the FIC device is M or T rated. For many hearing impaired users, a tcoil coupling to their hearing aid (t3/T4 rating) would be preferable to manipulating sound output in other ways.&lt;br /&gt;
&lt;br /&gt;
==== Mute Button ====&lt;br /&gt;
&lt;br /&gt;
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Web Browser===&lt;br /&gt;
&lt;br /&gt;
==== Full-page Zoom Support ====&lt;br /&gt;
Full page zoom is a very good feature. If possible, people would want to browse the internet with normal layout than a distorted one. It's best if I could double-tap a text or image block and zoom to a fit size.&lt;br /&gt;
&lt;br /&gt;
The [[BigPageWidget]] proposal suggests 'Full Page Zoom' should be implemented as a widget available to all applications.&lt;br /&gt;
&lt;br /&gt;
* If the processor and memory could afford, it is good to just use [http://www.mozilla.org/projects/firefox/3.0a8/releasenotes/ Firefox 3] in OpenMoko. It has implemented latest gecko's full-page-zoom ability. With certain modification, we could do the same zoom like iPhone's Safari.&lt;br /&gt;
* Firefox 3 may be a big eater. A cut-down version of it may be good enough.&lt;br /&gt;
* If this is not practical, Minimo with full-page-zoom ability is good.&lt;br /&gt;
&lt;br /&gt;
==== Plugins Support ====&lt;br /&gt;
* While an extensive browser plugin system would be costly to the efficacy of the platform four 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].&lt;br /&gt;
* 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.&lt;br /&gt;
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.&lt;br /&gt;
&lt;br /&gt;
==== Widget support ====&lt;br /&gt;
Built-in browser with the ability to install widget shortcuts (aka links) in the main phone menu, also some apis for interfacing with the other functionality of the phone like adding contacts, reading contacts, reading gps-psoition etc.. (maybe there is some defacto widget standard that could be used)&lt;br /&gt;
&lt;br /&gt;
There is a [http://www.w3.org/TR/widgets/ W3C spec] being developed, which may not be exactly what the original proposal had in mind, but it is about writing simple applications with HTML, SVG and JavaScript. It is mainly Opera's work, and while most [http://widgets.opera.com/ developed widgets are not very useful], there are some that are, and it creates a very nice development platform, especially for mobile devices. So, I think it makes an awful lot of sense for OpenMoko to support this spec.&lt;br /&gt;
&lt;br /&gt;
===Media===&lt;br /&gt;
====Music/Video Software====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
It would also be nice to have some kind of &amp;quot;announce your musical taste&amp;quot; mode. This could be implemented using last.fm profiles, such that when e.g. in a crowded place a user nearby has a similar musical taste, both users get notified so they can share their music files with each other (perhaps using a photo for id). Great for discovering new music - and making friends!&lt;br /&gt;
&lt;br /&gt;
- Possible copyright issues sharing music files?&lt;br /&gt;
&lt;br /&gt;
Sure, but that's the user's concern, not the developer's. There's no way for us to know which audio files the user is permitted/not permitted to share.&lt;br /&gt;
&lt;br /&gt;
==== Reading Support ====&lt;br /&gt;
It would be really great to be able to read :&lt;br /&gt;
&lt;br /&gt;
*PDF&lt;br /&gt;
*Open Document files&lt;br /&gt;
*Text / RTF files&lt;br /&gt;
*fb2 files (fbreader)&lt;br /&gt;
*MS Office files&lt;br /&gt;
*Aportis Doc (pdb)&lt;br /&gt;
*DjVu&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
In both landscape and portrait&lt;br /&gt;
&lt;br /&gt;
==== Wikipedia Mirror ====&lt;br /&gt;
{{Main|Wishlist:Wikipedia_Mirror}}&lt;br /&gt;
&lt;br /&gt;
==== Blog ScribblePad ====&lt;br /&gt;
&lt;br /&gt;
Draw an image (and maybe add some text), then post to your blog.&lt;br /&gt;
&lt;br /&gt;
==== E-Book Reader ====&lt;br /&gt;
* 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 (see the [[BigPageWidget]] proposal). 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.&lt;br /&gt;
&lt;br /&gt;
==== Personal Wiki ====&lt;br /&gt;
{{Main|Wishlist:PersonalWiki}}&lt;br /&gt;
&lt;br /&gt;
Display the notes database as a Wiki.  Inspiration:  [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki].&lt;br /&gt;
&lt;br /&gt;
[http://www.didiwiki.org/ Didiwiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Dictionary, thesaurus, translator and flashcards ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Dictionary'''&lt;br /&gt;
Something like [http://www-user.tu-chemnitz.de/~fri/ding/ ding]:&lt;br /&gt;
&lt;br /&gt;
advantages:&lt;br /&gt;
* small&lt;br /&gt;
* very efficient + useful&lt;br /&gt;
* only limited to really needed functions&lt;br /&gt;
&lt;br /&gt;
Support for vocabulary training with flashcard system (also usable for other content than foreign language words!)&lt;br /&gt;
&lt;br /&gt;
==== Flickr uploader ====&lt;br /&gt;
A simply, drag &amp;amp; drop uploader, tagger and organizer to upload images on phone to [http://flickr.com Flickr], with support for various languages. A good base could be the cross-platform uploader [http://juploadr.org/ jUploadr], written in Java and working on Windows, Mac and Linux. But, most of all, the best '''GPL''' program which actually do this work is '''[http://mobilepushr.jottit.com/ Mobile Pushr]''', written in C and Cocoa for iPhone, must be probably ported in python to work on OpenMoko.&lt;br /&gt;
&lt;br /&gt;
===PIM (Personal Information Managment)===&lt;br /&gt;
====Context Sensitivity====&lt;br /&gt;
Any email or sms message or application that contains a telephone number should be click to dial, eg [http://123567890 1234567890]. Addresses link to mapping software too?&lt;br /&gt;
&lt;br /&gt;
==== Notes ====&lt;br /&gt;
&lt;br /&gt;
Something for taking notes would be a nice feature:&lt;br /&gt;
[http://www.gnome.org/projects/tomboy/ Tomboy] has some nice syncing features and is gtk based.&lt;br /&gt;
&lt;br /&gt;
Some Screenshots are [http://www.gnome.org/projects/tomboy/images/ here].&lt;br /&gt;
&lt;br /&gt;
==== Calendar ====&lt;br /&gt;
&lt;br /&gt;
A nice calendar application should be implemented in OpenMoko. This tool should have a syncing feature with your desktop computer.&lt;br /&gt;
The tool should have a reminder feature and other features like other mobile phones already have.&lt;br /&gt;
&lt;br /&gt;
I think synchronization sould be handled by computer with opensync+syncml based tool, not by calendar itself. --[[User:Antono|Antono]] 12:25, 7 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
* If this cellphone is thought also as a PDA, of course it needs a calendar. But I would like to see something better than just a calendar, I was thinking that there could be some application using &amp;quot;fisheye&amp;quot; view. Just like [http://www.cs.umd.edu/hcil/datelens/], though that example seem a bit chaotic. --[[User:Yprum|Yprum]] 22:27, 21 February 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
==== Address Book ====&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
servers or whatever.&lt;br /&gt;
* Also the possibility to search all info on the contact, like number, email, postal address and so on, in case someone asks you to identify a known number.&lt;br /&gt;
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)'  This could also be done&lt;br /&gt;
by integrating with whatever on-phone GPS mapping software the Neo ends up using.&lt;br /&gt;
* Random text input 'notes' about a contact&lt;br /&gt;
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's&lt;br /&gt;
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant&lt;br /&gt;
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account&lt;br /&gt;
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.&lt;br /&gt;
* Support for:&lt;br /&gt;
**[http://en.wikipedia.org/wiki/SyncML SyncML]&lt;br /&gt;
**[http://abook.sourceforge.net/ abook] a text-based addressbook program&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book&lt;br /&gt;
**[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).&lt;br /&gt;
*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. Should also be able to create an address book entry from a Bluetooth ID. Could be used as a nice tool to detect people who you're avoiding.&lt;br /&gt;
* Support for family relations (explained further on the [[Talk:Wish_List#Address_book:_Support_for_family_relations|talk page]]).&lt;br /&gt;
&lt;br /&gt;
==== Database/List Display/Edit ====&lt;br /&gt;
{{Main|Wishlist:PilotDB}}&lt;br /&gt;
&lt;br /&gt;
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db].  It's GPL'd.&lt;br /&gt;
&lt;br /&gt;
==== To-Do lists ====&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* I would like to be able update my [http://todotxt.com/ todo.txt] which is stored on a personal server from the phone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Context based To-Do list ====&lt;br /&gt;
{{Main|Wishlist:context based to-do list}}&lt;br /&gt;
&lt;br /&gt;
If I arrive home and there are &amp;quot;@home&amp;quot; things in the to-do list, the Context based to-do list reminds me of that.&lt;br /&gt;
&lt;br /&gt;
==== Workout ====&lt;br /&gt;
&lt;br /&gt;
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.&lt;br /&gt;
&lt;br /&gt;
==== Shopping List ====&lt;br /&gt;
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.&lt;br /&gt;
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.&lt;br /&gt;
&lt;br /&gt;
==== [[Fuel Log]] ====&lt;br /&gt;
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).&lt;br /&gt;
Advanced features could include:&lt;br /&gt;
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)&lt;br /&gt;
* Sending the data to a central server which collects the information ( spritmonitor.de, anything else ?)&lt;br /&gt;
* 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)&lt;br /&gt;
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server&lt;br /&gt;
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.&lt;br /&gt;
&lt;br /&gt;
==== Keep in touch reminder ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Menstruation period timer ====&lt;br /&gt;
Fill in statistics and compute probabilities for menstruation, fertility, mood.&lt;br /&gt;
See http://www.getjar.com/products/48/MyGirls&lt;br /&gt;
&lt;br /&gt;
==== Tagging ====&lt;br /&gt;
{{Main|Wishlist:Tagging}}&lt;br /&gt;
Tags can be used by various applications. Requirement is interoperability for further enhancement.&lt;br /&gt;
Tags should be applied to contacts, calendar events, mail/sms, calls, places(GPS) and files.&lt;br /&gt;
http://tracker-project.org has all needed tagging-and-searching functionality and ready to be used on low-resourced devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Exchange Integration ====&lt;br /&gt;
&lt;br /&gt;
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/contacts/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.&lt;br /&gt;
&lt;br /&gt;
* Is the time right to name names ? Add as your liking...&lt;br /&gt;
** Plugin/integration to &amp;amp; from Kontact&lt;br /&gt;
** Same with Evolution - Thunderbird - Seamonkey&lt;br /&gt;
** ?? Google Calendars ?? (this one is tough)&lt;br /&gt;
** Ms Exchange&lt;br /&gt;
&lt;br /&gt;
==== An electronic wallet ====&lt;br /&gt;
&lt;br /&gt;
A database which stores securely PIN codes, login data, bank and email accounts, membership informations, and other valuable and private data. Entries can be ordered in a folder-like manner. Access to the database is given by a master password. The database as well as the master password are stored with strong encryption. For security reasons, the program asks again for entry of the master password after a certain period of inactivity. The database can be synchronized with a PC application (ideally written in Java for cross platform compatibility).&lt;br /&gt;
&lt;br /&gt;
Examples: KWallet [http://docs.kde.org/stable/en/kdeutils/kwallet/index.html], Viskeeper [http://www.sfr-software.de/cms/EN/pocketpc/viskeeperpro/index.html], KeePass [http://keepass.info/]&lt;br /&gt;
&lt;br /&gt;
==== Easy business card sharing for a small group (in the same room) over bluetooth or WIFI ====&lt;br /&gt;
&lt;br /&gt;
Six Neo1973 owners are having a chat in a cafe.    They agree to split but meet later.     They want to exchange their numbers with each other before they go....     The normal way to do this is for a rather longwinded repeating of numbers to each other, or half the people manually inputting numbers before phoning/texting the other half to complete the process.    All in all its a fair number of button presses to get it sorted.&lt;br /&gt;
&lt;br /&gt;
Instead the NEO could have a small app where the phones link up in a small peer to peer Bluetooth network and share automatically with one person initiating a request and the other detected NEOS agreeing/acknowledging the share.   The initiating NEO would then sync the mini-group automatically by interrogating each phone and then sending the table of results.     The NEOs would have to be clever about checking for duplicates in the address book and offering a choice to the user if there are any conflicts.&lt;br /&gt;
&lt;br /&gt;
PROS: &lt;br /&gt;
*genuine saving in time for social and business situations&lt;br /&gt;
&lt;br /&gt;
CONS: &lt;br /&gt;
*I am sure there are some security hassles to be pondered....&lt;br /&gt;
*not going to be used every day... definitely not an immediate priority.....&lt;br /&gt;
*only at geek conferences will all have a neo....&lt;br /&gt;
&lt;br /&gt;
==== SMS Counter ====&lt;br /&gt;
&lt;br /&gt;
An application which shows on the today-screen how many SMS i've already sent in this actual month. Some have for example 150 free SMS to write each month. With that program you can see all the time how many SMS are left until the end of the period. As an alternative it could be a counter which counts backwards from a predefined number over a defined period.&lt;br /&gt;
&lt;br /&gt;
==== Data Storage ====&lt;br /&gt;
&lt;br /&gt;
Store all the data about communications with a contact (SMS, MMS, phone calls, emails, IM, etc)  in a database and make them available in one list or one timeline.&lt;br /&gt;
Make this list available through the address book.&lt;br /&gt;
This would be great for people who are switching between one or more communication channels frequently&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{{Main|Wishlist:Profiles}}&lt;br /&gt;
&lt;br /&gt;
The Wishlist:Profiles page documents many possible profiles - ways to configure the phone. Including ways to respond to calls, wifi and GPS events.&lt;br /&gt;
And how to automatically switch between them.&lt;br /&gt;
&lt;br /&gt;
===Text Messaging===&lt;br /&gt;
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included&lt;br /&gt;
For current development status of the messaging-app see: [[Messages]].&lt;br /&gt;
&lt;br /&gt;
There are many useful options that now can be used to full capacity:&lt;br /&gt;
&lt;br /&gt;
* '''Instant Messaging'''&lt;br /&gt;
Bringing a new GTK gui or a resized Qt gui out for the serverless Instant Messenger http://Retroshare.sf.net&lt;br /&gt;
&lt;br /&gt;
* '''Acknowledge/status SMS'''&lt;br /&gt;
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'.&lt;br /&gt;
&lt;br /&gt;
** '''Special handling of status-SMS''' &lt;br /&gt;
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 &amp;amp; clog the inbox, warn of a &amp;quot;new&amp;quot; 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.&lt;br /&gt;
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date&lt;br /&gt;
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: &lt;br /&gt;
** 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]&lt;br /&gt;
** [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 &amp;amp; Alcatel encoding ([[User:Marcin|I could]] eventually help)&lt;br /&gt;
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung&lt;br /&gt;
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. &amp;quot;Server Down!&amp;quot; has a loud klaxon, &amp;quot;Disk Warning&amp;quot; has a quiet chirp.&lt;br /&gt;
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: &amp;quot;hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz&amp;quot; becomes &amp;quot;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?&amp;quot; (taken from: [http://en.wikipedia.org/wiki/SMS_language])&lt;br /&gt;
** Implement a script that abbreviates :-)&lt;br /&gt;
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''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&lt;br /&gt;
* '''Searching''' allow full-text search or string search.&lt;br /&gt;
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...&lt;br /&gt;
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.&lt;br /&gt;
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.&lt;br /&gt;
* '''SMS-EMail-Gateway'''&lt;br /&gt;
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&lt;br /&gt;
* '''SMS-filter chain''', for stuff like Codeword-SMS above, Theft-mode activation, auto-response (reply with gsm-position for &amp;quot;Where are you?&amp;quot;), auto-substitution (like replace $POS with gsm-position in outgoing SMS).&lt;br /&gt;
* '''SCROOGE-SMS'''  This is an intelligent SMS router.    When you write your SMS you get the option of how to send it&lt;br /&gt;
** By standard carrier SMS - cost 10cents&lt;br /&gt;
** By OpenMoko SCROOGE SERVER - this will send your SMS to the OpenMoko Community SCROOGE SERVER next time you have WiFi - the phone will remind you to turn on WiFi when it knows you are in places where you have WiFi access.   The person you are sending to picks up when they come into WiFi Range.    This comes with an intelligent reminder that tells you that message has still not been delivered in 24 hours and would you now like to send it by a paymethod.    This is better than IM because both parties do not have to have WiFi at the same time. - cost FREE&lt;br /&gt;
** By email/Wifi - cost FREE&lt;br /&gt;
** By email/GPRS - cost ?&lt;br /&gt;
** Too many options!!!&lt;br /&gt;
** Alternatively SCROOGE SERVER could auto launch IM client if it detects both parties have WiFi at the same time (Status kept on SCROOGE SERVER?) to allow instant reply.....    Person who receives has the option to reply in SMS or in IM or in VOIP phone.&lt;br /&gt;
&lt;br /&gt;
=== Text input ===&lt;br /&gt;
{{Main|Wishlist:Text Input}}&lt;br /&gt;
There are many good suggestions for text input on the specific text input ideas page.&lt;br /&gt;
&lt;br /&gt;
=== More/Custom Input Method Widgets ===&lt;br /&gt;
{{Main|Wishlist:More/Custom_Input_Method_Widgets}}&lt;br /&gt;
Additional and customizable Input Method Widgets (similar to virtual keyboard).  &lt;br /&gt;
This could add soft-key functionality to games or other applications such as:&lt;br /&gt;
*D-Pads&lt;br /&gt;
*buttons&lt;br /&gt;
*virtual trackballs&lt;br /&gt;
*...&lt;br /&gt;
Personalized layouts could be associated with each application.&lt;br /&gt;
&lt;br /&gt;
=== Games ===&lt;br /&gt;
{{Main|Wishlist:Games}}&lt;br /&gt;
&lt;br /&gt;
=== Mesh Networking ===&lt;br /&gt;
{{Main|Wishlist:Mesh Networking}}&lt;br /&gt;
&lt;br /&gt;
=== Printing Support ===&lt;br /&gt;
It would be really neat to be able to print over either bluetooth, Wifi, or USB. I can imagine wanting to print:&lt;br /&gt;
&lt;br /&gt;
* Notes&lt;br /&gt;
* Maps&lt;br /&gt;
* Email&lt;br /&gt;
* Calendars&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
# GTK+'s printing support&lt;br /&gt;
# Making cups run on a really small system&lt;br /&gt;
&lt;br /&gt;
{{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.}}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Further details:&lt;br /&gt;
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]&lt;br /&gt;
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]&lt;br /&gt;
* [http://www.j5live.com/?p=204 j5live.com]&lt;br /&gt;
&lt;br /&gt;
===Misc Software===&lt;br /&gt;
====Clocks/timers/Activity meters====&lt;br /&gt;
===== Sport tracker =====&lt;br /&gt;
{{Main|Wishlist:Sport_tracker}}&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===== Standby clock =====&lt;br /&gt;
{{Main|Wishlist:Standby_clock}}&lt;br /&gt;
A quick way to see what time it is.&lt;br /&gt;
&lt;br /&gt;
===== Egg Timer =====&lt;br /&gt;
{{Main|Wishlist:EggTimer}}&lt;br /&gt;
&lt;br /&gt;
Very simple (one click) count up / count down timers are very useful.&lt;br /&gt;
&lt;br /&gt;
===== Cycle Computer =====&lt;br /&gt;
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.&lt;br /&gt;
* 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)&lt;br /&gt;
&lt;br /&gt;
===== NTP Server =====&lt;br /&gt;
&lt;br /&gt;
Run the [http://www.ntp.org NTP] daemon using the GPS chipset as a reference clock, so that the Neo would have a very accurate time-of-day clock and would be able to serve time to other networked devices. &lt;br /&gt;
&lt;br /&gt;
I don't know what it would take to implement this. Items to consider would be the availability of a 1 pulse-per-second hardware signal, the accuracy of timestamps delivered in NMEA messags, etc. Dealing with power-management issues (such as the device going to sleep) would also be challenging.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Find Keys/locate stuff =====&lt;br /&gt;
&lt;br /&gt;
This would require an additional accessory: a tag which transmits a signal that the Openmoko device can pick up. The tag could for example be attached with a ring loop to your keys, put in your wallet, or be attached with high strength adhesive strips to your remotely controlled aircraft. Whenever you can't find back your keys, wallet, RC aircraft,... you activate this application. When the device picks up the signal of the tag, it translates it to clear audio and visual prompts to guide you in the right direction.&lt;br /&gt;
&lt;br /&gt;
A commercial device that offers this functionality is the [http://loc8tor.com/ loc8tor]. Having this in the Openmoko phone would obliviate the need for a separate device. Murphy's law dictates that you'll only loose your keys when you don't know any more where you've put the loc8tor tracking device. But you're bound to always have your phone with you. &lt;br /&gt;
&lt;br /&gt;
Additionally, you could also set a safety perimeter. Whenever a tagged item moves more then X meters from the phone, a signal will be given.&lt;br /&gt;
&lt;br /&gt;
For a related idea, see [[Wishlist#Dude.2C_Where.27s_My_Car.3F|Dude, Where's my car]].&lt;br /&gt;
&lt;br /&gt;
===== Reality check reminder =====&lt;br /&gt;
{{Main|Wishlist:Reality check reminder}}&lt;br /&gt;
&lt;br /&gt;
A tool to [http://www.phrack.org/issues.html?issue=64&amp;amp;id=16 hack your brain]&lt;br /&gt;
&lt;br /&gt;
===== Automatic timezone changing (GPS) =====&lt;br /&gt;
&lt;br /&gt;
Check the timezone with GPS and adapt them.&lt;br /&gt;
&lt;br /&gt;
====Calculators====&lt;br /&gt;
===== A Universal Unit Converter Tool =====&lt;br /&gt;
&lt;br /&gt;
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. And not only the engineers. &lt;br /&gt;
&lt;br /&gt;
Ideas what kind of conversions a converter tool could do:&lt;br /&gt;
&lt;br /&gt;
Length&lt;br /&gt;
- Acceleration&lt;br /&gt;
- Angle&lt;br /&gt;
- Angular Velocity&lt;br /&gt;
- Area&lt;br /&gt;
- Capacitance&lt;br /&gt;
- Radioactivity&lt;br /&gt;
- Currency &lt;br /&gt;
- Charge&lt;br /&gt;
- Computer Memory&lt;br /&gt;
- Conductance&lt;br /&gt;
- Density&lt;br /&gt;
- Energy&lt;br /&gt;
- Illumination&lt;br /&gt;
- Power&lt;br /&gt;
- Force &lt;br /&gt;
- Flow&lt;br /&gt;
- Pressure&lt;br /&gt;
- Speed&lt;br /&gt;
- Temperature&lt;br /&gt;
- Time&lt;br /&gt;
- Torque&lt;br /&gt;
- Viscosity&lt;br /&gt;
- Volume&lt;br /&gt;
- Weight&lt;br /&gt;
&lt;br /&gt;
Roman Numerals&lt;br /&gt;
- ASCII, Hex&lt;br /&gt;
- Cooking&lt;br /&gt;
- BMI&lt;br /&gt;
- Clothing Sizes&lt;br /&gt;
&lt;br /&gt;
Money Converter based on current rates from Internet...&lt;br /&gt;
e. g. Dollar &amp;lt;-&amp;gt; Euro&lt;br /&gt;
 &lt;br /&gt;
Physical and Mathematical Constants&lt;br /&gt;
GPS conversions &lt;br /&gt;
&lt;br /&gt;
- link to or integration of a scientific calculator&lt;br /&gt;
- link to or integration of a simple calculator&lt;br /&gt;
&lt;br /&gt;
A good basis for such a converter tool could be the Palm program &amp;quot;units&amp;quot; from &lt;br /&gt;
François Pessaux [http://francois.pessaux.neuf.fr/files/units1_11.tgz]. The GPL'd program comes with full documentation.&lt;br /&gt;
&lt;br /&gt;
For GPS conversions see gpsbabel [http://www.gpsbabel.org]&lt;br /&gt;
&lt;br /&gt;
===== An Postfix Notation (RPN) calculator =====&lt;br /&gt;
&lt;br /&gt;
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 they 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.&lt;br /&gt;
&lt;br /&gt;
==== Windows CE Emulator ====&lt;br /&gt;
&lt;br /&gt;
On ARM machine, Windows CE API emulator, like Wine on x86 machines. &lt;br /&gt;
&lt;br /&gt;
==== PalmOS Emulator ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
I'd like to see a Windows CE Emulator with active sync support.&lt;br /&gt;
&lt;br /&gt;
==== Chumby Emulator ====&lt;br /&gt;
&lt;br /&gt;
Would be very cool if the neo can act as a chumby. see http://chumby.com for more details about a chumby.&lt;br /&gt;
&lt;br /&gt;
==== TV Guide ====&lt;br /&gt;
Display a TV guide using [http://xmltv.org xmltv].&lt;br /&gt;
Something like [http://mtvg.sourceforge.net/ Maxemum TV-Guide] (QT)&lt;br /&gt;
&lt;br /&gt;
==== Alcohol meter ====&lt;br /&gt;
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.&lt;br /&gt;
See, for example (German text) http://www.misterio-online.de/promille.htm&lt;br /&gt;
&lt;br /&gt;
==== Interaction with LEGO Mindstorm ====&lt;br /&gt;
With the accelerometers, 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.&lt;br /&gt;
&lt;br /&gt;
==== Flashlight ====&lt;br /&gt;
Simple finger application that makes every pixel on the entire screen white to be as bright as possible until you tap the screen again to turn it off.  This way, you can use your Neo as a (short term) flashlight!&lt;br /&gt;
&lt;br /&gt;
==== Wii Controller Emulator ====&lt;br /&gt;
Use the accelerometers and buttons on screen to work as a Wii controller via Bluetooth.&lt;br /&gt;
&lt;br /&gt;
==== FUSE support ====&lt;br /&gt;
Ability to use FUSE to mount larger file systems over wireless.  (even gmailfs, sshfs, etc.)&lt;br /&gt;
&lt;br /&gt;
=== Accessibility ===&lt;br /&gt;
Accessibility features for the visually impaired.&lt;br /&gt;
* High Contrast Themes.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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. see: [[Wishlist:Speech synthesis]]&lt;br /&gt;
&lt;br /&gt;
==== VOIP ====&lt;br /&gt;
* [[Dialer]] should be able to use SIP.&lt;br /&gt;
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.&lt;br /&gt;
* A standard SIP client would probably fit better into the &amp;quot;free and open&amp;quot; philosophy.&lt;br /&gt;
* Ideally a SIP client that includes ZRTP/SRTP for secure communications.&lt;br /&gt;
(Note: Vonage will not give you your SIP credentials, so you cannot log into their network with a non-approved softphone. Other VoIP providers have different policies.)&lt;br /&gt;
&lt;br /&gt;
''This seems very similar to what [http://en.wikipedia.org/wiki/Generic_Access_Network UMA] offers.''&lt;br /&gt;
&lt;br /&gt;
Asterisk is a great communication platform that can run on small devices. I have an Asterisk server running on a Nokia 770 and I read about running Asterisk on an iPhone. With the crosscompiler available it sould be possible to compile it and run Asterisk on an openmoko phone and let it take care of almost everything on the wishlist below.&lt;br /&gt;
Edw/&lt;br /&gt;
&lt;br /&gt;
==== Power Meter ====&lt;br /&gt;
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.&lt;br /&gt;
&lt;br /&gt;
Also a rrdtool type of configurable timespan/frequency graphical overview would be very cool and usefull to some people?&lt;br /&gt;
&lt;br /&gt;
=== Accelerometer wishes ===&lt;br /&gt;
==== Flick interface ====&lt;br /&gt;
Ability to &amp;quot;flick&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Sensitivity of the scrolling should be configurable and a test option provided.&lt;br /&gt;
&lt;br /&gt;
==== Reading navigation of documents enhanced by accelerometers ====&lt;br /&gt;
If the two accelerometers in Neo1973 allows it, it will be nice if when you're reading, give a newspaper, you can move up, down, left and to the right the viewing of the document just moving the phones to the corresponding direction.&lt;br /&gt;
&lt;br /&gt;
I don't know if this is possible (haven't seen the project in detail yet) but this feature could be very attractive for final users (and this is good). (sorry for my english but i'm italian)&lt;br /&gt;
&lt;br /&gt;
==== Wand UI ====&lt;br /&gt;
In keeping with the requests to think outside of the box... the dual 3d accelerometers should enable a 'magic wand'-style UI for certain uses. Macros could be recorded and edited, or presets could be used. For example, flipping the device playfully could initiate a game mode or could signal the end of the work day.&lt;br /&gt;
==== Panning interface ====&lt;br /&gt;
Some applications display underlying data that is larger than the screen.  Typically they let you pan across the data using scroll bars.&lt;br /&gt;
&lt;br /&gt;
In cases where the data is only (say) 3 or 4 screens wide or high, it may be very intuitive to just shift the hand held device a few centimeters to the left or right, up or down to pan in that direction.  The screen would appear to be a hole into the world of the data, and you're just moving the hole to look at something else.&lt;br /&gt;
&lt;br /&gt;
When the underlying data is very large, you obviously wouldn't want to use this mechanism unaltered; you'd have to walk to the next room to see the data 100 screens away.  Instead different accelerations can be used for different panning sizes.  This is the same adaption used for accelerated mouse pointers typical on touch pads.  A quick flick moves the mouse pointer fast and far.  A slower drag over the same area on a touch pad moves the pointer slower and with more precision.&lt;br /&gt;
&lt;br /&gt;
==== Shake-to-Wake ====&lt;br /&gt;
Giving the phone a shake enables voice commands for a few seconds.&lt;br /&gt;
Usage Examples: &lt;br /&gt;
&lt;br /&gt;
* {Shake} &amp;quot;Call&amp;quot; ''ContactName'' ''PhoneType''&lt;br /&gt;
* {Shake} &amp;quot;Call John Mobile&amp;quot;  (Calls John's mobile)&lt;br /&gt;
* {Shake} ''ApplicationName''&lt;br /&gt;
* {Shake} &amp;quot;Reader&amp;quot; (Opens the e-book application)&lt;br /&gt;
&lt;br /&gt;
Would require a method of inputting voice tags for applications and contacts and obviously will only work for P2 (accelerometers)&lt;br /&gt;
But lets get voice command functionality working before P2 (just by pressing a button on the screen instead of shaking)&lt;br /&gt;
&lt;br /&gt;
I think that is possibly to replace &amp;quot;Shake&amp;quot; with double hit with finger in the side of phone. Proper algorithms(with accelerometers) should recognize any similar activities.&lt;br /&gt;
&lt;br /&gt;
==== Emergency call ====&lt;br /&gt;
When the accelerometer detects a great acceleration (i.e. 5G) start a countdown sequence, if it is not stopped make a call to a preconfigured emergency number. If the data from the GPS is accurate give it.&lt;br /&gt;
&lt;br /&gt;
A first version could use a recorded message (an audio file). In next version it could use a synthesizer, so it can give more information (add GPS information when it is ready).&lt;br /&gt;
&lt;br /&gt;
:I would worry that most such events would be false positives, and hard to distinguish from the real thing.  A user dropping their phone (an event very common in the life of any cellphone) is far more likely than a user being in a car accident with their phone, and the clatter of a cell phone on asphalt could reach 5G.  Additionally, it has to be very hard to distinguish hitting pavement from hitting a windshield, as from a physics standpoint the two are the same thing. [[User:Hashbrowncipher|Hashbrowncipher]] 02:06, 26 October 2007 (CEST)&lt;br /&gt;
::It could use the gps data to calculate the speed it is traveling with. Let's say it has been moving for more than 50 km/h for more than 10 seconds. Then it could activate the &amp;quot;emergency call if more than 5g&amp;quot; function. Aside from the countdown timer, it could increase the volume to max and warn the user that an automatic emergency call will take place in x seconds. While it is counting down it could listen for &amp;quot;Never mind, I'm fine, phone&amp;quot; and stop the countdown in case it hears that. It could also output the warning sound to the attached bluetooth headset and let the user talk to emergency services if the user is still conscious. [[User:Tommy|Tommy]] 17:48, 8 January 2008 (CET)&lt;br /&gt;
:::Perhaps have the phone yell loudly that it's about to do the emergency call for a decent amount of time, disabled by touching the screen or entering the pin number. In the case of any bluetooth device attached to the user, the phone could check to see if it's in range before calling. [[User:sin|sin]]&lt;br /&gt;
&lt;br /&gt;
==== Movement detection ====&lt;br /&gt;
By detecting that the owner is walking a user defined profile can be activated with a specific set of notification settings. For example you may wish to use a cheap old sounding ringtone so you don't attract attention from muggers. Or you may wish to have a louder ringtone if you carry your phone in a bag where it can't be so easily heard.&lt;br /&gt;
&lt;br /&gt;
==== Games ====&lt;br /&gt;
Imagine a first person shooter that you look around by turning your body.&lt;br /&gt;
&lt;br /&gt;
==== Sloshing battery indicator ====&lt;br /&gt;
Shaking the phone will produce a sloshing sound, as if  it contained a liquid. As the battery loses charge, so the sound produced on being shaken, will replicate a decreasingly empty container. [http://mobile.slashdot.org/article.pl?sid=07/11/28/1342248] for an example.&lt;br /&gt;
==== Steady screen ====&lt;br /&gt;
It may be hard to read the screen when the device is shaking from some source of vibration.  E.g.&lt;br /&gt;
* being mounted inside a vehicle&lt;br /&gt;
* during certain sports&lt;br /&gt;
* while the internal vibrator is activated (perhaps)&lt;br /&gt;
The accelerometers could be used to determine the frequency of the shaking and to make the screen appear to be steady by offsetting the contents at the same frequency in the opposite direction.  If this was handled by the graphics processor it might not even be an intensive operation or produce significant battery usage.&lt;br /&gt;
&lt;br /&gt;
At slower movements, (say just being held in an older unsteady hand) the accelerometer data could be fed directly into the screen offset.  This would allow you to compensate for unpredictable movements.  &lt;br /&gt;
&lt;br /&gt;
Such a mode would cancel out shaking, producing what would appear to be a slightly smaller but steady screen.  (Smaller because pixels at the edge of the screen may have ''any'' screen in the same location in the next fraction of the vibration).  Gross movements that move the screen to an entirely different position would not be cancelled, effectively 'panning' to keep up with the large movement.&lt;br /&gt;
&lt;br /&gt;
In situations where the hand is not experiencing the same source of vibration that the screen is, the areas of touch sensitivity should be offset at the same time as the screen.  So a steady hand touching a vibrating screen isn't interpretted by the application software as a vibrating hand.&lt;br /&gt;
&lt;br /&gt;
These features would best be implemented in the rendering and touch libraries so they could be activated for all applications.&lt;br /&gt;
&lt;br /&gt;
==== Taping as input ====&lt;br /&gt;
If I understand correctly the accelerometer should be capable to be used as a simple input. When OpenMoko is in the pocket, simple taps against the pocket should be possible to use as input. For example when there is an incoming call and the user is notified using a headset then one tap would accept the call and two concurrent taps against the pocket would cancel it. This can also be used for lot more.&lt;br /&gt;
&lt;br /&gt;
==== Others ====&lt;br /&gt;
Also see the pages[[Wishlist:Auto Align Map]], [[Wishlist:Determine Position]], [[Distance Measuring]], [[Wishlist:Computer Mouse]], [[Wishlist:Dynamic Screen Orientation]].&lt;br /&gt;
&lt;br /&gt;
=== Connectivity ===&lt;br /&gt;
&lt;br /&gt;
==== VNC ====&lt;br /&gt;
A good, stylus friendly VNC client/host combo would be easy to add and terribly useful.&lt;br /&gt;
&lt;br /&gt;
==== Networked X-Windows ====&lt;br /&gt;
&lt;br /&gt;
Whether it's running true X-Windowing over the network, or your bog-standard VNC connection as mentioned above, the ability to have your phone's screen available on your laptop or palmtop would be most desirable.&lt;br /&gt;
&lt;br /&gt;
==== NX client ====&lt;br /&gt;
&lt;br /&gt;
A form of X-windows forwarding optimized for performance over slow, or high-latency links, which could prove extremely useful. Capable of streaming a good quality, full desktop session over modem speeds. The protocol and at least one implementation is gpl'd. [http://en.wikipedia.org/wiki/NX_technology wikipedia]&lt;br /&gt;
&lt;br /&gt;
==== OpenOffice Presenter Control ====&lt;br /&gt;
&lt;br /&gt;
I Think it is a good idea to control your OO Presentation with Openmoko about WLAN or Bluetooth.&lt;br /&gt;
I think it needs some buttons to go back or forward and control the mouse to show something and take normal mouse clicks.&lt;br /&gt;
But with the mouse clicks I think that we need a short time between the clicks in example 1 second. Because when you make a mouse &lt;br /&gt;
click than to fast than you must go back.&lt;br /&gt;
&lt;br /&gt;
Some similar functionality will be implemented during SoC 08. More info at [[OpenMoko Bluetooth remote controller]]&lt;br /&gt;
&lt;br /&gt;
==== Amarok and other Media Player remote control ====&lt;br /&gt;
&lt;br /&gt;
Control Amarok or any other Media Player with OpenMoko (as a remote control). Bluetooth or WLAN could be used as protocol to send and receive the data. Maybe a WebInterface of Amarok is a start. Can be used on parties for a mobile music management.&lt;br /&gt;
&lt;br /&gt;
==== Read informations with SMS ====&lt;br /&gt;
Send a SMS with Code to the OpenMoko (from a specific number).&lt;br /&gt;
For example to send get the GPS coordinates from a stolen Neo (or if you don't know where your Neo is).&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== General Filesystem Encryption ====&lt;br /&gt;
&lt;br /&gt;
If anyone wants to get your private data saved on your OpenMoko device, he should have to get through a high security mechanism like dm-crypt. The question is how much CPU power would be needed. &lt;br /&gt;
Would it be an idea to encrypt only the private data like phone numbers, preferences, address book etc. (like /home/$USER).&lt;br /&gt;
&lt;br /&gt;
http://luks.endorphin.org&lt;br /&gt;
&lt;br /&gt;
==== My Account ====&lt;br /&gt;
{{Main|My Account}}&lt;br /&gt;
A way to securely store information about the phone, and ensure that a phone you may be considering purchasing is not stolen.&lt;br /&gt;
&lt;br /&gt;
==== [http://zfoneproject.com/ Zfone] or similar ====&lt;br /&gt;
&lt;br /&gt;
Something that allows the user to speak with another person securely.&lt;br /&gt;
&lt;br /&gt;
==== GSM Encryption ====&lt;br /&gt;
&lt;br /&gt;
This software application would allow GSM encrypted calls to be made using the GSM Data Call Channel. &lt;br /&gt;
&lt;br /&gt;
[[OSvS]]&lt;br /&gt;
&lt;br /&gt;
==== My Voice is my Passport ====&lt;br /&gt;
Use voice recognition to unlock the phone.  &amp;quot;Hi. My name is ... My voice is my passport.  Verify me.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Firewall ====&lt;br /&gt;
A network firewall&lt;br /&gt;
&lt;br /&gt;
==== Full Mac Support ====&lt;br /&gt;
Full mac support, preferably with full software and full sync capabilities with iCal and iMail &lt;br /&gt;
&lt;br /&gt;
==== Anti Theft Application ====&lt;br /&gt;
&lt;br /&gt;
This application would enter the phone into an [[Anti-Theft Mode]] which activates particular security features to reduce the risk of theft and also to ensure a higher probability of recovery of a stolen handset.&lt;br /&gt;
&lt;br /&gt;
====RFID based personal alerts====&lt;br /&gt;
Assuming an RFID reader is available:  You'd put an RFID tag on your keys, wallet, etc and train a program on the phone to give you a soft or hard alert when one of them leaves detection range.  That way, if you're walking away from one of them, the phone could alert you.&lt;br /&gt;
&lt;br /&gt;
Actually there is a RFID reader available. Take a look at this: http://www.wdi.ca/ We only need driver for that thing. .... Well, never mind. I think it doesn't work because of the size. Anyway an interesting idea.&lt;br /&gt;
&lt;br /&gt;
====OpenVPN Client====&lt;br /&gt;
This application allows to configure the device as an OpenVPN client using the GUI including support for X.509 certificates.&lt;br /&gt;
&lt;br /&gt;
=== Integrated Help System ===&lt;br /&gt;
&lt;br /&gt;
A help system that is either on or off. It could be activated and deactivated by a [[five-second-press]] on a button, for example the AUX button. When the help system is activated, it will explain the use of any item you touch on screen (with stylus or finger). Example: if you touch the battery icon, it will explain that this shows battery level / remaining time. If you touch the date / time icon, it will explain that this icon shows date and time, and that if you press it, you can set date and time. Primarily, this help system should be able to explain all user interface elements in the main screen, but if it proves popular, it could be expanded to cover other applications as well.&lt;br /&gt;
&lt;br /&gt;
===Performance optimisation===&lt;br /&gt;
==== Use DMA engine in CPU for blitter ====&lt;br /&gt;
The DMA engine in the CPU can substantially speed up moving of large  areas of screen in some cases.&lt;br /&gt;
&lt;br /&gt;
==== Use virtual screen to optimise scrolling ====&lt;br /&gt;
In some other cases, the hardware supported virtual screen may also speed it up.&lt;br /&gt;
===Reusable Display/UI Widgets===&lt;br /&gt;
====Use BigPage for full page zoom, scroll, scale in many apps====&lt;br /&gt;
The [[BigPageWidget]] Page decribes a widget that could bring full natural page viewing, scaling, scrolling to the OM platform - allowing all applications to make intuitive UIs. A good way to read documents of any type without reformatting them massively increases the utility of a device with a small screen&lt;br /&gt;
&lt;br /&gt;
==Bluetooth==&lt;br /&gt;
&lt;br /&gt;
=== Voice Dialing ===&lt;br /&gt;
&lt;br /&gt;
Dial by voice commands.&lt;br /&gt;
&amp;lt;br&amp;gt;Dial by dictating phone number. This way we can voice dial any number even if not in our contact list.&lt;br /&gt;
&lt;br /&gt;
=== Music through Bluetooth Headset ===&lt;br /&gt;
&lt;br /&gt;
Music can be played through a Bluetooth headset, but would stop playing when a call comes in.&lt;br /&gt;
&lt;br /&gt;
=== Walkie Talkie ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Features for this applications can be:&lt;br /&gt;
* Push To Talk (PTT) button&lt;br /&gt;
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.&lt;br /&gt;
* Optionally a full duplex mode&lt;br /&gt;
* Different channels to choose from&lt;br /&gt;
* Monitor different (preselected or all) channels for traffic.&lt;br /&gt;
* Content encryption&lt;br /&gt;
* Active noise control&lt;br /&gt;
* Allow zero config use (units can talk without any access point helping)&lt;br /&gt;
* Overview of all connected people trough sending GPS data to everyone who is in the Walkie Talkie channel&lt;br /&gt;
&lt;br /&gt;
Local (non-GPRS) use cases include chatting while biking&lt;br /&gt;
or motorcycling in a group; perhaps also in a car caravan.&lt;br /&gt;
This application could also be used as a baby-phone to monitor your siblings.&lt;br /&gt;
&lt;br /&gt;
This would be more useful if the Neo had Class 1 bluetooth, though probable Wifi on P2 will also offer more range.&lt;br /&gt;
&lt;br /&gt;
(One thumbs up from me) Jackcday&lt;br /&gt;
&lt;br /&gt;
See also [[Wish_List#WiFi_Walkie_Talkie|WiFi Walkie Talkie]] and perhaps construct one application that can handle both Bleutooth and Wifi.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Sync ===&lt;br /&gt;
&lt;br /&gt;
Automatically synchronize with desktop computer (or with any [http://en.wikipedia.org/wiki/SyncML SyncML] server) when within range based on user profile.  This may require the use of a secure data transfer.&lt;br /&gt;
&lt;br /&gt;
=== GPS Assisted Bluetooth Management ===&lt;br /&gt;
&lt;br /&gt;
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.&lt;br /&gt;
&lt;br /&gt;
A Bluetooth device is configured for automatic reacquisition based on the following profiles:&lt;br /&gt;
* Manual - only when Bluetooth is on&lt;br /&gt;
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.&lt;br /&gt;
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.&lt;br /&gt;
&lt;br /&gt;
Each target device is configured as follows:&lt;br /&gt;
* Automatic acquisition at last known location: enable/disable&lt;br /&gt;
* Automatic acquisition at these locations: list of nickname + coordinates + range&lt;br /&gt;
&lt;br /&gt;
==== Non-mobile devices ====&lt;br /&gt;
&lt;br /&gt;
Examples devices include: computers&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Mobile devices ====&lt;br /&gt;
&lt;br /&gt;
Example devices include: automobiles&lt;br /&gt;
&lt;br /&gt;
Mobile devices are configured to have two types of locations:&lt;br /&gt;
# Last known location&lt;br /&gt;
# Non-mobile locations (homes)&lt;br /&gt;
&lt;br /&gt;
===== Last known location =====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===== Non-mobile locations (homes) =====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth neighbor detection and multiuser apps  ===&lt;br /&gt;
&lt;br /&gt;
Like the [http://en.wikipedia.org/wiki/One_laptop_per_child 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.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth environment detection ===&lt;br /&gt;
&lt;br /&gt;
Capability to detect when a predetermined bt device enters/leaves bt range and launch a system-wide event accordingly. This would feed not only the &amp;quot;Neighbour detection&amp;quot; idea described above, but also the &amp;quot;Profiles&amp;quot;, &amp;quot;Context based TO-DO list&amp;quot; and &amp;quot;Location-based reminders&amp;quot; ideas. Reminders could be set to trigger in the presence of a specific person X (with BT device Y). Profiles can take into account which devices are present around the phone (car kit, for ex.). To-do list could also change according to present devices.&lt;br /&gt;
&lt;br /&gt;
=== Remote control ===&lt;br /&gt;
&lt;br /&gt;
==== Wireless presenter ====&lt;br /&gt;
Use the phone to run your OpenOffice.org Impress presentation remotely using Bluetooth. Cool features: &lt;br /&gt;
* Display the text notes for the presenter on the phone's display and update it whenever the slide is changing.&lt;br /&gt;
** 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&lt;br /&gt;
* A small timer showing the time passed (and perhaps remaining if the presentation app supports such a feature). &lt;br /&gt;
* If you want to be super-cool, you give a preview of the notes of the next slide in the show. &lt;br /&gt;
* At the end of a presentation, a &amp;quot;navigator&amp;quot; could allow to easily jump to any slide in the presentation by clicking on it on the phone.&lt;br /&gt;
** When you right-click in a running OO.org Impress presentation, you can choose &amp;quot;got o slide...&amp;quot; and select any slide to jump to.&lt;br /&gt;
&lt;br /&gt;
Some similar functionality will be implemented during SoC 08. More info at [[OpenMoko Bluetooth remote controller]]&lt;br /&gt;
&lt;br /&gt;
==== Initiated from another device ====&lt;br /&gt;
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control),  camera (capture image), etc.&lt;br /&gt;
==== Directed at another device ====&lt;br /&gt;
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.&lt;br /&gt;
&lt;br /&gt;
[http://mjr.iki.fi/software/remote-0.9.0.tar.gz Remote] is my draft of a python-based remote control app that allows you to define button sets and commands to run on the local or a remote host (through ssh, for instance). Error handling and command interface need work.--[[User:Mjr|Mjr]] 11:14, 18 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth Car Connection ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Could be done with a port of [https://garage.maemo.org/projects/carman/ Carman] or similar that can connect to an OBD2 adapter via USB or Bluetooth and display various information collect from the car, GPS, and accelerometers.  --[http://wiki.openmoko.org/wiki/User:Bmk789 bmk789]&lt;br /&gt;
&lt;br /&gt;
==== Dude, Where's My Car? ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Bluetooth powered Multi-SIM support]] ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:&lt;br /&gt;
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)&lt;br /&gt;
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset&lt;br /&gt;
* Same for Short Messages/MMS/Internet&lt;br /&gt;
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.&lt;br /&gt;
Advantage: No 'switching' between cards&lt;br /&gt;
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.&lt;br /&gt;
&lt;br /&gt;
===Internet Gateway===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Social Networking ===&lt;br /&gt;
&lt;br /&gt;
Anybody running the social networking app will be broadcasting a profile, and when certain keywords are matched with other users who are also running the application, an alert is sounded. Each mokoid can be added as a hexstring to a profile page, and xml filters can be developed for each social service to convert various keywords and interests to moko-friendly format.&lt;br /&gt;
&lt;br /&gt;
=== Give userspace api control over bluetooth signal strength ===&lt;br /&gt;
&lt;br /&gt;
I have tried bluetooth handsfree sets with other phones and don't get perfect reception due to low signal strength. I suppose the reason the signal is so weak is because the manufacturer wants the battery to last long on its latest charge. Can you please make the strength setting configurable by the user of the phone through an api and perhaps even through the phones gui? I would gladly waste some battery time in exchange for stronger bluetooth signal strength.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WiFi ==&lt;br /&gt;
&lt;br /&gt;
=== Industrial grade Wifi management ===&lt;br /&gt;
One annoyance I've had with Wifi enabled gadgets is that they simply keep the connections in a dumb list. What I'd like to see is more granular connection management, which enables me to specify whether a given connection is friend &amp;amp; family (mom's place), professional client (joe's copies and coffee), commercially available (panera), onetime use, or anything else, as well as managing router config backups, firmware images, and security keys.&lt;br /&gt;
&lt;br /&gt;
: [[User:lally|Lally]] 13:01 12 May 2008 (EST) -- Profiles of connections.  Mac OS (9 &amp;amp; X) have 'Locations', which do exactly that.  A UI for setting up/choosing them is nice, plus maybe some GPS-driven autoselection.&lt;br /&gt;
&lt;br /&gt;
=== Captive portal auto-login support ===&lt;br /&gt;
Having a nice front-end to some sort of script that checks the authenticity of a captive portal login page (SSL cert), then passes your username and password login information to automatically log you into your account would be very nice as well. This can be done with curl, but it is difficult to make it work on all captive portals out there. Perhaps just a field that you can specify &amp;quot;once I am connected to this AP, run this script: &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Walkie Talkie ===&lt;br /&gt;
Provide walktie talkie functionality like http://www.domain17.net/walkietalkie/index.html See also [[Wish_List#Walkie_Talkie|Bluetooth Walkie Talkie]] and perhaps construct one application that can handle both Bleutooth and Wifi.&lt;br /&gt;
&lt;br /&gt;
== Wireless Piggyback ==&lt;br /&gt;
&lt;br /&gt;
HSDPA support and the like, so that users can connect directly with the internet with G3/G4 mobile service providers at speeds at or above 3.6 Mb/s.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
=== Auto Update ===&lt;br /&gt;
&lt;br /&gt;
A small tool which is configurable to download the latest OpenMoko and OpenMoko related software. Maybe if any internet connection is available or a minimum of bandwith is available then the auto update would download only security related or the whole system etc. .&lt;br /&gt;
&lt;br /&gt;
=== Vibrate Pattern Recorder ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Record&amp;quot; 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 &amp;quot;Stop&amp;quot; when finished.  Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).&lt;br /&gt;
&lt;br /&gt;
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a &amp;quot;time-slice&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
- or just use MIDI, using a separate channel for the vibrator.&lt;br /&gt;
&lt;br /&gt;
An implementation of RTTL could also be used to define vibration patterns.&lt;br /&gt;
&lt;br /&gt;
=== PC Input Device ===&lt;br /&gt;
&lt;br /&gt;
Provide a method to use the touchscreen as input device for a nearby desktop machine.  Could connect over USB or bluetooth.&lt;br /&gt;
&lt;br /&gt;
Could emulate a pointer device (mouse) or even keyboard using standard bluetooth/USB interfaces for such a device.&lt;br /&gt;
&lt;br /&gt;
Use case: Alice is lazing on a couch and doesn't want to get up to do some minor interaction with the computer.  She can see the screen and uses the OpenMoko device as a mouse and/or keyboard to interact with the computer.&lt;br /&gt;
&lt;br /&gt;
=== Advanced Notification And Ringtone Manager ===&lt;br /&gt;
{{Main|Wishlist-ANARM}}&lt;br /&gt;
&lt;br /&gt;
ANARM would be an application for handling all event-based audible notifications from an OpenMoko device.&lt;br /&gt;
&lt;br /&gt;
=== Location based reminders ===&lt;br /&gt;
{{Main|Wishlist:Location_based_reminders}}&lt;br /&gt;
Location based reminders can be used to notify users of various events or reminders that are location based.&lt;br /&gt;
&lt;br /&gt;
=== Synergy Client ===&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
=== Next device ===&lt;br /&gt;
List features for your fantasy device to come from FIC (or anyone else, for that matter).  Define the GTA03 here ;-)&lt;br /&gt;
&lt;br /&gt;
==== There is no device ====&lt;br /&gt;
From [http://wurp.blogspot.com/2008/01/teh-future.html Wurp's blog]:&lt;br /&gt;
&lt;br /&gt;
Clearly the Next Big Thing has to be for the device to go away altogether. I know the basic idea for wearables has been around forever, but it seems to me that the time has come.&lt;br /&gt;
&lt;br /&gt;
I wanna wear a bluetooth earpiece and cool shades, possibly with [ here's where my imagination is failing me :-( ] gloves, or fingerless gloves, or (ew) wristbands, and let any surface, including my hand, or no surface, be my interface. Tap the earpiece when you get a phone call, see a dial pad on your palm and tap out the number with the other hand, watch movies on a giant screen hovering in the air...&lt;br /&gt;
&lt;br /&gt;
(equipment list: bluetooth earpiece, some brick in my pocket or on my belt, glasses w/ minute camera, painted video display, &amp;amp; variable darkness lenses, and gloves)&lt;br /&gt;
&lt;br /&gt;
Why the hell do I want to dig out a device every time I want mindless entertainment or superficial conversation?&lt;br /&gt;
&lt;br /&gt;
Ideally, you could then sell any little doohickey with whatever interface you want (switches, knobs, g-spots, ...) and all it needs to do is network with some software on the brick to be anything at all...&lt;br /&gt;
&lt;br /&gt;
== GPS Software ==&lt;br /&gt;
[[Image:Cheap_gps.png|right|300px|From xkcd.com :-)]]&lt;br /&gt;
*Providing GPS Support also for outdoor users in addition to ordinary street navigation features&lt;br /&gt;
** Overlay of satellite images with existing streetmaps&lt;br /&gt;
** 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/)&lt;br /&gt;
** Using sth like a tracking mode to allow certain people to determine the current position and track (for rescue missions - like they have for example at http://www.steiger-stiftung.de (a German beneficence for rescue issues) There you can register your mobile phone so the rescue service is able to track you immediately if necessary. The interesting thing: It seems like some mobile phones with GPS have special support for this issue. If your phone is registered, the rescue service is able to get your GPS coordinates directly from the phone without any user assistance. Openmoko should also support this! )&lt;br /&gt;
* Implementation of 3dTracking's (http://free.3dtracking.net/) tracking software or equivalent.&lt;br /&gt;
* &amp;quot;Geomark&amp;quot; function: if you have to save the current time with your current location, only hit one button...&lt;br /&gt;
** You also should be able to navigate with a small &amp;quot;compass&amp;quot; and the distance should be displayed to your saved point (maybe where you parked your car on a big car parking area)...&lt;br /&gt;
* '''Measure the distance between two points (air line or walked way) -&amp;gt; no need for a tape measure'''&lt;br /&gt;
**I think it would be good if you could either use Bluetooth, GPRS or AdHoc Wifi, and see near Neo1972 on the GPS map so you could see where your friends are, e.g &amp;quot;You want to know if you friend is on the bus behind&amp;quot; You would need a strong wifi and GPRS would be too expensive.&lt;br /&gt;
*A bicycle sat-nav would be cool, speciayl designed for bicycles, e.g. cycle routes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Community Based Traffic Information]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Main|Wish List - Hardware}}&lt;br /&gt;
&lt;br /&gt;
It could be use for beepway Online service too &lt;br /&gt;
[http://www.beepway.com]&lt;br /&gt;
&lt;br /&gt;
=== Dedicated Power / Charger Pinout ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The main question is just deciding on where to take power from 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Hmm... a separate power adapter would have really come in handy right now&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
I suggest a tiny 3mm, dedicated +5V power input (something a la Nokia).&lt;br /&gt;
&lt;br /&gt;
=== Inductive charging ===&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Inductive_charging Inductive charging] is the sort of charging where you place the device in a cradle, and a coil in the cradle induces a current in a coil inside the device, allowing it to recharge without wires. This should eliminate proprietary power connections.&lt;br /&gt;
&lt;br /&gt;
=== Tactile feedback via buzzer ===&lt;br /&gt;
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.&lt;br /&gt;
: 25 ms bump on the buzzer feels about right.  Does this harm the vibrator motor? --[[User:Sagacis|Sagacis]] 05:15, 2 October 2007 (CEST)&lt;br /&gt;
:: Created a patch to do this [[User:Sagacis/ForceFeedback]] --[[User:Sagacis|Sagacis]] 05:05, 3 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
=== Detachable keyboard ===&lt;br /&gt;
Hardware keyboard that can be attached with magnets to a future version of the Neo.&lt;br /&gt;
&lt;br /&gt;
A bluetooth mini-qwerty keyboard that straps to my wrist!&lt;br /&gt;
&lt;br /&gt;
: A BT keyboard would be nice, but do you need openmoko to provide it? [[http://www.intomobile.com/2007/11/07/targus-bluetooth-mobile-tumbpad-when-the-tiny-keyboard-on-your-smartphone-just-doesnt-cut-it.html Targus bluetooth keyboard]]&lt;br /&gt;
&lt;br /&gt;
=== SD Card Slot ===&lt;br /&gt;
I think the Neo1973 should have a normal SD card slot as the micro is too small, and the SDs have more space. [unknown author]&lt;br /&gt;
&lt;br /&gt;
SD Cards now support 32GB. Their storage density will always be multiples ahead of microSD (now at only 2GB). An SD Card slot will:&lt;br /&gt;
* Provide enough storage to '''turn an OpenMoko into a music (MP3) jukebox''' large enough for entire music collections, like an iPod with Bluetooth for the car.&lt;br /&gt;
* Enable '''storage''' of:&lt;br /&gt;
** podcasts, full-length movies, or large photo collections&lt;br /&gt;
** photo and video from an on-board high-res camera&lt;br /&gt;
** entire email database at your fingertips, even in poor phone signal areas&lt;br /&gt;
** more detailed maps and charts&lt;br /&gt;
** encrypted work databases that are not available online&lt;br /&gt;
* Have easy '''external access''', without requiring battery removal like the microSD card&lt;br /&gt;
* Support '''SDIO''' accessories&lt;br /&gt;
* Enable '''transfer''' of data from an external camera's full SD memory to:&lt;br /&gt;
** a portable USB hard drive, offsetting the need to travel with a notebook PC&lt;br /&gt;
** the internet, via wifi or phone network&lt;br /&gt;
* Enable editing of videos and photos obtained from external cameras&lt;br /&gt;
&lt;br /&gt;
Without an easily accessible higher storage SD Card slot, many users will soon be playing the juggling game of which data to delete from the much smaller and harder to swap microSD card. This is especially true for OpenMoko users, who are more likely to be power users than is the average mobile phone carrying population. Why carry an OpenMoko and an iPod, when you can simply add an SD Card slot?&lt;br /&gt;
--[[User:Pedro|Pedro]] 20:06, 17 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
: This is not true. Now you can find 2GB micros at the price of 20-30 euros. Too small for what?? --[[User:V0n0|V0n0]] 22:06, 28 December 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
: Think of putting a few '''movies''' on that SD memory card. It could really help if it was a little bigger (8GB, 16GB, 32GB). Also think of going '''offline''' for 1-2 weeks, far away from any computer you can access and then wanting to listen to some music. What you get in turn with a 2 GB memory slot is the same music over and over. Or you have to switch memory a cards a lot.&lt;br /&gt;
&lt;br /&gt;
: This situation is far more common than one would think: going in the mountains, going offshore (on a cruise ship). Or simply you may want to store many types of music, and '''share''' your device with friends. --[[User:Bogdanbiv|Bogdanbiv]] 13:47, 10 January 2008 (EEST)&lt;br /&gt;
&lt;br /&gt;
: Well, it can be micro SD, but why to put it so deep inside, under the battery and even under the SIM card? I would suggest to have a simple slot on the side where we could insert/remove the SD card equally easily as we swap CD's in computer. [[User:AudriusA|AudriusA]] 16:36, 12 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
[[User:Cfriedt|Cfriedt]] 12:40, 24 February 2008 (CET) -- I completely agree with a more accessible SD card slot. It should be made external for quick removal / insertion. I realize that would mean program data shouldn't reside on the SD, but really 256 MB of on-board flash is plenty. Micro or normally-sized, a regular-sized SD is still trivial to implement in terms of solder pads and traces.&lt;br /&gt;
&lt;br /&gt;
: Sorry, but this looks like useless chat. Micro-SD cards are perfect for mobile devices as they don't get too much space on the pcb. Also, we can find micro-sd up to 8gb, if you want more space just wait a while and they'll produce a bigger one in a few months :-p. Really, almost every single phone that has a sd slot has in its micro version, why would we need a full-sized, huge normal sd slot ? It gets too much space on the pcb it's not only about sw configuration or pin soldering, it's more regarding pcb layout.&lt;br /&gt;
&lt;br /&gt;
: What about something like this adapter[http://linitx.com/viewproduct.php?prodid=11922]? Is there any place in the case left to put this into? Nevertheless there is a 12GB microSD card announced from SanDisk and a 8GB card costs about 40€ or 15€ for 4GB. (But a 8GB SD card costs only about 25€) --[[user:kelvan|Kelvan]]&lt;br /&gt;
&lt;br /&gt;
: Maybe just an additional microSD that is easily accessible and hot-swappable. I imagine replacing the huge lanyard hole could help with this. --[[User:Sin|Sin]] 02:30, 4 May 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
: My thoughts exactly.  Two slots: 1 internal microSD for our storage, and a second external one for more immediate expansion.  My thoughts are more towards hardware expansion.  For example, some of us could put in a second wifi card that does have promiscuous mode.  External VGA connections, etc would also be possible.  The external slot should be chosen by availability of hardware expansions as well as memory availability/price.  --[[User:lally|Lally]] 13:01 12 May 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
=== IR port ===&lt;br /&gt;
Remote control applications&lt;br /&gt;
&lt;br /&gt;
Would be great to use openmoko as a Harmony remote controller.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
[[Category:User]]&lt;br /&gt;
[[Category:Ideas| ]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Wish_List</id>
		<title>Wish List</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Wish_List"/>
				<updated>2008-05-12T17:01:49Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* SD Card Slot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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 [[:Category:Ideas|that have a category of 'Ideas']].&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Painless SDK installation &amp;amp; Setup ===&lt;br /&gt;
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]&lt;br /&gt;
&lt;br /&gt;
* one command for installation (apt-get install openmoko)&lt;br /&gt;
* one command to start Xnest (openmoko-xephyr?)&lt;br /&gt;
* one command to start an i386 shell (openmoko-386-shell)&lt;br /&gt;
* one command to start an armel shell (openmoko-armel-shell)&lt;br /&gt;
&lt;br /&gt;
No extra configuration required.&lt;br /&gt;
&lt;br /&gt;
==== IDE Plugins ====&lt;br /&gt;
People like to see plugins for&lt;br /&gt;
* [http://anjuta.sourceforge.net Anjuta]&lt;br /&gt;
* [http://www.eclipse.org Eclipse] (some things are possible - see [[Development with Eclipse]].&lt;br /&gt;
* [http://www.netbeans.org NetBeans]&lt;br /&gt;
* Game engine - Game Creation plugins&lt;br /&gt;
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]&lt;br /&gt;
* [http://www.kdevelop.org KDevelop]&lt;br /&gt;
* [http://developer.apple.com/tools/xcode/ XCode]&lt;br /&gt;
* [http://www.monodevelop.com MonoDevelop]&lt;br /&gt;
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]&lt;br /&gt;
&lt;br /&gt;
==== UI Designer ====&lt;br /&gt;
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]&lt;br /&gt;
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Built-in Scripting Language ====&lt;br /&gt;
{{Main|Wishlist:BuiltInScriptingLanguage}}&lt;br /&gt;
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.&lt;br /&gt;
==== Easy build of the existing autotools - based packages ====&lt;br /&gt;
In the ideal case OpenMoko should exist on the top of the usual ./configure - make workflow which is typical for the majority of the C/C++ based open source projects. It should not require to rewrite or even replace the existing Makefile.am files of the project being ported, and it should allow to pass the needed parameters to the project configure script. Maybe OpenMoko project could be a bigger project having one or more (if some are libraries) autotools - based packages in its separate folders and include the proper documentation how to &amp;quot;wire&amp;quot; the standard autotools based package to the OpenMoko infrastructure.&lt;br /&gt;
&lt;br /&gt;
===Foreign Widget Set Bindings ===&lt;br /&gt;
==== Qt Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Maemo Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== wxWidgets Integration ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
==== SDL Integration ====&lt;br /&gt;
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.&lt;br /&gt;
&lt;br /&gt;
==== Cocoa / GNUstep ====&lt;br /&gt;
Allows to use MacOS X as a development platform.&lt;br /&gt;
&lt;br /&gt;
=== Software: Language bindings ===&lt;br /&gt;
==== Python bindings ====&lt;br /&gt;
Python bindings seem to be a commonly requested feature.  &lt;br /&gt;
&lt;br /&gt;
[[User:Mickey]] says, &amp;quot;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 &amp;quot;just&amp;quot; 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.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== C++ bindings ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Ruby bindings ====&lt;br /&gt;
Ruby and ruby-(gtk|glade) already ported to OpenMoko according to [http://lists.openmoko.org/pipermail/openmoko-apps/2007-May/000040.html this ] and [http://groups.google.de/group/comp.lang.ruby/browse_thread/thread/6bee9970cf055504 this] mesages. It just have to be included to distribution (only 4.9 MB!)&lt;br /&gt;
&lt;br /&gt;
==== Java bindings ====&lt;br /&gt;
People who concentrate on Java programming would like to have the OpenMoko port of some java virtual machine. GNU Classpath team a lot of great work in the past creating easily portable implementation. Sun's recently open sourced code could also be ported. &lt;br /&gt;
==== Other bindings ====&lt;br /&gt;
* Perl&lt;br /&gt;
* C#&lt;br /&gt;
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings&lt;br /&gt;
&lt;br /&gt;
== Community Support ==&lt;br /&gt;
&lt;br /&gt;
=== [http://projects.openmoko.org projects.openmoko.org] ===&lt;br /&gt;
Infrastructure for developers with&lt;br /&gt;
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)&lt;br /&gt;
* One mailing list for project&lt;br /&gt;
&lt;br /&gt;
== Platform ==&lt;br /&gt;
=== Community Images ===&lt;br /&gt;
In the future there could be complete, unofficial &amp;quot;product images&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
=== Wishlist voting ===&lt;br /&gt;
There could be a kind of voting system like they have at one of those big computer manufacturers homepage. Then the community could vote for the ideas that are most important to them. This would especially make sense for the hardware wishlist, because the hardware is still the part which can't be done by the community that easily.&lt;br /&gt;
&lt;br /&gt;
Here: [http://www.fevote.com/openmoko OpenMoko suggestion board]&lt;br /&gt;
&lt;br /&gt;
== Software: Additional features ==&lt;br /&gt;
&lt;br /&gt;
===PDA Mode===&lt;br /&gt;
&lt;br /&gt;
There are times when you wish to power up the device and not power up the gsm/cellphone portion of the phone. For example in meetings you might wish to access the PDA side with wifi as is the case for example on an aircraft.  On booting some method of booting to pda mode would be good - several other phones offer this feature.&lt;br /&gt;
&lt;br /&gt;
===Driving Mode===&lt;br /&gt;
&lt;br /&gt;
It may be forbidden in many countries, but many people use their cell phones while driving. With the touchscreen phones&lt;br /&gt;
this is very dangerous: You have to stare at the tiny numbers on the screen and try to hit them with your thumb or try to decipher tiny script of contacts, while steering with the other hand. There should be a configurable driving mode where the interface has a reduced functionality (e.g. only contacts and dialing) with HUGE interface buttons that are easy to use with limited attention.&lt;br /&gt;
&lt;br /&gt;
===Calling===&lt;br /&gt;
&lt;br /&gt;
==== Mask ID based on dialed numbers ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Use calling cards and similar routing techniques for lower-cost calling ====&lt;br /&gt;
Many people use calling cards, low-cost numbers and similar ways of reducing the costs of their calls.  It would be nice to have a single panel that would allow you to configure the rules of dialing a number taking in to account such systems.&lt;br /&gt;
&lt;br /&gt;
==== Outgoing black/white lists ====&lt;br /&gt;
The ability to allow or deny outoging calls to certain numbers can be useful in a number of situations (e.g. the holder of the 'phone is a child, untrusted, etc.).  This could be related to entries in the contact list, for example a user is only allowed to call people who are in their contact list.&lt;br /&gt;
&lt;br /&gt;
Also lists for incoming calls? Some friends always come through, unknown numbers get rejected automatically.&lt;br /&gt;
&lt;br /&gt;
==== Time-based blocking/unblocking of calls ====&lt;br /&gt;
Allowing or disallowing outgoing calls at certain times of the day could be useful, e.g. blocking a business phone from making calls outside of business hours.&lt;br /&gt;
&lt;br /&gt;
====Speaker-phone====&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
====Advanced Airtime Tracking====&lt;br /&gt;
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.&lt;br /&gt;
On (at least some) prepaid [http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data USSD] can be used to check current balance.&lt;br /&gt;
&lt;br /&gt;
* Call duration should consider billing increments and show the durations according to accounting period&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Anti-stutter software ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Minimize In-Call mode (check address book while in call)====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Similar request when using the browser (lookup passwords, todo list, etc).&lt;br /&gt;
&lt;br /&gt;
====Hold Music (Ringback Tone)====&lt;br /&gt;
On some cellphone networks you can pay to change the normal [http://en.wikipedia.org/wiki/Ringback_tone Ringback Tone] that the caller hears when ringing, to a customised sound.&lt;br /&gt;
This can partially be implemented on the phone.&lt;br /&gt;
Issues are:&lt;br /&gt;
*In countries where callers pay, this will make you unpopular.&lt;br /&gt;
*In countries where the called party pays, it will use your minutes, or cost you money.&lt;br /&gt;
**A list of people to activate this function for would alleviate this.&lt;br /&gt;
*[[GPRS]] internet connection will stall while the hold music is being played.&lt;br /&gt;
*Extra battery used when playing music.&lt;br /&gt;
&lt;br /&gt;
Also see [[Answering Machine]].&lt;br /&gt;
&lt;br /&gt;
====Play sound clips over the air====&lt;br /&gt;
Dialer could have a tab with big buttons which, when push, send sound clips 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&amp;amp;_j=questiondetails&amp;amp;_i=104&lt;br /&gt;
The buttons can have default sounds, but also have the ability to be customized.&lt;br /&gt;
&lt;br /&gt;
It would also be useful for notifying people why you can't talk (for example, having an &amp;quot;I can't talk tight now - I'm in the library - this is a pre-recorded message&amp;quot; would be good. Also perhaps you could loop a pre-recorded sound in the background so you can lie about where you are, and have the ability to simulate a really bad connection.&lt;br /&gt;
&lt;br /&gt;
==== DTMF Landline Dialing ====&lt;br /&gt;
The ability to hold the Neo near the microphone of a landline handset and have the Neo dial the landline by sounding DTMF tones. The DTMF tones could be generated in software or be pre-recorded files.&lt;br /&gt;
&lt;br /&gt;
Graphically this could be done by adding a 'DTFM dial' button to a context menu. The user would select a contact then presses the 'DTMF dial' button to start the process. A small delay could also be added to allow time to put the Neo near the landline handset.&lt;br /&gt;
&lt;br /&gt;
For the Neo to know which area code to use (or not use) the current or last GPS coordinates could be utilised.&lt;br /&gt;
&lt;br /&gt;
==== Conversation Recorder ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Unlicensed Mobile Access (UMA)====&lt;br /&gt;
T-Mobile recently rolled out a UMA service that hands off calls between the GSM network and WiFi access points. Only a few phones support it right now, this could be a rather unique feature if OpenMoko can implement it.&lt;br /&gt;
&lt;br /&gt;
This can be combined with a GPS map to show where local free hubs are.&lt;br /&gt;
&lt;br /&gt;
==== Ignore-Call Button ====&lt;br /&gt;
{{Main|Wishlist:Ignore Call Button}}&lt;br /&gt;
&lt;br /&gt;
Shut up a ringing phone, without accepting or rejecting the call.&lt;br /&gt;
&lt;br /&gt;
Another alternative might be to use microphone to recognize when the user gives an audible &amp;quot;Shhh!&amp;quot; command.  This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises. &lt;br /&gt;
&lt;br /&gt;
A really usable feature is to &amp;quot;reject with SMS/text message&amp;quot; - letting the user reply the caller choosing a previously setup template or typical response: &amp;quot;I'm in a meeting - I'll call you later&amp;quot; or &amp;quot;Can't take your call now, please call back in 10 minutes&amp;quot;. This feature typically is a much better way to get your co-workers (ie boss) to back off, than to silently ignore the call.&lt;br /&gt;
&lt;br /&gt;
The accelerometers could be queried while the phone is ringing to detect a firm tap on the phone. This would avoid the delays of fumbling to remove the phone from one's pocket to silence the ringer when you've forgotten to set it to silent mode. Just firmly tap the phone through your pocket, and the ringer will silence, like some Motorola pagers. Maybe single tap = silence; double tap = (activate voicemail or preset SMS).&lt;br /&gt;
&lt;br /&gt;
==== Voice Mailbox ====&lt;br /&gt;
{{Main|Voice Mailbox}}&lt;br /&gt;
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.&lt;br /&gt;
Can act profile-dependent.&lt;br /&gt;
&lt;br /&gt;
==== Hold Button ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Unanswered Call, Fast Call ====&lt;br /&gt;
&lt;br /&gt;
In Greece because of the various bill programs some people call a mobile phone, rings one time and then hangup.&lt;br /&gt;
Then the user of the mobile phone calls the other user(using the CallerID recognition).&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
==== Ambient Noise Detection ====&lt;br /&gt;
{{Main|Wishlist:Software:Ambient Noise Detection}}&lt;br /&gt;
&lt;br /&gt;
Using the microphone to detect ambient noise the ringtone volume could be adjusted automatically.&lt;br /&gt;
&lt;br /&gt;
If the ambient noise exceeds a preset threshold, the ring vibrator could be activated. This is good for when people forget to enable vibrate mode when entering noisy environments.&lt;br /&gt;
&lt;br /&gt;
Detection of ambient noise could also be used to subtract the noise from the audio signal. However this approach is best performed using two Microphones, one for the voice and the other to detect the noise.&lt;br /&gt;
&lt;br /&gt;
==== Active noise control ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Hear Impaired Mode ====&lt;br /&gt;
&lt;br /&gt;
Hearing impaired people need louder speaker(but with less volume than hands free) and equalized sound, based on their hearing problems(example 20dB hearing loss from 2KHz to 4KHz).&lt;br /&gt;
Older people 50+ years old need slower speech rate(time stretch, cut the big speech gups) and cleaner voice.&lt;br /&gt;
&lt;br /&gt;
Please note also the Hearing Aid Compatibility regulations in the US. I have tried to summarize and clarify them [http://quux.wiki.zoho.com/WhereAreHACphones.html here]. I haven't yet discovered whether the FIC device is M or T rated. For many hearing impaired users, a tcoil coupling to their hearing aid (t3/T4 rating) would be preferable to manipulating sound output in other ways.&lt;br /&gt;
&lt;br /&gt;
==== Mute Button ====&lt;br /&gt;
&lt;br /&gt;
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Web Browser===&lt;br /&gt;
&lt;br /&gt;
==== Full-page Zoom Support ====&lt;br /&gt;
Full page zoom is a very good feature. If possible, people would want to browse the internet with normal layout than a distorted one. It's best if I could double-tap a text or image block and zoom to a fit size.&lt;br /&gt;
&lt;br /&gt;
The [[BigPageWidget]] proposal suggests 'Full Page Zoom' should be implemented as a widget available to all applications.&lt;br /&gt;
&lt;br /&gt;
* If the processor and memory could afford, it is good to just use [http://www.mozilla.org/projects/firefox/3.0a8/releasenotes/ Firefox 3] in OpenMoko. It has implemented latest gecko's full-page-zoom ability. With certain modification, we could do the same zoom like iPhone's Safari.&lt;br /&gt;
* Firefox 3 may be a big eater. A cut-down version of it may be good enough.&lt;br /&gt;
* If this is not practical, Minimo with full-page-zoom ability is good.&lt;br /&gt;
&lt;br /&gt;
==== Plugins Support ====&lt;br /&gt;
* While an extensive browser plugin system would be costly to the efficacy of the platform four 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].&lt;br /&gt;
* 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.&lt;br /&gt;
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.&lt;br /&gt;
&lt;br /&gt;
==== Widget support ====&lt;br /&gt;
Built-in browser with the ability to install widget shortcuts (aka links) in the main phone menu, also some apis for interfacing with the other functionality of the phone like adding contacts, reading contacts, reading gps-psoition etc.. (maybe there is some defacto widget standard that could be used)&lt;br /&gt;
&lt;br /&gt;
There is a [http://www.w3.org/TR/widgets/ W3C spec] being developed, which may not be exactly what the original proposal had in mind, but it is about writing simple applications with HTML, SVG and JavaScript. It is mainly Opera's work, and while most [http://widgets.opera.com/ developed widgets are not very useful], there are some that are, and it creates a very nice development platform, especially for mobile devices. So, I think it makes an awful lot of sense for OpenMoko to support this spec.&lt;br /&gt;
&lt;br /&gt;
===Media===&lt;br /&gt;
====Music/Video Software====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
It would also be nice to have some kind of &amp;quot;announce your musical taste&amp;quot; mode. This could be implemented using last.fm profiles, such that when e.g. in a crowded place a user nearby has a similar musical taste, both users get notified so they can share their music files with each other (perhaps using a photo for id). Great for discovering new music - and making friends!&lt;br /&gt;
&lt;br /&gt;
- Possible copyright issues sharing music files?&lt;br /&gt;
&lt;br /&gt;
Sure, but that's the user's concern, not the developer's. There's no way for us to know which audio files the user is permitted/not permitted to share.&lt;br /&gt;
&lt;br /&gt;
==== Reading Support ====&lt;br /&gt;
It would be really great to be able to read :&lt;br /&gt;
&lt;br /&gt;
*PDF&lt;br /&gt;
*Open Document files&lt;br /&gt;
*Text / RTF files&lt;br /&gt;
*fb2 files (fbreader)&lt;br /&gt;
*MS Office files&lt;br /&gt;
*Aportis Doc (pdb)&lt;br /&gt;
*DjVu&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
In both landscape and portrait&lt;br /&gt;
&lt;br /&gt;
==== Wikipedia Mirror ====&lt;br /&gt;
{{Main|Wishlist:Wikipedia_Mirror}}&lt;br /&gt;
&lt;br /&gt;
==== Blog ScribblePad ====&lt;br /&gt;
&lt;br /&gt;
Draw an image (and maybe add some text), then post to your blog.&lt;br /&gt;
&lt;br /&gt;
==== E-Book Reader ====&lt;br /&gt;
* 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 (see the [[BigPageWidget]] proposal). 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.&lt;br /&gt;
&lt;br /&gt;
==== Personal Wiki ====&lt;br /&gt;
{{Main|Wishlist:PersonalWiki}}&lt;br /&gt;
&lt;br /&gt;
Display the notes database as a Wiki.  Inspiration:  [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki].&lt;br /&gt;
&lt;br /&gt;
[http://www.didiwiki.org/ Didiwiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Dictionary, thesaurus, translator and flashcards ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
'''Dictionary'''&lt;br /&gt;
Something like [http://www-user.tu-chemnitz.de/~fri/ding/ ding]:&lt;br /&gt;
&lt;br /&gt;
advantages:&lt;br /&gt;
* small&lt;br /&gt;
* very efficient + useful&lt;br /&gt;
* only limited to really needed functions&lt;br /&gt;
&lt;br /&gt;
Support for vocabulary training with flashcard system (also usable for other content than foreign language words!)&lt;br /&gt;
&lt;br /&gt;
==== Flickr uploader ====&lt;br /&gt;
A simply, drag &amp;amp; drop uploader, tagger and organizer to upload images on phone to [http://flickr.com Flickr], with support for various languages. A good base could be the cross-platform uploader [http://juploadr.org/ jUploadr], written in Java and working on Windows, Mac and Linux. But, most of all, the best '''GPL''' program which actually do this work is '''[http://mobilepushr.jottit.com/ Mobile Pushr]''', written in C and Cocoa for iPhone, must be probably ported in python to work on OpenMoko.&lt;br /&gt;
&lt;br /&gt;
===PIM (Personal Information Managment)===&lt;br /&gt;
====Context Sensitivity====&lt;br /&gt;
Any email or sms message or application that contains a telephone number should be click to dial, eg [http://123567890 1234567890]. Addresses link to mapping software too?&lt;br /&gt;
&lt;br /&gt;
==== Notes ====&lt;br /&gt;
&lt;br /&gt;
Something for taking notes would be a nice feature:&lt;br /&gt;
[http://www.gnome.org/projects/tomboy/ Tomboy] has some nice syncing features and is gtk based.&lt;br /&gt;
&lt;br /&gt;
Some Screenshots are [http://www.gnome.org/projects/tomboy/images/ here].&lt;br /&gt;
&lt;br /&gt;
==== Calendar ====&lt;br /&gt;
&lt;br /&gt;
A nice calendar application should be implemented in OpenMoko. This tool should have a syncing feature with your desktop computer.&lt;br /&gt;
The tool should have a reminder feature and other features like other mobile phones already have.&lt;br /&gt;
&lt;br /&gt;
I think synchronization sould be handled by computer with opensync+syncml based tool, not by calendar itself. --[[User:Antono|Antono]] 12:25, 7 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
* If this cellphone is thought also as a PDA, of course it needs a calendar. But I would like to see something better than just a calendar, I was thinking that there could be some application using &amp;quot;fisheye&amp;quot; view. Just like [http://www.cs.umd.edu/hcil/datelens/], though that example seem a bit chaotic. --[[User:Yprum|Yprum]] 22:27, 21 February 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
==== Address Book ====&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
servers or whatever.&lt;br /&gt;
* Also the possibility to search all info on the contact, like number, email, postal address and so on, in case someone asks you to identify a known number.&lt;br /&gt;
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)'  This could also be done&lt;br /&gt;
by integrating with whatever on-phone GPS mapping software the Neo ends up using.&lt;br /&gt;
* Random text input 'notes' about a contact&lt;br /&gt;
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's&lt;br /&gt;
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant&lt;br /&gt;
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account&lt;br /&gt;
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.&lt;br /&gt;
* Support for:&lt;br /&gt;
**[http://en.wikipedia.org/wiki/SyncML SyncML]&lt;br /&gt;
**[http://abook.sourceforge.net/ abook] a text-based addressbook program&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book&lt;br /&gt;
**[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).&lt;br /&gt;
*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. Should also be able to create an address book entry from a Bluetooth ID. Could be used as a nice tool to detect people who you're avoiding.&lt;br /&gt;
* Support for family relations (explained further on the [[Talk:Wish_List#Address_book:_Support_for_family_relations|talk page]]).&lt;br /&gt;
&lt;br /&gt;
==== Database/List Display/Edit ====&lt;br /&gt;
{{Main|Wishlist:PilotDB}}&lt;br /&gt;
&lt;br /&gt;
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db].  It's GPL'd.&lt;br /&gt;
&lt;br /&gt;
==== To-Do lists ====&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
* I would like to be able update my [http://todotxt.com/ todo.txt] which is stored on a personal server from the phone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Context based To-Do list ====&lt;br /&gt;
{{Main|Wishlist:context based to-do list}}&lt;br /&gt;
&lt;br /&gt;
If I arrive home and there are &amp;quot;@home&amp;quot; things in the to-do list, the Context based to-do list reminds me of that.&lt;br /&gt;
&lt;br /&gt;
==== Workout ====&lt;br /&gt;
&lt;br /&gt;
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.&lt;br /&gt;
&lt;br /&gt;
==== Shopping List ====&lt;br /&gt;
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.&lt;br /&gt;
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.&lt;br /&gt;
&lt;br /&gt;
==== [[Fuel Log]] ====&lt;br /&gt;
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).&lt;br /&gt;
Advanced features could include:&lt;br /&gt;
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)&lt;br /&gt;
* Sending the data to a central server which collects the information ( spritmonitor.de, anything else ?)&lt;br /&gt;
* 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)&lt;br /&gt;
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server&lt;br /&gt;
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.&lt;br /&gt;
&lt;br /&gt;
==== Keep in touch reminder ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Menstruation period timer ====&lt;br /&gt;
Fill in statistics and compute probabilities for menstruation, fertility, mood.&lt;br /&gt;
See http://www.getjar.com/products/48/MyGirls&lt;br /&gt;
&lt;br /&gt;
==== Tagging ====&lt;br /&gt;
{{Main|Wishlist:Tagging}}&lt;br /&gt;
Tags can be used by various applications. Requirement is interoperability for further enhancement.&lt;br /&gt;
Tags should be applied to contacts, calendar events, mail/sms, calls, places(GPS) and files.&lt;br /&gt;
http://tracker-project.org has all needed tagging-and-searching functionality and ready to be used on low-resourced devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Exchange Integration ====&lt;br /&gt;
&lt;br /&gt;
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/contacts/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.&lt;br /&gt;
&lt;br /&gt;
* Is the time right to name names ? Add as your liking...&lt;br /&gt;
** Plugin/integration to &amp;amp; from Kontact&lt;br /&gt;
** Same with Evolution - Thunderbird - Seamonkey&lt;br /&gt;
** ?? Google Calendars ?? (this one is tough)&lt;br /&gt;
** Ms Exchange&lt;br /&gt;
&lt;br /&gt;
==== An electronic wallet ====&lt;br /&gt;
&lt;br /&gt;
A database which stores securely PIN codes, login data, bank and email accounts, membership informations, and other valuable and private data. Entries can be ordered in a folder-like manner. Access to the database is given by a master password. The database as well as the master password are stored with strong encryption. For security reasons, the program asks again for entry of the master password after a certain period of inactivity. The database can be synchronized with a PC application (ideally written in Java for cross platform compatibility).&lt;br /&gt;
&lt;br /&gt;
Examples: KWallet [http://docs.kde.org/stable/en/kdeutils/kwallet/index.html], Viskeeper [http://www.sfr-software.de/cms/EN/pocketpc/viskeeperpro/index.html], KeePass [http://keepass.info/]&lt;br /&gt;
&lt;br /&gt;
==== Easy business card sharing for a small group (in the same room) over bluetooth or WIFI ====&lt;br /&gt;
&lt;br /&gt;
Six Neo1973 owners are having a chat in a cafe.    They agree to split but meet later.     They want to exchange their numbers with each other before they go....     The normal way to do this is for a rather longwinded repeating of numbers to each other, or half the people manually inputting numbers before phoning/texting the other half to complete the process.    All in all its a fair number of button presses to get it sorted.&lt;br /&gt;
&lt;br /&gt;
Instead the NEO could have a small app where the phones link up in a small peer to peer Bluetooth network and share automatically with one person initiating a request and the other detected NEOS agreeing/acknowledging the share.   The initiating NEO would then sync the mini-group automatically by interrogating each phone and then sending the table of results.     The NEOs would have to be clever about checking for duplicates in the address book and offering a choice to the user if there are any conflicts.&lt;br /&gt;
&lt;br /&gt;
PROS: &lt;br /&gt;
*genuine saving in time for social and business situations&lt;br /&gt;
&lt;br /&gt;
CONS: &lt;br /&gt;
*I am sure there are some security hassles to be pondered....&lt;br /&gt;
*not going to be used every day... definitely not an immediate priority.....&lt;br /&gt;
*only at geek conferences will all have a neo....&lt;br /&gt;
&lt;br /&gt;
==== SMS Counter ====&lt;br /&gt;
&lt;br /&gt;
An application which shows on the today-screen how many SMS i've already sent in this actual month. Some have for example 150 free SMS to write each month. With that program you can see all the time how many SMS are left until the end of the period. As an alternative it could be a counter which counts backwards from a predefined number over a defined period.&lt;br /&gt;
&lt;br /&gt;
==== Data Storage ====&lt;br /&gt;
&lt;br /&gt;
Store all the data about communications with a contact (SMS, MMS, phone calls, emails, IM, etc)  in a database and make them available in one list or one timeline.&lt;br /&gt;
Make this list available through the address book.&lt;br /&gt;
This would be great for people who are switching between one or more communication channels frequently&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{{Main|Wishlist:Profiles}}&lt;br /&gt;
&lt;br /&gt;
The Wishlist:Profiles page documents many possible profiles - ways to configure the phone. Including ways to respond to calls, wifi and GPS events.&lt;br /&gt;
And how to automatically switch between them.&lt;br /&gt;
&lt;br /&gt;
===Text Messaging===&lt;br /&gt;
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included&lt;br /&gt;
For current development status of the messaging-app see: [[Messages]].&lt;br /&gt;
&lt;br /&gt;
There are many useful options that now can be used to full capacity:&lt;br /&gt;
&lt;br /&gt;
* '''Instant Messaging'''&lt;br /&gt;
Bringing a new GTK gui or a resized Qt gui out for the serverless Instant Messenger http://Retroshare.sf.net&lt;br /&gt;
&lt;br /&gt;
* '''Acknowledge/status SMS'''&lt;br /&gt;
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'.&lt;br /&gt;
&lt;br /&gt;
** '''Special handling of status-SMS''' &lt;br /&gt;
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 &amp;amp; clog the inbox, warn of a &amp;quot;new&amp;quot; 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.&lt;br /&gt;
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date&lt;br /&gt;
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: &lt;br /&gt;
** 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]&lt;br /&gt;
** [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 &amp;amp; Alcatel encoding ([[User:Marcin|I could]] eventually help)&lt;br /&gt;
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung&lt;br /&gt;
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. &amp;quot;Server Down!&amp;quot; has a loud klaxon, &amp;quot;Disk Warning&amp;quot; has a quiet chirp.&lt;br /&gt;
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: &amp;quot;hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz&amp;quot; becomes &amp;quot;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?&amp;quot; (taken from: [http://en.wikipedia.org/wiki/SMS_language])&lt;br /&gt;
** Implement a script that abbreviates :-)&lt;br /&gt;
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.&lt;br /&gt;
* '''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).&lt;br /&gt;
* '''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&lt;br /&gt;
* '''Searching''' allow full-text search or string search.&lt;br /&gt;
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...&lt;br /&gt;
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.&lt;br /&gt;
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.&lt;br /&gt;
* '''SMS-EMail-Gateway'''&lt;br /&gt;
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&lt;br /&gt;
* '''SMS-filter chain''', for stuff like Codeword-SMS above, Theft-mode activation, auto-response (reply with gsm-position for &amp;quot;Where are you?&amp;quot;), auto-substitution (like replace $POS with gsm-position in outgoing SMS).&lt;br /&gt;
* '''SCROOGE-SMS'''  This is an intelligent SMS router.    When you write your SMS you get the option of how to send it&lt;br /&gt;
** By standard carrier SMS - cost 10cents&lt;br /&gt;
** By OpenMoko SCROOGE SERVER - this will send your SMS to the OpenMoko Community SCROOGE SERVER next time you have WiFi - the phone will remind you to turn on WiFi when it knows you are in places where you have WiFi access.   The person you are sending to picks up when they come into WiFi Range.    This comes with an intelligent reminder that tells you that message has still not been delivered in 24 hours and would you now like to send it by a paymethod.    This is better than IM because both parties do not have to have WiFi at the same time. - cost FREE&lt;br /&gt;
** By email/Wifi - cost FREE&lt;br /&gt;
** By email/GPRS - cost ?&lt;br /&gt;
** Too many options!!!&lt;br /&gt;
** Alternatively SCROOGE SERVER could auto launch IM client if it detects both parties have WiFi at the same time (Status kept on SCROOGE SERVER?) to allow instant reply.....    Person who receives has the option to reply in SMS or in IM or in VOIP phone.&lt;br /&gt;
&lt;br /&gt;
=== Text input ===&lt;br /&gt;
{{Main|Wishlist:Text Input}}&lt;br /&gt;
There are many good suggestions for text input on the specific text input ideas page.&lt;br /&gt;
&lt;br /&gt;
=== More/Custom Input Method Widgets ===&lt;br /&gt;
{{Main|Wishlist:More/Custom_Input_Method_Widgets}}&lt;br /&gt;
Additional and customizable Input Method Widgets (similar to virtual keyboard).  &lt;br /&gt;
This could add soft-key functionality to games or other applications such as:&lt;br /&gt;
*D-Pads&lt;br /&gt;
*buttons&lt;br /&gt;
*virtual trackballs&lt;br /&gt;
*...&lt;br /&gt;
Personalized layouts could be associated with each application.&lt;br /&gt;
&lt;br /&gt;
=== Games ===&lt;br /&gt;
{{Main|Wishlist:Games}}&lt;br /&gt;
&lt;br /&gt;
=== Mesh Networking ===&lt;br /&gt;
{{Main|Wishlist:Mesh Networking}}&lt;br /&gt;
&lt;br /&gt;
=== Printing Support ===&lt;br /&gt;
It would be really neat to be able to print over either bluetooth, Wifi, or USB. I can imagine wanting to print:&lt;br /&gt;
&lt;br /&gt;
* Notes&lt;br /&gt;
* Maps&lt;br /&gt;
* Email&lt;br /&gt;
* Calendars&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
# GTK+'s printing support&lt;br /&gt;
# Making cups run on a really small system&lt;br /&gt;
&lt;br /&gt;
{{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.}}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Further details:&lt;br /&gt;
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]&lt;br /&gt;
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]&lt;br /&gt;
* [http://www.j5live.com/?p=204 j5live.com]&lt;br /&gt;
&lt;br /&gt;
===Misc Software===&lt;br /&gt;
====Clocks/timers/Activity meters====&lt;br /&gt;
===== Sport tracker =====&lt;br /&gt;
{{Main|Wishlist:Sport_tracker}}&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===== Standby clock =====&lt;br /&gt;
{{Main|Wishlist:Standby_clock}}&lt;br /&gt;
A quick way to see what time it is.&lt;br /&gt;
&lt;br /&gt;
===== Egg Timer =====&lt;br /&gt;
{{Main|Wishlist:EggTimer}}&lt;br /&gt;
&lt;br /&gt;
Very simple (one click) count up / count down timers are very useful.&lt;br /&gt;
&lt;br /&gt;
===== Cycle Computer =====&lt;br /&gt;
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.&lt;br /&gt;
* 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)&lt;br /&gt;
&lt;br /&gt;
===== NTP Server =====&lt;br /&gt;
&lt;br /&gt;
Run the [http://www.ntp.org NTP] daemon using the GPS chipset as a reference clock, so that the Neo would have a very accurate time-of-day clock and would be able to serve time to other networked devices. &lt;br /&gt;
&lt;br /&gt;
I don't know what it would take to implement this. Items to consider would be the availability of a 1 pulse-per-second hardware signal, the accuracy of timestamps delivered in NMEA messags, etc. Dealing with power-management issues (such as the device going to sleep) would also be challenging.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Find Keys/locate stuff =====&lt;br /&gt;
&lt;br /&gt;
This would require an additional accessory: a tag which transmits a signal that the Openmoko device can pick up. The tag could for example be attached with a ring loop to your keys, put in your wallet, or be attached with high strength adhesive strips to your remotely controlled aircraft. Whenever you can't find back your keys, wallet, RC aircraft,... you activate this application. When the device picks up the signal of the tag, it translates it to clear audio and visual prompts to guide you in the right direction.&lt;br /&gt;
&lt;br /&gt;
A commercial device that offers this functionality is the [http://loc8tor.com/ loc8tor]. Having this in the Openmoko phone would obliviate the need for a separate device. Murphy's law dictates that you'll only loose your keys when you don't know any more where you've put the loc8tor tracking device. But you're bound to always have your phone with you. &lt;br /&gt;
&lt;br /&gt;
Additionally, you could also set a safety perimeter. Whenever a tagged item moves more then X meters from the phone, a signal will be given.&lt;br /&gt;
&lt;br /&gt;
For a related idea, see [[Wishlist#Dude.2C_Where.27s_My_Car.3F|Dude, Where's my car]].&lt;br /&gt;
&lt;br /&gt;
===== Reality check reminder =====&lt;br /&gt;
{{Main|Wishlist:Reality check reminder}}&lt;br /&gt;
&lt;br /&gt;
A tool to [http://www.phrack.org/issues.html?issue=64&amp;amp;id=16 hack your brain]&lt;br /&gt;
&lt;br /&gt;
===== Automatic timezone changing (GPS) =====&lt;br /&gt;
&lt;br /&gt;
Check the timezone with GPS and adapt them.&lt;br /&gt;
&lt;br /&gt;
====Calculators====&lt;br /&gt;
===== A Universal Unit Converter Tool =====&lt;br /&gt;
&lt;br /&gt;
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. And not only the engineers. &lt;br /&gt;
&lt;br /&gt;
Ideas what kind of conversions a converter tool could do:&lt;br /&gt;
&lt;br /&gt;
Length&lt;br /&gt;
- Acceleration&lt;br /&gt;
- Angle&lt;br /&gt;
- Angular Velocity&lt;br /&gt;
- Area&lt;br /&gt;
- Capacitance&lt;br /&gt;
- Radioactivity&lt;br /&gt;
- Currency &lt;br /&gt;
- Charge&lt;br /&gt;
- Computer Memory&lt;br /&gt;
- Conductance&lt;br /&gt;
- Density&lt;br /&gt;
- Energy&lt;br /&gt;
- Illumination&lt;br /&gt;
- Power&lt;br /&gt;
- Force &lt;br /&gt;
- Flow&lt;br /&gt;
- Pressure&lt;br /&gt;
- Speed&lt;br /&gt;
- Temperature&lt;br /&gt;
- Time&lt;br /&gt;
- Torque&lt;br /&gt;
- Viscosity&lt;br /&gt;
- Volume&lt;br /&gt;
- Weight&lt;br /&gt;
&lt;br /&gt;
Roman Numerals&lt;br /&gt;
- ASCII, Hex&lt;br /&gt;
- Cooking&lt;br /&gt;
- BMI&lt;br /&gt;
- Clothing Sizes&lt;br /&gt;
&lt;br /&gt;
Money Converter based on current rates from Internet...&lt;br /&gt;
e. g. Dollar &amp;lt;-&amp;gt; Euro&lt;br /&gt;
 &lt;br /&gt;
Physical and Mathematical Constants&lt;br /&gt;
GPS conversions &lt;br /&gt;
&lt;br /&gt;
- link to or integration of a scientific calculator&lt;br /&gt;
- link to or integration of a simple calculator&lt;br /&gt;
&lt;br /&gt;
A good basis for such a converter tool could be the Palm program &amp;quot;units&amp;quot; from &lt;br /&gt;
François Pessaux [http://francois.pessaux.neuf.fr/files/units1_11.tgz]. The GPL'd program comes with full documentation.&lt;br /&gt;
&lt;br /&gt;
For GPS conversions see gpsbabel [http://www.gpsbabel.org]&lt;br /&gt;
&lt;br /&gt;
===== An Postfix Notation (RPN) calculator =====&lt;br /&gt;
&lt;br /&gt;
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 they 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.&lt;br /&gt;
&lt;br /&gt;
==== Windows CE Emulator ====&lt;br /&gt;
&lt;br /&gt;
On ARM machine, Windows CE API emulator, like Wine on x86 machines. &lt;br /&gt;
&lt;br /&gt;
==== PalmOS Emulator ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
I'd like to see a Windows CE Emulator with active sync support.&lt;br /&gt;
&lt;br /&gt;
==== Chumby Emulator ====&lt;br /&gt;
&lt;br /&gt;
Would be very cool if the neo can act as a chumby. see http://chumby.com for more details about a chumby.&lt;br /&gt;
&lt;br /&gt;
==== TV Guide ====&lt;br /&gt;
Display a TV guide using [http://xmltv.org xmltv].&lt;br /&gt;
Something like [http://mtvg.sourceforge.net/ Maxemum TV-Guide] (QT)&lt;br /&gt;
&lt;br /&gt;
==== Alcohol meter ====&lt;br /&gt;
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.&lt;br /&gt;
See, for example (German text) http://www.misterio-online.de/promille.htm&lt;br /&gt;
&lt;br /&gt;
==== Interaction with LEGO Mindstorm ====&lt;br /&gt;
With the accelerometers, 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.&lt;br /&gt;
&lt;br /&gt;
==== Flashlight ====&lt;br /&gt;
Simple finger application that makes every pixel on the entire screen white to be as bright as possible until you tap the screen again to turn it off.  This way, you can use your Neo as a (short term) flashlight!&lt;br /&gt;
&lt;br /&gt;
==== Wii Controller Emulator ====&lt;br /&gt;
Use the accelerometers and buttons on screen to work as a Wii controller via Bluetooth.&lt;br /&gt;
&lt;br /&gt;
==== FUSE support ====&lt;br /&gt;
Ability to use FUSE to mount larger file systems over wireless.  (even gmailfs, sshfs, etc.)&lt;br /&gt;
&lt;br /&gt;
=== Accessibility ===&lt;br /&gt;
Accessibility features for the visually impaired.&lt;br /&gt;
* High Contrast Themes.&lt;br /&gt;
* 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.&lt;br /&gt;
* 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. see: [[Wishlist:Speech synthesis]]&lt;br /&gt;
&lt;br /&gt;
==== VOIP ====&lt;br /&gt;
* [[Dialer]] should be able to use SIP.&lt;br /&gt;
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.&lt;br /&gt;
* A standard SIP client would probably fit better into the &amp;quot;free and open&amp;quot; philosophy.&lt;br /&gt;
* Ideally a SIP client that includes ZRTP/SRTP for secure communications.&lt;br /&gt;
(Note: Vonage will not give you your SIP credentials, so you cannot log into their network with a non-approved softphone. Other VoIP providers have different policies.)&lt;br /&gt;
&lt;br /&gt;
''This seems very similar to what [http://en.wikipedia.org/wiki/Generic_Access_Network UMA] offers.''&lt;br /&gt;
&lt;br /&gt;
Asterisk is a great communication platform that can run on small devices. I have an Asterisk server running on a Nokia 770 and I read about running Asterisk on an iPhone. With the crosscompiler available it sould be possible to compile it and run Asterisk on an openmoko phone and let it take care of almost everything on the wishlist below.&lt;br /&gt;
Edw/&lt;br /&gt;
&lt;br /&gt;
==== Power Meter ====&lt;br /&gt;
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.&lt;br /&gt;
&lt;br /&gt;
Also a rrdtool type of configurable timespan/frequency graphical overview would be very cool and usefull to some people?&lt;br /&gt;
&lt;br /&gt;
=== Accelerometer wishes ===&lt;br /&gt;
==== Flick interface ====&lt;br /&gt;
Ability to &amp;quot;flick&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Sensitivity of the scrolling should be configurable and a test option provided.&lt;br /&gt;
&lt;br /&gt;
==== Reading navigation of documents enhanced by accelerometers ====&lt;br /&gt;
If the two accelerometers in Neo1973 allows it, it will be nice if when you're reading, give a newspaper, you can move up, down, left and to the right the viewing of the document just moving the phones to the corresponding direction.&lt;br /&gt;
&lt;br /&gt;
I don't know if this is possible (haven't seen the project in detail yet) but this feature could be very attractive for final users (and this is good). (sorry for my english but i'm italian)&lt;br /&gt;
&lt;br /&gt;
==== Wand UI ====&lt;br /&gt;
In keeping with the requests to think outside of the box... the dual 3d accelerometers should enable a 'magic wand'-style UI for certain uses. Macros could be recorded and edited, or presets could be used. For example, flipping the device playfully could initiate a game mode or could signal the end of the work day.&lt;br /&gt;
==== Panning interface ====&lt;br /&gt;
Some applications display underlying data that is larger than the screen.  Typically they let you pan across the data using scroll bars.&lt;br /&gt;
&lt;br /&gt;
In cases where the data is only (say) 3 or 4 screens wide or high, it may be very intuitive to just shift the hand held device a few centimeters to the left or right, up or down to pan in that direction.  The screen would appear to be a hole into the world of the data, and you're just moving the hole to look at something else.&lt;br /&gt;
&lt;br /&gt;
When the underlying data is very large, you obviously wouldn't want to use this mechanism unaltered; you'd have to walk to the next room to see the data 100 screens away.  Instead different accelerations can be used for different panning sizes.  This is the same adaption used for accelerated mouse pointers typical on touch pads.  A quick flick moves the mouse pointer fast and far.  A slower drag over the same area on a touch pad moves the pointer slower and with more precision.&lt;br /&gt;
&lt;br /&gt;
==== Shake-to-Wake ====&lt;br /&gt;
Giving the phone a shake enables voice commands for a few seconds.&lt;br /&gt;
Usage Examples: &lt;br /&gt;
&lt;br /&gt;
* {Shake} &amp;quot;Call&amp;quot; ''ContactName'' ''PhoneType''&lt;br /&gt;
* {Shake} &amp;quot;Call John Mobile&amp;quot;  (Calls John's mobile)&lt;br /&gt;
* {Shake} ''ApplicationName''&lt;br /&gt;
* {Shake} &amp;quot;Reader&amp;quot; (Opens the e-book application)&lt;br /&gt;
&lt;br /&gt;
Would require a method of inputting voice tags for applications and contacts and obviously will only work for P2 (accelerometers)&lt;br /&gt;
But lets get voice command functionality working before P2 (just by pressing a button on the screen instead of shaking)&lt;br /&gt;
&lt;br /&gt;
I think that is possibly to replace &amp;quot;Shake&amp;quot; with double hit with finger in the side of phone. Proper algorithms(with accelerometers) should recognize any similar activities.&lt;br /&gt;
&lt;br /&gt;
==== Emergency call ====&lt;br /&gt;
When the accelerometer detects a great acceleration (i.e. 5G) start a countdown sequence, if it is not stopped make a call to a preconfigured emergency number. If the data from the GPS is accurate give it.&lt;br /&gt;
&lt;br /&gt;
A first version could use a recorded message (an audio file). In next version it could use a synthesizer, so it can give more information (add GPS information when it is ready).&lt;br /&gt;
&lt;br /&gt;
:I would worry that most such events would be false positives, and hard to distinguish from the real thing.  A user dropping their phone (an event very common in the life of any cellphone) is far more likely than a user being in a car accident with their phone, and the clatter of a cell phone on asphalt could reach 5G.  Additionally, it has to be very hard to distinguish hitting pavement from hitting a windshield, as from a physics standpoint the two are the same thing. [[User:Hashbrowncipher|Hashbrowncipher]] 02:06, 26 October 2007 (CEST)&lt;br /&gt;
::It could use the gps data to calculate the speed it is traveling with. Let's say it has been moving for more than 50 km/h for more than 10 seconds. Then it could activate the &amp;quot;emergency call if more than 5g&amp;quot; function. Aside from the countdown timer, it could increase the volume to max and warn the user that an automatic emergency call will take place in x seconds. While it is counting down it could listen for &amp;quot;Never mind, I'm fine, phone&amp;quot; and stop the countdown in case it hears that. It could also output the warning sound to the attached bluetooth headset and let the user talk to emergency services if the user is still conscious. [[User:Tommy|Tommy]] 17:48, 8 January 2008 (CET)&lt;br /&gt;
:::Perhaps have the phone yell loudly that it's about to do the emergency call for a decent amount of time, disabled by touching the screen or entering the pin number. In the case of any bluetooth device attached to the user, the phone could check to see if it's in range before calling. [[User:sin|sin]]&lt;br /&gt;
&lt;br /&gt;
==== Movement detection ====&lt;br /&gt;
By detecting that the owner is walking a user defined profile can be activated with a specific set of notification settings. For example you may wish to use a cheap old sounding ringtone so you don't attract attention from muggers. Or you may wish to have a louder ringtone if you carry your phone in a bag where it can't be so easily heard.&lt;br /&gt;
&lt;br /&gt;
==== Games ====&lt;br /&gt;
Imagine a first person shooter that you look around by turning your body.&lt;br /&gt;
&lt;br /&gt;
==== Sloshing battery indicator ====&lt;br /&gt;
Shaking the phone will produce a sloshing sound, as if  it contained a liquid. As the battery loses charge, so the sound produced on being shaken, will replicate a decreasingly empty container. [http://mobile.slashdot.org/article.pl?sid=07/11/28/1342248] for an example.&lt;br /&gt;
==== Steady screen ====&lt;br /&gt;
It may be hard to read the screen when the device is shaking from some source of vibration.  E.g.&lt;br /&gt;
* being mounted inside a vehicle&lt;br /&gt;
* during certain sports&lt;br /&gt;
* while the internal vibrator is activated (perhaps)&lt;br /&gt;
The accelerometers could be used to determine the frequency of the shaking and to make the screen appear to be steady by offsetting the contents at the same frequency in the opposite direction.  If this was handled by the graphics processor it might not even be an intensive operation or produce significant battery usage.&lt;br /&gt;
&lt;br /&gt;
At slower movements, (say just being held in an older unsteady hand) the accelerometer data could be fed directly into the screen offset.  This would allow you to compensate for unpredictable movements.  &lt;br /&gt;
&lt;br /&gt;
Such a mode would cancel out shaking, producing what would appear to be a slightly smaller but steady screen.  (Smaller because pixels at the edge of the screen may have ''any'' screen in the same location in the next fraction of the vibration).  Gross movements that move the screen to an entirely different position would not be cancelled, effectively 'panning' to keep up with the large movement.&lt;br /&gt;
&lt;br /&gt;
In situations where the hand is not experiencing the same source of vibration that the screen is, the areas of touch sensitivity should be offset at the same time as the screen.  So a steady hand touching a vibrating screen isn't interpretted by the application software as a vibrating hand.&lt;br /&gt;
&lt;br /&gt;
These features would best be implemented in the rendering and touch libraries so they could be activated for all applications.&lt;br /&gt;
&lt;br /&gt;
==== Taping as input ====&lt;br /&gt;
If I understand correctly the accelerometer should be capable to be used as a simple input. When OpenMoko is in the pocket, simple taps against the pocket should be possible to use as input. For example when there is an incoming call and the user is notified using a headset then one tap would accept the call and two concurrent taps against the pocket would cancel it. This can also be used for lot more.&lt;br /&gt;
&lt;br /&gt;
==== Others ====&lt;br /&gt;
Also see the pages[[Wishlist:Auto Align Map]], [[Wishlist:Determine Position]], [[Distance Measuring]], [[Wishlist:Computer Mouse]], [[Wishlist:Dynamic Screen Orientation]].&lt;br /&gt;
&lt;br /&gt;
=== Connectivity ===&lt;br /&gt;
&lt;br /&gt;
==== VNC ====&lt;br /&gt;
A good, stylus friendly VNC client/host combo would be easy to add and terribly useful.&lt;br /&gt;
&lt;br /&gt;
==== Networked X-Windows ====&lt;br /&gt;
&lt;br /&gt;
Whether it's running true X-Windowing over the network, or your bog-standard VNC connection as mentioned above, the ability to have your phone's screen available on your laptop or palmtop would be most desirable.&lt;br /&gt;
&lt;br /&gt;
==== NX client ====&lt;br /&gt;
&lt;br /&gt;
A form of X-windows forwarding optimized for performance over slow, or high-latency links, which could prove extremely useful. Capable of streaming a good quality, full desktop session over modem speeds. The protocol and at least one implementation is gpl'd. [http://en.wikipedia.org/wiki/NX_technology wikipedia]&lt;br /&gt;
&lt;br /&gt;
==== OpenOffice Presenter Control ====&lt;br /&gt;
&lt;br /&gt;
I Think it is a good idea to control your OO Presentation with Openmoko about WLAN or Bluetooth.&lt;br /&gt;
I think it needs some buttons to go back or forward and control the mouse to show something and take normal mouse clicks.&lt;br /&gt;
But with the mouse clicks I think that we need a short time between the clicks in example 1 second. Because when you make a mouse &lt;br /&gt;
click than to fast than you must go back.&lt;br /&gt;
&lt;br /&gt;
Some similar functionality will be implemented during SoC 08. More info at [[OpenMoko Bluetooth remote controller]]&lt;br /&gt;
&lt;br /&gt;
==== Amarok and other Media Player remote control ====&lt;br /&gt;
&lt;br /&gt;
Control Amarok or any other Media Player with OpenMoko (as a remote control). Bluetooth or WLAN could be used as protocol to send and receive the data. Maybe a WebInterface of Amarok is a start. Can be used on parties for a mobile music management.&lt;br /&gt;
&lt;br /&gt;
==== Read informations with SMS ====&lt;br /&gt;
Send a SMS with Code to the OpenMoko (from a specific number).&lt;br /&gt;
For example to send get the GPS coordinates from a stolen Neo (or if you don't know where your Neo is).&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== General Filesystem Encryption ====&lt;br /&gt;
&lt;br /&gt;
If anyone wants to get your private data saved on your OpenMoko device, he should have to get through a high security mechanism like dm-crypt. The question is how much CPU power would be needed. &lt;br /&gt;
Would it be an idea to encrypt only the private data like phone numbers, preferences, address book etc. (like /home/$USER).&lt;br /&gt;
&lt;br /&gt;
http://luks.endorphin.org&lt;br /&gt;
&lt;br /&gt;
==== My Account ====&lt;br /&gt;
{{Main|My Account}}&lt;br /&gt;
A way to securely store information about the phone, and ensure that a phone you may be considering purchasing is not stolen.&lt;br /&gt;
&lt;br /&gt;
==== [http://zfoneproject.com/ Zfone] or similar ====&lt;br /&gt;
&lt;br /&gt;
Something that allows the user to speak with another person securely.&lt;br /&gt;
&lt;br /&gt;
==== GSM Encryption ====&lt;br /&gt;
&lt;br /&gt;
This software application would allow GSM encrypted calls to be made using the GSM Data Call Channel. &lt;br /&gt;
&lt;br /&gt;
[[OSvS]]&lt;br /&gt;
&lt;br /&gt;
==== My Voice is my Passport ====&lt;br /&gt;
Use voice recognition to unlock the phone.  &amp;quot;Hi. My name is ... My voice is my passport.  Verify me.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Firewall ====&lt;br /&gt;
A network firewall&lt;br /&gt;
&lt;br /&gt;
==== Full Mac Support ====&lt;br /&gt;
Full mac support, preferably with full software and full sync capabilities with iCal and iMail &lt;br /&gt;
&lt;br /&gt;
==== Anti Theft Application ====&lt;br /&gt;
&lt;br /&gt;
This application would enter the phone into an [[Anti-Theft Mode]] which activates particular security features to reduce the risk of theft and also to ensure a higher probability of recovery of a stolen handset.&lt;br /&gt;
&lt;br /&gt;
====RFID based personal alerts====&lt;br /&gt;
Assuming an RFID reader is available:  You'd put an RFID tag on your keys, wallet, etc and train a program on the phone to give you a soft or hard alert when one of them leaves detection range.  That way, if you're walking away from one of them, the phone could alert you.&lt;br /&gt;
&lt;br /&gt;
Actually there is a RFID reader available. Take a look at this: http://www.wdi.ca/ We only need driver for that thing. .... Well, never mind. I think it doesn't work because of the size. Anyway an interesting idea.&lt;br /&gt;
&lt;br /&gt;
====OpenVPN Client====&lt;br /&gt;
This application allows to configure the device as an OpenVPN client using the GUI including support for X.509 certificates.&lt;br /&gt;
&lt;br /&gt;
=== Integrated Help System ===&lt;br /&gt;
&lt;br /&gt;
A help system that is either on or off. It could be activated and deactivated by a [[five-second-press]] on a button, for example the AUX button. When the help system is activated, it will explain the use of any item you touch on screen (with stylus or finger). Example: if you touch the battery icon, it will explain that this shows battery level / remaining time. If you touch the date / time icon, it will explain that this icon shows date and time, and that if you press it, you can set date and time. Primarily, this help system should be able to explain all user interface elements in the main screen, but if it proves popular, it could be expanded to cover other applications as well.&lt;br /&gt;
&lt;br /&gt;
===Performance optimisation===&lt;br /&gt;
==== Use DMA engine in CPU for blitter ====&lt;br /&gt;
The DMA engine in the CPU can substantially speed up moving of large  areas of screen in some cases.&lt;br /&gt;
&lt;br /&gt;
==== Use virtual screen to optimise scrolling ====&lt;br /&gt;
In some other cases, the hardware supported virtual screen may also speed it up.&lt;br /&gt;
===Reusable Display/UI Widgets===&lt;br /&gt;
====Use BigPage for full page zoom, scroll, scale in many apps====&lt;br /&gt;
The [[BigPageWidget]] Page decribes a widget that could bring full natural page viewing, scaling, scrolling to the OM platform - allowing all applications to make intuitive UIs. A good way to read documents of any type without reformatting them massively increases the utility of a device with a small screen&lt;br /&gt;
&lt;br /&gt;
==Bluetooth==&lt;br /&gt;
&lt;br /&gt;
=== Voice Dialing ===&lt;br /&gt;
&lt;br /&gt;
Dial by voice commands.&lt;br /&gt;
&amp;lt;br&amp;gt;Dial by dictating phone number. This way we can voice dial any number even if not in our contact list.&lt;br /&gt;
&lt;br /&gt;
=== Music through Bluetooth Headset ===&lt;br /&gt;
&lt;br /&gt;
Music can be played through a Bluetooth headset, but would stop playing when a call comes in.&lt;br /&gt;
&lt;br /&gt;
=== Walkie Talkie ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Features for this applications can be:&lt;br /&gt;
* Push To Talk (PTT) button&lt;br /&gt;
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.&lt;br /&gt;
* Optionally a full duplex mode&lt;br /&gt;
* Different channels to choose from&lt;br /&gt;
* Monitor different (preselected or all) channels for traffic.&lt;br /&gt;
* Content encryption&lt;br /&gt;
* Active noise control&lt;br /&gt;
* Allow zero config use (units can talk without any access point helping)&lt;br /&gt;
* Overview of all connected people trough sending GPS data to everyone who is in the Walkie Talkie channel&lt;br /&gt;
&lt;br /&gt;
Local (non-GPRS) use cases include chatting while biking&lt;br /&gt;
or motorcycling in a group; perhaps also in a car caravan.&lt;br /&gt;
This application could also be used as a baby-phone to monitor your siblings.&lt;br /&gt;
&lt;br /&gt;
This would be more useful if the Neo had Class 1 bluetooth, though probable Wifi on P2 will also offer more range.&lt;br /&gt;
&lt;br /&gt;
(One thumbs up from me) Jackcday&lt;br /&gt;
&lt;br /&gt;
See also [[Wish_List#WiFi_Walkie_Talkie|WiFi Walkie Talkie]] and perhaps construct one application that can handle both Bleutooth and Wifi.&lt;br /&gt;
&lt;br /&gt;
=== Automatic Sync ===&lt;br /&gt;
&lt;br /&gt;
Automatically synchronize with desktop computer (or with any [http://en.wikipedia.org/wiki/SyncML SyncML] server) when within range based on user profile.  This may require the use of a secure data transfer.&lt;br /&gt;
&lt;br /&gt;
=== GPS Assisted Bluetooth Management ===&lt;br /&gt;
&lt;br /&gt;
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.&lt;br /&gt;
&lt;br /&gt;
A Bluetooth device is configured for automatic reacquisition based on the following profiles:&lt;br /&gt;
* Manual - only when Bluetooth is on&lt;br /&gt;
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.&lt;br /&gt;
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.&lt;br /&gt;
&lt;br /&gt;
Each target device is configured as follows:&lt;br /&gt;
* Automatic acquisition at last known location: enable/disable&lt;br /&gt;
* Automatic acquisition at these locations: list of nickname + coordinates + range&lt;br /&gt;
&lt;br /&gt;
==== Non-mobile devices ====&lt;br /&gt;
&lt;br /&gt;
Examples devices include: computers&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Mobile devices ====&lt;br /&gt;
&lt;br /&gt;
Example devices include: automobiles&lt;br /&gt;
&lt;br /&gt;
Mobile devices are configured to have two types of locations:&lt;br /&gt;
# Last known location&lt;br /&gt;
# Non-mobile locations (homes)&lt;br /&gt;
&lt;br /&gt;
===== Last known location =====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===== Non-mobile locations (homes) =====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth neighbor detection and multiuser apps  ===&lt;br /&gt;
&lt;br /&gt;
Like the [http://en.wikipedia.org/wiki/One_laptop_per_child 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.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth environment detection ===&lt;br /&gt;
&lt;br /&gt;
Capability to detect when a predetermined bt device enters/leaves bt range and launch a system-wide event accordingly. This would feed not only the &amp;quot;Neighbour detection&amp;quot; idea described above, but also the &amp;quot;Profiles&amp;quot;, &amp;quot;Context based TO-DO list&amp;quot; and &amp;quot;Location-based reminders&amp;quot; ideas. Reminders could be set to trigger in the presence of a specific person X (with BT device Y). Profiles can take into account which devices are present around the phone (car kit, for ex.). To-do list could also change according to present devices.&lt;br /&gt;
&lt;br /&gt;
=== Remote control ===&lt;br /&gt;
&lt;br /&gt;
==== Wireless presenter ====&lt;br /&gt;
Use the phone to run your OpenOffice.org Impress presentation remotely using Bluetooth. Cool features: &lt;br /&gt;
* Display the text notes for the presenter on the phone's display and update it whenever the slide is changing.&lt;br /&gt;
** 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&lt;br /&gt;
* A small timer showing the time passed (and perhaps remaining if the presentation app supports such a feature). &lt;br /&gt;
* If you want to be super-cool, you give a preview of the notes of the next slide in the show. &lt;br /&gt;
* At the end of a presentation, a &amp;quot;navigator&amp;quot; could allow to easily jump to any slide in the presentation by clicking on it on the phone.&lt;br /&gt;
** When you right-click in a running OO.org Impress presentation, you can choose &amp;quot;got o slide...&amp;quot; and select any slide to jump to.&lt;br /&gt;
&lt;br /&gt;
Some similar functionality will be implemented during SoC 08. More info at [[OpenMoko Bluetooth remote controller]]&lt;br /&gt;
&lt;br /&gt;
==== Initiated from another device ====&lt;br /&gt;
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control),  camera (capture image), etc.&lt;br /&gt;
==== Directed at another device ====&lt;br /&gt;
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.&lt;br /&gt;
&lt;br /&gt;
[http://mjr.iki.fi/software/remote-0.9.0.tar.gz Remote] is my draft of a python-based remote control app that allows you to define button sets and commands to run on the local or a remote host (through ssh, for instance). Error handling and command interface need work.--[[User:Mjr|Mjr]] 11:14, 18 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth Car Connection ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Could be done with a port of [https://garage.maemo.org/projects/carman/ Carman] or similar that can connect to an OBD2 adapter via USB or Bluetooth and display various information collect from the car, GPS, and accelerometers.  --[http://wiki.openmoko.org/wiki/User:Bmk789 bmk789]&lt;br /&gt;
&lt;br /&gt;
==== Dude, Where's My Car? ====&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== [[Bluetooth powered Multi-SIM support]] ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:&lt;br /&gt;
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)&lt;br /&gt;
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset&lt;br /&gt;
* Same for Short Messages/MMS/Internet&lt;br /&gt;
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.&lt;br /&gt;
Advantage: No 'switching' between cards&lt;br /&gt;
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.&lt;br /&gt;
&lt;br /&gt;
===Internet Gateway===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Social Networking ===&lt;br /&gt;
&lt;br /&gt;
Anybody running the social networking app will be broadcasting a profile, and when certain keywords are matched with other users who are also running the application, an alert is sounded. Each mokoid can be added as a hexstring to a profile page, and xml filters can be developed for each social service to convert various keywords and interests to moko-friendly format.&lt;br /&gt;
&lt;br /&gt;
=== Give userspace api control over bluetooth signal strength ===&lt;br /&gt;
&lt;br /&gt;
I have tried bluetooth handsfree sets with other phones and don't get perfect reception due to low signal strength. I suppose the reason the signal is so weak is because the manufacturer wants the battery to last long on its latest charge. Can you please make the strength setting configurable by the user of the phone through an api and perhaps even through the phones gui? I would gladly waste some battery time in exchange for stronger bluetooth signal strength.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WiFi ==&lt;br /&gt;
&lt;br /&gt;
=== Industrial grade Wifi management ===&lt;br /&gt;
One annoyance I've had with Wifi enabled gadgets is that they simply keep the connections in a dumb list. What I'd like to see is more granular connection management, which enables me to specify whether a given connection is friend &amp;amp; family (mom's place), professional client (joe's copies and coffee), commercially available (panera), onetime use, or anything else, as well as managing router config backups, firmware images, and security keys. &lt;br /&gt;
=== Captive portal auto-login support ===&lt;br /&gt;
Having a nice front-end to some sort of script that checks the authenticity of a captive portal login page (SSL cert), then passes your username and password login information to automatically log you into your account would be very nice as well. This can be done with curl, but it is difficult to make it work on all captive portals out there. Perhaps just a field that you can specify &amp;quot;once I am connected to this AP, run this script: &amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== WiFi Walkie Talkie ===&lt;br /&gt;
Provide walktie talkie functionality like http://www.domain17.net/walkietalkie/index.html See also [[Wish_List#Walkie_Talkie|Bluetooth Walkie Talkie]] and perhaps construct one application that can handle both Bleutooth and Wifi.&lt;br /&gt;
&lt;br /&gt;
== Wireless Piggyback ==&lt;br /&gt;
&lt;br /&gt;
HSDPA support and the like, so that users can connect directly with the internet with G3/G4 mobile service providers at speeds at or above 3.6 Mb/s.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
=== Auto Update ===&lt;br /&gt;
&lt;br /&gt;
A small tool which is configurable to download the latest OpenMoko and OpenMoko related software. Maybe if any internet connection is available or a minimum of bandwith is available then the auto update would download only security related or the whole system etc. .&lt;br /&gt;
&lt;br /&gt;
=== Vibrate Pattern Recorder ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Record&amp;quot; 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 &amp;quot;Stop&amp;quot; when finished.  Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).&lt;br /&gt;
&lt;br /&gt;
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a &amp;quot;time-slice&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
- or just use MIDI, using a separate channel for the vibrator.&lt;br /&gt;
&lt;br /&gt;
An implementation of RTTL could also be used to define vibration patterns.&lt;br /&gt;
&lt;br /&gt;
=== PC Input Device ===&lt;br /&gt;
&lt;br /&gt;
Provide a method to use the touchscreen as input device for a nearby desktop machine.  Could connect over USB or bluetooth.&lt;br /&gt;
&lt;br /&gt;
Could emulate a pointer device (mouse) or even keyboard using standard bluetooth/USB interfaces for such a device.&lt;br /&gt;
&lt;br /&gt;
Use case: Alice is lazing on a couch and doesn't want to get up to do some minor interaction with the computer.  She can see the screen and uses the OpenMoko device as a mouse and/or keyboard to interact with the computer.&lt;br /&gt;
&lt;br /&gt;
=== Advanced Notification And Ringtone Manager ===&lt;br /&gt;
{{Main|Wishlist-ANARM}}&lt;br /&gt;
&lt;br /&gt;
ANARM would be an application for handling all event-based audible notifications from an OpenMoko device.&lt;br /&gt;
&lt;br /&gt;
=== Location based reminders ===&lt;br /&gt;
{{Main|Wishlist:Location_based_reminders}}&lt;br /&gt;
Location based reminders can be used to notify users of various events or reminders that are location based.&lt;br /&gt;
&lt;br /&gt;
=== Synergy Client ===&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
=== Next device ===&lt;br /&gt;
List features for your fantasy device to come from FIC (or anyone else, for that matter).  Define the GTA03 here ;-)&lt;br /&gt;
&lt;br /&gt;
==== There is no device ====&lt;br /&gt;
From [http://wurp.blogspot.com/2008/01/teh-future.html Wurp's blog]:&lt;br /&gt;
&lt;br /&gt;
Clearly the Next Big Thing has to be for the device to go away altogether. I know the basic idea for wearables has been around forever, but it seems to me that the time has come.&lt;br /&gt;
&lt;br /&gt;
I wanna wear a bluetooth earpiece and cool shades, possibly with [ here's where my imagination is failing me :-( ] gloves, or fingerless gloves, or (ew) wristbands, and let any surface, including my hand, or no surface, be my interface. Tap the earpiece when you get a phone call, see a dial pad on your palm and tap out the number with the other hand, watch movies on a giant screen hovering in the air...&lt;br /&gt;
&lt;br /&gt;
(equipment list: bluetooth earpiece, some brick in my pocket or on my belt, glasses w/ minute camera, painted video display, &amp;amp; variable darkness lenses, and gloves)&lt;br /&gt;
&lt;br /&gt;
Why the hell do I want to dig out a device every time I want mindless entertainment or superficial conversation?&lt;br /&gt;
&lt;br /&gt;
Ideally, you could then sell any little doohickey with whatever interface you want (switches, knobs, g-spots, ...) and all it needs to do is network with some software on the brick to be anything at all...&lt;br /&gt;
&lt;br /&gt;
== GPS Software ==&lt;br /&gt;
[[Image:Cheap_gps.png|right|300px|From xkcd.com :-)]]&lt;br /&gt;
*Providing GPS Support also for outdoor users in addition to ordinary street navigation features&lt;br /&gt;
** Overlay of satellite images with existing streetmaps&lt;br /&gt;
** 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/)&lt;br /&gt;
** Using sth like a tracking mode to allow certain people to determine the current position and track (for rescue missions - like they have for example at http://www.steiger-stiftung.de (a German beneficence for rescue issues) There you can register your mobile phone so the rescue service is able to track you immediately if necessary. The interesting thing: It seems like some mobile phones with GPS have special support for this issue. If your phone is registered, the rescue service is able to get your GPS coordinates directly from the phone without any user assistance. Openmoko should also support this! )&lt;br /&gt;
* Implementation of 3dTracking's (http://free.3dtracking.net/) tracking software or equivalent.&lt;br /&gt;
* &amp;quot;Geomark&amp;quot; function: if you have to save the current time with your current location, only hit one button...&lt;br /&gt;
** You also should be able to navigate with a small &amp;quot;compass&amp;quot; and the distance should be displayed to your saved point (maybe where you parked your car on a big car parking area)...&lt;br /&gt;
* '''Measure the distance between two points (air line or walked way) -&amp;gt; no need for a tape measure'''&lt;br /&gt;
**I think it would be good if you could either use Bluetooth, GPRS or AdHoc Wifi, and see near Neo1972 on the GPS map so you could see where your friends are, e.g &amp;quot;You want to know if you friend is on the bus behind&amp;quot; You would need a strong wifi and GPRS would be too expensive.&lt;br /&gt;
*A bicycle sat-nav would be cool, speciayl designed for bicycles, e.g. cycle routes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Community Based Traffic Information]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Main|Wish List - Hardware}}&lt;br /&gt;
&lt;br /&gt;
It could be use for beepway Online service too &lt;br /&gt;
[http://www.beepway.com]&lt;br /&gt;
&lt;br /&gt;
=== Dedicated Power / Charger Pinout ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The main question is just deciding on where to take power from 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Hmm... a separate power adapter would have really come in handy right now&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
I suggest a tiny 3mm, dedicated +5V power input (something a la Nokia).&lt;br /&gt;
&lt;br /&gt;
=== Inductive charging ===&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Inductive_charging Inductive charging] is the sort of charging where you place the device in a cradle, and a coil in the cradle induces a current in a coil inside the device, allowing it to recharge without wires. This should eliminate proprietary power connections.&lt;br /&gt;
&lt;br /&gt;
=== Tactile feedback via buzzer ===&lt;br /&gt;
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.&lt;br /&gt;
: 25 ms bump on the buzzer feels about right.  Does this harm the vibrator motor? --[[User:Sagacis|Sagacis]] 05:15, 2 October 2007 (CEST)&lt;br /&gt;
:: Created a patch to do this [[User:Sagacis/ForceFeedback]] --[[User:Sagacis|Sagacis]] 05:05, 3 October 2007 (CEST)&lt;br /&gt;
&lt;br /&gt;
=== Detachable keyboard ===&lt;br /&gt;
Hardware keyboard that can be attached with magnets to a future version of the Neo.&lt;br /&gt;
&lt;br /&gt;
A bluetooth mini-qwerty keyboard that straps to my wrist!&lt;br /&gt;
&lt;br /&gt;
: A BT keyboard would be nice, but do you need openmoko to provide it? [[http://www.intomobile.com/2007/11/07/targus-bluetooth-mobile-tumbpad-when-the-tiny-keyboard-on-your-smartphone-just-doesnt-cut-it.html Targus bluetooth keyboard]]&lt;br /&gt;
&lt;br /&gt;
=== SD Card Slot ===&lt;br /&gt;
I think the Neo1973 should have a normal SD card slot as the micro is too small, and the SDs have more space. [unknown author]&lt;br /&gt;
&lt;br /&gt;
SD Cards now support 32GB. Their storage density will always be multiples ahead of microSD (now at only 2GB). An SD Card slot will:&lt;br /&gt;
* Provide enough storage to '''turn an OpenMoko into a music (MP3) jukebox''' large enough for entire music collections, like an iPod with Bluetooth for the car.&lt;br /&gt;
* Enable '''storage''' of:&lt;br /&gt;
** podcasts, full-length movies, or large photo collections&lt;br /&gt;
** photo and video from an on-board high-res camera&lt;br /&gt;
** entire email database at your fingertips, even in poor phone signal areas&lt;br /&gt;
** more detailed maps and charts&lt;br /&gt;
** encrypted work databases that are not available online&lt;br /&gt;
* Have easy '''external access''', without requiring battery removal like the microSD card&lt;br /&gt;
* Support '''SDIO''' accessories&lt;br /&gt;
* Enable '''transfer''' of data from an external camera's full SD memory to:&lt;br /&gt;
** a portable USB hard drive, offsetting the need to travel with a notebook PC&lt;br /&gt;
** the internet, via wifi or phone network&lt;br /&gt;
* Enable editing of videos and photos obtained from external cameras&lt;br /&gt;
&lt;br /&gt;
Without an easily accessible higher storage SD Card slot, many users will soon be playing the juggling game of which data to delete from the much smaller and harder to swap microSD card. This is especially true for OpenMoko users, who are more likely to be power users than is the average mobile phone carrying population. Why carry an OpenMoko and an iPod, when you can simply add an SD Card slot?&lt;br /&gt;
--[[User:Pedro|Pedro]] 20:06, 17 March 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
: This is not true. Now you can find 2GB micros at the price of 20-30 euros. Too small for what?? --[[User:V0n0|V0n0]] 22:06, 28 December 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
: Think of putting a few '''movies''' on that SD memory card. It could really help if it was a little bigger (8GB, 16GB, 32GB). Also think of going '''offline''' for 1-2 weeks, far away from any computer you can access and then wanting to listen to some music. What you get in turn with a 2 GB memory slot is the same music over and over. Or you have to switch memory a cards a lot.&lt;br /&gt;
&lt;br /&gt;
: This situation is far more common than one would think: going in the mountains, going offshore (on a cruise ship). Or simply you may want to store many types of music, and '''share''' your device with friends. --[[User:Bogdanbiv|Bogdanbiv]] 13:47, 10 January 2008 (EEST)&lt;br /&gt;
&lt;br /&gt;
: Well, it can be micro SD, but why to put it so deep inside, under the battery and even under the SIM card? I would suggest to have a simple slot on the side where we could insert/remove the SD card equally easily as we swap CD's in computer. [[User:AudriusA|AudriusA]] 16:36, 12 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
[[User:Cfriedt|Cfriedt]] 12:40, 24 February 2008 (CET) -- I completely agree with a more accessible SD card slot. It should be made external for quick removal / insertion. I realize that would mean program data shouldn't reside on the SD, but really 256 MB of on-board flash is plenty. Micro or normally-sized, a regular-sized SD is still trivial to implement in terms of solder pads and traces.&lt;br /&gt;
&lt;br /&gt;
: Sorry, but this looks like useless chat. Micro-SD cards are perfect for mobile devices as they don't get too much space on the pcb. Also, we can find micro-sd up to 8gb, if you want more space just wait a while and they'll produce a bigger one in a few months :-p. Really, almost every single phone that has a sd slot has in its micro version, why would we need a full-sized, huge normal sd slot ? It gets too much space on the pcb it's not only about sw configuration or pin soldering, it's more regarding pcb layout.&lt;br /&gt;
&lt;br /&gt;
: What about something like this adapter[http://linitx.com/viewproduct.php?prodid=11922]? Is there any place in the case left to put this into? Nevertheless there is a 12GB microSD card announced from SanDisk and a 8GB card costs about 40€ or 15€ for 4GB. (But a 8GB SD card costs only about 25€) --[[user:kelvan|Kelvan]]&lt;br /&gt;
&lt;br /&gt;
: Maybe just an additional microSD that is easily accessible and hot-swappable. I imagine replacing the huge lanyard hole could help with this. --[[User:Sin|Sin]] 02:30, 4 May 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
: My thoughts exactly.  Two slots: 1 internal microSD for our storage, and a second external one for more immediate expansion.  My thoughts are more towards hardware expansion.  For example, some of us could put in a second wifi card that does have promiscuous mode.  External VGA connections, etc would also be possible.  The external slot should be chosen by availability of hardware expansions as well as memory availability/price.  --[[User:lally|Lally]] 13:01 12 May 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
=== IR port ===&lt;br /&gt;
Remote control applications&lt;br /&gt;
&lt;br /&gt;
Would be great to use openmoko as a Harmony remote controller.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
[[Category:User]]&lt;br /&gt;
[[Category:Ideas| ]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Group_sales</id>
		<title>Group sales</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Group_sales"/>
				<updated>2008-05-05T09:42:26Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: /* Virginia */  Just adding Lally in.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Openmoko have announced a scheme to sell the forthcoming Neo Freerunner at a discount if bought in multiples of 10 (US$369, instead of 399), to be shipped in one package. Group buying will thus save money on the purchase, and on the shipping. This page is to to organise group purchases by region.&lt;br /&gt;
&lt;br /&gt;
Steve from Openmoko announced &amp;quot;Every 10 pack, will come with a box of stuff. 10 pouches and 10 head sets.&amp;quot;&lt;br /&gt;
So join us within a local group !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style='float:right'&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Australia ==&lt;br /&gt;
=== Western Australia ===&lt;br /&gt;
==== Perth ====&lt;br /&gt;
&lt;br /&gt;
* 1x Fred Janon mailto:fjanon@yahoo.com&lt;br /&gt;
&lt;br /&gt;
* 1x Shanon Loughton [http://wiki.openmoko.org/wiki/Special:Emailuser/cgltower contact me here]&lt;br /&gt;
&lt;br /&gt;
* 1x Simon Matthews [http://wiki.openmoko.org/wiki/Special:Emailuser/simat contact me here]&lt;br /&gt;
&lt;br /&gt;
* 1x ([[Image:MokoBox.jpg]] - advanced) Msquared [http://www.msquared.id.au/ contact me here]&lt;br /&gt;
&lt;br /&gt;
* 1x Alex Wilkinson mailto:alex.wilkinson@dsto.defence.gov.au&lt;br /&gt;
&lt;br /&gt;
=== New South Whales  ===&lt;br /&gt;
==== Sydney ====&lt;br /&gt;
status: 7/10&lt;br /&gt;
Please add a I exist to end of your name here. &lt;br /&gt;
Also, sydney seems to now have 7 people perhaps if we do not reach 10 we can join with Melbourne and get them shipped to Australia then moved domestically to the other city.&lt;br /&gt;
* 1X dbmoodb ---&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Dbmoodb contact me here] I exist.&lt;br /&gt;
* 1 x Mark Chandler [http://wiki.openmoko.org/wiki/Special:Emailuser/Openmarko contact me here]&lt;br /&gt;
* 1 x bing [http://wiki.openmoko.org/wiki/Special:Emailuser/Bingquick contact me here]&lt;br /&gt;
* 1 x ch0gan [http://wiki.openmoko.org/wiki/Special:Emailuser/ch0gan contact me here]&lt;br /&gt;
* 1 x Neil Brown [http://wiki.openmoko.org/wiki/Special:Emailuser/Neilbrown contact me here]&lt;br /&gt;
* 1 x Rob [http://wiki.openmoko.org/wiki/Special:Emailuser/Rob contact me here]&lt;br /&gt;
* 1 x Tim [http://wiki.openmoko.org/wiki/Special:Emailuser/Voyd contact me here] I am almost certain I exist.&lt;br /&gt;
&lt;br /&gt;
=== Victoria ===&lt;br /&gt;
==== Melbourne ====&lt;br /&gt;
Status: 6/10&lt;br /&gt;
&lt;br /&gt;
* 4x Dennis Wollersheim, mailto: dewoller (at) gmail (dot) com&lt;br /&gt;
* 1x Nigel Cunningham, mailto: ncunningham (at) crca (dot) org (dot) au&lt;br /&gt;
  (I'm actually in Cobden, in the south-west)&lt;br /&gt;
* 1x Dale Maggee, mailto: antisol (at) earthling (dot) net&lt;br /&gt;
&lt;br /&gt;
=== ACT ===&lt;br /&gt;
==== Canberra ====&lt;br /&gt;
Status: 2/10&lt;br /&gt;
&lt;br /&gt;
* J Dinale [http://wiki.openmoko.org/wiki/Special:Emailuser/Noledil Contact me here]&lt;br /&gt;
* Fergus [http://wiki.openmoko.org/wiki/Special:Emailuser/Someone Contact me here]&lt;br /&gt;
&lt;br /&gt;
=== Queensland ===&lt;br /&gt;
==== Brisbane ====&lt;br /&gt;
Status: 4/10 (possibly 20)&lt;br /&gt;
&lt;br /&gt;
* Nick Devereaux x 2 [http://wiki.openmoko.org/wiki/Special:Emailuser/Monkeypanic Contact me here]&lt;br /&gt;
* Matt Gallagher [http://wiki.openmoko.org/wiki/Special:Emailuser/mattg Contact me here]&lt;br /&gt;
* Jordan Keith [http://wiki.openmoko.org/wiki/Special:Emailuser/Zedd_D1abl0 Contact me here]&lt;br /&gt;
&lt;br /&gt;
=== South Australia ===&lt;br /&gt;
==== Adelaide ====&lt;br /&gt;
Status: 3/10&lt;br /&gt;
&lt;br /&gt;
* Adrian Billiau [http://wiki.openmoko.org/wiki/Special:Emailuser/Carcin Contact me here]&lt;br /&gt;
* John Briggs [http://wiki.openmoko.org/wiki/Special:Emailuser/Erflungued Contact me here]&lt;br /&gt;
* Daniel Sobey [http://wiki.openmoko.org/wiki/Special:Emailuser/dns Contact me here]&lt;br /&gt;
&lt;br /&gt;
== Austria ==&lt;br /&gt;
There is a group-buy page at MetaLab, available here: http://metalab.at/wiki/OpenMoko .. we almost have the full 10 slots assigned, and its quite possible that we will order *20* phones, so please register on the Metalab pages and let us know if you're interested .. &lt;br /&gt;
&lt;br /&gt;
=== Salzburg ===&lt;br /&gt;
Status: 1/10&lt;br /&gt;
&lt;br /&gt;
* D. Kepplinger [http://wiki.openmoko.org/wiki/Special:Emailuser/Wedge Contact me here]&lt;br /&gt;
=== Wien ===&lt;br /&gt;
Status: 1/10&lt;br /&gt;
* M. Greifeneder [http://wiki.openmoko.org/wiki/Special:Emailuser/mikegr Contact me here]&lt;br /&gt;
* J. Vaughan (torpor) -- http://metalab.at/wiki/OpenMoko [http://wiki.openmoko.org/wiki/Special:Emailuser/torpor Contact me here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Styria ===&lt;br /&gt;
==== Graz ====&lt;br /&gt;
Status: 6/10&lt;br /&gt;
&lt;br /&gt;
* F Hackenberger [http://wiki.openmoko.org/wiki/Special:Emailuser/Deadman66 Contact me here]&lt;br /&gt;
* J Florineth [http://wiki.openmoko.org/wiki/Special:Emailuser/Flojoh Contact me here]&lt;br /&gt;
* G Michelitsch [http://wiki.openmoko.org/wiki/Special:Emailuser/graf_ithaka Contact me here] (I've found others @ TU Graz !)&lt;br /&gt;
* R Stoegbuchner [http://wiki.openmoko.org/wiki/Special:Emailuser/stoero Contact me here]&lt;br /&gt;
* M Lipp [http://wiki.openmoko.org/wiki/Special:Emailuser/Neldoreth Contact me here]&lt;br /&gt;
* M Maier [http://wiki.openmoko.org/wiki/Special:Emailuser/species Contact me here]&lt;br /&gt;
&lt;br /&gt;
== Belgium ==&lt;br /&gt;
=== Flanders ===&lt;br /&gt;
==== Brussel/Aalst/Gent/Brugge ====&lt;br /&gt;
Status 7/10&lt;br /&gt;
* Yorick, mailto: yorick DOT matthys AT gmail DOT com&lt;br /&gt;
* 2x Dolfje [http://wiki.openmoko.org/wiki/Special:Emailuser/Dolfje Contact me here]&lt;br /&gt;
* XVens, mailto: xavier DOT vens AT gmail DOT com&lt;br /&gt;
* Arno85, mailto: aaron DOT helin AT gmail DOT com, Kortrijk&lt;br /&gt;
* Philoufr, mailto: philoufr AT gmail DOT com&lt;br /&gt;
* Js Op de Beeck [http://wiki.openmoko.org/wiki/Special:Emailuser/Js.opdebeeck Contact me here]&lt;br /&gt;
ps: Dolfje can bring freerunners to Brugge if needed&lt;br /&gt;
&lt;br /&gt;
==== Antwerp ====&lt;br /&gt;
Status 5/10&lt;br /&gt;
&lt;br /&gt;
* michielv [http://wiki.openmoko.org/wiki/Special:Emailuser/Michielv Contact me here]&lt;br /&gt;
* Peter N [http://wiki.openmoko.org/wiki/Special:Emailuser/Bubsy Contact me here]&lt;br /&gt;
* Ivo [http://wiki.openmoko.org/wiki/Special:Emailuser/Ivo Contact me here]&lt;br /&gt;
* Peter Leemans, mailto: peter AT x-tend DOT be&lt;br /&gt;
* Richard B [http://wiki.openmoko.org/wiki/Special:Emailuser/richardb Contact me here]&lt;br /&gt;
&lt;br /&gt;
== Bulgaria ==&lt;br /&gt;
=== Sofia ===&lt;br /&gt;
==== Sofia ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* Dimitar Staykov, mailto:meditache@gmail.com&lt;br /&gt;
* Vernim, [http://wiki.openmoko.org/wiki/Special:Emailuser/Vernim Contact]&lt;br /&gt;
&lt;br /&gt;
== Canada ==&lt;br /&gt;
&lt;br /&gt;
=== British Columbia ===&lt;br /&gt;
Status : 9/10&lt;br /&gt;
&lt;br /&gt;
* Justin (Vancouver): mailto: stryderjzw AT gmail&lt;br /&gt;
* Dave (Vancouver) Vancouver Linux users group (unconfirmed but about 7 so far): mailto: doc AT skynet REMOVE dot REMOVE ie&lt;br /&gt;
* Steven (Victoria) - If someone in the group will remail the package for me. mailto: skurylo --&amp;gt; gmail dot com&lt;br /&gt;
&lt;br /&gt;
=== Alberta ===&lt;br /&gt;
Status : 3/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Wuth|Wuth]] : [mailto:wuth@acm.org]&lt;br /&gt;
* [[User:Slm3095om|stacy]] (2 units) : slm3095om AT millions dOt ca&lt;br /&gt;
&lt;br /&gt;
=== Ontario/Quebec ===&lt;br /&gt;
==== GTA (Toronto) ====&lt;br /&gt;
Status : 12/10&lt;br /&gt;
&lt;br /&gt;
* Gerald A [http://wiki.openmoko.org/wiki/Special:Emailuser/Historybuff Contact me here]&lt;br /&gt;
* MattC, mailto: quirkz AT gmail&lt;br /&gt;
* Sergey K, openmoko AT deeptown dOt org&lt;br /&gt;
* Peter Baldwin, vendor.openmoko AT pointclark DOT net  ('''3 units''')&lt;br /&gt;
* Kristin Low, kristin dot low at gmail dot com (Kingston)&lt;br /&gt;
* Daniel Lister, dan.lister--&amp;gt;gmail&lt;br /&gt;
* Ronnie Wong: '''3 units''' - r25wong AT ryerson dOT ca&lt;br /&gt;
* Paul V [http://wiki.openmoko.org/wiki/Special:Emailuser/Roju Contact me here]&lt;br /&gt;
&lt;br /&gt;
Group 2 Status (Hamilton): 1/10&lt;br /&gt;
&lt;br /&gt;
* Gabriel D - ace AT staticwave DOT ca&lt;br /&gt;
&lt;br /&gt;
== Chile ==&lt;br /&gt;
=== Santiago ===&lt;br /&gt;
Status : 4/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Mankeke]] Ricardo Manríquez C., mailto: ricardo.manriquez &amp;quot;remove this and add AT&amp;quot; gmail &amp;quot;dot&amp;quot; com&lt;br /&gt;
* [[User:XKnightmareX]] Gonzalo Pesenti., mailto: mare.knight1 &amp;quot;remove this and add AT&amp;quot; gmail &amp;quot;dot&amp;quot; com&lt;br /&gt;
* [[User:Freyes]] Felipe Reyes., mailto: felipereyes &amp;quot;remove this and add AT&amp;quot; gmail &amp;quot;dot&amp;quot; com&lt;br /&gt;
* [[User:Zeus]] Jonathan Gonzalez., mailto: zeus &amp;quot;remove this and add AT&amp;quot; gnu &amp;quot;dot&amp;quot; org&lt;br /&gt;
&lt;br /&gt;
== Denmark ==&lt;br /&gt;
If we do not reach a total large enough, Denmark **is** a very small place - surely we could figure out a way of getting them to find their way 'round the country :)&lt;br /&gt;
&lt;br /&gt;
=== Jutland ===&lt;br /&gt;
==== Aalborg ====&lt;br /&gt;
Status: 3/10&lt;br /&gt;
&lt;br /&gt;
Should anyone need it, transportation from Aalborg to Thisted for phones can be arranged, if you don't want to pick it up in Aalborg yourself :) ~~leinir&lt;br /&gt;
&lt;br /&gt;
* Dan Leinir Turthra Jensen &amp;lt;br /&amp;gt; mailto:admin@leinir.dk &amp;lt;br /&amp;gt; [[User:Leinir]]&lt;br /&gt;
* Fabian Olesen &amp;lt;br /&amp;gt; mailto:firewalkerx@gmail.com&lt;br /&gt;
* Helge Willum Larsen &amp;lt;br /&amp;gt; mailto:helge.at.helges.dk&lt;br /&gt;
&lt;br /&gt;
==== Skjern ====&lt;br /&gt;
Status: 1/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Carlo]]&lt;br /&gt;
&lt;br /&gt;
=== Fyn ===&lt;br /&gt;
Status: 2/10&lt;br /&gt;
&lt;br /&gt;
* [[User:EsbenDamgaard]]&lt;br /&gt;
* [[User:apm]]&lt;br /&gt;
&lt;br /&gt;
=== Sjælland ===&lt;br /&gt;
==== Copenhagen ====&lt;br /&gt;
Status: 26/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Fursund]]&lt;br /&gt;
* [[User:Rasmusjensen]]&lt;br /&gt;
* [[User:tabac]] Thomas Ammitzbøll-Bach&lt;br /&gt;
* [[User:chel | Christian E. Lysel ]]&lt;br /&gt;
* [[User:UlrikRasmussen | Ulrik Rasmussen]]&lt;br /&gt;
* [[User:KlaymenDK | Jan Gundtofte-Bruun]] (Pending final hw, eg. low-power LEDs)&lt;br /&gt;
* [[User:OleTange | Ole Tange]] (I need 14 with invoice)&lt;br /&gt;
* [[User:Pascal | Pascal d'Hermilly]] (I need 1 with invoice)&lt;br /&gt;
* [[User:Miwer]] Michael Andersen&lt;br /&gt;
* M. Stenderup [http://wiki.openmoko.org/wiki/Special:Emailuser/Mast contact me here]&lt;br /&gt;
* [[User:maha | Martin Hansen]] (3 with invoice)&lt;br /&gt;
&lt;br /&gt;
== Finland ==&lt;br /&gt;
=== Uusimaa ===&lt;br /&gt;
==== Helsinki I (Full)====&lt;br /&gt;
Status : 10/10&lt;br /&gt;
&lt;br /&gt;
* Mikko Rauhala x2 [mailto:mjr@iki.fi mjr@iki.fi]&lt;br /&gt;
* Aleksi Hankalahti &amp;lt;br /&amp;gt; [mailto:aleksi.hankalahti@iki.fi aleksi.hankalahti@iki.fi]&lt;br /&gt;
* Seppo Hätönen &amp;lt;br /&amp;gt; [mailto:karrde@iki.fi karrde@iki.fi]&lt;br /&gt;
* Arttu Sund &amp;lt;br /&amp;gt; [mailto:thearttu@gmail.com thearttu@gmail.com]&lt;br /&gt;
* Ville-Pekka Vainio &amp;lt;br /&amp;gt; vpivaini AT cs.helsinki.fi&lt;br /&gt;
* Heikki Hallamaa &amp;lt;br /&amp;gt; [mailto:heikki.hallamaa@iki.fi heikki.hallamaa@iki.fi]&lt;br /&gt;
* Tomi Jylhä-Ollila &amp;lt;br /&amp;gt; tomi.jylha-ollila@helsinki.fi&lt;br /&gt;
* Richard Braakman&lt;br /&gt;
* Timo Jyrinki &amp;lt;br /&amp;gt; [mailto:timo.jyrinki@iki.fi timo.jyrinki@iki.fi]&lt;br /&gt;
&lt;br /&gt;
==== Helsinki II &amp;amp; Turku (united)====&lt;br /&gt;
&lt;br /&gt;
Status : 9/10&lt;br /&gt;
&lt;br /&gt;
Helsinki:&lt;br /&gt;
&lt;br /&gt;
* [[User:Piksi]] &amp;lt;br /&amp;gt;openmoko ÄT pi-xi PISTE net&lt;br /&gt;
* Risto H. Kurppa &amp;lt;br /&amp;gt; risto AT kurppa DOT fi&lt;br /&gt;
* Aapo Rantalainen &amp;lt;br /&amp;gt; aapo DOT rantalainen AT gmail DOT com&lt;br /&gt;
* Matti Laakso &amp;lt;br /&amp;gt; matti DOT laakso AT kotiposti DOT net&lt;br /&gt;
* Ismo Haanaho &amp;lt;br /&amp;gt; ismo DOT haanaho AT gmail DOT com&lt;br /&gt;
&lt;br /&gt;
Turku:&lt;br /&gt;
&lt;br /&gt;
* 2x Teemu Välimäki, [mailto:teemu.valimaki@iki.fi teemu.valimaki@iki.fi]&lt;br /&gt;
* Jaakko Lehtinen, jaakko dot lehtinen at gmail dot com&lt;br /&gt;
* Janne Junnila, janne dot junnila at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== France ==&lt;br /&gt;
=== Bretagne ===&lt;br /&gt;
==== Brest ====&lt;br /&gt;
Status : 1/10&lt;br /&gt;
&lt;br /&gt;
* StevenLeRoux [mailto:steven@pourri.fr steven@pourri.fr] Jabber_Id:Steven@jabber.fr&lt;br /&gt;
* Acheteur potentiel #2&lt;br /&gt;
&lt;br /&gt;
==== Rennes ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* Cédric DUFOUIL (openmoko at tsleg point com)&lt;br /&gt;
* Yves MAHE (ymahe at zindep dot com)&lt;br /&gt;
&lt;br /&gt;
=== Pays de la Loire ===&lt;br /&gt;
==== La Roche sur Yon ====&lt;br /&gt;
Status : 1/10&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.openmoko.org/wiki/Special:Emailuser/Vtouchar Vincent Touchard] (I may soon move to Bretagne/Brest)&lt;br /&gt;
&lt;br /&gt;
==== Nantes ====&lt;br /&gt;
&lt;br /&gt;
* [[User:Yoann|Yoann ARNAUD]]. OK for a ship in Rennes if needed. [http://wiki.openmoko.org/wiki/Special:Emailuser/Yoann Contact me here]&lt;br /&gt;
&lt;br /&gt;
=== Ile de france ===&lt;br /&gt;
==== Paris ====&lt;br /&gt;
Status : 11/10&lt;br /&gt;
&lt;br /&gt;
* StevenLeRoux&lt;br /&gt;
* [[User:Phyce|Phyce]]&lt;br /&gt;
* Yann SLADEK&lt;br /&gt;
* [[User:Wilk|Wilk]] [http://wiki.openmoko.org/wiki/Special:Emailuser/Wilk Contact me here]&lt;br /&gt;
* Jonathan Magano ([http://wiki.openmoko.org/wiki/Special:Emailuser/JonathanMM Contact me here])&lt;br /&gt;
* Benjamin Renard (bn8[AT]zionetrix.net)&lt;br /&gt;
* [[User:OlivierBerger|OlivierBerger]]&lt;br /&gt;
* [[User:BartGS|BartGS]] [http://wiki.openmoko.org/wiki/Special:Emailuser/BartGS Contact me here]&lt;br /&gt;
* [[User:rcoscali|Rémi Cohen-Scali]]&lt;br /&gt;
* [[User:Valos|Valéry Febvre]]&lt;br /&gt;
* [[User:Manou|Emmanuel Raviart]]&lt;br /&gt;
&lt;br /&gt;
You may also see :&lt;br /&gt;
http://bearstech.com/openmoko/register&lt;br /&gt;
&lt;br /&gt;
=== Rhône-Alpes ===&lt;br /&gt;
==== Lyon ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.openmoko.org/wiki/Special:Emailuser/patou Vincent MEURISSE]&lt;br /&gt;
* [http://wiki.openmoko.org/wiki/Special:Emailuser/pini Gilles FILIPPINI]&lt;br /&gt;
&lt;br /&gt;
==== Grenoble ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.openmoko.org/wiki/Special:Emailuser/pbollard Philippe BOLLARD]&lt;br /&gt;
* [http://wiki.openmoko.org/wiki/Special:Emailuser/aurelien Aurelien]&lt;br /&gt;
&lt;br /&gt;
=== Provence Alpes Cote d'Azur ===&lt;br /&gt;
==== Sophia Antipolis ====&lt;br /&gt;
Status : 1/10&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.openmoko.org/wiki/Special:Emailuser/nico.inc Nicolas HUOT]&lt;br /&gt;
&lt;br /&gt;
== Germany ==&lt;br /&gt;
=== Sachsen-Anhalt ===&lt;br /&gt;
==== Stendal (evtl. Magdeburg) ====&lt;br /&gt;
Status 1/10&lt;br /&gt;
&lt;br /&gt;
* Fabian Off [http://wiki.openmoko.org/wiki/Special:Emailuser/Fabian2de Contact me here]&lt;br /&gt;
&lt;br /&gt;
=== Hamburg ===&lt;br /&gt;
==== Hamburg ====&lt;br /&gt;
Status 9-10&lt;br /&gt;
&lt;br /&gt;
* Jan 4-5[http://wiki.openmoko.org/wiki/Special:Emailuser/Jan07 Contact me here]&lt;br /&gt;
* Varacanero [http://wiki.openmoko.org/wiki/Special:Emailuser/varacanero Contact me here]&lt;br /&gt;
* Ole 3-5 pcs [http://wiki.openmoko.org/wiki/Special:Emailuser/Olemoko Contact me here]&lt;br /&gt;
* Arne [http://wiki.openmoko.org/wiki/Special:Emailuser/GuraX Contact me here]&lt;br /&gt;
&lt;br /&gt;
=== Hessen ===&lt;br /&gt;
==== Frankfurt ====&lt;br /&gt;
Status 1-10&lt;br /&gt;
&lt;br /&gt;
* Blacky [http://wiki.openmoko.org/wiki/Special:Emailuser/Blacky Contact me here]&lt;br /&gt;
&lt;br /&gt;
=== Sachsen ===&lt;br /&gt;
==== Chemnitz ====&lt;br /&gt;
Status 1/10&lt;br /&gt;
&lt;br /&gt;
* Tobias [http://wiki.openmoko.org/wiki/Special:Emailuser/Tobydox Contact me here]&lt;br /&gt;
==== Dresden ====&lt;br /&gt;
Status 1/10&lt;br /&gt;
&lt;br /&gt;
* Martin [http://wiki.openmoko.org/wiki/Special:Emailuser/nodge Contact me here]&lt;br /&gt;
&lt;br /&gt;
=== Thueringen ===&lt;br /&gt;
==== Weimar ====&lt;br /&gt;
Status 1/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Fries43]]&lt;br /&gt;
&lt;br /&gt;
=== NRW ===&lt;br /&gt;
==== Bielefeld ====&lt;br /&gt;
Status 4/10&lt;br /&gt;
&lt;br /&gt;
* David, infos on my [[User:Raven|user page]], or you can [[Special:Emailuser/Raven|contact me here]]&lt;br /&gt;
* Sebastian, infos on my [[User:Seppi|user page]], or you can [[Special:Emailuser/Seppi|contact me here]]&lt;br /&gt;
* Dackel, infos on my [[User:Killerdackel|user page]], or you can [[Special:Emailuser/Killerdackel|contact me here]]&lt;br /&gt;
* Conny&lt;br /&gt;
* Arndt, infos on my [[User:Arndot|user page]], or you can [[Special:Emailuser/Arndot|contact me here]]&lt;br /&gt;
&lt;br /&gt;
==== Aachen ====&lt;br /&gt;
Status 2/10&lt;br /&gt;
* Henrik, infos on my [[User:Henrikz|user page]], or you can [[Special:Emailuser/Henrikz|contact me here]]&lt;br /&gt;
* David, infos on my [[User:TechnoFan|user page]], or you can [[Special:Emailuser/TechnoFan|contact me here]]&lt;br /&gt;
&lt;br /&gt;
==== Düsseldorf ====&lt;br /&gt;
* mac2k, infos on my [[User:mac2k|user page]], or you can [[Special:Emailuser/mac2k|contact me here]]&lt;br /&gt;
&lt;br /&gt;
=== Baden-Württemberg ===&lt;br /&gt;
==== Karlsruhe ====&lt;br /&gt;
&lt;br /&gt;
Status 11/10&lt;br /&gt;
&lt;br /&gt;
* 2 for André (one for me and one for a friend), you can [[Special:Emailuser/Spacemarine|contact me here]]&lt;br /&gt;
* [[Special:Emailuser/Dr.Nop|Dr.Nop]]&lt;br /&gt;
* [[Special:Emailuser/JensB|JensB]]&lt;br /&gt;
* [[Special:Emailuser/Tedo|Tedo]]&lt;br /&gt;
* 3 devices at least, [[Special:Emailuser/ZaPPaS|ZaPPaS]]&lt;br /&gt;
&lt;br /&gt;
* [[Special:Emailuser/Gromgull|Gromgull]] (in Kaiserslautern, but Karlsruhe is close enough, and I doubt that I'll find 10 people here.&lt;br /&gt;
* [[Special:Emailuser/Ebi|Ebi]]&lt;br /&gt;
* [[Special:Emailuser/RIdd3r|Fabian]]&lt;br /&gt;
&lt;br /&gt;
=== Bayern ===&lt;br /&gt;
==== München ====&lt;br /&gt;
&lt;br /&gt;
Status 3/10&lt;br /&gt;
&lt;br /&gt;
* [[Special:Emailuser/Eriks|Eriks]]&lt;br /&gt;
* --[[User:Imitation|Imitation]] 21:42, 30 April 2008 (CEST)&lt;br /&gt;
* [[Special:Emailuser/meyerm|meyerm]] 16:25 CEST, 01. Mai 2008&lt;br /&gt;
&lt;br /&gt;
=== Berlin===&lt;br /&gt;
==== Berlin ====&lt;br /&gt;
&lt;br /&gt;
for berlin-talk: http://de.groups.yahoo.com/group/openmoko-berlin/&lt;br /&gt;
&lt;br /&gt;
* Conrad [http://wiki.openmoko.org/wiki/User:Caribu Contact me here]&lt;br /&gt;
&lt;br /&gt;
This group has finished its forming:&lt;br /&gt;
Status 10/10&lt;br /&gt;
* Stephan [http://wiki.openmoko.org/wiki/User:Fischel Contact me here]&lt;br /&gt;
* Robert [http://wiki.openmoko.org/wiki/User:Thebohemian Contact me here]&lt;br /&gt;
* Nico [http://wiki.openmoko.org/wiki/User:Nico Contact me here]&lt;br /&gt;
* Torsten [http://wiki.openmoko.org/wiki/User:Torsten_Grote Contact me here]&lt;br /&gt;
* Bastian [[User:Fries43]]&lt;br /&gt;
* Sven-Ola [http://wiki.openmoko.org/wiki/User:Sven-ola Contact]&lt;br /&gt;
* Arne [http://wiki.openmoko.org/wiki/User:arnepp Contact me here]&lt;br /&gt;
* MM [http://wiki.openmoko.org/wiki/User:MM Contact]&lt;br /&gt;
* Keks [http://wiki.openmoko.org/wiki/User:Keksdosenmann Contact]&lt;br /&gt;
* Matthias [http://wiki.openmoko.org/wiki/User:mk Contact]&lt;br /&gt;
&lt;br /&gt;
== Hungary == &lt;br /&gt;
discussion here: http://hup.hu/node/54588&lt;br /&gt;
&lt;br /&gt;
=== Budapest ===&lt;br /&gt;
Status 11/10&lt;br /&gt;
&lt;br /&gt;
* Lion/Kempelen [http://wiki.openmoko.org/wiki/Special:Emailuser/kempelen Contact]&lt;br /&gt;
* rka [http://wiki.openmoko.org/wiki/Special:Emailuser/rka Contact]&lt;br /&gt;
* tg [http://wiki.openmoko.org/wiki/Special:Emailuser/tg?wpSubject=OpenMoko%20GroupSales Contact]&lt;br /&gt;
* LiRul - lirul [KUKAC] hixsplit [PONT] hu&lt;br /&gt;
* Nyosigomboc - nyos [KUKAC] nyos [PONT] homelinux [PONT] net&lt;br /&gt;
* hunludvig - hunludvig [KUKAC] gmail [PONT] com&lt;br /&gt;
* Dániel Vásárhelyi (asd), asd [at] offtopic [dot] com&lt;br /&gt;
* asch, asch [KUKAC] freemail [PONT] hu&lt;br /&gt;
* btamas, [http://wiki.openmoko.org/wiki/Special:Emailuser/btamas Contact]&lt;br /&gt;
* ka87, andras [kukac] csevego [pont] net&lt;br /&gt;
* pcm, pcm [kukac] freemail [pont] hu&lt;br /&gt;
&lt;br /&gt;
== India ==&lt;br /&gt;
=== Delhi/NCR ===&lt;br /&gt;
Status 1/10&lt;br /&gt;
&lt;br /&gt;
* Goldwyn Rodrigues [http://wiki.openmoko.org/wiki/Special:Emailuser/goldwynr Contact]&lt;br /&gt;
&lt;br /&gt;
== Italy == &lt;br /&gt;
If we don't reach the 10 phones limit in each city, maybe we could place an order in the &amp;quot;most requested city&amp;quot;, and from shipping to other buyers. We'll have anyway a good discount although the &amp;quot;double-shipping&amp;quot;. ([http://thread.gmane.org/gmane.comp.handhelds.openmoko.community/10937/focus=10981 Read here for reference]).&lt;br /&gt;
&lt;br /&gt;
=== Toscana ===&lt;br /&gt;
==== Firenze (e dintorni) ====&lt;br /&gt;
Status 6/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Treviño|Marco Trevisan (Treviño)]] - [http://blog.3v1n0.net/contatti-trevino/ Contacts here]&lt;br /&gt;
* [[User:Niccolo|Niccolo Rigacci]] - ''niccolo [AT] rigacci.org''&lt;br /&gt;
* [[User:pcav|Paolo Cavallini]] - ''cavallini [AT] faunalia.it''&lt;br /&gt;
* [[User:BiggMatt|Mattia Gentile]] - ''biggmatt@hotmail.it''&lt;br /&gt;
* Elisa ''[mailto:lab@kkk.it lab@kkk.it]'' (Empoli)&lt;br /&gt;
* [[User:Sugacapra|Sugacapra]] - alessio.chemeri [AT] gmailPUNTOcom&lt;br /&gt;
&lt;br /&gt;
=== Lombardia ===&lt;br /&gt;
&lt;br /&gt;
==== Milano e dintorni ====&lt;br /&gt;
Status 14/10&lt;br /&gt;
&lt;br /&gt;
* Marco Crociani - [http://wiki.openmoko.org/wiki/Special:Emailuser/Tyrael Contacts here]&lt;br /&gt;
* Marcello Gorla&lt;br /&gt;
* Maxxer [mailto:maxxer@yetopen.it maxxer@yetopen.it] (Lecco)&lt;br /&gt;
* Pietro Montorfano [mailto:monto84@gmail.com monto84@gmail.com] (from como)&lt;br /&gt;
* Gianluigi Belli - [http://wiki.openmoko.org/wiki/Special:Emailuser/Pulciux Contacts here] (Milano)&lt;br /&gt;
* Michele Castellano - [http://wiki.openmoko.org/wiki/Special:Emailuser/mubumba Contacts here] (Milano)&lt;br /&gt;
* Maurizio Lipreri -  [http://wiki.openmoko.org/wiki/Special:Emailuser/Maldido Contacts here]( Como )&lt;br /&gt;
* Guido Conaldi - [http://wiki.openmoko.org/wiki/Special:Emailuser/skepz Contacts here] (Varese)&lt;br /&gt;
* [[User:Furester|Igor Scabini (furester)]] -[http://wiki.openmoko.org/wiki/Special:Emailuser/Furester Contacts here] (Milano)&lt;br /&gt;
* Dario Panico [http://wiki.openmoko.org/wiki/Special:Emailuser/Dareus Contacts here] (Busto Arsizio, VA)&lt;br /&gt;
* Marco Zanzotera (Milano città) - qualcuno sa indicarmi i metodi di pagamento per favore?&lt;br /&gt;
* Francesco Ricci (Milano, Dipartimento di Scienze dell'Informazione, via Comelico 39/41) - possibile punto di ricezione/distribuzione - [http://wiki.openmoko.org/wiki/Special:Emailuser/Alfa21 Contacts here]&lt;br /&gt;
* Danilo Sia (Birdack) [http://wiki.openmoko.org/wiki/Special:Emailuser/Birdack Contacts here] (Milano città)&lt;br /&gt;
* Federico Belvisi - [http://wiki.openmoko.org/wiki/Special:Emailuser/Armalite Contacts here] (Legnano, MI/Varese)&lt;br /&gt;
&lt;br /&gt;
=== Piemonte ===&lt;br /&gt;
==== Torino (and province) ====&lt;br /&gt;
Status 5/10&lt;br /&gt;
&lt;br /&gt;
* Claudio Carnino &amp;lt;br/&amp;gt; (jollyr0g3r AT gmail DOT com)&lt;br /&gt;
* Alessandro Degano &amp;lt;br/&amp;gt; (a.degano AT gmail DOT com)&lt;br /&gt;
* Enrico Pigozzi &amp;lt;br/&amp;gt; (videokill71 AT gmail DOT com)&lt;br /&gt;
* Max Ciavarella - [http://wiki.openmoko.org/wiki/Special:Emailuser/Cicchetebom Contacts here]&lt;br /&gt;
* Giuseppe Barbieri (elect86 at gmail dot com)&lt;br /&gt;
&lt;br /&gt;
=== Trentino-Alto Adige ===&lt;br /&gt;
==== Trento (Padova too :)) ====&lt;br /&gt;
Status 1/10&lt;br /&gt;
&lt;br /&gt;
* Andrea Debortoli &amp;lt;br/&amp;gt; (debortoland AT gmail DOT com)&lt;br /&gt;
&lt;br /&gt;
=== Friuli Venezia Giulia ===&lt;br /&gt;
==== Trieste ====&lt;br /&gt;
Status: 1/10&lt;br /&gt;
&lt;br /&gt;
* dorje [mailto:dorje@libero.it dorje@libero.it] - [[User:dorje|dorje]]&lt;br /&gt;
&lt;br /&gt;
=== Veneto ===&lt;br /&gt;
Status: 7/10&lt;br /&gt;
&lt;br /&gt;
==== Verona ====&lt;br /&gt;
&lt;br /&gt;
* Persegat [mailto:persegat@alice.it persegat@alice.it] - [[User:Pecce|Pecce]]&lt;br /&gt;
* Sylar91 [mailto:sylar1991@gmail.com sylar1991@gmail.com] - [[User:Sylar91|Sylar91]]&lt;br /&gt;
* Marco Franceschetti - [http://wiki.openmoko.org/wiki/Special:Emailuser/vonfritz Contacts here]&lt;br /&gt;
&lt;br /&gt;
==== Vicenza ====&lt;br /&gt;
&lt;br /&gt;
* Matteo [mailto:matteo@member.fsf.org matteo@member.fsf.org] - [[User:Tchernobog|Tchernobog]]&amp;lt;br /&amp;gt;Also Padova is okay.&lt;br /&gt;
&lt;br /&gt;
==== Venezia ====&lt;br /&gt;
&lt;br /&gt;
* Tommaso [mailto:tommaso.gardumi@gmail.com tommaso.gardumi@gmail.com] - [[User:Tobarello|Tobarello]] &amp;lt;br /&amp;gt;Also Padova, Vicenza &amp;amp; Trento are ok.&lt;br /&gt;
&lt;br /&gt;
==== Treviso ====&lt;br /&gt;
&lt;br /&gt;
* Dario [mailto:aliasbrain@gmail.com aliasbrain(at)gmail.com] - [[User:Rastafan|Rastafan]] &amp;lt;br /&amp;gt;one, maybe two.&lt;br /&gt;
&lt;br /&gt;
* Pedro [mailto:paguilar@junkerhq.net paguilar(at)junkerhq.net] - [[User:Paguilar|Paguilar]] &amp;lt;br/&amp;gt;Also Padova and Vicenza are ok.&lt;br /&gt;
&lt;br /&gt;
=== Emilia Romagna ===&lt;br /&gt;
==== Parma ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Delian|Marco Albanese]] [mailto:delian2@gmail.com delian2@gmail.com] For Me, it's ok for the decentralized shipment ( Milano for example :) ).&lt;br /&gt;
&lt;br /&gt;
* [[User:Jordano|Marco Grassi]] marco.gra AT Gmail Dot com Also for me it's ok the decentralized shipping.&lt;br /&gt;
&lt;br /&gt;
=== Puglia ===&lt;br /&gt;
==== Lecce ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Morpheus90|Morpheus90]] [mailto:ugopiemontese@rudiaelinux.com ugopiemontese@rudiaelinux.com]&lt;br /&gt;
* [[User:Italyanker|italyanker]] [mailto:italyanker@gmail.com italyanker@gmail.com]&lt;br /&gt;
&lt;br /&gt;
==== Bari ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Fradeve11|Fradeve11]] [mailto:fradeve@ubuntu-it.org fradeve@ubuntu-it.org]&lt;br /&gt;
&lt;br /&gt;
=== Campania ===&lt;br /&gt;
==== Caserta (and province) ====&lt;br /&gt;
Status 1/10&lt;br /&gt;
&lt;br /&gt;
* fenoxxx [mailto:fenoxxx@gmail.com] - Aversa&lt;br /&gt;
&lt;br /&gt;
=== Lazio ===&lt;br /&gt;
==== Roma ====&lt;br /&gt;
Status 7/10&lt;br /&gt;
&lt;br /&gt;
* Hire X 2 [mailto:hiretto@gmail.com hiretto@gmail.com] (Roma)&lt;br /&gt;
* Darkbasic X 1 [mailto:darkbasic4(at)gmail darkbasic4(at)gmail] (Ancona)&lt;br /&gt;
* zione X 1 [mailto:alessio.filipponio@gmail.com alessio.filipponio@gmail.com](Roma)&lt;br /&gt;
* AntoMan X 1 (Roma) Inserisci un contatto di posta elettronica o non potremo contattarti al momento dell'acquisto!&lt;br /&gt;
* Christian X 1(Gino46) [mailto:christian.marzola@alice.it] (ferrara) Qualcuno me lo dovrebbe spedire.&lt;br /&gt;
* Tempix X 1 [mailto:tempix11@gmail.com tempix11@gmail.com] (Ancona)&lt;br /&gt;
&lt;br /&gt;
=== Liguria ===&lt;br /&gt;
==== Genova ====&lt;br /&gt;
Status 6/10&lt;br /&gt;
&lt;br /&gt;
* Luca Maranzano X 1 (liuk AT linux DOT it) [[User:liuk|liuk]]&lt;br /&gt;
* Francesco Frassinelli X 2 (frafra AT autistici DOT org) [[User:Frafra|Frafra]]&lt;br /&gt;
* Stefano Cutelle' X 1 (staff@ascservices.it) [[User:ascservices|ascservices]]&lt;br /&gt;
* Luca Arrigo X 1 (morph84@gmail.com) [[User:morph|morph]]&lt;br /&gt;
* Andrea De Gaetano X 1 (dega1999 AT gmail DOT com) [[User:Dega1999|Dega1999]]&lt;br /&gt;
* Salvo Schiavone X 1 (salvoschiavone AT gmail DOT com [[User:Salvador|Salvador]]&lt;br /&gt;
&lt;br /&gt;
=== Sicilia ===&lt;br /&gt;
==== Palermo ====&lt;br /&gt;
Status 3/10&lt;br /&gt;
&lt;br /&gt;
* Giorgio Marciano' X 1 [mailto:giorgio.marciano@email.it giorgio.marciano@email.it]&lt;br /&gt;
* Michele Puccio X 1 [mailto:puccio@eng.it michele]&lt;br /&gt;
* Roberto Calandra X 1 [mailto:isokazi@yahoo.it roberto]&lt;br /&gt;
&lt;br /&gt;
==== Messina ====&lt;br /&gt;
Status 4/10&lt;br /&gt;
&lt;br /&gt;
* Melug X 4 [mailto:melug@messinalug.org MeLug]&lt;br /&gt;
&lt;br /&gt;
=== Calabria ===&lt;br /&gt;
==== Catanzaro ====&lt;br /&gt;
Status 1/10&lt;br /&gt;
&lt;br /&gt;
* Carlo Mangani X 1 [mailto:carlo.mangani@gmail.com carlo.mangani@gmail.com] - Lamezia Terme&lt;br /&gt;
&lt;br /&gt;
== Macedonia ==&lt;br /&gt;
=== Skopje ===&lt;br /&gt;
* Kristijan Krsteski 1/10 &amp;lt;br /&amp;gt; [[User:neutrino]] &amp;lt;br /&amp;gt; [mailto:kristijan.krsteski@gmail.com]&lt;br /&gt;
===Status ===&lt;br /&gt;
1/10&lt;br /&gt;
&lt;br /&gt;
== México ==&lt;br /&gt;
=== Ciudad de México ===&lt;br /&gt;
* Kozapatista [[Special:Emailuser/User:kozapatista|Contact]]&lt;br /&gt;
===Status ===&lt;br /&gt;
1/10&lt;br /&gt;
&lt;br /&gt;
== [http://wiki.openmoko.org/wiki/Talk:GroupSales#The_Netherlands The Netherlands] ==&lt;br /&gt;
(Discuss this group sale on the [http://wiki.openmoko.org/wiki/Talk:GroupSales#The_Netherlands talk page])&lt;br /&gt;
&lt;br /&gt;
* Marijn Kruisselbrink 1 [[Special:Emailuser/User:mkruisselbrink|Contact]]&lt;br /&gt;
* Andy Powell 1/10 [[Special:Emailuser/User:ScaredyCat|Contact]]&lt;br /&gt;
* Arjan Veenstra 1/10 [[User:AVee]] [[Special:Emailuser/User:AVee|Contact]]&lt;br /&gt;
&lt;br /&gt;
=== Gelderland ===&lt;br /&gt;
&lt;br /&gt;
==== Nijmegen ====&lt;br /&gt;
* [[User:A.dre|André Disselhorst]] (Nijmegen 1x) [[Special:Emailuser/User:A.dre|Contact]]&lt;br /&gt;
&lt;br /&gt;
=== Limburg ===&lt;br /&gt;
&lt;br /&gt;
==== Griendtsveen ====&lt;br /&gt;
* [[User:KenSentMe|Jeroen van de Nieuwenhof]] (Griendtsveen 1x) [[Special:Emailuser/User:KenSentMe|Contact]]&lt;br /&gt;
&lt;br /&gt;
=== Noord-Brabant ===&lt;br /&gt;
&lt;br /&gt;
==== Bergen op Zoom ====&lt;br /&gt;
* [[User:Madjo|Marcel de Jong]] 1/10 [[Special:Emailuser/User:Madjo|Contact]]&lt;br /&gt;
&lt;br /&gt;
==== Eindhoven ====&lt;br /&gt;
* Christ van Willegen 1 [[User:ChristW]]&lt;br /&gt;
&lt;br /&gt;
=== Noord Holland ===&lt;br /&gt;
&lt;br /&gt;
==== Amsterdam ====&lt;br /&gt;
* Michel van Horssen 1/10 [[Special:Emailuser/User:mivaho|Contact]]&lt;br /&gt;
* Frank Richter 1 [[Special:Emailuser/User:res|Contact]]&lt;br /&gt;
* Eric Smith 1/10 [[User:Eric Smith]]&lt;br /&gt;
&lt;br /&gt;
==== Bussum ====&lt;br /&gt;
* Remco van Zuijlen 1x [[Special:Emailuser/User:Remco|Contact]]&lt;br /&gt;
&lt;br /&gt;
=== Overijssel ===&lt;br /&gt;
&lt;br /&gt;
==== Deventer ====&lt;br /&gt;
* Jan de Haan 1/10 [[User:Jan de Haan]] [[Special:Emailuser/User:Jan de Haan|Contact]]&lt;br /&gt;
&lt;br /&gt;
==== Hengelo ====&lt;br /&gt;
* Sander Hoentjen 1/10 [[Special:Emailuser/User:Tjikkun|Contact]]&lt;br /&gt;
* Peter Hageman 1 [[Special:Emailuser/User:PingPong|Contact]]&lt;br /&gt;
&lt;br /&gt;
==== Zwolle ====&lt;br /&gt;
* Boudewijn 1/10 [[User:Boudewijn|empty user page]] [[Special:Emailuser/User:Boudewijn|Contact]]; possibly got a second person interested&lt;br /&gt;
&lt;br /&gt;
=== Den Haag ===&lt;br /&gt;
&lt;br /&gt;
==== Rijswijk ====&lt;br /&gt;
* Fernando Martins 1x [[User:fmartins]]  [[Special:Emailuser/User:fmartins|Contact]]&lt;br /&gt;
&lt;br /&gt;
=== Utrecht ===&lt;br /&gt;
&lt;br /&gt;
==== Utrecht ====&lt;br /&gt;
* Eric Spierings 1/10 [[Special:Emailuser/User:ericsp|Contact]]&lt;br /&gt;
* Peter van de Werken 2/10 [[Special:Emailuser/User:PWerken|Contact]]&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
19/20&lt;br /&gt;
&lt;br /&gt;
== New Zealand ==&lt;br /&gt;
As Telecom are using the 850MHz network for their GSM network, and Vodafone/northelia (possibly aka orcon) are using 900/1800MHz, please state which version you want. This may need more research, I'm not 100%; see [http://www.gsmworld.com/roaming/gsminfo/cou_nz.shtml] for more info&amp;lt;br&amp;gt;&lt;br /&gt;
According to jeremy list, telecom will not be rolling out GSM for four years, so the point becomes moot - no-one is likely to get an 850 gsm phone now and wait that long&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on info from steve (openmoko marketing) concerning weight and size, shipping via UPS will be about US$185 (NZ$23 each phone) to Auckland.&amp;lt;br&amp;gt;&lt;br /&gt;
UPS are far from the cheapest, but (again according to steve), OM have a contract with them, so this is what we are stuck with&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Someone on the community list suggested using [http://www.myus.com], a shipping company that will re-post items overseas at decent rates. They claim US$66 for a 3kg package, or NZ$8 per phone. Of course, the cost of shipping the phone from OM to the shipping company has to be added in as well.&lt;br /&gt;
&lt;br /&gt;
As of 2008-04-28, US$399 is worth NZ$508&lt;br /&gt;
&lt;br /&gt;
import duty on mobile phones is 0%[http://www.customs.govt.nz/importers/Private+Importers/Customs+Charges.htm], and GST is 12.5% so the GST added to each phone will be NZ$66; 12.5% * {508 + 23), cos we pay GST on postage too...&lt;br /&gt;
&lt;br /&gt;
So, the total cost of a Freerunner as part of a 10 pack, will be:&amp;lt;br&amp;gt;&lt;br /&gt;
508 + 23 + 66&amp;lt;br&amp;gt;&lt;br /&gt;
= 597&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
+ any possible charges to get it posted elsewhere in New Zealand&lt;br /&gt;
&lt;br /&gt;
=== Auckland ===&lt;br /&gt;
==== Auckland ====&lt;br /&gt;
Status:7/10&lt;br /&gt;
*Rob Paulson [[User:Myfanwy]] 900MHz&lt;br /&gt;
**i'm quite happy to organise the purchase, if no-one has any objections. to ease any worries about me running off with the money, we could use an escrow service such as [http://safetrader.co.nz], or paypal. or does anyone have any other ideas?&lt;br /&gt;
*Simon Wells [[User:Swel024]]&lt;br /&gt;
*Jeremy List [[User:Jeremy-list]] mailto:quick.dudley@gmail.com (Wellington, not Auckland, will pay for courier)&lt;br /&gt;
*David Murrell [[User:Viddy]] - [mailto:dmurrell@waikato.ac.nz] I'm in Hamilton, either courier, or I'll drive up :)&lt;br /&gt;
*Jeremy Gray [[User:Bogdan237]] [mailto:jgra163@ec.auckland.ac.nz] Auckland, 900MHz&lt;br /&gt;
*Glen Ogilvie [[User:Nelg]] {mailto:nelg@linuxsolutions.co.nz] Auckland, 900MHz&lt;br /&gt;
*Xuân Baldauf [[User:xbaldauf]] {mailto:xuan--2008.05--GroupSales--wiki.openmoko.org@baldauf.org] Auckland CBD, 900MHz+1800MHz GSM. This is &amp;lt;u&amp;gt;conditional&amp;lt;/u&amp;gt;: the transaction must complete by 2008-06-30, else I cannot participate, because I'm leaving the country afterwards.&lt;br /&gt;
&lt;br /&gt;
== Norway ==&lt;br /&gt;
=== Nordland ===&lt;br /&gt;
==== Bodø ====&lt;br /&gt;
Status 2/10&lt;br /&gt;
&lt;br /&gt;
* [[User:AlecTBM|Alexander Frøyseth]] [mailto:alexander.froyseth@gmail.com alexander.froyseth@gmail.com]&lt;br /&gt;
* Ole Marius&lt;br /&gt;
* Stian Vading&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sør-Trøndelag ===&lt;br /&gt;
==== Trondheim ====&lt;br /&gt;
Status 12/20&lt;br /&gt;
&lt;br /&gt;
*[[User:andy000|Andreas Kalvå]] [mailto:andy@samfundet.no andy@samfundet.no]&lt;br /&gt;
Send mail om du er interessert.&lt;br /&gt;
&lt;br /&gt;
=== Østlandet ===&lt;br /&gt;
==== Oslo, Akershus, Buskerud, Vestfold ====&lt;br /&gt;
Status 20/20(30?)&lt;br /&gt;
&lt;br /&gt;
* [[User:Ixian|Heikki Sørum]] [mailto:heikkis@matnat.uio.no] &amp;lt;br/&amp;gt; Interessert? mail meg.&lt;br /&gt;
* [[User:Bobkare|Knut Arne Bjørndal]] [mailto:bob@cakebox.net]&lt;br /&gt;
&lt;br /&gt;
== Poland ==&lt;br /&gt;
=== dolnośląskie ===&lt;br /&gt;
==== Wrocław ====&lt;br /&gt;
&lt;br /&gt;
* Special group buy site: https://www.kumulator.pl/show/group/35&lt;br /&gt;
&lt;br /&gt;
=== Podlaskie ===&lt;br /&gt;
==== Suwalki ====&lt;br /&gt;
Status 1/10&lt;br /&gt;
* arteqw [http://wiki.openmoko.org/wiki/Special:Emailuser/Arteqw contact with me]&lt;br /&gt;
&lt;br /&gt;
== Portugal ==&lt;br /&gt;
=== Aveiro ===&lt;br /&gt;
==== Aveiro ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Ruben|Ruben Mendes]]&lt;br /&gt;
* [[User:kuyky|Tiago Saraiva]] &amp;lt;br /&amp;gt; [mailto:destructhor88@gmail.pt]&lt;br /&gt;
&lt;br /&gt;
== Sweden ==&lt;br /&gt;
If insufficient number of people, orders could be merged and remailed perhaps.&lt;br /&gt;
&lt;br /&gt;
Domestic remailing with Posten as A-class mail of a letter (criteria: length+width+height max 900 mm) weighing max 1 kg, without insurance should [http://www.posten.se/foretag/vara_tjanster/postageguide/postguideLetterDom.jspv cost 44 SEK]. 50 SEK more for insurance.&lt;br /&gt;
&lt;br /&gt;
If we end up with more than one 10-pack in Sweden, my guess is that it would probably pay to order everything in one shipment to one address in Sweden to save on the international shipping, and then remail domestically.&lt;br /&gt;
&lt;br /&gt;
=== Götaland ===&lt;br /&gt;
==== Göteborg ====&lt;br /&gt;
&lt;br /&gt;
* [[User:Fwendt|Fredrik Wendt]] [[Special:Emailuser/Fwendt|Contact]]/wendt.se&lt;br /&gt;
&lt;br /&gt;
==== Malmö ====&lt;br /&gt;
Status : 1/10&lt;br /&gt;
&lt;br /&gt;
* Lars Jarlvik &amp;lt;br /&amp;gt; mailto:lars@larsfactory.se&lt;br /&gt;
&lt;br /&gt;
=== Svealand ===&lt;br /&gt;
==== Stockholm ====&lt;br /&gt;
Status : 5/10&lt;br /&gt;
&lt;br /&gt;
* Erland Lewin &amp;lt;br /&amp;gt; mailto:erland@lewin.nu&lt;br /&gt;
* Simon Kågström &amp;lt;br /&amp;gt; mailto:simon.kagstrom@gmail.com&lt;br /&gt;
* Ingvaldur Sigurjonsson &amp;lt;br /&amp;gt; mailto:ingi@ultimalabor.se&lt;br /&gt;
* Adam Johansson &amp;lt;br /&amp;gt; mailto:adam@sollentunaholm.se&lt;br /&gt;
* Lowe Schmidt &amp;lt;br /&amp;gt; mailto:lowe.schmidt@gmail.com&lt;br /&gt;
&lt;br /&gt;
==== Örebro ====&lt;br /&gt;
Status : 1/10&lt;br /&gt;
&lt;br /&gt;
* Anders Petersson &amp;lt;br /&amp;gt; [mailto:demitar@worldforge.org demitar@worldforge.org]&lt;br /&gt;
&lt;br /&gt;
==== Västerås ====&lt;br /&gt;
Status : 1/10&lt;br /&gt;
* Jörgen Lidholm, could join the Falun/Borlänge or Stockholm group &amp;lt;br /&amp;gt; [mailto:jorgen.lidholm@gmail.com]&lt;br /&gt;
&lt;br /&gt;
==== Falun &amp;amp; Borlänge ====&lt;br /&gt;
Status : 4/10&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.openstreetmap.org/index.php/User:Jth Johan Thelmén], Åke Hoff &amp;amp; a demo/backup&lt;br /&gt;
* [http://wiki.openstreetmap.org/index.php/User:eagle87 Pär Eriksson], Borlänge&lt;br /&gt;
&lt;br /&gt;
=== Norrland ===&lt;br /&gt;
==== Umeå ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Zash|Zash]] [[Special:Emailuser/Zash|Contact]]&lt;br /&gt;
* [[User:Benjamin|Benjamin]] [[Special:Emailuser/Benjamin|Contact]]&lt;br /&gt;
&lt;br /&gt;
==== Luleå ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* [[User:Mjukis|Mjukis]] [[Special:Emailuser/Mjukis|Contact]] - 2 Units. Can also join the Malmö group order.&lt;br /&gt;
&lt;br /&gt;
== Switzerland ==&lt;br /&gt;
Gabriel Ambuehl would volunteer to order the initial 10pack.&lt;br /&gt;
Alexandre Ghisoli could organize the second 10pack.&lt;br /&gt;
Both with payment in advance (a 10pack will cost approx 3'800 USD).&lt;br /&gt;
&lt;br /&gt;
Probably we will organize shipping, if we cannot all move to Zürich to get our Neo.&lt;br /&gt;
&lt;br /&gt;
==== Shipping ====&lt;br /&gt;
If we would ship Neos, here is the Swiss PostPac prices :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Description&lt;br /&gt;
! Size [cm]&lt;br /&gt;
! Price CHF TTC&lt;br /&gt;
|-&lt;br /&gt;
| Size 1&lt;br /&gt;
| 22.9 x 14.7 x 9.9&lt;br /&gt;
| 2.20&lt;br /&gt;
|-&lt;br /&gt;
| Size 2&lt;br /&gt;
| 31.5 x 22.5 x 12.5&lt;br /&gt;
| 2.40&lt;br /&gt;
|-&lt;br /&gt;
| Shipping Priority&lt;br /&gt;
| up to 2Kg&lt;br /&gt;
| 8.-&lt;br /&gt;
|-&lt;br /&gt;
| Shipping Economy&lt;br /&gt;
| up to 2Kg&lt;br /&gt;
| 6.-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Steve posted informations about boxes that will be out with Neo :&lt;br /&gt;
&lt;br /&gt;
* 10 pack : 435mm x 371mm x 119mm, approx 3kg, UPS will charge 160USD (need to be verified)&lt;br /&gt;
* Individual pack : 178mm  x 104mm x 84mm, 237 grams&lt;br /&gt;
&lt;br /&gt;
So size 1 will fit ! Local delivery in Switzerland will cost 8.20 for Economy or 10.20 Priority.&lt;br /&gt;
&lt;br /&gt;
==== Zurich ====&lt;br /&gt;
Status : 23/20&lt;br /&gt;
&lt;br /&gt;
It seems that while there are 22 people listed here, actually the device number is 23, because Tobias Kündig is interested in 2 of them.  This means that the total number of devices for Swiss people is 26 (23 for Zürich plus 3 for Genève). -- LucaCapello -- updated by FreeMind&lt;br /&gt;
&lt;br /&gt;
* Simon Wenner &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Nowic Contact]&lt;br /&gt;
* Simon Schreiber &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Magbeat Contact]&lt;br /&gt;
* Markus Huggler &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Magbeat Contact]&lt;br /&gt;
* Andre Timmermann &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/darktim Contact]&lt;br /&gt;
* Raffael Schmid &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/darktim Contact]&lt;br /&gt;
* Pascal Weller &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/darktim Contact]&lt;br /&gt;
* Nick Zbinden (Luzern)&amp;lt;br /&amp;gt; [mailto:nickik@gmx.ch] oder [http://wiki.openmoko.org/wiki/Special:Emailuser/nickik Contact]&lt;br /&gt;
* Marcel Wirth &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Skarhand Contact]&lt;br /&gt;
* Marcel Lütolf (Luzern)&amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/NeRo Contact]&lt;br /&gt;
* Christian Corrodi &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Matto Contact]&lt;br /&gt;
* Mirko Klingauf &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/RealAtaman Contact]&lt;br /&gt;
* Marcel Jost &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Onsonic Contact]&lt;br /&gt;
* Alexandre Ghisoli (Yverdon)&amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Agh Contact]&lt;br /&gt;
* Marc Andre Tanner (Biel)&amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/mat Contact]&lt;br /&gt;
* Tobias Kündig (2 Geräte) (Luzern)&amp;lt;br /&amp;gt; [mailto:info@it-media.ch]&lt;br /&gt;
* Peter Salvisberg&amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Psal Contact]&lt;br /&gt;
* Robin Farine (Auvernier)&amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/rfarine Contact]&lt;br /&gt;
* Martin Kos &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/KoS Contact]&lt;br /&gt;
* Lorenz Schori (Bern) &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Znerol Contact]&lt;br /&gt;
* Jonas Schwarz (Lausanne) &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/jnsc Contact]&lt;br /&gt;
* Matthias Cramer (Zürich) &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/cramer Contact]&lt;br /&gt;
* Pascal Mages (Bern/Zürich) &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/FreeMind Contact]&lt;br /&gt;
&lt;br /&gt;
==== Geneve ====&lt;br /&gt;
Status : 4/10&lt;br /&gt;
&lt;br /&gt;
* Diego Abelenda&amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Aelia Contact]&lt;br /&gt;
* Luca Capello&amp;lt;br /&amp;gt; [mailto:luca@pca.it]&lt;br /&gt;
* Nicolas Produit&amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Produit Contact]&lt;br /&gt;
&lt;br /&gt;
== Spain ==&lt;br /&gt;
=== Spain (Country Group Sale) ===&lt;br /&gt;
Status: 5/10&lt;br /&gt;
=== Madrid ===&lt;br /&gt;
==== Madrid ====&lt;br /&gt;
Status : 1/10&lt;br /&gt;
&lt;br /&gt;
* Rafael Campos &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Methril Contact]&lt;br /&gt;
&lt;br /&gt;
=== Zaragoza ===&lt;br /&gt;
==== Zaragoza ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* Alejandro R. Mosteo &amp;lt;br /&amp;gt; alejandro AT mosteo · com&lt;br /&gt;
* Arturo Giner&amp;lt;br/&amp;gt;[[Special:Emailuser/artginer|Contact]]&lt;br /&gt;
&lt;br /&gt;
=== Barcelona ===&lt;br /&gt;
==== Barcelona ====&lt;br /&gt;
Status : 3/10&lt;br /&gt;
&lt;br /&gt;
* José Luis Pérez &amp;lt;br/&amp;gt;[[Special:Emailuser/jluis|Contact]]&lt;br /&gt;
* David Reyes Samblas Martinez&amp;lt;br/&amp;gt;[[Special:Emailuser/mutrox|Contact]]&lt;br /&gt;
* Sergio Arias &amp;lt;br/&amp;gt;[[Special:Emailuser/saerguio|Contact]]&lt;br /&gt;
&lt;br /&gt;
== UAE ==&lt;br /&gt;
Status: 1/10&lt;br /&gt;
* Yaser Ammar &amp;lt;br /&amp;gt; [[Special:Emailuser/Waraqa|Contact]]&lt;br /&gt;
&lt;br /&gt;
== USA ==&lt;br /&gt;
=== Colorado ===&lt;br /&gt;
==== Denver (Full) ====&lt;br /&gt;
Status: 10/10 (includes the gentleman from Utah)&lt;br /&gt;
* Shawn Sullivan &amp;lt;br /&amp;gt; [[mailto:shelbydz87@yahoo.com shelbydz87@yahoo.com]]&lt;br /&gt;
* Peter Abplanalp &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/alderion Contact]&lt;br /&gt;
* Ben Burdette &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Ansible Contact]&lt;br /&gt;
* Tom Russell &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/tazbert Contact]&lt;br /&gt;
* Trace &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/gnork Contact]&lt;br /&gt;
&lt;br /&gt;
=== California ===&lt;br /&gt;
==== Los Angeles ====&lt;br /&gt;
Status: 4/10&lt;br /&gt;
&lt;br /&gt;
* Ian Douglas &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Iandouglas Contact me here]&lt;br /&gt;
* Matthew &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Wetmoko Contact]&lt;br /&gt;
* Daniel &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Beaker82 Contact]&lt;br /&gt;
* James Robertson &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/JamesRobertson Contact]&lt;br /&gt;
&lt;br /&gt;
==== San Diego (inc. San Diego county and surrounding areas) ====&lt;br /&gt;
Status: 1/10&lt;br /&gt;
&lt;br /&gt;
Will combine with LA if too few.&lt;br /&gt;
&lt;br /&gt;
* Peter Naulls &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Pnaulls Contact]&lt;br /&gt;
&lt;br /&gt;
==== San Francisco Bay Area ====&lt;br /&gt;
Status: 4/10&lt;br /&gt;
&lt;br /&gt;
* Ajit Natarajan - [http://wiki.openmoko.org/wiki/Special:Emailuser/ajitk Contact]&lt;br /&gt;
&lt;br /&gt;
* Dirk Bergstrom - [http://wiki.openmoko.org/wiki/Special:Emailuser/krid Contact]&lt;br /&gt;
&lt;br /&gt;
* Tupshin Harper - [http://wiki.openmoko.org/wiki/Special:Emailuser/tupshin Contact]&lt;br /&gt;
&lt;br /&gt;
* Lothar Werzinger (900MHz) - [http://wiki.openmoko.org/wiki/Special:Emailuser/Elektrolott Contact]&lt;br /&gt;
&lt;br /&gt;
==== Monterey ====&lt;br /&gt;
Status: 2/10&lt;br /&gt;
&lt;br /&gt;
* Cry Regarder &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Cry_Regarder Contact]&lt;br /&gt;
&lt;br /&gt;
=== Midwest (combine Indiana / Iowa / Kentucky / Tennesee / Texas) ===&lt;br /&gt;
Status: 5/10&lt;br /&gt;
* Geoff Ruscoe    [[Special:Emailuser/Geocode|Contact]] - Louisville, KY&lt;br /&gt;
* Steven M  [[Special:Emailuser/Montgoss|Contact]] - &lt;br /&gt;
* Joseph Booker [[Special:Emailuser/Sargas|Contact]] - Chicago&lt;br /&gt;
* Bryan DeLuca [[Special:Emailuser/Stupkid|Contact]] - Fort Worth, TX&lt;br /&gt;
* Casey Harkins [[Special:Emailuser/Charkins|Contact]] - Madison, WI&lt;br /&gt;
&lt;br /&gt;
=== Indiana / Kentucky ===&lt;br /&gt;
Status: 4/10&lt;br /&gt;
* Dan Staley      [[Special:Emailuser/Pyrasi|Contact]] (Kentucky)&lt;br /&gt;
* Donnie Jones    [[Special:Emailuser/Donniejones18|Contact]] (Lexington, KY)&lt;br /&gt;
* John Sterling   [[Special:Emailuser/Sterling|Contact]] (Lexington, KY)&lt;br /&gt;
&lt;br /&gt;
=== Ohio / Michigan ===&lt;br /&gt;
Status: 2/10&lt;br /&gt;
* David Pais  [mailto:davioh2001@yahoo.com email]&lt;br /&gt;
* Dave Ludlow [[Special:Emailuser/adsllc|Contact]]&lt;br /&gt;
* Adam Steele [mailto:adam@laurasteele.net Contact]&lt;br /&gt;
&lt;br /&gt;
=== Washington ===&lt;br /&gt;
==== Seattle ====&lt;br /&gt;
Status: 1/10&lt;br /&gt;
* Jon Pomeroy [[Special:Emailuser/Jepomeroy|Contact]]&lt;br /&gt;
&lt;br /&gt;
=== Tennessee ===&lt;br /&gt;
==== Memphis ====&lt;br /&gt;
Status: 1/10&lt;br /&gt;
* Peter O'Connor &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/poconnor Contact]&lt;br /&gt;
&lt;br /&gt;
=== Texas ===&lt;br /&gt;
==== Austin (7/10) ====&lt;br /&gt;
* Dale Schumacher [[Special:Emailuser/dalnefre|Contact]]&lt;br /&gt;
* Michael Cosby [[Special:Emailuser/mcosby|Contact]]&lt;br /&gt;
* Paul Jimenez [[Special:Emailuser/pj|Contact]]&lt;br /&gt;
* Charles [[Special:Emailuser/rbn|Contact]]&lt;br /&gt;
* Anthony Kitchin [[Special:Emailuser/akitchin|Contact]]&lt;br /&gt;
* Carl [[Special:Emailuser/texatopia|Contact]]&lt;br /&gt;
* Robert [[Special:Emailuser/SHaRK|Contact]] (Houston)&lt;br /&gt;
&lt;br /&gt;
==== Dallas/Fort Worth (2/10) ====&lt;br /&gt;
* Philip White [[Special:Emailuser/pmw|Contact]] Dallas&lt;br /&gt;
* Bryan DeLuca [[Special: Emailuser/Stupkid|Contact]] Fort Worth&lt;br /&gt;
&lt;br /&gt;
=== Mid-Atlantic ===&lt;br /&gt;
==== Virginia====&lt;br /&gt;
===== Virginia Tech (1/10) =====&lt;br /&gt;
* Lally Singh [[Special:Emailuser/lally|email]] -- yeah, if you're ordering anywhere in VA, lemme know.&amp;lt;br /&amp;gt;&lt;br /&gt;
===== Richmond (2/10)=====&lt;br /&gt;
* Philippe Gerard [[Special:Emailuser/feydreva|Contact]]&amp;lt;br/&amp;gt;&lt;br /&gt;
*Steve Watson mailto:ssw0213@gmail.com&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== New York ====&lt;br /&gt;
Status: 2/10 or 3/10&lt;br /&gt;
&lt;br /&gt;
* Bert Hartmann &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/BertHartm Contact me here]&lt;br /&gt;
* Michael Cole mailto:mjcole137@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
* Jake Thebault-Spieker (probably, may not be able to afford it) [http://wiki.openmoko.org/Spcial:Emailuser/Summatusmentis Contact me here]&lt;br /&gt;
&lt;br /&gt;
==== Maryland (2/10)====&lt;br /&gt;
* Paul Buede mailto:paul@buede.com &amp;lt;br /&amp;gt;&lt;br /&gt;
* Charles Lohr&lt;br /&gt;
* Alex (DC/Rosslyn; not 100% sure that will be able to afford it) [[Special:Emailuser/rakukin|Contact]]&lt;br /&gt;
&lt;br /&gt;
=== Massachusetts ===&lt;br /&gt;
Status: 2/10&lt;br /&gt;
* Benjamin Moody [[Special:Emailuser/FloppusMaximus|Contact]]&lt;br /&gt;
&lt;br /&gt;
* Ken Young (Note, if we're not up to 10/10 on the day&lt;br /&gt;
the Freerunner is announced, I'm going to drop out and&lt;br /&gt;
order individually).[[Special:Emailuser/Dolson|Contact]]&lt;br /&gt;
&lt;br /&gt;
== UK ==&lt;br /&gt;
&lt;br /&gt;
* Stroller (Milton Keynes, can travel) &amp;lt;br /&amp;gt;mailto:stroller@stellar.eclipse.co.uk 01908 663 513. &amp;lt;br /&amp;gt;Thinks that breaking the UK up into regions - at least outside London - is silly. There are unlikely to be 10 people in $your_town who want a Freerunner, so some posting of Freerunners will surely be required; see [http://wiki.openmoko.org/wiki/Talk:GroupSales#Oxford the talk page]. This is the same cost anywhere in the UK.&lt;br /&gt;
&lt;br /&gt;
=== Scotland ===&lt;br /&gt;
==== Edinburgh ====&lt;br /&gt;
Status : 3/10&lt;br /&gt;
&lt;br /&gt;
* Joe Wells (Edinburgh) [http://wiki.openmoko.org/wiki/Special:Emailuser/jbw Contact]&lt;br /&gt;
* Dave Ball (Edinburgh) [http://wiki.openmoko.org/wiki/Special:Emailuser/Daveb Contact]&lt;br /&gt;
* Stuart MacKinnon(Livingston) &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/hoagster Contact]&lt;br /&gt;
&lt;br /&gt;
=== England ===&lt;br /&gt;
&lt;br /&gt;
==== Hampshire ====&lt;br /&gt;
&lt;br /&gt;
http://www.hants.lug.org.uk/cgi-bin/wiki.pl?FreerunnerBulkBuy&lt;br /&gt;
&lt;br /&gt;
(Sorry, we set up the page before we knew about this one)&lt;br /&gt;
&lt;br /&gt;
==== London ====&lt;br /&gt;
&lt;br /&gt;
Status : 7/10&lt;br /&gt;
&lt;br /&gt;
* Juergen Schinker &amp;lt;br /&amp;gt; mailto:ba1020@homie.homelinux.net&lt;br /&gt;
* aled &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/aled Contact]&lt;br /&gt;
* Robert Piasek (actually in Southampton)&amp;lt;br /&amp;gt;  [http://wiki.openmoko.org/wiki/Special:Emailuser/Queen6 Contact]&lt;br /&gt;
* Tom Scholl (Cambridge, travel to London now and then anyway so could pick up) &amp;lt;br /&amp;gt; [mailto:thomasscholl@gmail.com]&lt;br /&gt;
* Weiss (Cambridge, could collect from London) &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Weiss Contact]&lt;br /&gt;
* Neil Bentley (in Wiltshire) [http://wiki.openmoko.org/wiki/Special:Emailuser/Ohnez Contact]&lt;br /&gt;
* rhn (one or two sets) &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/rhn Contact]&lt;br /&gt;
&lt;br /&gt;
==== Oxford ====&lt;br /&gt;
&lt;br /&gt;
Idea to re-ship within the UK, see [http://wiki.openmoko.org/wiki/Talk:GroupSales#Oxford talk]&lt;br /&gt;
&lt;br /&gt;
Status : 3/10&lt;br /&gt;
&lt;br /&gt;
* Tim Coggins&amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/sonicated Contact]&lt;br /&gt;
&lt;br /&gt;
* James Olney &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/Webjames Contact]&lt;br /&gt;
* David Pottage (actually in Reading)&amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/chrestomanci Contact]&lt;br /&gt;
&lt;br /&gt;
==== West Midlands ====&lt;br /&gt;
Status : 2/10&lt;br /&gt;
&lt;br /&gt;
* Mo Abrahams (Walsall) &amp;lt;br /&amp;gt; mailto:moabrahams@dashavoo.com&lt;br /&gt;
* Bin Zong (actually in Birmingham)&amp;lt;br /&amp;gt;  [mailto:hunter_00zb@hotmail.com]&lt;br /&gt;
&lt;br /&gt;
== Latvia ==&lt;br /&gt;
=== Riga ===&lt;br /&gt;
==== Riga ====&lt;br /&gt;
Status : 1/10&lt;br /&gt;
* Ilya &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/VRGhost Contact]&lt;br /&gt;
&lt;br /&gt;
== Singapore ==&lt;br /&gt;
Status : 2/10&lt;br /&gt;
* Wee Kiam Peng [http://wiki.openmoko.org/wiki/Special:Emailuser/Jipi Contact]&lt;br /&gt;
* Chen Ruo Fei [http://wiki.openmoko.org/wiki/Special:Emailuser/Crf Contact]&lt;br /&gt;
&lt;br /&gt;
== Israel==&lt;br /&gt;
Status : 2/10&lt;br /&gt;
* Ofer Herman &amp;lt;br /&amp;gt; [http://wiki.openmoko.org/wiki/Special:Emailuser/oferhe Contact]&lt;br /&gt;
* [http://wiki.openmoko.org/wiki/Special:Emailuser/Talba Talba]&lt;br /&gt;
&lt;br /&gt;
== Czech Republic ==&lt;br /&gt;
=== Brno ===&lt;br /&gt;
Status : 11/10&lt;br /&gt;
* Martin Šenkeřík - [[Special:Emailuser/ohin|Contact]]&lt;br /&gt;
Jakmile budu mít nějaké konkrétnější informace budu vás kontaktovat. Mám ale problém s financováním všech 10 telefonů při objednávání. Buď budu potřebovat, aby mně aspoň půlka z vás poslala peníze předem, nebo kdyby se našel někdo, kdo mně může se zafinancováním pomoct (zaplatil by půlku telefonů a ty be se potom rozeslaly na dobírku nebo předaly osobně) tak se můžeme sejít osobně. Vyskytuji se v Brně a ve Zlíně.&lt;br /&gt;
* Radek Bartoň - [[Special:Emailuser/Blackhex|Contact]]&lt;br /&gt;
* Martin Holec - [[Special:Emailuser/Martix|Contact]] (Buď přeposlat směrem Zlín nebo osobní odběr někde v Brně.)&lt;br /&gt;
* Jozef Mlich - [[Special:Emailuser/joejoe|Contact]]&lt;br /&gt;
* Radek Machulka - [[Special:Emailuser/Werty|Contact]] (ja teda taky nejsem z Brna, ale klidne si pro to prijedu...)&lt;br /&gt;
* Tom Varga - [[Special:Emailuser/Varg|Contact]]&lt;br /&gt;
* Ales Dvorak - [[Special:Emailuser/Setr|Contact]] '''contact ti nefunguje'''&lt;br /&gt;
* Pavel Kovar -  [[Special:Emailuser/Fox|Contact]](Pokud mi to nekdo z Brna preposlete/předáte na Vsetin případně do konce června Ostrava)Peníze pošlu předem.&lt;br /&gt;
* David Kozub - [[Special:Emailuser/Zub|Contact]] (Zlin, idealni by byla Praha, ale evidentne jsem sam, prinejhorsim i to Brno)&lt;br /&gt;
* Miloslav Machotka - [[Special:Emailuser/Machy|Contact]] (Peníze pošlu klidně předem.)&lt;br /&gt;
* Michal Pěnka - [http://michal.penka.name/kontakt Contact] (Preferuji dobírku, ale klidně pro to zajedu do Brna)&lt;br /&gt;
&lt;br /&gt;
== Slovak Republic ==&lt;br /&gt;
=== Bratislava ===&lt;br /&gt;
Status : 1/10&lt;br /&gt;
* František Horínek - [[Special:Emailuser/PipBoy2000|Contact]]&lt;br /&gt;
&lt;br /&gt;
== Croatia ==&lt;br /&gt;
Status : 4/10&lt;br /&gt;
* w00t - [[Special:Emailuser/W00t|Contact]]&lt;br /&gt;
* matija - [[Special:Emailuser/Matija.z|Contact]]&lt;br /&gt;
* valajbeg - [[Special:Emailuser/valajbeg|Contact]]&lt;br /&gt;
* kost - [[Special:Emailuser/kost|Contact]]&lt;br /&gt;
(maybe we should make one group for bosnia, croatia &amp;amp; serbia together?)&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Virginia</id>
		<title>Openmoko Local Groups: Virginia</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Virginia"/>
				<updated>2008-05-05T09:31:23Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Virginia OpenMoko page!&lt;br /&gt;
&lt;br /&gt;
This group is for anyone in Virginia.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
!Name&lt;br /&gt;
!Skills&lt;br /&gt;
!Level of Interest&lt;br /&gt;
!Location&lt;br /&gt;
!Other&lt;br /&gt;
|-&lt;br /&gt;
|Josh&lt;br /&gt;
|C++, Java&lt;br /&gt;
|Cancelled shipment of SH1.  &lt;br /&gt;
We'll see if they've got their ordering process fixed by October.&lt;br /&gt;
|Tidewater&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Joshua&lt;br /&gt;
|C++, LAMP, PKI&lt;br /&gt;
|Debating SH1&lt;br /&gt;
|Norfolk&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Paul Bohme&lt;br /&gt;
|C/C++, Linux, all-around-geek&lt;br /&gt;
|Have SH1&lt;br /&gt;
|Fairfax&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Lally Singh&lt;br /&gt;
|C/C++, compiler development, operating systems, VR&lt;br /&gt;
|Will get one asap&lt;br /&gt;
|Virginia Tech (Springfield Native)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Community]]&lt;br /&gt;
[[Category: OpenMoko Local Groups| ]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/OpenmokoFramework</id>
		<title>OpenmokoFramework</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/OpenmokoFramework"/>
				<updated>2008-04-28T20:23:50Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: fixed spelling.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note: This is the (ongoing) description of the new framework architecture. See [[OpenmokoOldFramework]] for the framework architecture of 2007.1 and 2007.2''&lt;br /&gt;
&lt;br /&gt;
=Purposes=&lt;br /&gt;
&lt;br /&gt;
* '''Give people the infrastructure to create solid and exciting software products based on the Openmoko platform'''&lt;br /&gt;
* '''Support competing UIs while collaborating on developing services'''&lt;br /&gt;
* '''Encourage framework users (e.g. application developers) to also contribute to the framework'''&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
&lt;br /&gt;
* Make it simple&lt;br /&gt;
* Concentrate on core services&lt;br /&gt;
* Be programming language agnostic&lt;br /&gt;
* Be UI toolkit agnostic&lt;br /&gt;
* Try to reuse existing technologies as much as possible, but not at the cost of a bad API&lt;br /&gt;
&lt;br /&gt;
=How to achieve that technically=&lt;br /&gt;
* Chose [[Dbus]] as the collaboration line. Below dbus, we can work together. Above dbus, we can differentiate.&lt;br /&gt;
* Expose features through dbus APIs implemented by UI-agnostic and language-agnostic services (daemons).&lt;br /&gt;
* Optimize for Openmoko devices, but support multiple architectures and purposes through plugin interfaces and suitable hardware abstraction mechanisms.&lt;br /&gt;
* Be not afraid of reinventing the wheel for a wheel-barrow if all the existing wheels are made for sports cars.&lt;br /&gt;
&lt;br /&gt;
=Mandatory Readings=&lt;br /&gt;
&lt;br /&gt;
* [http://adam.gomaa.us/blog/frameworks-exist-for-conceptual-integrity/ Frameworks exist for conceptual integrity]&lt;br /&gt;
* [http://humanized.com/weblog/2007/10/05/make_oss_humane/ Ten ways to make more humane open source software]&lt;br /&gt;
* [http://www.freesmartphone.org FreeSmartPhone.org Wiki]&lt;br /&gt;
&lt;br /&gt;
=What this is NOT about=&lt;br /&gt;
&lt;br /&gt;
This initiative does not cover low level services such as&lt;br /&gt;
* Bootloader,&lt;br /&gt;
* Kernel, or&lt;br /&gt;
* System Init.&lt;br /&gt;
&lt;br /&gt;
This initiative does not cover high level services such as&lt;br /&gt;
* X-Window-System,&lt;br /&gt;
* Window Manager,&lt;br /&gt;
* UI Toolkits,&lt;br /&gt;
* Application Launchers,&lt;br /&gt;
* Applications, or&lt;br /&gt;
* Fancy UIs.&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
&lt;br /&gt;
... picture ...&lt;br /&gt;
&lt;br /&gt;
=Components=&lt;br /&gt;
&lt;br /&gt;
... discussion of subsystem purposes ...&lt;br /&gt;
&lt;br /&gt;
==Low Level==&lt;br /&gt;
&lt;br /&gt;
===Device===&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
===GSM===&lt;br /&gt;
This involves three components:&lt;br /&gt;
&lt;br /&gt;
* GSM 07.10 (Multiplexing Daemon)&lt;br /&gt;
* GSM 07.07 (Telephony)&lt;br /&gt;
* GSM 07.05 (SMS)&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
&lt;br /&gt;
We base on the official Linux Bluetooth subsystem here, which is [http://www.bluez.org BlueZ]. &lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
&lt;br /&gt;
Options: Networkmanager or Intel Connection Manager&lt;br /&gt;
&lt;br /&gt;
===GPS===&lt;br /&gt;
&lt;br /&gt;
We base on Gypsy here.&lt;br /&gt;
&lt;br /&gt;
==High Level==&lt;br /&gt;
&lt;br /&gt;
===PIM===&lt;br /&gt;
* intelligent storage database&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
* signaling events via I/O (ringing, blinking, vibrating)&lt;br /&gt;
* might use fd.o notification API&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
* coordinating application I/O requirements (think ''reference counting'' for I/O requirements)&lt;br /&gt;
* might use fd.o policy API&lt;br /&gt;
&lt;br /&gt;
===Preferences===&lt;br /&gt;
* settings database&lt;br /&gt;
&lt;br /&gt;
===Context===&lt;br /&gt;
* Intelligent context API, integrating location as one -- among other -- sources&lt;br /&gt;
&lt;br /&gt;
=Tasks=&lt;br /&gt;
&lt;br /&gt;
==What's there==&lt;br /&gt;
* bluez&lt;br /&gt;
* gypsy&lt;br /&gt;
* geoclue&lt;br /&gt;
* py-odeviced&lt;br /&gt;
* pygsmd&lt;br /&gt;
* gsmd0710muxd&lt;br /&gt;
* networkmanager or intel connection manager&lt;br /&gt;
&lt;br /&gt;
==What's missing==&lt;br /&gt;
* py-ophoned&lt;br /&gt;
* pimd (GSoC 2008 project)&lt;br /&gt;
* eventd&lt;br /&gt;
* usaged&lt;br /&gt;
* preferencesd&lt;br /&gt;
* contextd&lt;br /&gt;
&lt;br /&gt;
=The role of Python=&lt;br /&gt;
&lt;br /&gt;
Where we write new code, we will use Python to implement the dbus services. The reason for that being the rapid prototyping nature of Python and the emphasis on the Dbus APIs. Using Python, the turnaround times to experiment with APIs are incredibly faster than for using a compiled language such as C or C++.&lt;br /&gt;
&lt;br /&gt;
Once the APIs have been used by application programmers, we can start profiling and possibly reimplementing some of the services with daemons written in Vala. Reimplementing things in RPython would be much easier than Vala and much of the benefits of python remain.&lt;br /&gt;
&lt;br /&gt;
=Team &amp;amp; Roadmap=&lt;br /&gt;
&lt;br /&gt;
... talk about the team and the roadmap ...&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Main_Page"/>
				<updated>2008-03-20T13:32:36Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: Replaced OpenMoko with Openmoko wherever it wasn't part of a WikiLink&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Main_Page}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{| cellspacing=&amp;quot;4&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;padding: 2%; margin:0em 0em 1em 0em; border:1px solid #c8bbbf; background:#ECE5B6; width:100%&amp;quot; &lt;br /&gt;
| &amp;lt;big&amp;gt;'''Welcome to the [[Openmoko]]&amp;amp;trade; public Wiki'''&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Image:GTA02.gif |200px|right|frontside]]&lt;br /&gt;
Openmoko&amp;amp;trade; is an [http://en.wikipedia.org/wiki/Open_source Open Source] project under[[License| GPL and LGPL license]]. The aim of Openmoko is to build the world's first free mobile platform which runs a full X server and can therefore run most X applications.  You can install any [[OpenMoko]] software over the whole range of [[OpenMoko-supported hardware|supported phones]], and if you upgrade your phone, you won't lose that software. Bugs fixed on any phone are fixed on all. &lt;br /&gt;
&lt;br /&gt;
The [[Neo1973 | Neo 1973 (GTA01)]] from [[FIC]] is the first of many phones that Openmoko may be used on.  You can go to  [https://direct.openmoko.com/ Openmoko Online Shop] to get the sales informaiton.  [[Neo FreeRunner  | Neo FreeRunner (GTA02)]] the new generation Openmoko mobile phone is not yet available - press [[Neo FreeRunner GTA02 Hardware| here]] to get more hardware information.   Otherwise, scroll down this page for info on the development status , or you can add your nickname to those interested buying the Neo FreeRunner at [[Buying_Interest_List|Buying Interest List]].&lt;br /&gt;
&lt;br /&gt;
The [[Openmoko]] project is a community that anyone can join, to help design their ideal phone. Please join us in collaborating on the Openmoko project through any of the [[Development resources | project resources]] including this Openmoko wiki. Please see the [[Help:Contents | wiki editing help]] page for information on making contributions to this wiki. A [[Meet the Core Team | core team]] of developers funded by FIC, Inc. leads the project.&lt;br /&gt;
&lt;br /&gt;
To the novice,  can start by use  [[introduction]] page ,  [[Introduction#Photos|photos]],  [[Introduction#Videos|videos]]  and [[OPENMOKO WIKI Official Index Page | Openmoko Official Index Page]],  to take the overview of Openmoko and  wiki.      Moreover, the usual [[FAQ | Frequently Asked Questions]] (FAQ)  and [http://lists.openmoko.org/mailman/listinfo/| mailing list] pages might be helpful. Developers may find the [[ChangeLog | change log]] an important resource.  &lt;br /&gt;
&lt;br /&gt;
{{warning|'''The Openmoko GUI applications are not suitable for end users yet.''' They are still in beta. Do not expect to always and reliably make and receive calls from the Openmoko GUI. Thanks to the openness of the FIC Neo1973 hardware, there is also an alternative to the Openmoko GUI: Qtopia 4.3.x is released under GPL and is at the edge of being usable for phone use.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=100% colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#C8B560;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Latest status&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FAF8CC;border-left:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* The latest Qtopia snapshot can now be successfully used to make and receive calls, to send and receive SMS and use Contacts for both. However, if you do not enable suspend, one battery will only last 3-5 hours, but in suspend, incoming calls do not wake up Qtopia! See [[Qtopia on Neo 1973]] for instructions.&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FAF8CC;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* The  [http://buildhost.openmoko.org/daily/neo1973/deploy/glibc/images/neo1973/ latest build] can make and receive calls most of the time. Power management (suspend, standby time) are still experiencing problems.     Reports on the new snapshots built daily (will break sometimes) are [[Snapshot_review|here]]&lt;br /&gt;
* For the latest status updates, see [[Community_Updates|Community Updates]]&lt;br /&gt;
* To get the overview of Openmoko Wiki, see [[Openmoko Wiki Official Index Page]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=100% colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#ADA96E;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | What's Your Interest?&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FAF8CC;border-left:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Basic End-user]] - Information for end users who want basic functionality and no surprises&lt;br /&gt;
* [[Advanced End-user]] - Information for advanced end-users who want advanced and experimental functionality but who are not programmers&lt;br /&gt;
* [[Business Development]] - Exchange of commercial opportunities for promoting widespread end-user acceptance.&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FAF8CC;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Application Developer]] - Information for application developers, including ideas and specifications for applications, and tools to build them&lt;br /&gt;
* [[System Developer]] - Information for system developers, including bootloader, kernel, and libraries&lt;br /&gt;
* [[Hardware Developer]] - Information for hardware developers, including hardware specs and debug board&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=100% colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#C9BE62;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | System Specs&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FAF8CC;border-left:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Neo1973_hardware|Neo 1973 (GTA01)]] - Specs of original Neo 1973 (GTA01) Hardware&lt;br /&gt;
* [[Neo_FreeRunner_GTA02_Hardware|Neo FreeRunner (GTA02)]] - Specs of Neo FreeRunner (GTA02) Hardware&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FAF8CC;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[OpenMoko Core Applications]] - Applications included in the core build of Openmoko&lt;br /&gt;
* [[OpenMoko Community Applications]] - Featured downloadable applications from the Openmoko community&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=33% style=&amp;quot;background:#ff9900;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | General&lt;br /&gt;
! width=33% style=&amp;quot;background:#ff6633;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Developer Guides&lt;br /&gt;
! width=33% style=&amp;quot;background:#cc3333;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Developer Reference Documentation&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#F4F4F4;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; |&lt;br /&gt;
* [[Development resources | Project Resources]] - Provides a centralized location of all resources such as [[Development resources#Mailing_Lists|mailing lists]], [[Development resources#IRC | IRC]], and other software development oriented resources.&lt;br /&gt;
 &lt;br /&gt;
* [[Current events]] - Information on both past and future events where FIC or Openmoko had or will have a presence.&lt;br /&gt;
* [http://forums.makeopensource.com/ Unofficial Openmoko Forums] - Everyone is invited to collaborate with Openmoko users and developers on the forums.&lt;br /&gt;
* Most of the documentation and Wiki assumes you are using Linux; here are some notes for users of [[Other OSes]].&lt;br /&gt;
* [[MacOS_X|Mac OS X]] - Information specific for those who use Mac OS X&lt;br /&gt;
* [[OpenLab]] - A physical area where Openmoko can interact with FOSS community&lt;br /&gt;
&lt;br /&gt;
'''Administrative + Organizational'''&lt;br /&gt;
* [[Shipping Notes]] - Information to help FIC figure out how to ship products to you, and how much it might cost.&lt;br /&gt;
* [[My Account]] - Ideas for what sort of account-based services FIC should provide with the phone.&lt;br /&gt;
* [[Hear Me FIC]] - Information to help FIC know what the community wants.&lt;br /&gt;
* [[Listen Up Community]] - Community's To-Do-List&lt;br /&gt;
* [[Wiki Issues]] - problems/requests regarding this Wiki&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#F4F4F4;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Getting Started with your Neo1973]]&lt;br /&gt;
* [[installation_guide|A guide for flashing and emulating the openmoko software]] &lt;br /&gt;
** [[Flashing_openmoko|Flashing Neo1973 with the kernel, the root filesystem and optionally u-boot.]]&lt;br /&gt;
** [[MokoMakefile|Building Openmoko using the MokoMakefile]]&lt;br /&gt;
** [[Application Development Crash Course]] -A very basic how-to for the new people. &lt;br /&gt;
** [[OpenMoko2007.2|Building Openmoko 2007.2]]&lt;br /&gt;
** [[Building OpenMoko 2007.1 from scratch]]&lt;br /&gt;
*** [[Building a hello world application]]&lt;br /&gt;
*** Old [[Building OpenMoko from scratch (pre-BBT)]]&lt;br /&gt;
** [[Running OpenMoko on PC]]&lt;br /&gt;
*** [[Getting OpenMoko working on host with Xoo]]&lt;br /&gt;
*** [[Getting OpenMoko working on host with Xephyr]]&lt;br /&gt;
*** [[How to run OpenMoko Apps on PC]]&lt;br /&gt;
*** [[OpenMoko under QEMU]]&lt;br /&gt;
*** [[Test Openmoko Emulation with chroot image|Test Openmoko Emulation with a Prebuilt chroot Image]]&lt;br /&gt;
* [[Migration to bad block tolerant builds]]&lt;br /&gt;
* [[Booting from SD]]&lt;br /&gt;
* [[DailyBuiltImages|Getting daily built images]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#F4F4F4;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot;| &lt;br /&gt;
'''Hardware Reference Documentation'''&lt;br /&gt;
* All [[:Category:Hardware|Hardware]] related documentation and specifications are found on the [[:Category:Hardware|Hardware page]].&lt;br /&gt;
* The [[Neo1973 Hardware]] page provides an overview of the hardware components used by the [[:Category:Neo1973 Hardware|Neo1973 hardware platform]]. PCB photographs are also included. A [[Disassembling Neo1973 | photo disassembly story]] may be an interesting starting place.&lt;br /&gt;
* [[:Category:Neo1973 Hardware Debugging | Neo1973 Hardware Debugging]] is assisted with the [[Debug Board | Neo1973 debug board]].   A page discussing [[Connecting Neo1973 with Debug Board v2 | debug board and Neo1973 configurations]] is also provided.&lt;br /&gt;
&lt;br /&gt;
'''Software Reference Documentation'''&lt;br /&gt;
* Architectural&lt;br /&gt;
** [[OpenMokoFramework]] - The Openmoko Application Framework&lt;br /&gt;
* [[Neo1973 host software]]&lt;br /&gt;
* Device Software&lt;br /&gt;
** Low-Level&lt;br /&gt;
*** [[u-boot]] - The bootloader we use, including documentation for our modifications&lt;br /&gt;
*** [[kernel]] - The Linux kernel we use, including documentation for our modifications&lt;br /&gt;
** Userspace&lt;br /&gt;
*** [[binary compatibility]]&lt;br /&gt;
*** [[gsmd]] - the GSM daemon managing the GSM Modem&lt;br /&gt;
*** [[gpsd]] - the AGPS (Assisted GPS) daemon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=33% style=&amp;quot;background:#99ccff;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Openmoko-specific Development&lt;br /&gt;
! width=33% style=&amp;quot;background:#B3DDF4;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Openmoko Miscellaneous Development&lt;br /&gt;
! width=33% style=&amp;quot;background:#00ccff;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Miscellaneous&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#F4f4f4;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Roadmap]] - Roadmap for further Openmoko development&lt;br /&gt;
* [[OpenEmbedded]] - The distribution-building framework&lt;br /&gt;
* [[Toolchain]] - The toolchain we use for compilation&lt;br /&gt;
* [[OpenMoko]] - The Openmoko distribution&lt;br /&gt;
** [[OpenMoko2007]] - The first intended release of it&lt;br /&gt;
** [[OpenMoko2007.2]] - An improved release with more formalized style guidelines.&lt;br /&gt;
** [[Userspace root image]]&lt;br /&gt;
* [[Test Plans]] - How we test our phones&lt;br /&gt;
* [[Prototypes]] - Tracking prototypes&lt;br /&gt;
* [[GSM network registration]] - Tracking network registration status in the world&lt;br /&gt;
&lt;br /&gt;
'''User Interface Related'''&lt;br /&gt;
* [[GUI Style Guidelines]] -- New for [[OpenMoko2007.2]]&lt;br /&gt;
* [[Look &amp;amp; Feel]]&lt;br /&gt;
** [[Artwork]]&lt;br /&gt;
* [[Applications|Application Roadmap]]&lt;br /&gt;
* [[Widgets]]&lt;br /&gt;
** [[Widget Inheritance Graph]]&lt;br /&gt;
* [[Application UI Design Recommendations]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#F4f4f4;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; |&lt;br /&gt;
* [[Thesis work]] &lt;br /&gt;
* [[Freshman todo]]&lt;br /&gt;
* [[Templates]]&lt;br /&gt;
* [[PIM Storage]]&lt;br /&gt;
* [[Coding Guidelines]]&lt;br /&gt;
* [[OpenMoko#Setting_up_an_OpenMoko_SDK|How to setup the Openmoko SDK]]&lt;br /&gt;
* Alternative distributions for [[Neo1973]] GTA01: [[Angstrom on Neo1973]], [http://pokylinux.org Poky] [http://www.usome.com](instructions needed!)&lt;br /&gt;
* [[License]] - How we license our code&lt;br /&gt;
* [[Development resources]] - Describes resources for developers (lists, svn, ...)&lt;br /&gt;
* [[Neo1973 Phase 0]] - Information for Phase 0 device owners&lt;br /&gt;
* [[Wishlist:Neo1973 P0 Review]] - Impressions of the Phase 0 hardware device, also the Phase 0 FAQ&lt;br /&gt;
* [[Neo1973 Phase 1]] - Information for Phase 1 device owners&lt;br /&gt;
* [[Wishlist:Neo1973 P1 Review]] - Impressions of the Phase 1 hardware device&lt;br /&gt;
* [[External Feeds]] - List of feeds from people blogging about Openmoko&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#F4f4f4;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[WiFi support in OpenMoko]]&lt;br /&gt;
* [[Neo1973 and Windows]]&lt;br /&gt;
* [[Press Coverage]] - What the press says about the Openmoko project&lt;br /&gt;
* [[mFAQ]] - The Openmoko Misinformation FAQ ('''mFAQ''') - What the press '''''incorrectly''''' says about the Openmoko project&lt;br /&gt;
* [[OpenMoko Core Applications]] - Applications (GUI based) currently included in the main/core build of Openmoko &lt;br /&gt;
* [[Wish List]]s: [[Wish List - Hardware|Hardware]], [[Wishlist:BuiltInScriptingLanguage|Scripting Languages]], [[Wish List - OpenMoko Ringtones and Sounds|ringtones and sounds]]&lt;br /&gt;
* [[Media Content]] - What types of media on the device can we use (that is non-software)?&lt;br /&gt;
* [[Testimonials]] - How did you get to Openmoko?&lt;br /&gt;
* [[Buying Interest List]] - (Not official and not a pre-order page) Have you put money aside for Neo1973? Put your nick here.&lt;br /&gt;
* Comparison with the [[iPhone]]&lt;br /&gt;
* [[Translation]] of Openmoko&lt;br /&gt;
* Project applications for Google's [[Summer of code]]&lt;br /&gt;
* Purchase Openmoko [[SWAG]] T-Shirts!&lt;br /&gt;
* The Openmoko [[Trademark Policy]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The members of the Openmoko community would like to thank FIC Inc. for their continued leadership of the Openmoko project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Information| ]]&lt;br /&gt;
[[Category:Categories| ]]&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Lally</id>
		<title>User:Lally</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Lally"/>
				<updated>2008-02-19T00:57:57Z</updated>
		
		<summary type="html">&lt;p&gt;Lally: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grad student at Virginia Tech.&lt;br /&gt;
&lt;br /&gt;
Currently working on scalability of virtual environments.  Past work in embedded systems and compilers.&lt;/div&gt;</summary>
		<author><name>Lally</name></author>	</entry>

	</feed>