<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=G33kgirl</id>
	<title>WebOS Internals - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=G33kgirl"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/G33kgirl"/>
	<updated>2026-04-15T07:48:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Debugging_101&amp;diff=6452</id>
		<title>Tutorials webOS Debugging 101</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Debugging_101&amp;diff=6452"/>
		<updated>2009-10-12T22:25:05Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you're results are not what you expected use JavaScripts try/catch/finally block statements to localize the problem. The first thing you want to do is get as close as possible to where you believe the error is occuring. If you're not sure where, start at the beginning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add mojo.logs to your code and evaluate them in putty.&lt;br /&gt;
&lt;br /&gt;
Mojo.Log.error(&amp;quot;****V&amp;quot; + &amp;quot; my variable: &amp;quot; + this.variable );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
putty.exe&lt;br /&gt;
(for emulator)&lt;br /&gt;
&amp;lt;p&amp;gt;ip address &amp;quot;localhost&amp;quot; port 5522&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;connection type: ssh&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;when command line opens type root&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;no password just hit enter&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;type: cat /var/log/messages | grep payment&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;quot;payment&amp;quot; is the string you are searching for with grep&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;after you log in to putty:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;mojo.log.error writes to /var/log/messages&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;cat: types the file out&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;grep: searches it for the string following grep and prints out those lines&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;| (vertical bar): says pass the output of cat over to grep&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;SIDE NOTE: if you copy text into the clipboard, you can paste it into putty by right-clicking in putty.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:webOS_Applications&amp;diff=5916</id>
		<title>Portal:webOS Applications</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:webOS_Applications&amp;diff=5916"/>
		<updated>2009-09-27T15:44:03Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: Add text and link to wiki formatting page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&lt;br /&gt;
{{preware}}&lt;br /&gt;
{{portal-header&lt;br /&gt;
|The Instructions on [[Tutorials_webOS_Hello_World|building WebOS Mojo applications]] of your own are simple and straight forward.&lt;br /&gt;
}}&lt;br /&gt;
{{portal-header&lt;br /&gt;
|If you are looking for [[Portal:Patches_to_webOS|patches to modify existing webOS applications]] those are found in '''[[Portal:Patches_to_webOS|Patches to webOS]]'''. &lt;br /&gt;
}}&lt;br /&gt;
{{portal-three-columns&lt;br /&gt;
|column1=&lt;br /&gt;
* [[Portal:webOS_Applications_All|All]]&lt;br /&gt;
* [[Portal:webOS_Applications_Business|Business]]&lt;br /&gt;
* [[Portal:webOS_Applications_Communications|Communications]]&lt;br /&gt;
* [[Portal:webOS_Applications_Entertainment|Entertainment]]&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
* [[Portal:webOS_Applications_Food|Food]]&lt;br /&gt;
* [[Portal:webOS_Applications_Games|Games]]&lt;br /&gt;
* [[Portal:webOS_Applications_Lifestyle|Lifestyle]]&lt;br /&gt;
* [[Portal:webOS_Applications_News|News]]&lt;br /&gt;
&lt;br /&gt;
|column3=&lt;br /&gt;
* [[Portal:webOS_Applications_Social Networking|Social Networking]]&lt;br /&gt;
* [[Portal:webOS_Applications_Tutorial|Tutorial]]&lt;br /&gt;
* [[Portal:webOS_Applications_Utilities|Utilities]]&lt;br /&gt;
* [[Portal:webOS_Applications_Productivity|Productivity]]&lt;br /&gt;
}}&lt;br /&gt;
{{portal-two-columns&lt;br /&gt;
|column1=&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorials_webOS_Getting_Started|Getting Started Developing]]&lt;br /&gt;
* [[Tutorials_webOS_Hello_World|Building Your First Application]]&lt;br /&gt;
* [[Tutorials_webOS_Porting_Older_App|Porting older javascript apps]]&lt;br /&gt;
* [[Tutorials_webOS_IPKG_Installer|IPKG Installer]]&lt;br /&gt;
* [[Tutorials_webOS_Installing_An_Ipk|Installing an IPK]]&lt;br /&gt;
* [[Komodo|Komodo Specific Tutorials]]&lt;br /&gt;
* [[Tutorials_webOS_Loading_Existing_Apps_Into_An_Eclipse_Project|Loading Existing apps into an Eclipse Project]]&lt;br /&gt;
* [[Tutorials_webOS_Using Cookies|Using Cookies To Move Variables]]&lt;br /&gt;
* [[Tutorials_webOS_Debugging 101|Common Ways to Debug Your Application]]&lt;br /&gt;
* [[Tutorials_webOS_Getting_JSON_From_An_External_MySQL_Database|Getting JSON From An External MySQL Database]]&lt;br /&gt;
* [[Tutorials_Differences_between_Emulator_and_Pre|Diffences between Emulator and Pre]]&lt;br /&gt;
&lt;br /&gt;
== Want to write a tutorial and Add it? ==&lt;br /&gt;
&lt;br /&gt;
Just name the article like&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Tutorials webOS &amp;quot; + name&lt;br /&gt;
&lt;br /&gt;
Ex: Tutorials_webOS_Getting_Started&amp;lt;br /&amp;gt;&lt;br /&gt;
(spaces are the same thing as underscores)&lt;br /&gt;
&lt;br /&gt;
==Need help formatting your text for wiki? ==&lt;br /&gt;
Find easy to use markup examples with visual representations on our formatting help pages.&lt;br /&gt;
&lt;br /&gt;
[[Help:Formatting | Wiki Formatting Help]]&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
== Policies about adding Applications ==&lt;br /&gt;
&lt;br /&gt;
Your application can be any progress (Completed/Beta/Design Phase), just make sure you have a temporary name. For example if your application is called &amp;quot;Testing This&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=Asteroids&lt;br /&gt;
|article=Asteroids&lt;br /&gt;
|user=AWESOM-O&lt;br /&gt;
|site=http://domain.com/asteroids/&lt;br /&gt;
|description=This is a short description, leave screenshots&lt;br /&gt;
and other details for the application page.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Place this under the [[Portal:webOS Applications All|All webOS Application Portal]], and the category it goes under (for instance &amp;quot;Games&amp;quot; if it is a game). You can always change the applications name just make sure it is not taken and let us know on the [[Admin_Changes|Admin Changes]] page so we can delete the old application page (so others can use it).&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
==Development Projects==&lt;br /&gt;
webOS Mojo and Multiple language projects being developed as open source by the community. &lt;br /&gt;
&lt;br /&gt;
* [[Application:Preware|Preware]]: A mojo app with backend plugin to run ipkg and fetch over the air installs and updates from the Preware ipkg feed.&lt;br /&gt;
* [[On Screen Keyboard]]&lt;br /&gt;
* [[My notification|My notification]] : a Mojo app to enable the changing of system sounds and wallpaper.&lt;br /&gt;
* [[EBook-Reader]]: a Mojo app for reading text-oriented books on line.  &lt;br /&gt;
&lt;br /&gt;
== Development Proposals ==&lt;br /&gt;
These proposals for webOS applications lack a formal project at this time. &lt;br /&gt;
* [[Splash Application|Splash Application]]&lt;br /&gt;
* [[Proposal_to_install_Homebrew_apps_on_/media/internal_%28USB_partition%29]]&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Help:Style_Guide&amp;diff=5915</id>
		<title>Help:Style Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Help:Style_Guide&amp;diff=5915"/>
		<updated>2009-09-27T15:23:36Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: added example text to give user visual reference of wiki code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== One Column ==&lt;br /&gt;
{{article-one-column-blue&lt;br /&gt;
|header1 = Example Once Column Layout&lt;br /&gt;
|column1 = &lt;br /&gt;
&amp;lt;strong&amp;gt;Example One Column Layout &amp;lt;/strong&amp;gt;- Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{article-one-column-blue&lt;br /&gt;
|header1=Header&lt;br /&gt;
|column1=&lt;br /&gt;
Some text&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Two Columns ==&lt;br /&gt;
{{article-two-columns&lt;br /&gt;
|header1 = Example Once Column Layout&lt;br /&gt;
|width1=46%&lt;br /&gt;
|column1=&lt;br /&gt;
&amp;lt;strong&amp;gt;Example Two Column Layout&amp;lt;/strong&amp;gt; - Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
&amp;lt;strong&amp;gt;Example Two Column Layout&amp;lt;/strong&amp;gt; - Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{article-two-columns&lt;br /&gt;
|width1=46%&lt;br /&gt;
|column1=&lt;br /&gt;
some content&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
some other content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Three Columns ==&lt;br /&gt;
{{article-three-columns&lt;br /&gt;
|width1=30%&lt;br /&gt;
|width2=30%&lt;br /&gt;
|column1=&lt;br /&gt;
&amp;lt;strong&amp;gt;Example Three Column Layout&amp;lt;/strong&amp;gt; - Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
&amp;lt;strong&amp;gt;Example Three Column Layout&amp;lt;/strong&amp;gt; - Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.&lt;br /&gt;
&lt;br /&gt;
|column3=&lt;br /&gt;
&amp;lt;strong&amp;gt;Example Three Column Layout&amp;lt;/strong&amp;gt; - Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{article-three-columns&lt;br /&gt;
|width1=30%&lt;br /&gt;
|width2=30%&lt;br /&gt;
|column1=&lt;br /&gt;
some content&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
some other content&lt;br /&gt;
&lt;br /&gt;
|column3=&lt;br /&gt;
some other content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Code Blocks ==&lt;br /&gt;
&lt;br /&gt;
To format code, use the source tag, which provides full syntax highlighting. Specify the language with the lang attribute, or if you don't want it to highlight syntax, use &amp;quot;text&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;python&amp;quot;, &amp;quot;text&amp;quot;, and &amp;quot;javascript&amp;quot; are the main ones, but [http://mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages all major languages] are supported.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Code or Text&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Application Pages (Application:Name) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{application&lt;br /&gt;
|name=Name                                      - Name of the Application&lt;br /&gt;
|version=1.0.0                                  - Version major.minor.build&lt;br /&gt;
|type=webOS                                     - &amp;quot;webOS&amp;quot; or &amp;quot;Linux&amp;quot;&lt;br /&gt;
|tag=Games                                      - Use the main list's names&lt;br /&gt;
|screenshot=Application_Name_Screenshot_1.png   - Pay attention to naming scheme Application_ + name + _Screenshot_1.png&lt;br /&gt;
|description=description                        - Describe the app in full detail, put anything you want.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Penguin Icons! ==&lt;br /&gt;
&lt;br /&gt;
They must be holding a webOS device (unless they are for another purpose, chat etc). If your page could use a linux penguin (only for Linux related articles sorry), feel free to use the template and one of the many Penguins. [[Template:Tux]]&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Preware&amp;diff=5914</id>
		<title>Application:Preware</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Preware&amp;diff=5914"/>
		<updated>2009-09-27T14:47:41Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{application&lt;br /&gt;
|name=Preware&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: Beta 0.9.0 &amp;lt;br /&amp;gt;(17 Sep 2009)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=Application_Preware_List.png&lt;br /&gt;
|description=&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
{{icon|Icon_Preware.png|float:right;}}&lt;br /&gt;
Preware is a package management application for the Palm Pre.  Preware allows the user to install any package from any of the open standard package repositories on preware.org (or any other location that hosts an open standard package repository).  Preware relies on a custom written service developed from community research which allows the mojo app to talk to the built-in ipkg tool.&lt;br /&gt;
&lt;br /&gt;
This application was the result of extensive community-based design in [[IPKG Service]] and [[Preware Design]].&lt;br /&gt;
&lt;br /&gt;
For application management, Preware can access more applications, and has more features, than any other on-device package installer.&lt;br /&gt;
&lt;br /&gt;
And since it is open source, and has a completely open development process supported by a team of world-class WebOS Internals developers, it will continue to get better much faster than any other package management application.&lt;br /&gt;
&lt;br /&gt;
Preware is the open application installer that has been written specifically to support a homebrew ecosystem where any developer can upload any application to any submission site, and that application can then be installed by any user.  Developers no longer need to upload their applications to multiple submission sites, and users are no longer excluded from accessing applications from any open standard package repository.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
This is beta software.  Even so, as of 27 August 2009 it is the only over-the-air installer for the palm capable of installing advanced palm applications such as the [[On_Screen_Keyboard|on screen keyboard]] or the terminal application. Also as of 27 August 2009 it is the only application supporting installation from all existing palm homebrew feeds.  As of 17 September 2009 it also supports installation of themes.&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
&lt;br /&gt;
Please be aware that org.webosinternals.preware and org.webosinternals.ipkgservice are licensed under the GPLv2.&lt;br /&gt;
&lt;br /&gt;
They cannot be used by a closed source application.  If you want to use them in a non-GPLv2 but otherwise open source application, please contact the authors.&lt;br /&gt;
&lt;br /&gt;
== Operating notes ==&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
&lt;br /&gt;
Preware does not individually sequence dependencies during installation, and ipkgservice only runs the postinst and prerm scripts for the requested app, so if you have a depedency for the app that you're installing, and that dependency needs a postinst or prerm script to be run, then it will fail to run them.  Please install the dependency first, and then install the app that you want.  This will be fixed before the 1.0.0 version.&lt;br /&gt;
&lt;br /&gt;
=== Known bugs ===&lt;br /&gt;
&lt;br /&gt;
No known bugs.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
You do not need to access the Linux command line or &amp;quot;root your Pre&amp;quot; to install or use Preware.&lt;br /&gt;
&lt;br /&gt;
Note that you *must* use version 2.01 or later of WebOS Quick Install.  Version 2.0 had a bug which causes the installation of the Package Management Service to fail, and Preware then hangs on the initial &amp;quot;Updating&amp;quot; screen.  A re-installation with version 2.01 should fix that.&lt;br /&gt;
&lt;br /&gt;
Please use the [http://forums.precentral.net/homebrew-apps/203951-webos-quick-install-contd.html WebOS Quick Install] tool to install the Package Manager Service and the Preware application directly from the WebOS Internals feed.  &lt;br /&gt;
&lt;br /&gt;
No other application installer tool is sophisticated enough to install the custom Package Manager Service that Preware requires.  Preware can install it, but you need a way to bootstrap Preware first, so you need to use WebOS Quick Install for the very first installation of Preware.&lt;br /&gt;
&lt;br /&gt;
Note that Preware works just as well on the Emulator as it does on a real device, and is installed in exactly the same way.&lt;br /&gt;
&lt;br /&gt;
=== Installation  Steps ===&lt;br /&gt;
* Run WebOS Quick Install&lt;br /&gt;
* Press the third button on the right&lt;br /&gt;
* Choose WebOS Internals Feed (all) from the dropdown list at the top. &lt;br /&gt;
* Select ''Package Manager Service'' from the list.  &lt;br /&gt;
* Press DOWNLOAD.&lt;br /&gt;
* Press INSTALL.&lt;br /&gt;
* Press the third button on the right&lt;br /&gt;
* Choose WebOS Internals Feed (all) from the dropdown list at the top. &lt;br /&gt;
* Select ''Preware'' from the list.  &lt;br /&gt;
* Press DOWNLOAD.&lt;br /&gt;
* Press INSTALL.&lt;br /&gt;
&lt;br /&gt;
=== Updating ===&lt;br /&gt;
&lt;br /&gt;
If you are running a version of the Preware prior to 0.9.0, then you must use the WebOS Quick Install program to upgrade the Package Manager Service.&lt;br /&gt;
&lt;br /&gt;
To update Preware or the Package Manager Service, simpy use Preware version 0.9.0 or later.&lt;br /&gt;
&lt;br /&gt;
Make sure you update the Package Manager Service first, and the Preware application second.  When dependencies are supported, this restriction will be lifted.&lt;br /&gt;
&lt;br /&gt;
=== Removal ===&lt;br /&gt;
&lt;br /&gt;
Why would you ever want to remove Preware?&lt;br /&gt;
&lt;br /&gt;
To remove Preware, use WebOS Quick Install's Device Management page and unselect the Package Manager Service and the Preware application.&lt;br /&gt;
&lt;br /&gt;
=== Recent enhancements ===&lt;br /&gt;
&lt;br /&gt;
0.9.0: Now supports themes, restart flags and the new memory-reduction service methods.&lt;br /&gt;
&lt;br /&gt;
0.8.5: Massive speed improvement on loading, now supports package types and adding feeds.&lt;br /&gt;
&lt;br /&gt;
0.8.2: More preferences added and now functional, with listing and update frequency options.&lt;br /&gt;
&lt;br /&gt;
0.8.1: Preferences scene implemented. Upstart job stops on removal.&lt;br /&gt;
&lt;br /&gt;
0.8.0: Now supports Descriptions and Screenshots.&lt;br /&gt;
&lt;br /&gt;
0.7.7: Addition of ipkglog and config list, and if ipkgservice fails at start it notifies people, and if it fails after postinst it considers it complete anyways&lt;br /&gt;
&lt;br /&gt;
0.7.6: Fixed the superfluous update subscription message windows&lt;br /&gt;
&lt;br /&gt;
0.7.5: Fixed update subscription oddity.&lt;br /&gt;
&lt;br /&gt;
0.7.4: Fixed remounting of root filesystem for post-install and pre-remove scripts on the Pre.&lt;br /&gt;
&lt;br /&gt;
0.7.1: Fixed buttons and title on script view screen.&lt;br /&gt;
&lt;br /&gt;
0.7.0: Initial support for post-install and pre-remove scripts, including secure informed user consent.  Does not work properly with dependencies yet, so please install dependencies one at a time.&lt;br /&gt;
&lt;br /&gt;
0.6.7: Fixed bug in category drop-down list.&lt;br /&gt;
&lt;br /&gt;
0.6.6: Fixed bug in package size reporting.&lt;br /&gt;
&lt;br /&gt;
0.6.5: Updated icon and other graphical annotations.&lt;br /&gt;
&lt;br /&gt;
0.6.4: Categories drop-down bug fixed.  Preware category updated.&lt;br /&gt;
&lt;br /&gt;
0.6.2: Categories now work to some extent.  Still a bug in the drop down box.&lt;br /&gt;
&lt;br /&gt;
0.6.1: Sorting by name or date is now available.  Application details screen is much more organized.&lt;br /&gt;
&lt;br /&gt;
0.6.0: No user visible changes.  Preparation for the secure informed user consent functionality.&lt;br /&gt;
&lt;br /&gt;
0.5.1: Filtering is now available on the list screens.  Just start typing ...&lt;br /&gt;
&lt;br /&gt;
== Repository ==&lt;br /&gt;
&lt;br /&gt;
Preware and the Package Manager Service are housed in the applications/preware and services/ipkservice git repositories at http://git.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
For commit permission to the open source project, contact rwhitby on #webos-internals or email [[mailto:support@webos-internals.org support@webos-internals.org]]&lt;br /&gt;
&lt;br /&gt;
== Alternative Installation (ADVANCED/CLI Method)==&lt;br /&gt;
&lt;br /&gt;
Really, unless you *really* know what you are doing, you should use the WebOS Quick Install installation instructions above.&lt;br /&gt;
&lt;br /&gt;
This method is for '''LINUX EXPERTS ONLY''' and depends on the ipkg.preware.org/feeds/webos-internals repository.  You must install the [[Application:Terminal]] application first to set up the feeds correctly.&lt;br /&gt;
&lt;br /&gt;
=== Installing via IPKG ===&lt;br /&gt;
&lt;br /&gt;
Really, unless you *really* know what you are doing, you should use the WebOS Quick Install installation instructions above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ipkg -o /var update&lt;br /&gt;
/usr/bin/ipkg -o /var install org.webosinternals.ipkgservice&lt;br /&gt;
/usr/bin/ipkg -o /var install org.webosinternals.preware&lt;br /&gt;
sh /var/usr/lib/ipkg/info/org.webosinternals.ipkgservice.postinst&lt;br /&gt;
luna-send -n 1 palm://com.palm.applicationManager/rescan {}&lt;br /&gt;
&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Updating via IPKG ===&lt;br /&gt;
&lt;br /&gt;
Really, unless you *really* know what you are doing, you should use the Preware update instructions above.&lt;br /&gt;
&lt;br /&gt;
If you are already running Preware 0.9.0 or later, you should use the Preware update instructions above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ipkg -o /var update&lt;br /&gt;
/usr/bin/ipkg -o /var upgrade&lt;br /&gt;
sh /var/usr/lib/ipkg/info/org.webosinternals.ipkgservice.postinst&lt;br /&gt;
luna-send -n 1 palm://com.palm.applicationManager/rescan {}&lt;br /&gt;
&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Debugging_101&amp;diff=5745</id>
		<title>Tutorials webOS Debugging 101</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Debugging_101&amp;diff=5745"/>
		<updated>2009-09-15T04:56:52Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: adding/organizing debugging help for newbies&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Add mojo.logs to your code and evaluate them in putty.&lt;br /&gt;
&lt;br /&gt;
Mojo.Log.error(&amp;quot;****V&amp;quot; + &amp;quot; my variable: &amp;quot; + this.variable );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
putty.exe&lt;br /&gt;
(for emulator)&lt;br /&gt;
&amp;lt;p&amp;gt;ip address &amp;quot;localhost&amp;quot; port 5522&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;connection type: ssh&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;when command line opens type root&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;no password just hit enter&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;type: cat /var/log/messages | grep payment&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;quot;payment&amp;quot; is the string you are searching for with grep&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;after you log in to putty:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;mojo.log.error writes to /var/log/messages&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;cat: types the file out&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;grep: searches it for the string following grep and prints out those lines&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;| (vertical bar): says pass the output of cat over to grep&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;SIDE NOTE: if you copy text into the clipboard, you can paste it into putty by right-clicking in putty.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Debugging_101&amp;diff=5744</id>
		<title>Tutorials webOS Debugging 101</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Debugging_101&amp;diff=5744"/>
		<updated>2009-09-15T04:54:46Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: adding/organizing debugging help for newbies&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Add mojo.logs to your code and evaluate them in putty.&lt;br /&gt;
&lt;br /&gt;
Mojo.Log.error(&amp;quot;****V&amp;quot; + &amp;quot; my variable: &amp;quot; + this.variable );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
putty.exe&lt;br /&gt;
(for emulator)&lt;br /&gt;
ip address &amp;quot;localhost&amp;quot; port 5522&lt;br /&gt;
connection type: ssh&lt;br /&gt;
&lt;br /&gt;
when command line opens type root&lt;br /&gt;
no password just hit enter&lt;br /&gt;
&lt;br /&gt;
type: cat /var/log/messages | grep payment&lt;br /&gt;
&lt;br /&gt;
&amp;quot;payment&amp;quot; is the string you are searching for with grep&lt;br /&gt;
&lt;br /&gt;
after you log in to putty:&lt;br /&gt;
mojo.log.error writes to /var/log/messages&lt;br /&gt;
&lt;br /&gt;
cat: types the file out&lt;br /&gt;
grep: searches it for the string following grep and prints out those lines&lt;br /&gt;
| (vertical bar): says pass the output of cat over to grep&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SIDE NOTE: if you copy text into the clipboard, you can paste it into putty by right-clicking in putty.&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:webOS_Applications&amp;diff=5743</id>
		<title>Portal:webOS Applications</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:webOS_Applications&amp;diff=5743"/>
		<updated>2009-09-15T04:44:31Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: /* Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&lt;br /&gt;
{{preware}}&lt;br /&gt;
{{portal-header&lt;br /&gt;
|The Instructions on [[Tutorials_webOS_Hello_World|building WebOS Mojo applications]] of your own are simple and straight forward.&lt;br /&gt;
}}&lt;br /&gt;
{{portal-header&lt;br /&gt;
|If you are looking for [[Portal:Patches_to_webOS|patches to modify existing webOS applications]] those are found in '''[[Portal:Patches_to_webOS|Patches to webOS]]'''. &lt;br /&gt;
}}&lt;br /&gt;
{{portal-three-columns&lt;br /&gt;
|column1=&lt;br /&gt;
* [[Portal:webOS_Applications_All|All]]&lt;br /&gt;
* [[Portal:webOS_Applications_Business|Business]]&lt;br /&gt;
* [[Portal:webOS_Applications_Communications|Communications]]&lt;br /&gt;
* [[Portal:webOS_Applications_Entertainment|Entertainment]]&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
* [[Portal:webOS_Applications_Food|Food]]&lt;br /&gt;
* [[Portal:webOS_Applications_Games|Games]]&lt;br /&gt;
* [[Portal:webOS_Applications_Lifestyle|Lifestyle]]&lt;br /&gt;
* [[Portal:webOS_Applications_News|News]]&lt;br /&gt;
&lt;br /&gt;
|column3=&lt;br /&gt;
* [[Portal:webOS_Applications_Social Networking|Social Networking]]&lt;br /&gt;
* [[Portal:webOS_Applications_Tutorial|Tutorial]]&lt;br /&gt;
* [[Portal:webOS_Applications_Utilities|Utilities]]&lt;br /&gt;
* [[Portal:webOS_Applications_Productivity|Productivity]]&lt;br /&gt;
}}&lt;br /&gt;
{{portal-two-columns&lt;br /&gt;
|column1=&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorials_webOS_Getting_Started|Getting Started Developing]]&lt;br /&gt;
* [[Tutorials_webOS_Hello_World|Building Your First Application]]&lt;br /&gt;
* [[Tutorials_webOS_Porting_Older_App|Porting older javascript apps]]&lt;br /&gt;
* [[Tutorials_webOS_IPKG_Installer|IPKG Installer]]&lt;br /&gt;
* [[Tutorials_webOS_Installing_An_Ipk|Installing an IPK]]&lt;br /&gt;
* [[Komodo|Komodo Specific Tutorials]]&lt;br /&gt;
* [[Tutorials_webOS_Loading_Existing_Apps_Into_An_Eclipse_Project|Loading Existing apps into an Eclipse Project]]&lt;br /&gt;
* [[Tutorials_webOS_Using Cookies|Using Cookies To Move Variables]]&lt;br /&gt;
* [[Tutorials_webOS_Debugging 101|Common Ways to Debug Your Application]]&lt;br /&gt;
&lt;br /&gt;
== Want to write a tutorial and Add it? ==&lt;br /&gt;
&lt;br /&gt;
Just name the article like&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Tutorials webOS &amp;quot; + name&lt;br /&gt;
&lt;br /&gt;
Ex: Tutorials_webOS_Getting_Started&amp;lt;br /&amp;gt;&lt;br /&gt;
(spaces are the same thing as underscores)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
== Policies about adding Applications ==&lt;br /&gt;
&lt;br /&gt;
Your application can be any progress (Completed/Beta/Design Phase), just make sure you have a temporary name. For example if your application is called &amp;quot;Testing This&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=Asteroids&lt;br /&gt;
|article=Asteroids&lt;br /&gt;
|user=AWESOM-O&lt;br /&gt;
|site=http://domain.com/asteroids/&lt;br /&gt;
|description=This is a short description, leave screenshots&lt;br /&gt;
and other details for the application page.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Place this under the [[Portal:webOS Applications All|All webOS Application Portal]], and the category it goes under (for instance &amp;quot;Games&amp;quot; if it is a game). You can always change the applications name just make sure it is not taken and let us know on the [[Admin_Changes|Admin Changes]] page so we can delete the old application page (so others can use it).&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
==Development Projects==&lt;br /&gt;
webOS Mojo and Multiple language projects being developed as open source by the community. &lt;br /&gt;
&lt;br /&gt;
* [[Application:Preware|Preware]]: A mojo app with backend plugin to run ipkg and fetch over the air installs and updates from the Preware ipkg feed.&lt;br /&gt;
* [[On Screen Keyboard]]&lt;br /&gt;
* [[My notification|My notification]] : a Mojo app to enable the changing of system sounds and wallpaper.&lt;br /&gt;
* [[EBook-Reader]]: a Mojo app for reading text-oriented books on line.  &lt;br /&gt;
&lt;br /&gt;
== Development Proposals ==&lt;br /&gt;
These proposals for webOS applications lack a formal project at this time. &lt;br /&gt;
* [[Splash Application|Splash Application]]&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:webOS_Applications&amp;diff=5742</id>
		<title>Portal:webOS Applications</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:webOS_Applications&amp;diff=5742"/>
		<updated>2009-09-15T04:42:18Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: /* Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&lt;br /&gt;
{{preware}}&lt;br /&gt;
{{portal-header&lt;br /&gt;
|The Instructions on [[Tutorials_webOS_Hello_World|building WebOS Mojo applications]] of your own are simple and straight forward.&lt;br /&gt;
}}&lt;br /&gt;
{{portal-header&lt;br /&gt;
|If you are looking for [[Portal:Patches_to_webOS|patches to modify existing webOS applications]] those are found in '''[[Portal:Patches_to_webOS|Patches to webOS]]'''. &lt;br /&gt;
}}&lt;br /&gt;
{{portal-three-columns&lt;br /&gt;
|column1=&lt;br /&gt;
* [[Portal:webOS_Applications_All|All]]&lt;br /&gt;
* [[Portal:webOS_Applications_Business|Business]]&lt;br /&gt;
* [[Portal:webOS_Applications_Communications|Communications]]&lt;br /&gt;
* [[Portal:webOS_Applications_Entertainment|Entertainment]]&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
* [[Portal:webOS_Applications_Food|Food]]&lt;br /&gt;
* [[Portal:webOS_Applications_Games|Games]]&lt;br /&gt;
* [[Portal:webOS_Applications_Lifestyle|Lifestyle]]&lt;br /&gt;
* [[Portal:webOS_Applications_News|News]]&lt;br /&gt;
&lt;br /&gt;
|column3=&lt;br /&gt;
* [[Portal:webOS_Applications_Social Networking|Social Networking]]&lt;br /&gt;
* [[Portal:webOS_Applications_Tutorial|Tutorial]]&lt;br /&gt;
* [[Portal:webOS_Applications_Utilities|Utilities]]&lt;br /&gt;
* [[Portal:webOS_Applications_Productivity|Productivity]]&lt;br /&gt;
}}&lt;br /&gt;
{{portal-two-columns&lt;br /&gt;
|column1=&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorials_webOS_Getting_Started|Getting Started Developing]]&lt;br /&gt;
* [[Tutorials_webOS_Hello_World|Building Your First Application]]&lt;br /&gt;
* [[Tutorials_webOS_Porting_Older_App|Porting older javascript apps]]&lt;br /&gt;
* [[Tutorials_webOS_IPKG_Installer|IPKG Installer]]&lt;br /&gt;
* [[Tutorials_webOS_Installing_An_Ipk|Installing an IPK]]&lt;br /&gt;
* [[Komodo|Komodo Specific Tutorials]]&lt;br /&gt;
* [[Tutorials_webOS_Loading_Existing_Apps_Into_An_Eclipse_Project|Loading Existing apps into an Eclipse Project]]&lt;br /&gt;
* [[Tutorials_webOS_Using Cookies|Using Cookies To Move Variables]]&lt;br /&gt;
* [[Tutorials_webOS_Debugging 101|Common ways to debug your application]]&lt;br /&gt;
&lt;br /&gt;
== Want to write a tutorial and Add it? ==&lt;br /&gt;
&lt;br /&gt;
Just name the article like&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Tutorials webOS &amp;quot; + name&lt;br /&gt;
&lt;br /&gt;
Ex: Tutorials_webOS_Getting_Started&amp;lt;br /&amp;gt;&lt;br /&gt;
(spaces are the same thing as underscores)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
== Policies about adding Applications ==&lt;br /&gt;
&lt;br /&gt;
Your application can be any progress (Completed/Beta/Design Phase), just make sure you have a temporary name. For example if your application is called &amp;quot;Testing This&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=Asteroids&lt;br /&gt;
|article=Asteroids&lt;br /&gt;
|user=AWESOM-O&lt;br /&gt;
|site=http://domain.com/asteroids/&lt;br /&gt;
|description=This is a short description, leave screenshots&lt;br /&gt;
and other details for the application page.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Place this under the [[Portal:webOS Applications All|All webOS Application Portal]], and the category it goes under (for instance &amp;quot;Games&amp;quot; if it is a game). You can always change the applications name just make sure it is not taken and let us know on the [[Admin_Changes|Admin Changes]] page so we can delete the old application page (so others can use it).&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
==Development Projects==&lt;br /&gt;
webOS Mojo and Multiple language projects being developed as open source by the community. &lt;br /&gt;
&lt;br /&gt;
* [[Application:Preware|Preware]]: A mojo app with backend plugin to run ipkg and fetch over the air installs and updates from the Preware ipkg feed.&lt;br /&gt;
* [[On Screen Keyboard]]&lt;br /&gt;
* [[My notification|My notification]] : a Mojo app to enable the changing of system sounds and wallpaper.&lt;br /&gt;
* [[EBook-Reader]]: a Mojo app for reading text-oriented books on line.  &lt;br /&gt;
&lt;br /&gt;
== Development Proposals ==&lt;br /&gt;
These proposals for webOS applications lack a formal project at this time. &lt;br /&gt;
* [[Splash Application|Splash Application]]&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Resources&amp;diff=5525</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Resources&amp;diff=5525"/>
		<updated>2009-09-08T15:53:01Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: /* Web Sites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Web Sites==&lt;br /&gt;
Here's a list of websites with forums, tutorials, and general Palm Pre information.&lt;br /&gt;
&lt;br /&gt;
* [http://developer.palm.com/ Palm webOSdev] - Offical Palm Pre Developer Site&lt;br /&gt;
* [http://www.PreCentral.net/ PreCentral] The most active Pre-centric forums and the largest source for homebrew apps. [[PreCentral|PreCentral]] Page has more details.&lt;br /&gt;
* [http://www.EverythingPre.com/ EverythingPre]&lt;br /&gt;
* [http://www.weboshelp.net/ webOShelp] - webOS Developer Site&lt;br /&gt;
* [http://www.PalmPre.org/ PalmPre] - Unofficial Palm Pre Fan site&lt;br /&gt;
&amp;lt;!--* howard forums - Good for a wide variety of general phone / carrier info--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programming Basics==&lt;br /&gt;
Sites with tutorials covering programming basics (HTML, CSS, Javascript)&lt;br /&gt;
&amp;lt;!-- TEMPLATE FOR LINKING TO SITE&lt;br /&gt;
* [LINK/ NAME] - DESCRIPTION&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===HTML===&lt;br /&gt;
* [http://www.w3schools.com/htmL/ w3c HTML Tutorial]&lt;br /&gt;
* [http://www.htmldog.com/guides/htmlbeginner/ HTML Beginner Tutorial] &lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
* [http://www.w3schools.com/Css/default.asp/ w3c CSS Tutorial]&lt;br /&gt;
* [http://www.csstutorial.net/css_tutorial_part1.php/ The CSS Tutorial]&lt;br /&gt;
* [http://www.htmldog.com/guides/cssbeginner/ CSS Beginner Tutorial]&lt;br /&gt;
&lt;br /&gt;
===JavaScript ===&lt;br /&gt;
* [http://www.w3schools.com/JS/default.asp/ w3c JavaScript Tutorial]&lt;br /&gt;
* [https://developer.mozilla.org/en/A_re-introduction_to_JavaScript/A re-introduction to JavaScript]&lt;br /&gt;
* [http://www.webteacher.com/javascript/JavaScript for the Total Non-Programmer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Books==&lt;br /&gt;
&amp;lt;!-- TEMPLATE FOR LINKING TO SITE&lt;br /&gt;
* [http://LINK/ NAME] - DESCRIPTION&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Palm webOS &lt;br /&gt;
&amp;lt;br&amp;gt;''The Insider's Guide to Developing Applications in JavaScript using the Palm Mojo™ Framework''&lt;br /&gt;
&amp;lt;br&amp;gt;By Mitch Allen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JavaScript: The Good Parts &lt;br /&gt;
&amp;lt;br&amp;gt;''Unearthing the Excellence in JavaScript ''&lt;br /&gt;
&amp;lt;br&amp;gt;By Douglas Crockford&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Resources&amp;diff=5524</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Resources&amp;diff=5524"/>
		<updated>2009-09-08T15:52:43Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: /* Programming Basics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Web Sites==&lt;br /&gt;
Here's a list of websites with forums, tutorials, and general Palm Pre information.&lt;br /&gt;
&lt;br /&gt;
* [http://developer.palm.com/ Palm webOSdev] - Offical Palm Pre Developer Site&lt;br /&gt;
* [http://www.PreCentral.net/ PreCentral] The most active Pre-centric forums and the largest source for homebrew apps. [[PreCentral|PreCentral]] Page has more details.&lt;br /&gt;
* [http://www.EverythingPre.com/ EverythingPre]&lt;br /&gt;
* [http://www.weboshelp.net/ webOShelp] - webOS Developer Site&lt;br /&gt;
* [http://www.PalmPre.org/ PalmPre] - Unofficial Palm Pre Fan site&lt;br /&gt;
* howard forums - Good for a wide variety of general phone / carrier info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Programming Basics==&lt;br /&gt;
Sites with tutorials covering programming basics (HTML, CSS, Javascript)&lt;br /&gt;
&amp;lt;!-- TEMPLATE FOR LINKING TO SITE&lt;br /&gt;
* [LINK/ NAME] - DESCRIPTION&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===HTML===&lt;br /&gt;
* [http://www.w3schools.com/htmL/ w3c HTML Tutorial]&lt;br /&gt;
* [http://www.htmldog.com/guides/htmlbeginner/ HTML Beginner Tutorial] &lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
* [http://www.w3schools.com/Css/default.asp/ w3c CSS Tutorial]&lt;br /&gt;
* [http://www.csstutorial.net/css_tutorial_part1.php/ The CSS Tutorial]&lt;br /&gt;
* [http://www.htmldog.com/guides/cssbeginner/ CSS Beginner Tutorial]&lt;br /&gt;
&lt;br /&gt;
===JavaScript ===&lt;br /&gt;
* [http://www.w3schools.com/JS/default.asp/ w3c JavaScript Tutorial]&lt;br /&gt;
* [https://developer.mozilla.org/en/A_re-introduction_to_JavaScript/A re-introduction to JavaScript]&lt;br /&gt;
* [http://www.webteacher.com/javascript/JavaScript for the Total Non-Programmer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Books==&lt;br /&gt;
&amp;lt;!-- TEMPLATE FOR LINKING TO SITE&lt;br /&gt;
* [http://LINK/ NAME] - DESCRIPTION&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Palm webOS &lt;br /&gt;
&amp;lt;br&amp;gt;''The Insider's Guide to Developing Applications in JavaScript using the Palm Mojo™ Framework''&lt;br /&gt;
&amp;lt;br&amp;gt;By Mitch Allen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JavaScript: The Good Parts &lt;br /&gt;
&amp;lt;br&amp;gt;''Unearthing the Excellence in JavaScript ''&lt;br /&gt;
&amp;lt;br&amp;gt;By Douglas Crockford&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Resources&amp;diff=5523</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Resources&amp;diff=5523"/>
		<updated>2009-09-08T15:52:17Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: /* Books */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Web Sites==&lt;br /&gt;
Here's a list of websites with forums, tutorials, and general Palm Pre information.&lt;br /&gt;
&lt;br /&gt;
* [http://developer.palm.com/ Palm webOSdev] - Offical Palm Pre Developer Site&lt;br /&gt;
* [http://www.PreCentral.net/ PreCentral] The most active Pre-centric forums and the largest source for homebrew apps. [[PreCentral|PreCentral]] Page has more details.&lt;br /&gt;
* [http://www.EverythingPre.com/ EverythingPre]&lt;br /&gt;
* [http://www.weboshelp.net/ webOShelp] - webOS Developer Site&lt;br /&gt;
* [http://www.PalmPre.org/ PalmPre] - Unofficial Palm Pre Fan site&lt;br /&gt;
* howard forums - Good for a wide variety of general phone / carrier info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Programming Basics==&lt;br /&gt;
Sites with tutorials covering programming basics (HTML, CSS, Javascript)&lt;br /&gt;
&amp;lt;!-- TEMPLATE FOR LINKING TO SITE&lt;br /&gt;
* [LINK/ NAME] - DESCRIPTION&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===HTML===&lt;br /&gt;
* [http://www.w3schools.com/htmL/ w3c HTML Tutorial]&lt;br /&gt;
* [http://www.htmldog.com/guides/htmlbeginner/ HTML Beginner Tutorial] &lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
* [http://www.w3schools.com/Css/default.asp/ w3c CSS Tutorial]&lt;br /&gt;
* [http://www.csstutorial.net/css_tutorial_part1.php/ The CSS Tutorial]&lt;br /&gt;
* [http://www.htmldog.com/guides/cssbeginner/ CSS Beginner Tutorial]&lt;br /&gt;
&lt;br /&gt;
===JavaScript ===&lt;br /&gt;
* [http://www.w3schools.com/JS/default.asp/ w3c JavaScript Tutorial]&lt;br /&gt;
* [https://developer.mozilla.org/en/A_re-introduction_to_JavaScript/A re-introduction to JavaScript]&lt;br /&gt;
* [http://www.webteacher.com/javascript/JavaScript for the Total Non-Programmer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Books==&lt;br /&gt;
&amp;lt;!-- TEMPLATE FOR LINKING TO SITE&lt;br /&gt;
* [http://LINK/ NAME] - DESCRIPTION&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Palm webOS &lt;br /&gt;
&amp;lt;br&amp;gt;''The Insider's Guide to Developing Applications in JavaScript using the Palm Mojo™ Framework''&lt;br /&gt;
&amp;lt;br&amp;gt;By Mitch Allen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JavaScript: The Good Parts &lt;br /&gt;
&amp;lt;br&amp;gt;''Unearthing the Excellence in JavaScript ''&lt;br /&gt;
&amp;lt;br&amp;gt;By Douglas Crockford&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Resources&amp;diff=5522</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Resources&amp;diff=5522"/>
		<updated>2009-09-08T15:47:25Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: /* Sites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Web Sites==&lt;br /&gt;
Here's a list of websites with forums, tutorials, and general Palm Pre information.&lt;br /&gt;
&lt;br /&gt;
* [http://developer.palm.com/ Palm webOSdev] - Offical Palm Pre Developer Site&lt;br /&gt;
* [http://www.PreCentral.net/ PreCentral] The most active Pre-centric forums and the largest source for homebrew apps. [[PreCentral|PreCentral]] Page has more details.&lt;br /&gt;
* [http://www.EverythingPre.com/ EverythingPre]&lt;br /&gt;
* [http://www.weboshelp.net/ webOShelp] - webOS Developer Site&lt;br /&gt;
* [http://www.PalmPre.org/ PalmPre] - Unofficial Palm Pre Fan site&lt;br /&gt;
* howard forums - Good for a wide variety of general phone / carrier info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Programming Basics==&lt;br /&gt;
Sites with tutorials covering programming basics (HTML, CSS, Javascript)&lt;br /&gt;
&amp;lt;!-- TEMPLATE FOR LINKING TO SITE&lt;br /&gt;
* [LINK/ NAME] - DESCRIPTION&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===HTML===&lt;br /&gt;
* [http://www.w3schools.com/htmL/ w3c HTML Tutorial]&lt;br /&gt;
* [http://www.htmldog.com/guides/htmlbeginner/ HTML Beginner Tutorial] &lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
* [http://www.w3schools.com/Css/default.asp/ w3c CSS Tutorial]&lt;br /&gt;
* [http://www.csstutorial.net/css_tutorial_part1.php/ The CSS Tutorial]&lt;br /&gt;
* [http://www.htmldog.com/guides/cssbeginner/ CSS Beginner Tutorial]&lt;br /&gt;
&lt;br /&gt;
===JavaScript ===&lt;br /&gt;
* [http://www.w3schools.com/JS/default.asp/ w3c JavaScript Tutorial]&lt;br /&gt;
* [https://developer.mozilla.org/en/A_re-introduction_to_JavaScript/A re-introduction to JavaScript]&lt;br /&gt;
* [http://www.webteacher.com/javascript/JavaScript for the Total Non-Programmer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Books==&lt;br /&gt;
&amp;lt;!-- TEMPLATE FOR LINKING TO SITE&lt;br /&gt;
* [http://LINK/ NAME] - DESCRIPTION&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Someone please clean this page up.&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Mojo_Storage_Cookie&amp;diff=5498</id>
		<title>Mojo Storage Cookie</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Mojo_Storage_Cookie&amp;diff=5498"/>
		<updated>2009-09-07T21:09:44Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cookies are generally used to hold small amounts of information.  A cookie can hold only ONE OBJECT.  That object can be any javascript object (we will see some options later).&lt;br /&gt;
&lt;br /&gt;
===Typical Uses For A Cookie===&lt;br /&gt;
Typical uses for a cookie include user configuration for a game or other application, login info, passing a variable from one file to the next, etc. &lt;br /&gt;
&lt;br /&gt;
===Cookie Creation, Retrieval &amp;amp; Disposal===&lt;br /&gt;
When you want to use a cookie, the processes starts out the same regardless of if you have already used the cookie or not. &lt;br /&gt;
&lt;br /&gt;
====Creating A New Cookie====&lt;br /&gt;
Set a variable to a new cookie object.   &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Setting a variable to a cookie object''&lt;br /&gt;
 myCookie = new Mojo.Model.Cookie('reversi');&lt;br /&gt;
&lt;br /&gt;
Here the name inside the call to Mojo.Model.Cookie names a unique cookie that will be linked to YOUR APPLICATION. &lt;br /&gt;
&lt;br /&gt;
If the cookie was already created, &amp;quot;myCookie&amp;quot; will now be linked to it.  However, if it does not exist, a new cookie is created. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;myCookie&amp;quot; now has three methods available 1).get  2).put  3).remove that you can use to place data into the cookie. Retrieve data out of the cookie. And dispose of the cookie altogether.&lt;br /&gt;
&lt;br /&gt;
====What Can We Store In A Cookie?====&lt;br /&gt;
A cookie can store only one object. But that object can contain any type of variable. For instance, you can store a string &amp;quot;abc&amp;quot;.  You can store a number  123. And you can store the contents of a variable.  That variable can contain an array which might have many values, but the VARIABLE itself is only one object.  &lt;br /&gt;
&lt;br /&gt;
You can also store a javascript object.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: creation of a javascript object named &amp;quot;myObject&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
 var myObject = {&amp;quot;name&amp;quot;: &amp;quot;Fred&amp;quot;, &amp;quot;Address&amp;quot;: &amp;quot;123 w 4th St&amp;quot;, &amp;quot;City&amp;quot;: &amp;quot;Somewhere&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Putting Something Into The Cookie====&lt;br /&gt;
Above we created a variable named &amp;quot;myObject&amp;quot; that holds the data. Now, we can store the variable &amp;quot;myObject&amp;quot; in the &amp;quot;myCookie&amp;quot; object we created earlier using the '.put' method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: putting the contents of &amp;quot;myObject&amp;quot; into the cookie &amp;quot;myCookie&amp;quot;''&lt;br /&gt;
 myCookie.put(myObject)  &lt;br /&gt;
&lt;br /&gt;
====Retrieving A Cookies Contents====&lt;br /&gt;
When you're ready to do something with that cookie's contents you will retrieve the object with the '.get' method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: retrieving a cookies content and placing it in an object''&lt;br /&gt;
 someOtherObject = myCookie.get() &lt;br /&gt;
&lt;br /&gt;
Now, we can just refer to that object's properties... &lt;br /&gt;
&lt;br /&gt;
someOtherObject.name will now be &amp;quot;Fred&amp;quot;    someOtherObject.city will be Somewhere.  &lt;br /&gt;
&lt;br /&gt;
Side note:&lt;br /&gt;
::{| style=&amp;quot;color:blue; background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|When you call the .get method, provided the cookie exists, and has data in it. You get the object that was stored in that cookie returned to you.  However, if the cookie does NOT have data in it, the .get returns ''undefined''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Retrieving a cookies content &amp;amp; testing if the cookies holds anything''&lt;br /&gt;
&lt;br /&gt;
 cookieObject = this.cookie.get()&lt;br /&gt;
 if (cookieObject === undefined)  {&lt;br /&gt;
     //do something that sets defaults&lt;br /&gt;
 } else {&lt;br /&gt;
    //  do something with the data in cookieObject.&lt;br /&gt;
 }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#So,  create an object.  &lt;br /&gt;
#Get it.  &lt;br /&gt;
#Check if it's undefined.  If it is,  define it. &lt;br /&gt;
#Otherwise,  grab the data and go on.  &lt;br /&gt;
#If the data changes, PUT IT BACK. &lt;br /&gt;
&lt;br /&gt;
====Throwing The Cookie Away====&lt;br /&gt;
To get rid of a cookie that you no longer want, call the remove method. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: removing &amp;quot;myCookie&amp;quot;''&lt;br /&gt;
 myCookie.remove. &lt;br /&gt;
&lt;br /&gt;
===Javascript Object Notes===&lt;br /&gt;
Simple.  Now, a couple of side notes.   As was said above, you can store ANY object in a cookie. So,  If all you want to do is store a single high score in a cookie, you can simply do&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: ''&lt;br /&gt;
 myCookie = new Mojo.Model.Cookie('score');&lt;br /&gt;
 myCookie.put(highScore);&lt;br /&gt;
&lt;br /&gt;
Your app can create more than one cookie.  You could for example do: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: ''&lt;br /&gt;
 levelCookie = new Mojo.Model.Cookie('level');&lt;br /&gt;
 levelCookie.put(highScore);&lt;br /&gt;
 scoreCookie = new Mojo.Model.Cookie('score');&lt;br /&gt;
 scoreCookie.put(highScore);&lt;br /&gt;
&lt;br /&gt;
Instead of putting score and level into a single object as above.  There is no particular advantage or disadvantage to either technique, it is a style preference.  Note that in WEB programming, a site creating more than one cookie is considered impolite.  This is not an issue ''inside the phone''.   In any case, the cookies are tied directly to your app, and the data is not available to other apps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;More information on Mojo Cookies can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.palm.com/palm-sdk/jsdoc/symbols/Mojo.Model.Cookie.html&lt;br /&gt;
&amp;lt;br&amp;gt;http://www.webos-internals.org/wiki/Tutorials_webOS_Using_Cookies&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Using_Cookies&amp;diff=5497</id>
		<title>Tutorials webOS Using Cookies</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Using_Cookies&amp;diff=5497"/>
		<updated>2009-09-07T21:08:36Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Using Cookies To Move Variables To Different Scenes==&lt;br /&gt;
&lt;br /&gt;
This is my non-technical take on how to make cookies for the WebOS&lt;br /&gt;
&lt;br /&gt;
In life if you want to make a special cookie there's an order you need to follow.&lt;br /&gt;
&lt;br /&gt;
# Name your cookie&lt;br /&gt;
# Make your cookie and put it into a container&lt;br /&gt;
# Move your cookie container to the new room&lt;br /&gt;
# Get your cookies and share them&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In the following example I want to move a variable stored in “this.numBalance” over to my second  scene.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The javascript file for the first scene (first-assistant.js) holds the variable (this.numBalance) I want to move and use in the next scene (second-assistant.js). The event that will push the variable to the next scene is a button click, so I would place the cookie code into my &amp;quot; FirstAssistant.prototype.handleClicked = function&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Here’s the variable to be pushed to the next scene&lt;br /&gt;
&lt;br /&gt;
 this.numBalance = this.nBalancemodel.value;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next create a cookie named this.numBalanceCookie  in the cookies system and then associate the cookie with the property of the current scene. All this does is name your cookie. No values have been placed inside of it.&lt;br /&gt;
&lt;br /&gt;
 this.numBalanceCookie = new Mojo.Model.Cookie(&amp;quot;numBalance&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Next put the this.numBalance variable into the this.numBalanceCookie. In this example I'm using an if statement to first check if the variable is not empty then put its value into the numBalanceCookie.&lt;br /&gt;
&lt;br /&gt;
 if (this.numBalance != '') {&lt;br /&gt;
  this.numBalanceCookie.put(this.numBalance);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;In the second-assistant.js file's setup function (Second Assistant.prototype.setup = function) retrieve and use the cookie’s variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You need to still create a cookie named this.numBalanceCookie  in this scene’s cookies system and associate it to the current scene.&lt;br /&gt;
&lt;br /&gt;
 this.numBalanceCookie = new Mojo.Model.Cookie(&amp;quot;numBalance&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Now you can retrieve the cookie’s (this.numBalanceCookie) value with the get function and place the value into a new variable (this.numBalance).&lt;br /&gt;
&lt;br /&gt;
 this.numBalance = this.numBalanceCookie.get();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Now you can use the this.numBalance variable&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;In this example we used two of the three methods available in the Mojo.Model.Cookie Class&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The methods available are:&lt;br /&gt;
&lt;br /&gt;
:;get()&lt;br /&gt;
::Returns the object stored in this cookie, or undefined if no such cookie exists&lt;br /&gt;
:;put()&lt;br /&gt;
::Creates or updates the value of this cookie.&lt;br /&gt;
:;remove()&lt;br /&gt;
::Deletes this cookie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;More information on Mojo Cookies can be found here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.palm.com/palm-sdk/jsdoc/symbols/Mojo.Model.Cookie.html&lt;br /&gt;
&amp;lt;br&amp;gt;http://www.webos-internals.org/wiki/Mojo_Storage_Cookie&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Mojo_Storage_Cookie&amp;diff=5496</id>
		<title>Mojo Storage Cookie</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Mojo_Storage_Cookie&amp;diff=5496"/>
		<updated>2009-09-07T20:09:17Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cookies are generally used to hold small amounts of information.  A cookie can hold only ONE OBJECT.  That object can be any javascript object (we will see some options later).&lt;br /&gt;
&lt;br /&gt;
===Typical Uses For A Cookie===&lt;br /&gt;
Typical uses for a cookie include user configuration for a game or other application, login info, passing a variable from one file to the next, etc. &lt;br /&gt;
&lt;br /&gt;
===Cookie Creation, Retrieval &amp;amp; Disposal===&lt;br /&gt;
When you want to use a cookie, the processes starts out the same regardless of if you have already used the cookie or not. &lt;br /&gt;
&lt;br /&gt;
====Creating A New Cookie====&lt;br /&gt;
Set a variable to a new cookie object.   &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Setting a variable to a cookie object''&lt;br /&gt;
 myCookie = new Mojo.Model.Cookie('reversi');&lt;br /&gt;
&lt;br /&gt;
Here the name inside the call to Mojo.Model.Cookie names a unique cookie that will be linked to YOUR APPLICATION. &lt;br /&gt;
&lt;br /&gt;
If the cookie was already created, &amp;quot;myCookie&amp;quot; will now be linked to it.  However, if it does not exist, a new cookie is created. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;myCookie&amp;quot; now has three methods available 1).get  2).put  3).remove that you can use to place data into the cookie. Retrieve data out of the cookie. And dispose of the cookie altogether.&lt;br /&gt;
&lt;br /&gt;
====What Can We Store In A Cookie?====&lt;br /&gt;
A cookie can store only one object. But that object can contain any type of variable. For instance, you can store a string &amp;quot;abc&amp;quot;.  You can store a number  123. And you can store the contents of a variable.  That variable can contain an array which might have many values, but the VARIABLE itself is only one object.  &lt;br /&gt;
&lt;br /&gt;
You can also store a javascript object.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: creation of a javascript object named &amp;quot;myObject&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
 var myObject = {&amp;quot;name&amp;quot;: &amp;quot;Fred&amp;quot;, &amp;quot;Address&amp;quot;: &amp;quot;123 w 4th St&amp;quot;, &amp;quot;City&amp;quot;: &amp;quot;Somewhere&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Putting Something Into The Cookie====&lt;br /&gt;
Above we created a variable named &amp;quot;myObject&amp;quot; that holds the data. Now, we can store the variable &amp;quot;myObject&amp;quot; in the &amp;quot;myCookie&amp;quot; object we created earlier using the '.put' method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: putting the contents of &amp;quot;myObject&amp;quot; into the cookie &amp;quot;myCookie&amp;quot;''&lt;br /&gt;
 myCookie.put(myObject)  &lt;br /&gt;
&lt;br /&gt;
====Retrieving A Cookies Contents====&lt;br /&gt;
When you're ready to do something with that cookie's contents you will retrieve the object with the '.get' method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: retrieving a cookies content and placing it in an object''&lt;br /&gt;
 someOtherObject = myCookie.get() &lt;br /&gt;
&lt;br /&gt;
Now, we can just refer to that object's properties... &lt;br /&gt;
&lt;br /&gt;
someOtherObject.name will now be &amp;quot;Fred&amp;quot;    someOtherObject.city will be Somewhere.  &lt;br /&gt;
&lt;br /&gt;
Side note:&lt;br /&gt;
::{| style=&amp;quot;color:blue; background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|When you call the .get method, provided the cookie exists, and has data in it. You get the object that was stored in that cookie returned to you.  However, if the cookie does NOT have data in it, the .get returns ''undefined''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Retrieving a cookies content &amp;amp; testing if the cookies holds anything''&lt;br /&gt;
&lt;br /&gt;
 cookieObject = this.cookie.get()&lt;br /&gt;
 if (cookieObject === undefined)  {&lt;br /&gt;
     //do something that sets defaults&lt;br /&gt;
 } else {&lt;br /&gt;
    //  do something with the data in cookieObject.&lt;br /&gt;
 }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#So,  create an object.  &lt;br /&gt;
#Get it.  &lt;br /&gt;
#Check if it's undefined.  If it is,  define it. &lt;br /&gt;
#Otherwise,  grab the data and go on.  &lt;br /&gt;
#If the data changes, PUT IT BACK. &lt;br /&gt;
&lt;br /&gt;
====Throwing The Cookie Away====&lt;br /&gt;
To get rid of a cookie that you no longer want, call the remove method. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: removing &amp;quot;myCookie&amp;quot;''&lt;br /&gt;
 myCookie.remove. &lt;br /&gt;
&lt;br /&gt;
===Javascript Object Notes===&lt;br /&gt;
Simple.  Now, a couple of side notes.   As was said above, you can store ANY object in a cookie. So,  If all you want to do is store a single high score in a cookie, you can simply do&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: ''&lt;br /&gt;
 myCookie = new Mojo.Model.Cookie('score');&lt;br /&gt;
 myCookie.put(highScore);&lt;br /&gt;
&lt;br /&gt;
Your app can create more than one cookie.  You could for example do: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: ''&lt;br /&gt;
 levelCookie = new Mojo.Model.Cookie('level');&lt;br /&gt;
 levelCookie.put(highScore);&lt;br /&gt;
 scoreCookie = new Mojo.Model.Cookie('score');&lt;br /&gt;
 scoreCookie.put(highScore);&lt;br /&gt;
&lt;br /&gt;
Instead of putting score and level into a single object as above.  There is no particular advantage or disadvantage to either technique, it is a style preference.  Note that in WEB programming, a site creating more than one cookie is considered impolite.  This is not an issue ''inside the phone''.   In any case, the cookies are tied directly to your app, and the data is not available to other apps.&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Mojo_Storage_Cookie&amp;diff=5495</id>
		<title>Mojo Storage Cookie</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Mojo_Storage_Cookie&amp;diff=5495"/>
		<updated>2009-09-07T19:52:46Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cookies are generally used to hold small amounts of information.  A cookie can hold only ONE OBJECT.  That object can be any javascript object (we will see some options later).&lt;br /&gt;
&lt;br /&gt;
===Typical Uses For A Cookie===&lt;br /&gt;
Typical uses for a cookie include user configuration for a game or other application, login info, passing a variable from one file to the next, etc. &lt;br /&gt;
&lt;br /&gt;
===Cookie Creation, Retrieval &amp;amp; Disposal===&lt;br /&gt;
When you want to use a cookie, the processes starts out the same regardless of if you have already used the cookie or not. &lt;br /&gt;
&lt;br /&gt;
====Creating A New Cookie====&lt;br /&gt;
Set a variable to a new cookie object.   &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Setting a variable to a cookie object''&lt;br /&gt;
 myCookie = new Mojo.Model.Cookie('reversi');&lt;br /&gt;
&lt;br /&gt;
Here the name inside the call to Mojo.Model.Cookie names a unique cookie that will be linked to YOUR APPLICATION. &lt;br /&gt;
&lt;br /&gt;
If the cookie was already created, &amp;quot;myCookie&amp;quot; will now be linked to it.  However, if it does not exist, a new cookie is created. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;myCookie&amp;quot; now has three methods available 1).get  2).put  3).remove that you can use to place data into the cookie. Retrieve data out of the cookie. And dispose of the cookie altogether.&lt;br /&gt;
&lt;br /&gt;
====What Can We Store In A Cookie?====&lt;br /&gt;
A cookie can store only one object. But that object can contain any type of variable. For instance, you can store a string &amp;quot;abc&amp;quot;.  You can store a number  123. And you can store the contents of a variable.  That variable can contain an array which might have many values, but the VARIABLE itself is only one object.  &lt;br /&gt;
&lt;br /&gt;
You can also store a javascript object.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: creation of a javascript object named &amp;quot;myObject&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
 var myObject = {&amp;quot;name&amp;quot;: &amp;quot;Fred&amp;quot;, &amp;quot;Address&amp;quot;: &amp;quot;123 w 4th St&amp;quot;, &amp;quot;City&amp;quot;: &amp;quot;Somewhere&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Putting Something Into The Cookie====&lt;br /&gt;
Above we created a variable named &amp;quot;myObject&amp;quot; that holds the data. Now, we can store the variable &amp;quot;myObject&amp;quot; in the &amp;quot;myCookie&amp;quot; object we created earlier using the '.put' method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: putting the contents of &amp;quot;myObject&amp;quot; into the cookie &amp;quot;myCookie&amp;quot;''&lt;br /&gt;
 myCookie.put(myObject)  &lt;br /&gt;
&lt;br /&gt;
====Retrieving A Cookies Contents====&lt;br /&gt;
When you're ready to do something with that cookie's contents you will retrieve the object with the '.get' method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: retrieving a cookies content and placing it in an object''&lt;br /&gt;
 someOtherObject = myCookie.get() &lt;br /&gt;
&lt;br /&gt;
Now, we can just refer to that object's properties... &lt;br /&gt;
&lt;br /&gt;
someOtherObject.name will now be &amp;quot;Fred&amp;quot;    someOtherObject.city will be Somewhere.  &lt;br /&gt;
&lt;br /&gt;
Side note:&lt;br /&gt;
::{| style=&amp;quot;color:blue; background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|When you call the .get method, provided the cookie exists, and has data in it. You get the object that was stored in that cookie returned to you.  However, if the cookie does NOT have data in it, the .get returns ''undefined''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Retrieving a cookies content &amp;amp; testing if the cookies holds anything''&lt;br /&gt;
&lt;br /&gt;
 cookieObject = this.cookie.get()&lt;br /&gt;
 if (cookieObject === undefined)  {&lt;br /&gt;
     //do something that sets defaults&lt;br /&gt;
 } else {&lt;br /&gt;
    //  do something with the data in cookieObject.&lt;br /&gt;
 }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you call the .get method, provided the cookie exists, and has data in it. You get the object that was stored in that cookie returned to you.  However, if the cookie does NOT have data in it, the .get returns ''undefined''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Retrieving a cookies content &amp;amp; testing if the cookies holds anything''&lt;br /&gt;
&lt;br /&gt;
 cookieObject = this.cookie.get()&lt;br /&gt;
 if (cookieObject === undefined)  {&lt;br /&gt;
     //do something that sets defaults&lt;br /&gt;
 } else {&lt;br /&gt;
    //  do something with the data in cookieObject.&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#So,  create an object.  &lt;br /&gt;
#Get it.  &lt;br /&gt;
#Check if it's undefined.  If it is,  define it. &lt;br /&gt;
#Otherwise,  grab the data and go on.  &lt;br /&gt;
#If the data changes, PUT IT BACK. &lt;br /&gt;
&lt;br /&gt;
====Throwing The Cookie Away====&lt;br /&gt;
To get rid of a cookie that you no longer want, call the remove method. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: removing &amp;quot;myCookie&amp;quot;''&lt;br /&gt;
 myCookie.remove. &lt;br /&gt;
&lt;br /&gt;
===Javascript Object Notes===&lt;br /&gt;
Simple.  Now, a couple of side notes.   As was said above, you can store ANY object in a cookie. So,  If all you want to do is store a single high score in a cookie, you can simply do&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: ''&lt;br /&gt;
 myCookie = new Mojo.Model.Cookie('score');&lt;br /&gt;
 myCookie.put(highScore);&lt;br /&gt;
&lt;br /&gt;
Your app can create more than one cookie.  You could for example do: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: ''&lt;br /&gt;
 levelCookie = new Mojo.Model.Cookie('level');&lt;br /&gt;
 levelCookie.put(highScore);&lt;br /&gt;
 scoreCookie = new Mojo.Model.Cookie('score');&lt;br /&gt;
 scoreCookie.put(highScore);&lt;br /&gt;
&lt;br /&gt;
Instead of putting score and level into a single object as above.  There is no particular advantage or disadvantage to either technique, it is a style preference.  Note that in WEB programming, a site creating more than one cookie is considered impolite.  This is not an issue ''inside the phone''.   In any case, the cookies are tied directly to your app, and the data is not available to other apps.&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Mojo_Storage_Cookie&amp;diff=5494</id>
		<title>Mojo Storage Cookie</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Mojo_Storage_Cookie&amp;diff=5494"/>
		<updated>2009-09-07T19:51:05Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cookies are generally used to hold small amounts of information.  A cookie can hold only ONE OBJECT.  That object can be any javascript object (we will see some options later).&lt;br /&gt;
&lt;br /&gt;
===Typical Uses For A Cookie===&lt;br /&gt;
Typical uses for a cookie include user configuration for a game or other application, login info, passing a variable from one file to the next, etc. &lt;br /&gt;
&lt;br /&gt;
===Cookie Creation, Retrieval &amp;amp; Disposal===&lt;br /&gt;
When you want to use a cookie, the processes starts out the same regardless of if you have already used the cookie or not. &lt;br /&gt;
&lt;br /&gt;
====Creating A New Cookie====&lt;br /&gt;
Set a variable to a new cookie object.   &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Setting a variable to a cookie object''&lt;br /&gt;
 myCookie = new Mojo.Model.Cookie('reversi');&lt;br /&gt;
&lt;br /&gt;
Here the name inside the call to Mojo.Model.Cookie names a unique cookie that will be linked to YOUR APPLICATION. &lt;br /&gt;
&lt;br /&gt;
If the cookie was already created, &amp;quot;myCookie&amp;quot; will now be linked to it.  However, if it does not exist, a new cookie is created. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;myCookie&amp;quot; now has three methods available 1).get  2).put  3).remove that you can use to place data into the cookie. Retrieve data out of the cookie. And dispose of the cookie altogether.&lt;br /&gt;
&lt;br /&gt;
====What Can We Store In A Cookie?====&lt;br /&gt;
A cookie can store only one object. But that object can contain any type of variable. For instance, you can store a string &amp;quot;abc&amp;quot;.  You can store a number  123. And you can store the contents of a variable.  That variable can contain an array which might have many values, but the VARIABLE itself is only one object.  &lt;br /&gt;
&lt;br /&gt;
You can also store a javascript object.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: creation of a javascript object named &amp;quot;myObject&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
 var myObject = {&amp;quot;name&amp;quot;: &amp;quot;Fred&amp;quot;, &amp;quot;Address&amp;quot;: &amp;quot;123 w 4th St&amp;quot;, &amp;quot;City&amp;quot;: &amp;quot;Somewhere&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Putting Something Into The Cookie====&lt;br /&gt;
Above we created a variable named &amp;quot;myObject&amp;quot; that holds the data. Now, we can store the variable &amp;quot;myObject&amp;quot; in the &amp;quot;myCookie&amp;quot; object we created earlier using the '.put' method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: putting the contents of &amp;quot;myObject&amp;quot; into the cookie &amp;quot;myCookie&amp;quot;''&lt;br /&gt;
 myCookie.put(myObject)  &lt;br /&gt;
&lt;br /&gt;
====Retrieving A Cookies Contents====&lt;br /&gt;
When you're ready to do something with that cookie's contents you will retrieve the object with the '.get' method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: retrieving a cookies content and placing it in an object''&lt;br /&gt;
 someOtherObject = myCookie.get() &lt;br /&gt;
&lt;br /&gt;
Now, we can just refer to that object's properties... &lt;br /&gt;
&lt;br /&gt;
someOtherObject.name will now be &amp;quot;Fred&amp;quot;    someOtherObject.city will be Somewhere.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Side note:&lt;br /&gt;
::{| style=&amp;quot;color:blue; background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|When you call the .get method, provided the cookie exists, and has data in it. You get the object that was stored in that cookie returned to you.  However, if the cookie does NOT have data in it, the .get returns ''undefined''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Retrieving a cookies content &amp;amp; testing if the cookies holds anything''&lt;br /&gt;
&lt;br /&gt;
 cookieObject = this.cookie.get()&lt;br /&gt;
 if (cookieObject === undefined)  {&lt;br /&gt;
     //do something that sets defaults&lt;br /&gt;
 } else {&lt;br /&gt;
    //  do something with the data in cookieObject.&lt;br /&gt;
 }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you call the .get method, provided the cookie exists, and has data in it. You get the object that was stored in that cookie returned to you.  However, if the cookie does NOT have data in it, the .get returns ''undefined''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Retrieving a cookies content &amp;amp; testing if the cookies holds anything''&lt;br /&gt;
&lt;br /&gt;
 cookieObject = this.cookie.get()&lt;br /&gt;
 if (cookieObject === undefined)  {&lt;br /&gt;
     //do something that sets defaults&lt;br /&gt;
 } else {&lt;br /&gt;
    //  do something with the data in cookieObject.&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#So,  create an object.  &lt;br /&gt;
#Get it.  &lt;br /&gt;
#Check if it's undefined.  If it is,  define it. &lt;br /&gt;
#Otherwise,  grab the data and go on.  &lt;br /&gt;
#If the data changes, PUT IT BACK. &lt;br /&gt;
&lt;br /&gt;
====Throwing The Cookie Away====&lt;br /&gt;
To get rid of a cookie that you no longer want, call the remove method. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: removing &amp;quot;myCookie&amp;quot;''&lt;br /&gt;
 myCookie.remove. &lt;br /&gt;
&lt;br /&gt;
===Javascript Object Notes===&lt;br /&gt;
Simple.  Now, a couple of side notes.   As was said above, you can store ANY object in a cookie. So,  If all you want to do is store a single high score in a cookie, you can simply do&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: ''&lt;br /&gt;
 myCookie = new Mojo.Model.Cookie('score');&lt;br /&gt;
 myCookie.put(highScore);&lt;br /&gt;
&lt;br /&gt;
Your app can create more than one cookie.  You could for example do: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: ''&lt;br /&gt;
 levelCookie = new Mojo.Model.Cookie('level');&lt;br /&gt;
 levelCookie.put(highScore);&lt;br /&gt;
 scoreCookie = new Mojo.Model.Cookie('score');&lt;br /&gt;
 scoreCookie.put(highScore);&lt;br /&gt;
&lt;br /&gt;
Instead of putting score and level into a single object as above.  There is no particular advantage or disadvantage to either technique, it is a style preference.  Note that in WEB programming, a site creating more than one cookie is considered impolite.  This is not an issue ''inside the phone''.   In any case, the cookies are tied directly to your app, and the data is not available to other apps.&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Mojo_Storage_Cookie&amp;diff=5493</id>
		<title>Mojo Storage Cookie</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Mojo_Storage_Cookie&amp;diff=5493"/>
		<updated>2009-09-07T19:45:49Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cookies are generally used to hold small amounts of information.  A cookie can hold only ONE OBJECT.  That object can be any javascript object (we will see some options later).&lt;br /&gt;
&lt;br /&gt;
===Typical Uses For A Cookie===&lt;br /&gt;
Typical uses for a cookie include user configuration for a game or other application, login info, passing a variable from one file to the next, etc. &lt;br /&gt;
&lt;br /&gt;
===Cookie Creation, Retrieval &amp;amp; Disposal===&lt;br /&gt;
When you want to use a cookie, the processes starts out the same regardless of if you have already used the cookie or not. &lt;br /&gt;
====Creating A New Cookie====&lt;br /&gt;
Set a variable to a cookie object.    &lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Setting a variable to a cookie object''&lt;br /&gt;
 myCookie = new Mojo.Model.Cookie('reversi');&lt;br /&gt;
&lt;br /&gt;
Here the name inside the call to Mojo.Model.Cookie names a unique cookie that will be linked to YOUR APPLICATION. &lt;br /&gt;
&lt;br /&gt;
If the cookie was already created, &amp;quot;myCookie&amp;quot; will now be linked to it.  However, if it does not exist, a new cookie is created. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;myCookie&amp;quot; now has three methods available&lt;br /&gt;
;#.get  &lt;br /&gt;
;#.put  &lt;br /&gt;
;#.remove&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====What Can We Store In A Cookie?====&lt;br /&gt;
&lt;br /&gt;
A cookie can store only one object. But that object can contain any type of variable. For instance, you can store a string &amp;quot;abc&amp;quot;.  You can store a number  123. And you can store the contents of a variable.  That variable can contain an array which might have many values, but the VARIABLE itself is only one object.  &lt;br /&gt;
&lt;br /&gt;
You can also store a javascript object.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: creation of a javascript object named &amp;quot;myObject&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
 var myObject = {&amp;quot;name&amp;quot;: &amp;quot;Fred&amp;quot;, &amp;quot;Address&amp;quot;: &amp;quot;123 w 4th St&amp;quot;, &amp;quot;City&amp;quot;: &amp;quot;Somewhere&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Putting Something Into The Cookie====&lt;br /&gt;
Above we created a variable named &amp;quot;myObject&amp;quot; that holds the data. Now, we can store the variable &amp;quot;myObject&amp;quot; in the &amp;quot;myCookie&amp;quot; object we created earlier using the '.put' method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: putting the contents of &amp;quot;myObject&amp;quot; into the cookie &amp;quot;myCookie&amp;quot;''&lt;br /&gt;
 myCookie.put(myObject)  &lt;br /&gt;
&lt;br /&gt;
====Retrieving A Cookies Contents====&lt;br /&gt;
When you're ready to do something with that cookie's contents you will retrieve the object with the '.get' method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: retrieving a cookies content and placing it in an object''&lt;br /&gt;
 someOtherObject = myCookie.get() &lt;br /&gt;
&lt;br /&gt;
Now, we can just refer to that object's properties... &lt;br /&gt;
&lt;br /&gt;
someOtherObject.name will now be &amp;quot;Fred&amp;quot;    someOtherObject.city will be Somewhere.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Side note:&lt;br /&gt;
::{| style=&amp;quot;color:blue; background-color:#ffffcc;&amp;quot; cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|When you call the .get method, provided the cookie exists, and has data in it. You get the object that was stored in that cookie returned to you.  However, if the cookie does NOT have data in it, the .get returns ''undefined''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Retrieving a cookies content &amp;amp; testing if the cookies holds anything''&lt;br /&gt;
&lt;br /&gt;
 cookieObject = this.cookie.get()&lt;br /&gt;
 if (cookieObject === undefined)  {&lt;br /&gt;
     //do something that sets defaults&lt;br /&gt;
 } else {&lt;br /&gt;
    //  do something with the data in cookieObject.&lt;br /&gt;
 }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you call the .get method, provided the cookie exists, and has data in it. You get the object that was stored in that cookie returned to you.  However, if the cookie does NOT have data in it, the .get returns ''undefined''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: Retrieving a cookies content &amp;amp; testing if the cookies holds anything''&lt;br /&gt;
&lt;br /&gt;
 cookieObject = this.cookie.get()&lt;br /&gt;
 if (cookieObject === undefined)  {&lt;br /&gt;
     //do something that sets defaults&lt;br /&gt;
 } else {&lt;br /&gt;
    //  do something with the data in cookieObject.&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#So,  create an object.  &lt;br /&gt;
#Get it.  &lt;br /&gt;
#Check if it's undefined.  If it is,  define it. &lt;br /&gt;
#Otherwise,  grab the data and go on.  &lt;br /&gt;
#If the data changes, PUT IT BACK. &lt;br /&gt;
&lt;br /&gt;
====Throwing The Cookie Away====&lt;br /&gt;
To get rid of a cookie that you no longer want, call the remove method. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: removing &amp;quot;myCookie&amp;quot;''&lt;br /&gt;
 myCookie.remove. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Javascript Object Notes===&lt;br /&gt;
Simple.  Now, a couple of side notes.   As was said above, you can store ANY object in a cookie. So,  If all you want to do is store a single high score in a cookie, you can simply do&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: ''&lt;br /&gt;
 myCookie = new Mojo.Model.Cookie('score');&lt;br /&gt;
 myCookie.put(highScore);&lt;br /&gt;
&lt;br /&gt;
Your app can create more than one cookie.  You could for example do: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Example: ''&lt;br /&gt;
 levelCookie = new Mojo.Model.Cookie('level');&lt;br /&gt;
 levelCookie.put(highScore);&lt;br /&gt;
 scoreCookie = new Mojo.Model.Cookie('score');&lt;br /&gt;
 scoreCookie.put(highScore);&lt;br /&gt;
&lt;br /&gt;
Instead of putting score and level into a single object as above.  There is no particular advantage or disadvantage to either technique, it is a style preference.  Note that in WEB programming, a site creating more than one cookie is considered impolite.  This is not an issue ''inside the phone''.   In any case, the cookies are tied directly to your app, and the data is not available to other apps.&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Using_Cookies&amp;diff=5483</id>
		<title>Tutorials webOS Using Cookies</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Using_Cookies&amp;diff=5483"/>
		<updated>2009-09-07T17:31:13Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: New page: ==Using Cookies To Move Variables To Different Scenes==  This is my non-technical take on how to make cookies for the WebOS  In life if you want to make a special cookie there's an order y...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Using Cookies To Move Variables To Different Scenes==&lt;br /&gt;
&lt;br /&gt;
This is my non-technical take on how to make cookies for the WebOS&lt;br /&gt;
&lt;br /&gt;
In life if you want to make a special cookie there's an order you need to follow.&lt;br /&gt;
&lt;br /&gt;
# Name your cookie&lt;br /&gt;
# Make your cookie and put it into a container&lt;br /&gt;
# Move your cookie container to the new room&lt;br /&gt;
# Get your cookies and share them&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In the following example I want to move a variable stored in “this.numBalance” over to my second  scene.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The javascript file for the first scene (first-assistant.js) holds the variable (this.numBalance) I want to move and use in the next scene (second-assistant.js). The event that will push the variable to the next scene is a button click, so I would place the cookie code into my &amp;quot; FirstAssistant.prototype.handleClicked = function&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Here’s the variable to be pushed to the next scene&lt;br /&gt;
&lt;br /&gt;
 this.numBalance = this.nBalancemodel.value;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next create a cookie named this.numBalanceCookie  in the cookies system and then associate the cookie with the property of the current scene. All this does is name your cookie. No values have been placed inside of it.&lt;br /&gt;
&lt;br /&gt;
 this.numBalanceCookie = new Mojo.Model.Cookie(&amp;quot;numBalance&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Next put the this.numBalance variable into the this.numBalanceCookie. In this example I'm using an if statement to first check if the variable is not empty then put its value into the numBalanceCookie.&lt;br /&gt;
&lt;br /&gt;
 if (this.numBalance != '') {&lt;br /&gt;
  this.numBalanceCookie.put(this.numBalance);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;In the second-assistant.js file's setup function (Second Assistant.prototype.setup = function) retrieve and use the cookie’s variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;You need to still create a cookie named this.numBalanceCookie  in this scene’s cookies system and associate it to the current scene.&lt;br /&gt;
&lt;br /&gt;
 this.numBalanceCookie = new Mojo.Model.Cookie(&amp;quot;numBalance&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Now you can retrieve the cookie’s (this.numBalanceCookie) value with the get function and place the value into a new variable (this.numBalance).&lt;br /&gt;
&lt;br /&gt;
 this.numBalance = this.numBalanceCookie.get();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Now you can use the this.numBalance variable&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;In this example we used two of the three methods available in the Mojo.Model.Cookie Class&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The methods available are:&lt;br /&gt;
&lt;br /&gt;
:;get()&lt;br /&gt;
::Returns the object stored in this cookie, or undefined if no such cookie exists&lt;br /&gt;
:;put()&lt;br /&gt;
::Creates or updates the value of this cookie.&lt;br /&gt;
:;remove()&lt;br /&gt;
::Deletes this cookie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;More information on Mojo Cookies can be found here:&lt;br /&gt;
http://developer.palm.com/palm-sdk/jsdoc/symbols/Mojo.Model.Cookie.html&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:webOS_Applications&amp;diff=5480</id>
		<title>Portal:webOS Applications</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:webOS_Applications&amp;diff=5480"/>
		<updated>2009-09-07T14:55:10Z</updated>

		<summary type="html">&lt;p&gt;G33kgirl: /* Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&lt;br /&gt;
{{preware}}&lt;br /&gt;
{{portal-header&lt;br /&gt;
|The Instructions on [[Tutorials_webOS_Hello_World|building WebOS Mojo applications]] of your own are simple and straight forward.&lt;br /&gt;
}}&lt;br /&gt;
{{portal-header&lt;br /&gt;
|If you are looking for [[Portal:Patches_to_webOS|patches to modify existing webOS applications]] those are found in '''[[Portal:Patches_to_webOS|Patches to webOS]]'''. &lt;br /&gt;
}}&lt;br /&gt;
{{portal-three-columns&lt;br /&gt;
|column1=&lt;br /&gt;
* [[Portal:webOS_Applications_All|All]]&lt;br /&gt;
* [[Portal:webOS_Applications_Business|Business]]&lt;br /&gt;
* [[Portal:webOS_Applications_Communications|Communications]]&lt;br /&gt;
* [[Portal:webOS_Applications_Entertainment|Entertainment]]&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
* [[Portal:webOS_Applications_Food|Food]]&lt;br /&gt;
* [[Portal:webOS_Applications_Games|Games]]&lt;br /&gt;
* [[Portal:webOS_Applications_Lifestyle|Lifestyle]]&lt;br /&gt;
* [[Portal:webOS_Applications_News|News]]&lt;br /&gt;
&lt;br /&gt;
|column3=&lt;br /&gt;
* [[Portal:webOS_Applications_Social Networking|Social Networking]]&lt;br /&gt;
* [[Portal:webOS_Applications_Tutorial|Tutorial]]&lt;br /&gt;
* [[Portal:webOS_Applications_Utilities|Utilities]]&lt;br /&gt;
* [[Portal:webOS_Applications_Productivity|Productivity]]&lt;br /&gt;
}}&lt;br /&gt;
{{portal-two-columns&lt;br /&gt;
|column1=&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorials_webOS_Getting_Started|Getting Started Developing]]&lt;br /&gt;
* [[Tutorials_webOS_Hello_World|Building Your First Application]]&lt;br /&gt;
* [[Tutorials_webOS_Porting_Older_App|Porting older javascript apps]]&lt;br /&gt;
* [[Tutorials_webOS_IPKG_Installer|IPKG Installer]]&lt;br /&gt;
* [[Tutorials_webOS_Installing_An_Ipk|Installing an IPK]]&lt;br /&gt;
* [[Tutorials_webOS_Loading_Existing_Apps_Into_An_Eclipse_Project|Loading Existing apps into an Eclipse Project]]&lt;br /&gt;
* [[Tutorials_webOS_Using Cookies|Using Cookies To Move Variables]]&lt;br /&gt;
&lt;br /&gt;
== Want to write a tutorial and Add it? ==&lt;br /&gt;
&lt;br /&gt;
Just name the article like&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Tutorials webOS &amp;quot; + name&lt;br /&gt;
&lt;br /&gt;
Ex: Tutorials_webOS_Getting_Started&amp;lt;br /&amp;gt;&lt;br /&gt;
(spaces are the same thing as underscores)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
== Policies about adding Applications ==&lt;br /&gt;
&lt;br /&gt;
Your application can be any progress (Completed/Beta/Design Phase), just make sure you have a temporary name. For example if your application is called &amp;quot;Testing This&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=Asteroids&lt;br /&gt;
|article=Asteroids&lt;br /&gt;
|user=AWESOM-O&lt;br /&gt;
|site=http://domain.com/asteroids/&lt;br /&gt;
|description=This is a short description, leave screenshots&lt;br /&gt;
and other details for the application page.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Place this under the [[Portal:webOS Applications All|All webOS Application Portal]], and the category it goes under (for instance &amp;quot;Games&amp;quot; if it is a game). You can always change the applications name just make sure it is not taken and let us know on the [[Admin_Changes|Admin Changes]] page so we can delete the old application page (so others can use it).&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
==Development Projects==&lt;br /&gt;
webOS Mojo and Multiple language projects being developed as open source by the community. &lt;br /&gt;
&lt;br /&gt;
* [[Application:Preware|Preware]]: A mojo app with backend plugin to run ipkg and fetch over the air installs and updates from the Preware ipkg feed.&lt;br /&gt;
* [[On Screen Keyboard]]&lt;br /&gt;
* [[My notification|My notification]] : a Mojo app to enable the changing of system sounds and wallpaper.&lt;br /&gt;
* [[EBook-Reader]]: a Mojo app for reading text-oriented books on line.  &lt;br /&gt;
&lt;br /&gt;
== Development Proposals ==&lt;br /&gt;
These proposals for webOS applications lack a formal project at this time. &lt;br /&gt;
* [[Splash Application|Splash Application]]&lt;/div&gt;</summary>
		<author><name>G33kgirl</name></author>
	</entry>
</feed>