<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pandorawiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Porg</id>
	<title>Pandora Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://pandorawiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Porg"/>
	<link rel="alternate" type="text/html" href="https://pandorawiki.org/Special:Contributions/Porg"/>
	<updated>2026-05-02T23:09:51Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0-alpha</generator>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PCSX-ReARMed&amp;diff=30326</id>
		<title>PCSX-ReARMed</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PCSX-ReARMed&amp;diff=30326"/>
		<updated>2023-01-12T08:08:23Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Operational Controls during Gameplay */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{warning|The information here is for version '''r8.''' Things may change in later versions as the emulator is updated.}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Emulator|title=PCSX-ReARMed&lt;br /&gt;
|image=[[Image:Playstation-console.png|center|Playstation console]]&lt;br /&gt;
|download=[http://notaz.gp2x.de/releases/pcsxr/pcsx_rearmed_r18.pnd version r18]&lt;br /&gt;
|developer=Notaz&lt;br /&gt;
|license=[https://github.com/notaz/pcsx_rearmed/blob/master/COPYING GPLv2]&lt;br /&gt;
|porter=Notaz&lt;br /&gt;
|webpage=http://notaz.gp2x.de/pcsx_rearmed.php&lt;br /&gt;
|version=R18 (28-10-2013)&lt;br /&gt;
|status=Public Beta&lt;br /&gt;
|compatibility=[https://spreadsheets.google.com/ccc?key=0ArSWWAWRjErldHZVZlFxY0tBVnRRNXM5U3ZqWFNuN0E&amp;amp;hl=en#gid=0 Compatibility List (Google docs)]&lt;br /&gt;
}}&lt;br /&gt;
PCSX-ReARMed is a PlayStation 1 Emulator. A better alternative to [[PSX4Pandora]].&lt;br /&gt;
&lt;br /&gt;
==Emulator Information==&lt;br /&gt;
===Development Status ===&lt;br /&gt;
In development with a beta version available.&lt;br /&gt;
&lt;br /&gt;
===Compatibility===&lt;br /&gt;
A compatibility list is maintained as Google spreadsheet doc: [https://spreadsheets.google.com/ccc?key=0ArSWWAWRjErldHZVZlFxY0tBVnRRNXM5U3ZqWFNuN0E&amp;amp;hl=en#gid=0 PSX compatibility list]&lt;br /&gt;
&lt;br /&gt;
=== Related Links ===&lt;br /&gt;
*[http://www.gp32x.com/board/index.php?/topic/57973-pcsx-rearmed/ Development Thread &amp;amp; Discussion (GP32X)]&lt;br /&gt;
*[http://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git Source code (GIT)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installation Instructions==&lt;br /&gt;
===Installation===&lt;br /&gt;
Download the latest version of the emulator from the repo ([http://repo.openpandora.org/?page=detail&amp;amp;app=package.pcsx_rearmed.notaz.r8 here]) and place it in one of the folders on your SD card according to the [[Introduction_to_PNDs#Where_do_.PNDs_Go.3F |PND guide]] (This guide will assume that you put the PND in /pandora/menu). In XFCE, the icon to the emulator should appear in the menu under 'menu -&amp;gt; Emulators -&amp;gt; PCSX-ReARMed' (if you put the PND in /pandora/menu), or on the desktop (if you put the PND in /pandora/desktop or /pandora/apps).&lt;br /&gt;
&lt;br /&gt;
===ROM Images===&lt;br /&gt;
ROM files (Disc images) come in a range of formats, most commonly .iso, .img, .bin/.cue or .mdf/.mds. This emulator cannot handle compressed ROM files.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
While it does not matter where the ROM files are placed, it is often easiest to put them somewhere that makes sense in relation to the PND for easy browsing. A good place to put them would be either in a clearly-named folder in the root of the SD card (e.g. /PS1) or in the same folder as the emulator PND (e.g. /pandora/menu/PS1). It does not matter how many ROM files are in the folder, or what directory structure is used.&lt;br /&gt;
&lt;br /&gt;
Some images come as a .ecm file. These will not work in this emuator, but can be 'un-ECMed' by using the utility software [http://www.neillcorlett.com/ecm/ unecm], available at the linked website both as source code and as executable program files (=precompiled binaries, both 32 and 64 bit) for Windows, DOS, Mac OS X; on various Unix systems available through package managers as the package named &amp;quot;ecm&amp;quot;; and meanwhile also as a [http://notaz.gp2x.de/misc/pnd/unecm PND application by notaz].&lt;br /&gt;
&lt;br /&gt;
=== BIOS ===&lt;br /&gt;
PCSX-ReARMed supports loading BIOSes. A minimum of one BIOS should be copied to [sd card]/pandora/appdata/pcsx_rearmed/bios/ ..and then selected in options-&amp;gt;bios/plugins menu.&lt;br /&gt;
Loading a BIOS can potentially fix tons of bugs. It is highly recommended to activate it. A BIOS file is not strictly necessary, but not all games will work correctly without one.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
[[Overclocking]] is often necessary to achieve acceptable emulation. See the [https://spreadsheets.google.com/ccc?key=0ArSWWAWRjErldHZVZlFxY0tBVnRRNXM5U3ZqWFNuN0E&amp;amp;hl=en#gid=0 Compatibility List] for each game's tested speed.&lt;br /&gt;
&lt;br /&gt;
===Nub Control===&lt;br /&gt;
Nub control is disabled by default (left joystick is mapped to the D-Pad). To enable it, select 'Controls-&amp;gt;Nubs as Buttons' in the menu.&lt;br /&gt;
&lt;br /&gt;
===Loading a Game===&lt;br /&gt;
Upon staring the emulator, you will be presented with a GUI. Select (with B) 'Load CD Image', then navigate to the folder where you keep your image files. If you cannot find them, try selecting '/..' until the directory at the top of the list (in white) shows '/', then select '/media' then '/SD_CARD' where SD_CARD is the name of your card, then navigate to the folder where you placed the files. '''NOTE: Only select files highlightes as either blue or white. Grey files will not work.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
At any time during gameplay, you can press the spacebar to return to the menu, pausing the game session. You can select 'Resume Game' to continue playing.&lt;br /&gt;
&lt;br /&gt;
===Default Controls===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 35%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! PS1 Controller Button&lt;br /&gt;
! Pandora Button&lt;br /&gt;
|-&lt;br /&gt;
|Triangle (Green)&lt;br /&gt;
|Y (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|Circle (Red)&lt;br /&gt;
|B (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|Square (Pink)&lt;br /&gt;
|A (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|X (Blue)&lt;br /&gt;
|X (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|Start&lt;br /&gt;
|Start&lt;br /&gt;
|-&lt;br /&gt;
|Select&lt;br /&gt;
|Select&lt;br /&gt;
|-&lt;br /&gt;
|R&lt;br /&gt;
|Right Shoulder&lt;br /&gt;
|-&lt;br /&gt;
|L&lt;br /&gt;
|Left Shoulder&lt;br /&gt;
|-&lt;br /&gt;
|D-Pad (Up, Down, Left, Right)&lt;br /&gt;
|D-Pad (Up, Down, Left, Right)&lt;br /&gt;
|-&lt;br /&gt;
|Left Analog Stick (Up, Down, Left, Right)&lt;br /&gt;
|Left Nub (Up, Down, Left, Right)&lt;br /&gt;
|-&lt;br /&gt;
|Right Analog Stick (Up, Down, Left, Right)&lt;br /&gt;
|Right nub (Up, Down, Left, Right)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Operational Controls during Gameplay===&lt;br /&gt;
as of r23 (2022-03-14)&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: left; width: 35%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Pandora Button&lt;br /&gt;
! Function&lt;br /&gt;
|- &lt;br /&gt;
| SPACE&lt;br /&gt;
| Pause emulation and open menu&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| Save to current slot&lt;br /&gt;
|- &lt;br /&gt;
| 2&lt;br /&gt;
| Load from current slot&lt;br /&gt;
|- &lt;br /&gt;
| 3&lt;br /&gt;
| Prev Slot (for next save/load operation)&lt;br /&gt;
|- &lt;br /&gt;
| 4&lt;br /&gt;
| Next slot (for next save/load operation)&lt;br /&gt;
|- &lt;br /&gt;
| 5&lt;br /&gt;
| Toggle Frameskip (Auto, Off, 1)&lt;br /&gt;
|- &lt;br /&gt;
| 6&lt;br /&gt;
| Take Screenshot&lt;br /&gt;
|- &lt;br /&gt;
| 7&lt;br /&gt;
| Toggle stats (None, FPS, FPS + CPU)&lt;br /&gt;
|- &lt;br /&gt;
| 8&lt;br /&gt;
| Toggle Scaler (default, double resolution, scale2x, eagle2x)&lt;br /&gt;
|- &lt;br /&gt;
| ⌫ &lt;br /&gt;
| Toggle Fast Forward (off, on)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Creating images of Games ==&lt;br /&gt;
A short how-to for doing this on Linux is available: [[Creating images of PSX games using Linux]]. On Windows you can probably rely on the common tools for creating disc images, like for example Alcohol or the likes. There were some reports in the forums that using Nero for creating images does not work.&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PCSX-ReARMed&amp;diff=30325</id>
		<title>PCSX-ReARMed</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PCSX-ReARMed&amp;diff=30325"/>
		<updated>2023-01-11T21:26:28Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Usage */ Operational Controls during Gameplay&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{warning|The information here is for version '''r8.''' Things may change in later versions as the emulator is updated.}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Emulator|title=PCSX-ReARMed&lt;br /&gt;
|image=[[Image:Playstation-console.png|center|Playstation console]]&lt;br /&gt;
|download=[http://notaz.gp2x.de/releases/pcsxr/pcsx_rearmed_r18.pnd version r18]&lt;br /&gt;
|developer=Notaz&lt;br /&gt;
|license=[https://github.com/notaz/pcsx_rearmed/blob/master/COPYING GPLv2]&lt;br /&gt;
|porter=Notaz&lt;br /&gt;
|webpage=http://notaz.gp2x.de/pcsx_rearmed.php&lt;br /&gt;
|version=R18 (28-10-2013)&lt;br /&gt;
|status=Public Beta&lt;br /&gt;
|compatibility=[https://spreadsheets.google.com/ccc?key=0ArSWWAWRjErldHZVZlFxY0tBVnRRNXM5U3ZqWFNuN0E&amp;amp;hl=en#gid=0 Compatibility List (Google docs)]&lt;br /&gt;
}}&lt;br /&gt;
PCSX-ReARMed is a PlayStation 1 Emulator. A better alternative to [[PSX4Pandora]].&lt;br /&gt;
&lt;br /&gt;
==Emulator Information==&lt;br /&gt;
===Development Status ===&lt;br /&gt;
In development with a beta version available.&lt;br /&gt;
&lt;br /&gt;
===Compatibility===&lt;br /&gt;
A compatibility list is maintained as Google spreadsheet doc: [https://spreadsheets.google.com/ccc?key=0ArSWWAWRjErldHZVZlFxY0tBVnRRNXM5U3ZqWFNuN0E&amp;amp;hl=en#gid=0 PSX compatibility list]&lt;br /&gt;
&lt;br /&gt;
=== Related Links ===&lt;br /&gt;
*[http://www.gp32x.com/board/index.php?/topic/57973-pcsx-rearmed/ Development Thread &amp;amp; Discussion (GP32X)]&lt;br /&gt;
*[http://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git Source code (GIT)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installation Instructions==&lt;br /&gt;
===Installation===&lt;br /&gt;
Download the latest version of the emulator from the repo ([http://repo.openpandora.org/?page=detail&amp;amp;app=package.pcsx_rearmed.notaz.r8 here]) and place it in one of the folders on your SD card according to the [[Introduction_to_PNDs#Where_do_.PNDs_Go.3F |PND guide]] (This guide will assume that you put the PND in /pandora/menu). In XFCE, the icon to the emulator should appear in the menu under 'menu -&amp;gt; Emulators -&amp;gt; PCSX-ReARMed' (if you put the PND in /pandora/menu), or on the desktop (if you put the PND in /pandora/desktop or /pandora/apps).&lt;br /&gt;
&lt;br /&gt;
===ROM Images===&lt;br /&gt;
ROM files (Disc images) come in a range of formats, most commonly .iso, .img, .bin/.cue or .mdf/.mds. This emulator cannot handle compressed ROM files.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
While it does not matter where the ROM files are placed, it is often easiest to put them somewhere that makes sense in relation to the PND for easy browsing. A good place to put them would be either in a clearly-named folder in the root of the SD card (e.g. /PS1) or in the same folder as the emulator PND (e.g. /pandora/menu/PS1). It does not matter how many ROM files are in the folder, or what directory structure is used.&lt;br /&gt;
&lt;br /&gt;
Some images come as a .ecm file. These will not work in this emuator, but can be 'un-ECMed' by using the utility software [http://www.neillcorlett.com/ecm/ unecm], available at the linked website both as source code and as executable program files (=precompiled binaries, both 32 and 64 bit) for Windows, DOS, Mac OS X; on various Unix systems available through package managers as the package named &amp;quot;ecm&amp;quot;; and meanwhile also as a [http://notaz.gp2x.de/misc/pnd/unecm PND application by notaz].&lt;br /&gt;
&lt;br /&gt;
=== BIOS ===&lt;br /&gt;
PCSX-ReARMed supports loading BIOSes. A minimum of one BIOS should be copied to [sd card]/pandora/appdata/pcsx_rearmed/bios/ ..and then selected in options-&amp;gt;bios/plugins menu.&lt;br /&gt;
Loading a BIOS can potentially fix tons of bugs. It is highly recommended to activate it. A BIOS file is not strictly necessary, but not all games will work correctly without one.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
[[Overclocking]] is often necessary to achieve acceptable emulation. See the [https://spreadsheets.google.com/ccc?key=0ArSWWAWRjErldHZVZlFxY0tBVnRRNXM5U3ZqWFNuN0E&amp;amp;hl=en#gid=0 Compatibility List] for each game's tested speed.&lt;br /&gt;
&lt;br /&gt;
===Nub Control===&lt;br /&gt;
Nub control is disabled by default (left joystick is mapped to the D-Pad). To enable it, select 'Controls-&amp;gt;Nubs as Buttons' in the menu.&lt;br /&gt;
&lt;br /&gt;
===Loading a Game===&lt;br /&gt;
Upon staring the emulator, you will be presented with a GUI. Select (with B) 'Load CD Image', then navigate to the folder where you keep your image files. If you cannot find them, try selecting '/..' until the directory at the top of the list (in white) shows '/', then select '/media' then '/SD_CARD' where SD_CARD is the name of your card, then navigate to the folder where you placed the files. '''NOTE: Only select files highlightes as either blue or white. Grey files will not work.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
At any time during gameplay, you can press the spacebar to return to the menu, pausing the game session. You can select 'Resume Game' to continue playing.&lt;br /&gt;
&lt;br /&gt;
===Default Controls===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 35%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! PS1 Controller Button&lt;br /&gt;
! Pandora Button&lt;br /&gt;
|-&lt;br /&gt;
|Triangle (Green)&lt;br /&gt;
|Y (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|Circle (Red)&lt;br /&gt;
|B (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|Square (Pink)&lt;br /&gt;
|A (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|X (Blue)&lt;br /&gt;
|X (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|Start&lt;br /&gt;
|Start&lt;br /&gt;
|-&lt;br /&gt;
|Select&lt;br /&gt;
|Select&lt;br /&gt;
|-&lt;br /&gt;
|R&lt;br /&gt;
|Right Shoulder&lt;br /&gt;
|-&lt;br /&gt;
|L&lt;br /&gt;
|Left Shoulder&lt;br /&gt;
|-&lt;br /&gt;
|D-Pad (Up, Down, Left, Right)&lt;br /&gt;
|D-Pad (Up, Down, Left, Right)&lt;br /&gt;
|-&lt;br /&gt;
|Left Analog Stick (Up, Down, Left, Right)&lt;br /&gt;
|Left Nub (Up, Down, Left, Right)&lt;br /&gt;
|-&lt;br /&gt;
|Right Analog Stick (Up, Down, Left, Right)&lt;br /&gt;
|Right nub (Up, Down, Left, Right)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Operational Controls during Gameplay===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: left; width: 35%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Pandora Button&lt;br /&gt;
! Function&lt;br /&gt;
|- &lt;br /&gt;
| SPACE&lt;br /&gt;
| Pause emulation and open menu&lt;br /&gt;
|- &lt;br /&gt;
| 1&lt;br /&gt;
| Save to current slot&lt;br /&gt;
|- &lt;br /&gt;
| 2&lt;br /&gt;
| Load from current slot&lt;br /&gt;
|- &lt;br /&gt;
| 3&lt;br /&gt;
| Prev Slot (for next save/load operation)&lt;br /&gt;
|- &lt;br /&gt;
| 4&lt;br /&gt;
| Next slot (for next save/load operation)&lt;br /&gt;
|- &lt;br /&gt;
| 5&lt;br /&gt;
| Toggle Frameskip (Auto, Off, 1)&lt;br /&gt;
|- &lt;br /&gt;
| 6&lt;br /&gt;
| Take Screenshot&lt;br /&gt;
|- &lt;br /&gt;
| 7&lt;br /&gt;
| Toggle stats (None, FPS, FPS + CPU)&lt;br /&gt;
|- &lt;br /&gt;
| 8&lt;br /&gt;
| Toggle Scaler (default, double resolution, scale2x, eagle2x)&lt;br /&gt;
|- &lt;br /&gt;
| ⌫ &lt;br /&gt;
| Toggle Fast Forward (off, on)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Creating images of Games ==&lt;br /&gt;
A short how-to for doing this on Linux is available: [[Creating images of PSX games using Linux]]. On Windows you can probably rely on the common tools for creating disc images, like for example Alcohol or the likes. There were some reports in the forums that using Nero for creating images does not work.&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Hardware_troubleshooting&amp;diff=30324</id>
		<title>Hardware troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Hardware_troubleshooting&amp;diff=30324"/>
		<updated>2022-12-21T22:03:55Z</updated>

		<summary type="html">&lt;p&gt;Porg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Symptom(s) of hardware failure → Steps to analyze or fix ==&lt;br /&gt;
&lt;br /&gt;
0) My Pandora doesn't turn on anymore at all.&lt;br /&gt;
&lt;br /&gt;
1) Connect the DC-in cable. Does the Pandora turn on?&lt;br /&gt;
a) Yes → Fixed. Your battery charge was too low.&lt;br /&gt;
b) Give it an additional 1h. Does it go on then?&lt;br /&gt;
b1) Yes → Fixed. Your battery level was reduced to a critical level. It was revived.&lt;br /&gt;
b2) Use it for light applications while it charges.&lt;br /&gt;
b3) Use overclocking/heavy applications only when it charged another 1-2h, then your battery should have a stable enough charge to withstand peak levels again.&lt;br /&gt;
&lt;br /&gt;
2) Try the USB-power-in. Same steps as in 1.&lt;br /&gt;
&lt;br /&gt;
3) Try USB-power-in and DC-in at the same time. Same steps as in 1.&lt;br /&gt;
&lt;br /&gt;
4) Take out the battery.&lt;br /&gt;
a) Connect only DC-in. Boots → Your Pandora works. Your battery has become unreliable/dead. Purchase a new battery. As of 2022-12 [https://dragonbox.de/en/accessories-for-pandora-pyra/pandora-replacement-battery.html batteries are still sold].&lt;br /&gt;
b) Connect only USB-power-in. Boots → Your Pandora works. Your battery has become unreliable/dead. Purchase a new battery. As of 2022-12 [https://dragonbox.de/en/accessories-for-pandora-pyra/pandora-replacement-battery.html batteries are still sold]. Additionally your DC-in capability seems damaged. For now charge via USB. Consider servicing the DC-in plug/circuitry.&lt;br /&gt;
&lt;br /&gt;
5) Check your USB and DC power adaptors with a multimeter. Maybe they do not provide the proper voltage and/or current.&lt;br /&gt;
&lt;br /&gt;
6) Your Pandora may fail due to a corrupted bootloader. In that state neither the status-LEDs nor the screen get turned on.&lt;br /&gt;
&lt;br /&gt;
a) Try to run the [https://pyra-handheld.com/boards/threads/pandora-recovery-sd-card-image.98892/ Pandora Recovery SD-Card]. This boot disk can diagnose the device and reflash the internal NAND in needed.&lt;br /&gt;
&lt;br /&gt;
7) Get the printed circuit board (PCB) out of the case. Check that the leads from the DC-in or the USB-power-in have voltage when your power plugs are connected. Maybe a solder connection got loose. Or another issue on the PCB. Consult the [https://pyra-handheld.com/boards/threads/pandora-hackers-manual.51259/ Pandora Hackers Manual]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Hardware_troubleshooting&amp;diff=30323</id>
		<title>Hardware troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Hardware_troubleshooting&amp;diff=30323"/>
		<updated>2022-12-18T21:38:05Z</updated>

		<summary type="html">&lt;p&gt;Porg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Symptom(s) of hardware failure → Steps to analyze or fix ==&lt;br /&gt;
&lt;br /&gt;
0) My Pandora doesn't turn on anymore at all.&lt;br /&gt;
&lt;br /&gt;
1) Connect the DC-in cable. Does the Pandora turn on?&lt;br /&gt;
a) Yes → Fixed. Your battery charge was too low.&lt;br /&gt;
b) Give it an additional 1h. Does it go on then?&lt;br /&gt;
b1) Yes → Fixed. Your battery level was reduced to a critical level. It was revived.&lt;br /&gt;
b2) Use it for light applications while it charges.&lt;br /&gt;
b3) Use overclocking/heavy applications only when it charged another 1-2h, then your battery should have a stable enough charge to withstand peak levels again.&lt;br /&gt;
&lt;br /&gt;
2) Try the USB-power-in. Same steps as in 1.&lt;br /&gt;
&lt;br /&gt;
3) Try USB-power-in and DC-in at the same time. Same steps as in 1.&lt;br /&gt;
&lt;br /&gt;
4) Take out the battery.&lt;br /&gt;
a) Connect only DC-in. Boots → Your Pandora works. Your battery has become unreliable/dead. Purchase a new battery. As of 2022-12 [https://dragonbox.de/en/accessories-for-pandora-pyra/pandora-replacement-battery.html batteries are still sold].&lt;br /&gt;
b) Connect only USB-power-in. Boots → Your Pandora works. Your battery has become unreliable/dead. Purchase a new battery. As of 2022-12 [https://dragonbox.de/en/accessories-for-pandora-pyra/pandora-replacement-battery.html batteries are still sold]. Additionally your DC-in capability seems damaged. For now charge via USB. Consider servicing the DC-in plug/circuitry.&lt;br /&gt;
&lt;br /&gt;
5) Check your USB and DC power adaptors with a multimeter. Maybe they do not provide the proper voltage and/or current.&lt;br /&gt;
&lt;br /&gt;
6) Your Pandora may fail due to a corrupted bootloader. In that state neither the status-LEDs nor the screen get turned on.&lt;br /&gt;
&lt;br /&gt;
a) Try this: [https://pyra-handheld.com/boards/threads/openpandora-type-1002-doesnt-turn-on-anymore-what-to-check-how-to-repair.99796/post-1712104 Incomplete info] here. The recommendation is to use a &amp;quot;recovery card&amp;quot;. Anyone reading this please update this whole step what to determine exactly and how to try to fix the situation.&lt;br /&gt;
&lt;br /&gt;
7) Get the printed circuit board (PCB) out of the case. Check that the leads from the DC-in or the USB-power-in have voltage when your power plugs are connected. Maybe a solder connection got loose.&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Hardware_troubleshooting&amp;diff=30322</id>
		<title>Hardware troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Hardware_troubleshooting&amp;diff=30322"/>
		<updated>2022-12-18T21:10:33Z</updated>

		<summary type="html">&lt;p&gt;Porg: Trying to establish a central &amp;quot;Hardware troubleshooting&amp;quot; self-service info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Symptom(s) of hardware failure → Steps to analyze or fix ==&lt;br /&gt;
&lt;br /&gt;
0) My Pandora doesn't turn on anymore at all.&lt;br /&gt;
&lt;br /&gt;
1) Connect the DC-in cable. Does the Pandora turn on?&lt;br /&gt;
a) Yes → Fixed. Your battery charge was too low.&lt;br /&gt;
b) Give it an additional 1h. Does it go on then?&lt;br /&gt;
b1) Yes → Fixed. Your battery level was reduced to a critical level. It was revived.&lt;br /&gt;
b2) Use it for light applications while it charges.&lt;br /&gt;
b3) Use overclocking/heavy applications only when it charged another 1-2h, then your battery should have a stable enough charge to withstand peak levels again.&lt;br /&gt;
&lt;br /&gt;
2) Try the USB-power-in. Same steps as in 1.&lt;br /&gt;
&lt;br /&gt;
3) Try USB-power-in and DC-in at the same time. Same steps as in 1.&lt;br /&gt;
&lt;br /&gt;
4) Take out the battery.&lt;br /&gt;
a) Connect only DC-in. Boots → Your Pandora works. Your battery has become unreliable/dead. Purchase a new battery. As of 2022-12 [https://dragonbox.de/en/accessories-for-pandora-pyra/pandora-replacement-battery.html batteries are still sold].&lt;br /&gt;
b) Connect only USB-power-in. Boots → Your Pandora works. Your battery has become unreliable/dead. Purchase a new battery. As of 2022-12 [https://dragonbox.de/en/accessories-for-pandora-pyra/pandora-replacement-battery.html batteries are still sold]. Additionally your DC-in capability seems damaged. For now charge via USB. Consider servicing the DC-in plug/circuitry.&lt;br /&gt;
&lt;br /&gt;
5) Check your USB and DC power plugs with a voltmeter. Maybe the do not provide the proper voltage and/or current.&lt;br /&gt;
&lt;br /&gt;
6) Your Pandora may fail due to a corrupted bootloader. In that state neither the status-LEDs nor the screen get turned on.&lt;br /&gt;
&lt;br /&gt;
a) Try this: [https://pyra-handheld.com/boards/threads/openpandora-type-1002-doesnt-turn-on-anymore-what-to-check-how-to-repair.99796/post-1712104 Incomplete info] here. The recommendation is to use a &amp;quot;recovery card&amp;quot;. Anyone reading this please update this whole step what to determine exactly and how to try to fix the situation.&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Main_Page&amp;diff=30321</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Main_Page&amp;diff=30321"/>
		<updated>2022-12-18T20:48:36Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
::::::::::'''Openpandora''' - The pocket computer with gaming controls. &lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left&amp;quot;&amp;gt;&lt;br /&gt;
'''Community'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[IRC]] - [http://pandoralive.info/ Blog] - [[Team]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Input flexibility'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[Keyboard]] - [[Nubs|Gaming controls]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Display|Touchscreen]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Workflow'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[Power_modes#How_long_does_the_battery_last.3F|Battery life]] - Dual SD slots&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Audio'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[Audio system|High quality sound]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Philosophy'''&amp;lt;br&amp;gt;&lt;br /&gt;
[http://en.wikipedia.org/wiki/Free_and_open-source_software Linux|Gnu]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Workmanship'''&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.dragonbox.de/en/16-pandora Buy here]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;mf-home&amp;quot; style=&amp;quot;float:left&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Pandora1ghz.png | left | 400px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;mf-home&amp;quot; style=&amp;quot;float:left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Built in Germany, the Pandora is a high-quality, all-purpose mobile computer offering the greatest possible degree of software freedom to a vibrant community of users and developers. We have a wide range of high quality software available on the [http://repo.openpandora.org/ repo].&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=zH-RAOrbFqs| Video demo]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;padding:0.5em;&amp;quot;|&lt;br /&gt;
[[Image:IntroIcon.png | left | 50px]]&lt;br /&gt;
==Intro==&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; height: 1px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* [[Quickstart]]&lt;br /&gt;
* [[User manual]]&lt;br /&gt;
* [[Team]]&lt;br /&gt;
* [[Size Comparisons‏‎]]&lt;br /&gt;
* ‏‎[[Production Timeline‏‎]]&lt;br /&gt;
* [[Community Links‏‎]]&lt;br /&gt;
* [[Wiki TODO]]&lt;br /&gt;
[[Image:DesktopIcon.png | left | 50px]]&lt;br /&gt;
== Software ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; height: 1px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* [http://repo.openpandora.org/ Software repository]&lt;br /&gt;
* [[GUI]]&lt;br /&gt;
* [[OpenBox‏‎]]&lt;br /&gt;
* [[Minimenu]]‏‎&lt;br /&gt;
* [[Xfce]]&lt;br /&gt;
* [[Compo4All]]&lt;br /&gt;
* [[FlashEnv]] | [[Flashenv Compatibility List|Compatibility List]]&lt;br /&gt;
* [[PickleLauncher]]&lt;br /&gt;
* [[Backup]]&lt;br /&gt;
* [[GPS‏]]&lt;br /&gt;
* ‏‎[[Screenshot]]&lt;br /&gt;
* [[Wallpaper cronjob]]&lt;br /&gt;
* [[Port Requests]]&lt;br /&gt;
* ‏‎[[ResidualVM‏‎]]&lt;br /&gt;
* [[Software_projects|Legacy Software Projects]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;padding:0.5em;&amp;quot;|&lt;br /&gt;
[[Image:HardwareIcon.png | left | 50px]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; height: 1px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* [[Pandora]]&lt;br /&gt;
* [[Case]]&lt;br /&gt;
* [[SD compatibility list]]&lt;br /&gt;
* [[USB compatibility list‏‎]]&lt;br /&gt;
* [[USB reference‏‎]]&lt;br /&gt;
* [[Formatting SD cards]]&lt;br /&gt;
* [[NAND‏]]&lt;br /&gt;
* [[Swap]]&lt;br /&gt;
* [[Display]]&lt;br /&gt;
* [[TV-out cable]]&lt;br /&gt;
* [[LEDs and backlight]]&lt;br /&gt;
* [[WiFi‏‎]]&lt;br /&gt;
* [[Bluetooth]]&lt;br /&gt;
* [[Audio system]]&lt;br /&gt;
* [[Keyboard‏]]‎&lt;br /&gt;
* [[Nubs‏‎]]&lt;br /&gt;
* [[Controllers]]&lt;br /&gt;
* [[Hardware defects]]&lt;br /&gt;
* [[Hardware troubleshooting]]&lt;br /&gt;
* [[Mobile Broadband]]&lt;br /&gt;
* [http://boards.openpandora.org/index.php?/topic/404-dvb-t-tv-on-pandora/ dvb-t] - forum link&lt;br /&gt;
* [[Power modes‏]]&lt;br /&gt;
* [[Overclocking‏‎]]&lt;br /&gt;
* [[Hardware Hacking‏‎]]&lt;br /&gt;
* [[EXT Connector]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;padding:0.5em;&amp;quot;|&lt;br /&gt;
[[Image:SoftwareIcon.png | left | 50px]]&lt;br /&gt;
&lt;br /&gt;
== Operating systems ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; height: 1px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* [[Boot setup]]&lt;br /&gt;
* [[Ångström]] (Official OS)&lt;br /&gt;
* [[Pandian]]&lt;br /&gt;
* [[Slackware]] | [[SOLEIL]]&lt;br /&gt;
* [[Gentoo]]&lt;br /&gt;
* [[Android]]&lt;br /&gt;
* [[‎RISC OS‏]]&lt;br /&gt;
* [[Basic Linux Guide‏]]&lt;br /&gt;
[[Image:EmulatorIcon.png | left | 53px]]&lt;br /&gt;
&lt;br /&gt;
== Emulators ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; height: 1px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* [[Emulators]] | [[Legal Emulation Resources‏‎|Legal Resources]]&lt;br /&gt;
* [[Reicast]] | [[Reicast Compatibility List|Compatibility List]]&lt;br /&gt;
* ‏‎[[UAE4ALL‏‎]] | [http://spreadsheets.google.com/spreadsheet/pub?hl=en&amp;amp;key=0AuBR5X_s_5_idG92ZVQ5cEs4ZEhYTm5sSjFIcl83U2c&amp;amp;hl=en&amp;amp;gid=0 Compatibility List]&lt;br /&gt;
* [[DraStic]] | ‏‎[[DraStic Compatibility List‏‎|Compatibility List]]&lt;br /&gt;
* [[PPSSPP]] | [[PPSSPP Compatibility List|Compatibility List]]&lt;br /&gt;
* [[3doh]] | [[3doh Compatibility List|Compatibility List]]&lt;br /&gt;
* [[Mupen2.0 Compatibility List]]&lt;br /&gt;
* ‏‎[[PCSX-ReARMed‏‎]] | [[PSX backups]]&lt;br /&gt;
* [[PicoDrive]]&lt;br /&gt;
* [[SNES9X4P‏‎]]&lt;br /&gt;
* [[MAME4ALL]]&lt;br /&gt;
* ‏‎[[QEMU‏‎]] | [[QEMU Compatibility|Compatibility List]]&lt;br /&gt;
* ‏‎[[DOSBox‏]] | [[DOSBox compatibility list|Compatibility List]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; width=&amp;quot;25%&amp;quot; style=&amp;quot;padding:0.5em;&amp;quot;|&lt;br /&gt;
[[Image:DevelopmentIcon.png | left | 50px]]&lt;br /&gt;
&lt;br /&gt;
==Hacking==&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; height: 1px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* [[Development]]&lt;br /&gt;
* [[Introduction to PNDs]]&lt;br /&gt;
* [[Libpnd hub‏‎]]&lt;br /&gt;
* ‏‎[[Porting to GLES from GL‏]]&lt;br /&gt;
* [[Porting guide‎]]&lt;br /&gt;
* [[GLES]]&lt;br /&gt;
* [[GLESGAE‏‎]]&lt;br /&gt;
* [[GLBasic tutorial]]&lt;br /&gt;
* [[SGX drivers]]&lt;br /&gt;
* [[SDL]]‏&lt;br /&gt;
* [[SDL Controls‏‎]]&lt;br /&gt;
* ‏‎[[Floating Point Optimization‏‎]]&lt;br /&gt;
* [[Assembly Code Optimization‏‎]]&lt;br /&gt;
* [[Compile on the Pandora]]&lt;br /&gt;
* [[Cross-compiler‏‎‏‎]]&lt;br /&gt;
* [[Make and run simple PND‏‎]]&lt;br /&gt;
* [[Compo4AllSDK‏‎]]&lt;br /&gt;
* [[Using C4A with libSparrowNet]]&lt;br /&gt;
* [[PXML specification]]&lt;br /&gt;
* [[PND repository specification]]&lt;br /&gt;
* [[PND management workflow‏‎]]&lt;br /&gt;
* [[Client Repository Communication API]]&lt;br /&gt;
* [[Mupen64plus dynamic recompiler‏‎]]&lt;br /&gt;
* [[Extend Utils]]&lt;br /&gt;
* [[Kernel interface]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
 [[File:Pandora_logo_small.png|link=Logo|left|50px]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
| ''Unofficial source of info, [[Openpandora GmbH]] or [[Openpandora Ltd]] not responsible for content.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=USB_compatibility_list&amp;diff=30318</id>
		<title>USB compatibility list</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=USB_compatibility_list&amp;diff=30318"/>
		<updated>2021-03-14T15:25:52Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Video display device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of USB devices that have been tested on the Pandora. If the device you want to know about isn't listed here, don't worry! Just go to [[USB_reference|the USB reference page]], look up the specs of your device, and you may be able to figure out if it's compatible.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
Each type of device will have its own unique way to troubleshoot.&lt;br /&gt;
&lt;br /&gt;
But here are some general tips:&lt;br /&gt;
&lt;br /&gt;
* Is USB-Host enabled?&lt;br /&gt;
* check &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* check &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When asking for help on [http://boards.openpandora.org/index.php?/forum/8-support/ the forums support board], be sure to post both your &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Because &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output is very long, you need to paste it within [spoiler] tags like this:&lt;br /&gt;
&lt;br /&gt;
  [spoiler]&lt;br /&gt;
  (paste your dmesg in here)&lt;br /&gt;
  [/spoiler]&lt;br /&gt;
&lt;br /&gt;
An easy way to get your &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; so you can easily copy and paste it, is:&lt;br /&gt;
&lt;br /&gt;
  dmesg|leafpad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;leafpad&amp;lt;/tt&amp;gt; will open with the output of &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you have no networking on your palmtop, you can send the information to a text file like this:&lt;br /&gt;
&lt;br /&gt;
  cd (your storage card)&lt;br /&gt;
  dmesg&amp;gt;textfile.txt&lt;br /&gt;
  sync&lt;br /&gt;
&lt;br /&gt;
Then you can remove your card (if no programs are using it or PNDs are running on it) and bring it to a card reader on your desktop.&lt;br /&gt;
&lt;br /&gt;
= Networking =&lt;br /&gt;
&lt;br /&gt;
Please see the [[Mobile Broadband]] page for tips on how to get these working, as well as [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/ this tutorial] from the GP32X forum.&lt;br /&gt;
&lt;br /&gt;
== HSDPA (3G) Modems ==&lt;br /&gt;
&lt;br /&gt;
Please note that many (if not all) USB 3G modems need modemmanager to be installed for switching from mass storage mode to serial communications mode. When first plugged in, most 3G USB modems claim to be a mass storage device and offer, on its built-in flash, drivers and connectivity software to be installed. Mostly this is only for Windows and Mac, so for the Pandora this is not useful. modemmanager instantly takes care of toggling the mode, so that when you plug in the modem, after a few seconds or maybe half a minute modemmanager has switched the modem to communications mode and NetworkManager is able to use it.&lt;br /&gt;
&lt;br /&gt;
If you are using a Firmware before HF7 (or one of its Alpha/Beta versions) you have to install modemmanager. To do so, connect your Pandora to the Internet, open a terminal and, as a super user, intall it via opkg by entering the commands:&lt;br /&gt;
&lt;br /&gt;
:sudo opkg update&lt;br /&gt;
:sudo opkg install modemmanager&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are using a firmware more recent than &amp;quot;Zaxxon&amp;quot; Hotfix 6 (starting with HF7) you do not have to follow the steps outlined above since modemmanager comes preinstalled.&lt;br /&gt;
&lt;br /&gt;
'''Note 2:''' After plugging in the USB 3G modem, it may take some time until NetworkManager is able to use the modem. Wait for at least half a minute, until you give up and report that the modem doesn't work.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| ZTE K3565-Z / MF626 / MF627 / MF636&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__956513] [http://boards.openpandora.org/index.php?/topic/7226-superzaxxon-beta-11-released/page__pid__127881#entry127881]}}&lt;br /&gt;
| A how-to by shideneyu for this modem can be found [http://www.pandorawiki.org/ZTE_K3565Z_3G_USB_Modem here]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| BandLuxe C270&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| A how-to by relliker for this modem can be found [http://www.pandorawiki.org/BandLuxe_C270_3G_USB_Modem here]&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E156G&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/52827-3gumts-usb-dongle/page__view__findpost__p__835681]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Huawei E160&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| As the entry for Huawei E220 was wrong, this Current draw could also be wrong. This one definitely needs modemmanager. After installing modemmanager, it works flawlessly.&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E160E&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| As the entry for Huawei E220 was wrong, this Current draw could also be wrong.&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E1750&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__939350]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Huawei E220|Huawei E220]]&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port via High Speed hub&lt;br /&gt;
| {{No|Not on new kernels.}}&lt;br /&gt;
| The successful Pandora E220 tests were done by DJWillis on an old kernel (long before Pandora shipped). It seems that they are NOT working any more.  Also tested on Linux (was it working?)  This entry originally said 250mA, but there is no source and current sources say 500mA.&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E3531&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Need recent USB_ModeSwitch compiled and installed, see (http://www.draisberghof.de/usb_modeswitch/); then type &amp;quot;usb_modeswitch -W -I -v 12d1 -p 15ca -M 55534243123456780000000000000011062000000101000100000000000000&amp;quot; to switch to modem mode (lsusb should change from 12d1:15ca to 12d1:1506). Enable automatic modem switch: sudo nano /etc/modutils/mobilestickserial and enter &amp;quot;usbserial vendor=0x12d1 product=0x15ca&amp;quot;, sudo nano /etc/udev/rules.d/999-mobilestick.rules and enter &amp;quot;SUBSYSTEM==&amp;quot;usb&amp;quot;, SYSFS{idProduct}==&amp;quot;15ca&amp;quot;, SYSFS{idVendor}==&amp;quot;12d1&amp;quot;, RUN+=&amp;quot;/usr/sbin/usb_modeswitch -W -I -v 12d1 -p 15ca -M 55534243123456780000000000000011062000000101000100000000000000&amp;quot;&amp;quot;, off course checking usb_modeswitch path, in this case /usr/sbin&lt;br /&gt;
|-&lt;br /&gt;
| 4G-Systems XS Stick P14&lt;br /&gt;
| Not required (usbserial module)&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__937681]}}&lt;br /&gt;
| Requires usbmodeswitch program. &lt;br /&gt;
|-&lt;br /&gt;
| iPhone 3GS (Probably also 1G/3G)&lt;br /&gt;
| ipheth&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| {{Unknown|USB A (Standard-A port?)}}&lt;br /&gt;
| {{Maybe|Should work in Angstrom with some work.}}&lt;br /&gt;
| Requires a good bit of dependencies to get working.  Tested with Debian from SD, but should work in Angstrom with some work.  The ipheth wwan0 device only provides a connection over the 3G modem, even if you're connected to a wifi network.  I used the iproxy and SSH tunneling method with proxychains to get to the wifi network.&lt;br /&gt;
|-&lt;br /&gt;
| HTC Desire&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| {{Unknown|USB A (Standard-A port?)}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Requires internet connection sharing to be enabled from the phone.&lt;br /&gt;
|-&lt;br /&gt;
| Samsung Galaxy Ace 2&lt;br /&gt;
| not required&lt;br /&gt;
| Micro-B female&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested with phone firmware from T-Mobile (July 2012). Connect the USB cable, enable USB tethering on the phone, and connect to lfupdown on Pandora NetworkManager. Works with 3G and wifi.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Firefox Flame&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A -&amp;gt; Micro-B&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested with phone with software Boot2Gecko 3.0.0.0-prerelease. Connect the USB cable, enable USB tethering on the phone, and connect to ifupdown on Pandora NetworkManager. Works with 3G and Wi-Fi.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB to Ethernet adapters ==&lt;br /&gt;
&lt;br /&gt;
To enable USB Ethernet adapters on the Pandora, you may need to left-click the networking icon on the panel in Xfce, and select &amp;quot;Ifupdown (bnep0)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Mbps&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Apple USB Ethernet Adapter MB442Z/A&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Reportedly uses an ASIX AX88xxx chipset.&lt;br /&gt;
|-&lt;br /&gt;
| Apple USB Ethernet Adapter model A1277&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 05ac:1402 Apple, Inc.&lt;br /&gt;
|-&lt;br /&gt;
| ASUS USB Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 200mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7e2b ASIX Electronics Corp. AX88772B&lt;br /&gt;
|-&lt;br /&gt;
| Conrad 3-Port-USB-Hub und Netzwerk-Adapter&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| A lot! {{HideableNotes|50% of battery charge only brings you 2h40min (min brightness, no other devices attached)}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Has a 3port USB Hub included. External power supply can (and should) be attached, not included though. ASIX Chipset. 20€ @ [http://www.conrad.de/ce/de/product/976406/NOTEBOOK-MINI-DOCKINGSTATION-USBRJ45/SHOP_AREA_32315&amp;amp;promotionareaSearchDetail=005 Conrad Electronics].  Not tested in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-GTJ/U2B Ethernet adapter&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA (lsusb) 1000Mbps=350mA 100Mbps=230mA 10Mbps=220mA(documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:1780 ASIX Electronics Corp. AX88178 [http://www.logitec.co.jp/products/lan/langtju2b/index.php]&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2B Ethernet adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA (lsusb) 100Mbps=170mA 10Mbps=210mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:772a ASIX Electronics Corp.[http://www.logitec.co.jp/products/lan/lantxu2b/index.php]&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2H3S Ethernet adapter + 3 USB ports&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA (lsusb) 300mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:772a ASIX Electronics Corp. USB hub current: 100mA (lsusb) 200mA (documentation). [http://www.logitec.co.jp/products/lan/lantxu2h3/index.php] [http://www.amazon.com/USB-2-0-3-Port-Ethernet-Adapter/dp/B002OFJRW6/ref=sr_1_3?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-3&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Encore-ENUET-3USB-3-Port-Ethernet-Adapter/dp/B0036FZJX4/ref=sr_1_1?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-1&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Addlogix-3-port-USB-Hub-Ethernet/dp/B0030DO7OY/ref=sr_1_27?ie=UTF8&amp;amp;qid=1357780088&amp;amp;sr=8-27&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub]&lt;br /&gt;
|-&lt;br /&gt;
| Wii USB 2.0 10/100M adapter (use [http://www.asix.com.tw/products.php?op=pItemdetail&amp;amp;PItemID=86;71;101 ASIX AX 88772 USB 2.0 chip])&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7720 ASIX Electronics Corp. AX88772.  [http://www.dealextreme.com/details.dx/sku.5926 This clone from DealExtreme] works too.&lt;br /&gt;
|-&lt;br /&gt;
| Connectland USB 2.0 10/100M Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7720 ASIX Electronics Corp. AX88772 - Works fine, Sometimes a reboot is necessary (ZaxxonHF5RC1).&lt;br /&gt;
|-&lt;br /&gt;
| Belkin Gigabit USB 2.0 Network Adapter&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| The shape of it make is a bit awkward to fit if you connect it directly, but it has a short adapter cable. I only get ~95Mbit on a gigabit network, but then the pandora's cpu maxes out. (it may be that the driver/usb stack isn't very well optimized), has horribly bright blue LEDs.&lt;br /&gt;
|-&lt;br /&gt;
| MosChip MCS7830 USB 10/100 Ethernet adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter. Kernel module: mcs7830.&lt;br /&gt;
|-&lt;br /&gt;
| EU.MARK USB 10/100M RJ45 Ethernet Network Adapter Dongle&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| USB ID: 9710:7830 - bought from [http://www.dealextreme.com/details.dx/sku.22684 DealExtreme]&lt;br /&gt;
|-&lt;br /&gt;
| Digitus DN-10050 Fast Ethernet USB Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| MosChip MCS7830-based adapter. USB ID 9710:7830.&lt;br /&gt;
|-&lt;br /&gt;
| Edimax EU-4230 Fast Ethernet USB Adapter with 3-port USB hub [http://edimax.ie/images/Image/datasheet/USB/EU-4230/EU-4230_Datasheet.pdf]&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Ethernet USB ID 0b95:772a ASIX Electronics Corp. 3-port USB2.0 hub USB ID 0409:005a NEC Corp. Optional power adapter for USB hub.&lt;br /&gt;
|-&lt;br /&gt;
| Peabird USB v2.0 Fast Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter. Consumes a lot of current. Fragile, the protective plastic cord cracked after one month. Hot. A blue light a bit too flashy. Definitely avoid this model.&lt;br /&gt;
|-&lt;br /&gt;
| SIIG JU-NE0012-S1 USB 2.0 Fast Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Bought from  [http://www.newegg.com/Product/Product.aspx?Item=N82E16812191163 Newegg]&lt;br /&gt;
|-&lt;br /&gt;
| TRENDnet USB to Gigabit Ethernet Adapter TU2-ETG&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA (lsusb) Dormant: 5mA Static: 91mA Working: 131mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Rev. 2.0R ID 0b95:1780 ASIX Electronics Corp. AX88178 [http://www.trendnet.com/products/proddetail.asp?prod=275_TU2-ETG&amp;amp;cat=42] Rev. 2.0R is white, previous versions are blue and consumes more current. The documentation's current draw are reported for 10 and 100Mbps.&lt;br /&gt;
|-&lt;br /&gt;
| Novatel Wireless Jetpack 4620L&lt;br /&gt;
|&lt;br /&gt;
| cdc_ether&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB &lt;br /&gt;
| High drain; 95% charge = 6:00 battery life.&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| This is a LTE/EVDO/CDMA/HSPA/UMTS/EDGE/GPRS Wifi Hotspot device; Device is registered as a USB Ethernet device when connected through USB tethered (as opposed to Wifi) connection. USB ID 1410:b008&lt;br /&gt;
|-&lt;br /&gt;
| LOGILINK UA0174A Fast Ethernet USB Adapter with 3-port USB hub&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| about 300mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| This is a combined USB 2.0 3Port Hub and USB to Ethernet adapter. ID 0b95:772b ASIX Electronics Corp. AX88772C; bought at [http://www.reichelt.de/Netzwerkkarten/LOGILINK-UA0174A/3//index.html?ACTION=3&amp;amp;GROUPID=5822&amp;amp;ARTICLE=132333&amp;amp;SEARCH=usb%20ethernet&amp;amp;OFFSET=16&amp;amp;WKID=0&amp;amp;]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB to serial adapters ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| pl203&lt;br /&gt;
| usbserial&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 100mA. A powered hub is needed.&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| A powered hub is needed. Plug the device, then load USB modules. ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port.&lt;br /&gt;
|-&lt;br /&gt;
| SparkFun FTDI Basic Breakout&lt;br /&gt;
| not required&lt;br /&gt;
| Mini-B female&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| &amp;lt;100mA&lt;br /&gt;
| OTG port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested the variant sold by eBay seller &amp;quot;goodlucksell&amp;quot;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB WiFi adapters ==&lt;br /&gt;
&lt;br /&gt;
The Pandora stock kernel may not come with all wireless driver support outside of the internal WiFi chip.  Sometimes, the only way you'll get wireless working is to build your own kernel with it included or try [http://wireless.kernel.org/en/users/Download compat-wireless].&lt;br /&gt;
&lt;br /&gt;
As for hofix 6a4 compat-wireless seems to be present in the kernel out of the box, so one can build a USB wireless driver for Pandora following this [http://boards.openpandora.org/index.php?/topic/5140-solvedbuilding-a-usb-wifi-driver/page__view__findpost__p__89280 algorithm]&lt;br /&gt;
&lt;br /&gt;
As for [[hotfix 6]] Release Candidate the kernel includes drivers for these Realtek chips: RTL8712/8188/8191/8192SU/8192CU&lt;br /&gt;
&lt;br /&gt;
See also [http://boards.openpandora.org/index.php?/topic/7160-micro-wifi-dongle/ this thread] on the forums for the latest.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Tested on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Advance Mini Wireless N150&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| There's a little hole on it, so it's useful for attaching it to the OP.&lt;br /&gt;
|-&lt;br /&gt;
| ASUS WL-167G v2&lt;br /&gt;
| rt73usb + rt2x00usb + rt2x00lib&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 300mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Works under Slackware, not (without a hub) under Zaxxon, which become very unstable}}&lt;br /&gt;
| 0b05:1723 ASUSTek Computer, Inc. WL-167G v2 802.11g Adapter [Ralink RT73]. Works pretty fine on Linux PC.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin N1 Wireless USB Adapter (F5D8051) (&amp;quot;Ver. 2053&amp;quot;) (MARVELL v1021)&lt;br /&gt;
| N/A&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| No connection was attempted.&lt;br /&gt;
| {{No|No native driver support and ndiswrapper obviously won't work.}}&lt;br /&gt;
| There's a previous revision of this dongle which is supposed to have a Ralink chip, but they revised it and put a different chip inside.  Reported (by whom?) to work with ndiswrapper and works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin Surf micro &lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Cisco/Linksys AE1000 High Performance Wireless-N USB Adapter&lt;br /&gt;
| rt3572sta (RT3572USB)&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A (Standard-A port?)&lt;br /&gt;
| {{Yes|Works with a modified driver.}}&lt;br /&gt;
| (Compiled module for pandora:[http://boards.openpandora.org/index.php?/topic/1992-linksys-ae1000-usb-wifi/ pandora forum])  Download the driver from [http://www.ralinktech.com/support.php?s=2 ralink's driver site], edit ./common/rtusb_dev_id.c, before &amp;quot;#endif // RT2870&amp;quot; add &amp;quot;{USB_DEVICE(0x13B1,0x002F)},&amp;quot;, compile.'   Reported (by whom?) to work in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| D-Link WIRELESS G USB ADAPTER DWL-G122 rev.E1 F/W 5.00&lt;br /&gt;
| rt2870sta + rt2800usb + rt2800lib&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Works under Slackware, not (without a hub) under Zaxxon, which become very unstable}}&lt;br /&gt;
| 07d1:3c0f D-Link System AirPlus G DWL-G122 Wireless Adapter(rev.E) [Ralink RT2870]. Works pretty fine on Linux PC.&lt;br /&gt;
|-&lt;br /&gt;
| Digitus Wireless 150N USB 2.0 Adapter&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Bundled with a non-WiFi Pandora coming from Craig's shop&lt;br /&gt;
|-&lt;br /&gt;
| Edimax EW-7811Un&lt;br /&gt;
| rtl8192cus&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Havit HV-WF15&lt;br /&gt;
| n/a&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since SuperZaxxon}}&lt;br /&gt;
|-&lt;br /&gt;
| Netgear WNA1000M &lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Thomson WLG-1500A&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 400mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{No|Doesn't work.}}&lt;br /&gt;
| 0457:0163 Silicon Integrated Systems Corp. 802.11 Wireless LAN Adapter&lt;br /&gt;
|-&lt;br /&gt;
| TRENDnet TEW-424UB V2&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 400mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{No|lsusb shows it, but no module is loaded}}&lt;br /&gt;
| 0457:0163 Silicon Integrated Systems Corp. 802.11 Wireless LAN Adapter. Same behavior on a PC.&lt;br /&gt;
|-&lt;br /&gt;
| Alfa Network AWUS036H 1000mw&lt;br /&gt;
| RTL8187&lt;br /&gt;
| IEEE 802.11b/g&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| ?&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| can be found on ebay; tested with Beta 3&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link 150Mbps Mini Wireless N&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Unknown&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Model No TL-WN723N.  Tested with WPA2.   Works out of the box.  Cheap to buy (£6.99 from pcworld in the UK). &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link 150Mbps '''Nano''' Wireless N&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Unknown&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Model No TL-WN725N. Works out of the box.  From Reichelt.de. Claims to be RaspberryPi compatible on their website.  &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.tp-link.com.de/products/details/?model=TL-WN823N#spec TP-Link 300Mbps '''Mini''' Wireless N]&lt;br /&gt;
| Unknown&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Unknown&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Model No TL-WN823N. Works out of the box. Is also RaspberryPi compatible. Has been tested. &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link Atheros AR9170&lt;br /&gt;
| carl9170-1.fw&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 400mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Model No TL-WN821N. Works out of the box. ID 0cf3:1002  &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DVB/TNT/TDT ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Module(s)&lt;br /&gt;
! Firmware&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| AVerMedia AVerTV Volar Green HD&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| Should work&lt;br /&gt;
| af9033 tda18218&lt;br /&gt;
| dvb-usb-af9035-02.fw&lt;br /&gt;
| ID 07ca:a835 AVerMedia Technologies, Inc.&lt;br /&gt;
HD/PRO (A835)&lt;br /&gt;
|-&lt;br /&gt;
| AVerMedia AVerTV Volar Video Capture&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Reported as 0mA. More likely to be 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ID 07ca:4830 AVerMedia Technologies, Inc.&lt;br /&gt;
H830&lt;br /&gt;
|-&lt;br /&gt;
| Hauppauge WinTV aero&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| smsmdtv&lt;br /&gt;
| sms1xxx-hcw-55xxx-dvbt-02.fw&lt;br /&gt;
| ID 2040:b900 Hauppauge . Also works on the mini-usb port.&lt;br /&gt;
|-&lt;br /&gt;
| Hauppauge WinTV-HVR 930C&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 150mA (idle)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| em28xx xc5000&lt;br /&gt;
| dvb-usb-hauppauge-hvr930c-drxk.fw dvb-fe-xc5000-1.6.114.fw&lt;br /&gt;
| ID 2040:1605 Hauppauge . Not able to get it to work yet. Embedded Remote control ID: 0525:a4aa&lt;br /&gt;
|-&lt;br /&gt;
| ITE 9135&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 515mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| rtl2832 rtl2830&lt;br /&gt;
| dvb-usb-it9135-02.fw&lt;br /&gt;
| Gets very hot&lt;br /&gt;
|-&lt;br /&gt;
| MSI Digi Vox Min&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Realtek rtl2832u chipset&lt;br /&gt;
|-&lt;br /&gt;
| Realtek RTL2832U&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 460mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| dbv_usb_af9035 dbv_usb_v2&lt;br /&gt;
| dvb-usb-it9135-02.fw&lt;br /&gt;
| idVendor=0bda, idProduct=2838&lt;br /&gt;
|-&lt;br /&gt;
| Realtek RTL2832UHIDIR&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 464mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| dbv_usb_rtl28xxu&lt;br /&gt;
| dbv_usb_rtl28xxu.ko rtl2830.ko&lt;br /&gt;
| idVendor=0bda, idProduct=2838&lt;br /&gt;
|-&lt;br /&gt;
| Velleman Mini USB DBV-T receiver&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 438mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ?&lt;br /&gt;
| dvb-usb-it9135-01.fw&lt;br /&gt;
| remote control: rc-it913x-v2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
== External Hard Disk Drives ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! style=&amp;quot;min-width: 120px&amp;quot; | Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Freecom 250GB 2.5&amp;quot; portable&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Inside it's a Samsung Model HM251JX.  {{HideableNotes|So I guess anything based on that will also work OK.}}&lt;br /&gt;
|-&lt;br /&gt;
| (Intenso)® 2.5&amp;quot; MEMORYSTATION 1TB&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| LaCie Rikiki 250GB USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via powered High Speed Hub&lt;br /&gt;
| {{Partial|Not when unpowered, needs testing with a powered hub}}&lt;br /&gt;
| Not only does it fail to spin up, but it causes the Pandora's screen to pulsate wildly, much like an old CRT would if you placed a speaker or a magnet near to it. Not tested with a powered hub.&lt;br /&gt;
|-&lt;br /&gt;
| Seagate Seagate® Expansion™ External Drives&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/user/14781-hitnrun/ Hitnrun]. &amp;quot;Isn't even detected in lsusb (drive powered by external power source)&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Verbatim 250GB Model #47580 Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Direct&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__877512 almatuk].  {{HideableNotes|&amp;quot;Watched videos directly from it at full speed, no need for powered USB hub. Had issues playing roms directly off it however as it was formatted NTFS. I'm sure if I formatted to FAT32 these would disappear.&amp;quot;}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 160GB Elements External USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| standard-A port via powered High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 250GB Elements Portable USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct or standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 250GB My Passport Essential USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown|Direct?}}&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown|Direct?}}&lt;br /&gt;
| {{Partial|Maybe}}&lt;br /&gt;
| Tested by TheDarkSpectrum48K.  The first time it [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__877386 &amp;quot;works perfectly!&amp;quot;].  The second time [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__882635 it didn't work].&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 400GB My Passport Essential USB 2.0 2.5&amp;quot; HDD model WDME4000TE&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/user/14534-peca/ Peca].&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 500GB Elements Portable External Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. {{HideableNotes|The USB cable that came with it was bad, so I used another one.[http://www.gp32x.com/board/index.php?/topic/59494-solved-how-do-i-get-my-wd-500gb-external-hard-drive-to-work-properly/page__view__findpost__p__949863]}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 500GB My Passport Essential External Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. Works fine. {{HideableNotes|Came pre-formatted in NTFS, but should work if you downloaded the community codec pack. It said 1TB on the packaging, but there was 465GB free space, so I'm pretty sure it was actually the 500GB one.}}[http://www.gp32x.com/board/index.php?/topic/59494-solved-how-do-i-get-my-wd-500gb-external-hard-drive-to-work-properly/page__view__findpost__p__949645]&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 1TB My Passport Essential SE External USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct or through powered High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://http://www.gp32x.com/board/index.php?/user/19191-mycohl/ Mycohl]. {{HideableNotes|Externally powered hub recommended to conserve battery power.}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital Elements 2TB 3.5&amp;quot; Hard Drive Model:WDBAAU0020HBK&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://boards.openpandora.org/index.php?/user/430-kilowatt/ kilowatt].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DVD/CD Drives ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Lite-On EZ-DUB DVD/CD Multi-Recorder (Model eZAU120)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Powered by included mains adapter - DC 12V 1.8A&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Memorex 20x Multi Format DVD Recorder External - DVD±RW (±R DL)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Powered by included mains adapter&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Video display device =&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Output connectors&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Tritton see2 usb 2.0 to SVGA adapter&lt;br /&gt;
| sisusb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown|High {{HideableNotes|Reduces Pandora's battery life in half (10h → 4h)}}}}&lt;br /&gt;
| VGA (D-SUB)&lt;br /&gt;
| {{Partial|Yes, but has performance issues.}}&lt;br /&gt;
| Needs to be integrated with preferences.  {{HideableNotes|Currently I (who?) must edit xorg.conf and mess with xinerama.}} Good for presentations, dragging a window is bearable, but hi-res video is slow.  Works in Linux without any issues.&lt;br /&gt;
|-&lt;br /&gt;
| DisplayLink usb 2.0 to SVGA adapter WS Tech USB-DVI&lt;br /&gt;
| udlfb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| VGA (D-SUB)&lt;br /&gt;
| Yes&lt;br /&gt;
| 17e9:0198 DisplayLink. No hub needed. Module and userspace here:&lt;br /&gt;
 git clone http://git.plugable.com/webdav/udlfb/&lt;br /&gt;
 git clone http://git.plugable.com/webdav/xf-video-udlfb/&lt;br /&gt;
|-&lt;br /&gt;
| Plugable DisplayLink UGA-165&lt;br /&gt;
| ?&lt;br /&gt;
| Mini-B female&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| ?&lt;br /&gt;
| DVI/VGA/HDMI&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| In /etc/X11, copy xorg.conf.DisplayLink to xorg.conf then '''log out''' with the device attached [http://pandoralive.info/?p=3423]&lt;br /&gt;
Remark by [[User:porg|porg]] without having tested it myself. I guess quite ok for static content, but vivid/dynamic content may suffer lag, as the [https://plugable.com/products/uga-165/ official product page] says:&lt;br /&gt;
&amp;quot;USB speed limitations prevent smooth playback with full-screen HD videos, and games suffer similar performance limitations or don't work at all since no direct hardware access (DirectX) is possible.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Magic Control Technology Corp. Trigger II External Graphics&lt;br /&gt;
| sisusb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ID 0711:5200 Magic Control Technology Corp. A kernel recompile is needed. In /usr/src/linux/drivers/usb/misc/sisusbvga , edit sisusb.c , and add&lt;br /&gt;
&lt;br /&gt;
{ USB_DEVICE(0x0711, 0x5200) },&lt;br /&gt;
&lt;br /&gt;
in the list around line 3250&lt;br /&gt;
 Get the latest xf86-video-sisusb driver here:&lt;br /&gt;
 http://xorg.freedesk...ividual/driver/&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Video capture devices =&lt;br /&gt;
&lt;br /&gt;
== Webcams ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Exoo No Driver/USB 2.0 Webcam (Model No.: M053)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Bought from [http://www.dealextreme.com/details.dx/sku.14991 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Quickcam Communicate Deluxe&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| USB ID: 046d:0992, works though [http://linux-uvc.berlios.de/ uvcvideo].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Webcam c210&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 170mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 046d:0819 &amp;lt;unnamed&amp;gt;. Video and Audio recognized, tested to work.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech HD Webcam C270 720p&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Partial|Yes, but audio untested}}&lt;br /&gt;
| ID 046d:0825 Logitech, Inc.  Audio recognized, but not tested.  More info to come.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech HD Webcam Pro 9000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Partial|Yes, but audio untested}}&lt;br /&gt;
| ID 046d:0990 Logitech, Inc.  Audio recognized, but not tested.  Great Picture!  Works in Linux.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
&lt;br /&gt;
== Microphones/recorders ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bluemic.com/yeti/] Blue Yeti&lt;br /&gt;
| not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
| standard-A port via High Speed USB hub &lt;br /&gt;
| {{unknown|Not thoroughly tested.}}&lt;br /&gt;
| Very roughly tested 2012-06-13 by [[user:spiralofhope|spiralofhope]] using Mumble.  More testing required.  {{HideableNotes|The system recognizes the Yeti, and it appears in Mumble's list of available devices, but the audio wizard doesn't show the Yeti as having input.  Additional troubleshooting is required, as is checking the manual/company website for missing information.}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zoom.co.jp/english/products/h2/] Zoom H2 Handy Recorder&lt;br /&gt;
| not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 300mA&lt;br /&gt;
| standard-A port via High Speed USB hub &lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
| Can record into Audacity, but won't be recognized unless connected through USB hub.[http://www.gp32x.com/board/index.php?/topic/59301-audacity-1-3-12/page__view__findpost__p__947602].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MIDI controllers ==&lt;br /&gt;
&lt;br /&gt;
EvilDragon bundled the usb MIDI class drivers in the default firmware image, therefore ANY class-compliant MIDI device should work with the Pandora, out of the box.[http://www.gp32x.com/board/index.php?/topic/58523-zynaddsubfx/page__view__findpost__p__938432]&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Akai LKP25&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/58523-zynaddsubfx/page__view__findpost__p__938432]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| M-Audio MIDISPORT 2x2 Anniv&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| 400mA&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| ID 0763:1050 Midiman.  High current draw!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB audio controllers ==&lt;br /&gt;
&lt;br /&gt;
Some are &amp;quot;professional soundcard&amp;quot;; see [http://en.wikipedia.org/wiki/Sound_card#Professional_soundcards_.28audio_interfaces.29 definition on Wikipedia].&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Cakewalk UA-1G&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 200mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0582:00e9 Roland Corp. This device may be similar to older Edirol/Roland USB audio devices. Runs and record under Slackware. Jack audio server realtime recording works. Recognized but not tested under official OS. A hub, powered or not, is needed.&lt;br /&gt;
|-&lt;br /&gt;
| Connectland AUDIO ADAPTER&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter . CMedia CM108 Virtual 7.1 Channel Sound. Has vol +, vol -, mute headspeaker, mute mic buttons. Mini-jack audio in and out. A non-powered hub is needed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Input devices =&lt;br /&gt;
&lt;br /&gt;
Any HID ([http://en.wikipedia.org/wiki/Human_interface_device Human Interface Device]) compliant keyboard, mouse or game controller should work on the Pandora. Most of those device are low speed or full speed USB device and will need to be connected though either a [[USB_reference#OTG host mode|USB OTG adapter/cable]] or a [[USB reference#What’s all this stuff about USB 1.1 and USB 2.0? Isn’t USB, uh, universal?|USB2 hub]] in order to work on the Pandora.&lt;br /&gt;
&lt;br /&gt;
== External Game Controllers ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| 2-TECH SNES-to-USB adapter&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| USB description is &amp;quot;HuiJia USB GamePad&amp;quot;, &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt; calls it &amp;quot;0e8f:3013 GreenAsia Inc.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| USB Super RetroPort (SNES-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Bought from [http://www.retrousb.com/product_info.php?cPath=21&amp;amp;products_id=29 RetroZone].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| USB RetroPort (NES-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Bought from [http://www.retrousb.com/product_info.php?cPath=21&amp;amp;products_id=28 RetroZone].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Trio Linker Plus II (PlayStation,-GameCube,-and-Dreamcast-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Bought from [http://www.play-asia.com/paOS-13-71-6m-49-en-70-1zfv.html Play-Asia].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| NAZAR V47 USB Force Feedback Vibrating Gamepad Controller for PC&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Whether it really contains the claimed force feedback feature is unknown as this feature does not work under Linux - bought from [http://www.dealextreme.com/details.dx/sku.24551 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| 10-Fire-Button Double Vibration Feedback USB PC Arcade Joystick&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Whether it really contains the claimed force feedback feature is unknown as this feature does not work under Linux - bought from [http://www.dealextreme.com/details.dx/sku.27821 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Official PlayStation 3 controller&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Full speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A To Mini B Cable via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| This is for USB not bluetooth compatibility. Sixaxis and DualShock not tested.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Saitek PLC Cyborg Force Rumble Pad (P2500) - 06a3:ff0c&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| 5V&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Unknown|Not fully tested}}&lt;br /&gt;
| Partial test attempted 2012-06-24 by [[user:spiralofhope|spiralofhope]].  lsusb lists it.  More testing required.  {{HideableNotes|A gamepad testing procedure needs to be defined.  See [[Joystick testing]].}}&lt;br /&gt;
|-&lt;br /&gt;
| Thrustmaster Firestorm Digital 3 Gamepad&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 07b5:0213 Mega World International, Ltd Thrustmaster Firestorm Digital 3 Gamepad.&lt;br /&gt;
|-&lt;br /&gt;
| Wired Xbox 360 Controller&lt;br /&gt;
| xpad module&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| This also includes gamepads for PC that needs the Windows Xinput driver. Such gamepads include the Logitech Chillstream.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| WiseGroup.,Ltd SmartJoy Dual PLUS Adapter (dual PSX to USB joypad adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port via USB 1-compatible High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 6677:8802.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Cordless RumblePad 2&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Product-ID: 0xc219, Vendor-ID: 0x046d  (Logitech Inc.), [http://www.logitech.com/support/287 Official product support website],&amp;lt;br&amp;gt;All buttons worked fine in PCSX, analog sticks not tested, but likely work&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Touchpads ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.logitech.com/en-us/mice-pointers/mice/devices/8417 Logitech Wireless Touchpad]&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Left and right four-finger swipes aren't mapped to anything by default in XFCE. They can be mapped as keyboard shortcuts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graphics tablets ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Bamboo Multitouch&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{No|No [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__881806]}}&lt;br /&gt;
| It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Genius Tablet&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Yes|Yes, [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__883140 via USB hub]}}&lt;br /&gt;
| It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Wacom CTH-460&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{No|No [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__924422]}}&lt;br /&gt;
| Would need a patched driver to work.  It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Wacom Volito2 Tablet (Model: CTF-420)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| 40mA [http://www.my-volito.com/volito/specs.asp?lang=en]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| USB ID: 056a:0062&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mice ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Connector&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Apple Mouse (M5769)&lt;br /&gt;
| USB&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Seems to disable USB port, reboot afterwards required&lt;br /&gt;
|-&lt;br /&gt;
| Apple Mouse with Scroll Ball (A1152)&lt;br /&gt;
| USB&lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Cherry Ghostcord [http://www.amazon.de/Cherry-M85-26005DE-2-B-Unlimited-Home-Rechargeable/dp/B001EDSE0U/ref=tag_stp_s2_edpp_url]&lt;br /&gt;
| USB&lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
| Part of a bundle with keyboard and a USB dongle for the connetion. With the dongle on the hub both devices work just fine (tested in XFCE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Infrared =&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| TopSeed remote (branded ''Sapphire'' or ''CyberLink'')&lt;br /&gt;
| hid_topseed (added SZ 1.73)&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| &amp;lt;100mA&lt;br /&gt;
| OTG port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Some of the special buttons don't generate any key event.&lt;br /&gt;
|-&lt;br /&gt;
| Dangerous Prototypes IRToy&lt;br /&gt;
| cdc_acm (included)&lt;br /&gt;
| Mini-B female&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 200mA&lt;br /&gt;
| Standard-A port with hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Can send and receive raw IR codes via the virtual serial connection. No application support yet.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Electronics development =&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Microchip PICkit 2&lt;br /&gt;
| not required&lt;br /&gt;
| Mini-B female&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| &amp;lt;100mA&lt;br /&gt;
| OTG port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| The pk2cmd application compiles easily.&lt;br /&gt;
|-&lt;br /&gt;
| Arduino Uno&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-B female&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 50mA&lt;br /&gt;
| OTG port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Arduino Leonardo&lt;br /&gt;
| not required&lt;br /&gt;
| Micro-B female&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 50mA&lt;br /&gt;
| Standard-A port with hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| The Arduino PND failes to compile sketches for the Leonardo, but a pre-programmed board can still communicate with the Pandora. &amp;lt;br /&amp;gt;The Leonardo makes an incorrect USB current request, but this can be reprogrammed if you want to use it on the OTG port - in Arduino's ''USBCore.h'', change ''USB_CONFIG_POWER_MA(500)'' to 100.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Connectors, adapters, and hubs =&lt;br /&gt;
&lt;br /&gt;
This section is intended as a general guide. Items in this section are standard USB accessories, so drivers are not required. Compatibility with Pandora is assumed. Please note that any external product links are provided for reference only, and are not an endorsement.&lt;br /&gt;
&lt;br /&gt;
== OTG (On The Go) Adapters ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Generic adapter&lt;br /&gt;
| {{No}}&lt;br /&gt;
| [http://shop.ebay.com/?_from=R40&amp;amp;_trksid=p3907.m38.l1313&amp;amp;_nkw=usb+otg+host+cable&amp;amp;_sacat=See-All-Categories Find on eBay] [http://www.amazon.co.uk/s/ref=nb_ss_ce?url=search-alias%3Delectronics&amp;amp;field-keywords=OTG+Cable+Adapter&amp;amp;x=3&amp;amp;y=23 Find on Amazon] These links are not 100% accurate. Check for `mini-a`, and on eBay, the price is higher by about $8.&lt;br /&gt;
|-&lt;br /&gt;
|Hama 00074214&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|[http://www.hama.de/00074214/hama-mini-usb-adapter-mini-usb-a-plug-usb-a-socket-015-m Manufacturer Page]&lt;br /&gt;
|-&lt;br /&gt;
| Nokia USB OTG adapter&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| [http://www.electronicproductonline.com/catalog/product_info.php?cPath=35_67&amp;amp;products_id=2043 Electronic Product Online]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Compact USB Hubs ==&lt;br /&gt;
&lt;br /&gt;
Be sure to enable USB-host!&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Griffin SmartShare USB [http://www.griffintechnology.com/products/smartshare-usb]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U415 4 Port USB 2.0 Swivel Hub [http://catalog.belkin.com/IWCatProductPage.process?Product_Id=377085]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U700 USB 2.0 7-Port Lighted Hub [http://www.belkin.com/uk/support/article/?lid=enu&amp;amp;pid=F5U700ea&amp;amp;aid=10289&amp;amp;scid=947]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested 2012-06-16 by [[user:spiralofhope|spiralofhope]] both with and without its power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U701 USB 2.0 7 Port Mobile Hub [http://www.belkin.com/IWCatProductPage.process?Product_Id=369788]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by pabloh.  Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| ID 0e8f:0016 GreenAsia Inc. &lt;br /&gt;
| {{No}}&lt;br /&gt;
| Tested by tsh.  Labeled as high speed.  Bought from ebay.&lt;br /&gt;
|-&lt;br /&gt;
| ID 05e3:0608 Targus with Genesys Logic 4 Port USB 2.0 Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Kazuki. Works.&lt;br /&gt;
|-&lt;br /&gt;
|Trust 4 port netbook hub ID 05e3:0608&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by tsh.  Bought from [http://www.amazon.co.uk/gp/product/B0025X16AS Amazon].&lt;br /&gt;
|-&lt;br /&gt;
| High Speed 4 Port Mini USB 2.0 Hub for Laptop PC (non powered)&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Octopus-style small cheap unpowered USB hub.  Bought from [http://cgi.benl.ebay.be/ws/eBayISAPI.dll?ViewItem&amp;amp;item=270538502843 ebay]&lt;br /&gt;
|-&lt;br /&gt;
| Keeptech USB 2.0 Hub (7 Ports) with Power Adapter, KT-UH703 [http://www.keeptech.com/books_show.php?id=144]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. Works powered or unpowered.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Premium 4-Port USB Hub [http://www.logitech.com/en-in/notebook-products/usb-hubs/devices/3048]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| LUPO 7-port USB 2.0 Hub (cheap octopus type which can be powered as there is dc socket)&lt;br /&gt;
| {{Partial|Yes. {{HideableNotes|Can use a power supply but wasn't tested with one.}}}}&lt;br /&gt;
| Tested by kilowatt. Bought from [http://www.amazon.co.uk/gp/product/B003BVDABG/ref=oss_product from amazon uk]&lt;br /&gt;
|-&lt;br /&gt;
| LogiLink USB 2.0 Hub 4-Port UA0086 [http://www.logilink.eu/showproduct/UA0086.htm]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Jones. Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2H3S Ethernet adapter + 3 USB ports [http://www.logitec.co.jp/products/lan/lantxu2h3/index.php]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| See [http://pandorawiki.org/USB_compatibility_list#USB_to_Ethernet_adapters USB to ethernet adapters] for more details. USB 1 devices work perfectly. Also available as other brands:  [http://www.amazon.com/USB-2-0-3-Port-Ethernet-Adapter/dp/B002OFJRW6/ref=sr_1_3?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-3&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Encore-ENUET-3USB-3-Port-Ethernet-Adapter/dp/B0036FZJX4/ref=sr_1_1?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-1&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Addlogix-3-port-USB-Hub-Ethernet/dp/B0030DO7OY/ref=sr_1_27?ie=UTF8&amp;amp;qid=1357780088&amp;amp;sr=8-27&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub]&lt;br /&gt;
|-&lt;br /&gt;
| Rosewill RHB-220 4-port USB 2.0 Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Tyrant1919. Unpowered. Bought from [http://www.newegg.com/Product/Product.aspx?Item=N82E16817182168 Newegg].&lt;br /&gt;
|-&lt;br /&gt;
| i-rocks SLEEK HUB USB 2.0 4 Ports Hub [http://www.i-rocks.com/Product_detail.aspx?CLASS_ID=1036&amp;amp;PRODUCT_ID=1080]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Comes with an ac adapter, but can be used without. USB 1 devices work perfectly.&lt;br /&gt;
|-&lt;br /&gt;
| MSI StarHub201 &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Testet by mclien with keyboard and mouse in XFCE, unpowered, not on the MSI site (discontinnued, guess) [http://alatest.dk/anmeldelser/hubs-og-switches/msi-star-hub-201/po3-34222999,42/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:USB]]&lt;br /&gt;
[[Category:List]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=USB_compatibility_list&amp;diff=30317</id>
		<title>USB compatibility list</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=USB_compatibility_list&amp;diff=30317"/>
		<updated>2021-03-14T15:21:45Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Video display device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of USB devices that have been tested on the Pandora. If the device you want to know about isn't listed here, don't worry! Just go to [[USB_reference|the USB reference page]], look up the specs of your device, and you may be able to figure out if it's compatible.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
Each type of device will have its own unique way to troubleshoot.&lt;br /&gt;
&lt;br /&gt;
But here are some general tips:&lt;br /&gt;
&lt;br /&gt;
* Is USB-Host enabled?&lt;br /&gt;
* check &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* check &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When asking for help on [http://boards.openpandora.org/index.php?/forum/8-support/ the forums support board], be sure to post both your &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Because &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output is very long, you need to paste it within [spoiler] tags like this:&lt;br /&gt;
&lt;br /&gt;
  [spoiler]&lt;br /&gt;
  (paste your dmesg in here)&lt;br /&gt;
  [/spoiler]&lt;br /&gt;
&lt;br /&gt;
An easy way to get your &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; so you can easily copy and paste it, is:&lt;br /&gt;
&lt;br /&gt;
  dmesg|leafpad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;leafpad&amp;lt;/tt&amp;gt; will open with the output of &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you have no networking on your palmtop, you can send the information to a text file like this:&lt;br /&gt;
&lt;br /&gt;
  cd (your storage card)&lt;br /&gt;
  dmesg&amp;gt;textfile.txt&lt;br /&gt;
  sync&lt;br /&gt;
&lt;br /&gt;
Then you can remove your card (if no programs are using it or PNDs are running on it) and bring it to a card reader on your desktop.&lt;br /&gt;
&lt;br /&gt;
= Networking =&lt;br /&gt;
&lt;br /&gt;
Please see the [[Mobile Broadband]] page for tips on how to get these working, as well as [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/ this tutorial] from the GP32X forum.&lt;br /&gt;
&lt;br /&gt;
== HSDPA (3G) Modems ==&lt;br /&gt;
&lt;br /&gt;
Please note that many (if not all) USB 3G modems need modemmanager to be installed for switching from mass storage mode to serial communications mode. When first plugged in, most 3G USB modems claim to be a mass storage device and offer, on its built-in flash, drivers and connectivity software to be installed. Mostly this is only for Windows and Mac, so for the Pandora this is not useful. modemmanager instantly takes care of toggling the mode, so that when you plug in the modem, after a few seconds or maybe half a minute modemmanager has switched the modem to communications mode and NetworkManager is able to use it.&lt;br /&gt;
&lt;br /&gt;
If you are using a Firmware before HF7 (or one of its Alpha/Beta versions) you have to install modemmanager. To do so, connect your Pandora to the Internet, open a terminal and, as a super user, intall it via opkg by entering the commands:&lt;br /&gt;
&lt;br /&gt;
:sudo opkg update&lt;br /&gt;
:sudo opkg install modemmanager&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are using a firmware more recent than &amp;quot;Zaxxon&amp;quot; Hotfix 6 (starting with HF7) you do not have to follow the steps outlined above since modemmanager comes preinstalled.&lt;br /&gt;
&lt;br /&gt;
'''Note 2:''' After plugging in the USB 3G modem, it may take some time until NetworkManager is able to use the modem. Wait for at least half a minute, until you give up and report that the modem doesn't work.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| ZTE K3565-Z / MF626 / MF627 / MF636&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__956513] [http://boards.openpandora.org/index.php?/topic/7226-superzaxxon-beta-11-released/page__pid__127881#entry127881]}}&lt;br /&gt;
| A how-to by shideneyu for this modem can be found [http://www.pandorawiki.org/ZTE_K3565Z_3G_USB_Modem here]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| BandLuxe C270&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| A how-to by relliker for this modem can be found [http://www.pandorawiki.org/BandLuxe_C270_3G_USB_Modem here]&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E156G&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/52827-3gumts-usb-dongle/page__view__findpost__p__835681]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Huawei E160&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| As the entry for Huawei E220 was wrong, this Current draw could also be wrong. This one definitely needs modemmanager. After installing modemmanager, it works flawlessly.&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E160E&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| As the entry for Huawei E220 was wrong, this Current draw could also be wrong.&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E1750&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__939350]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Huawei E220|Huawei E220]]&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port via High Speed hub&lt;br /&gt;
| {{No|Not on new kernels.}}&lt;br /&gt;
| The successful Pandora E220 tests were done by DJWillis on an old kernel (long before Pandora shipped). It seems that they are NOT working any more.  Also tested on Linux (was it working?)  This entry originally said 250mA, but there is no source and current sources say 500mA.&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E3531&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Need recent USB_ModeSwitch compiled and installed, see (http://www.draisberghof.de/usb_modeswitch/); then type &amp;quot;usb_modeswitch -W -I -v 12d1 -p 15ca -M 55534243123456780000000000000011062000000101000100000000000000&amp;quot; to switch to modem mode (lsusb should change from 12d1:15ca to 12d1:1506). Enable automatic modem switch: sudo nano /etc/modutils/mobilestickserial and enter &amp;quot;usbserial vendor=0x12d1 product=0x15ca&amp;quot;, sudo nano /etc/udev/rules.d/999-mobilestick.rules and enter &amp;quot;SUBSYSTEM==&amp;quot;usb&amp;quot;, SYSFS{idProduct}==&amp;quot;15ca&amp;quot;, SYSFS{idVendor}==&amp;quot;12d1&amp;quot;, RUN+=&amp;quot;/usr/sbin/usb_modeswitch -W -I -v 12d1 -p 15ca -M 55534243123456780000000000000011062000000101000100000000000000&amp;quot;&amp;quot;, off course checking usb_modeswitch path, in this case /usr/sbin&lt;br /&gt;
|-&lt;br /&gt;
| 4G-Systems XS Stick P14&lt;br /&gt;
| Not required (usbserial module)&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__937681]}}&lt;br /&gt;
| Requires usbmodeswitch program. &lt;br /&gt;
|-&lt;br /&gt;
| iPhone 3GS (Probably also 1G/3G)&lt;br /&gt;
| ipheth&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| {{Unknown|USB A (Standard-A port?)}}&lt;br /&gt;
| {{Maybe|Should work in Angstrom with some work.}}&lt;br /&gt;
| Requires a good bit of dependencies to get working.  Tested with Debian from SD, but should work in Angstrom with some work.  The ipheth wwan0 device only provides a connection over the 3G modem, even if you're connected to a wifi network.  I used the iproxy and SSH tunneling method with proxychains to get to the wifi network.&lt;br /&gt;
|-&lt;br /&gt;
| HTC Desire&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| {{Unknown|USB A (Standard-A port?)}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Requires internet connection sharing to be enabled from the phone.&lt;br /&gt;
|-&lt;br /&gt;
| Samsung Galaxy Ace 2&lt;br /&gt;
| not required&lt;br /&gt;
| Micro-B female&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested with phone firmware from T-Mobile (July 2012). Connect the USB cable, enable USB tethering on the phone, and connect to lfupdown on Pandora NetworkManager. Works with 3G and wifi.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Firefox Flame&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A -&amp;gt; Micro-B&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested with phone with software Boot2Gecko 3.0.0.0-prerelease. Connect the USB cable, enable USB tethering on the phone, and connect to ifupdown on Pandora NetworkManager. Works with 3G and Wi-Fi.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB to Ethernet adapters ==&lt;br /&gt;
&lt;br /&gt;
To enable USB Ethernet adapters on the Pandora, you may need to left-click the networking icon on the panel in Xfce, and select &amp;quot;Ifupdown (bnep0)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Mbps&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Apple USB Ethernet Adapter MB442Z/A&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Reportedly uses an ASIX AX88xxx chipset.&lt;br /&gt;
|-&lt;br /&gt;
| Apple USB Ethernet Adapter model A1277&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 05ac:1402 Apple, Inc.&lt;br /&gt;
|-&lt;br /&gt;
| ASUS USB Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 200mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7e2b ASIX Electronics Corp. AX88772B&lt;br /&gt;
|-&lt;br /&gt;
| Conrad 3-Port-USB-Hub und Netzwerk-Adapter&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| A lot! {{HideableNotes|50% of battery charge only brings you 2h40min (min brightness, no other devices attached)}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Has a 3port USB Hub included. External power supply can (and should) be attached, not included though. ASIX Chipset. 20€ @ [http://www.conrad.de/ce/de/product/976406/NOTEBOOK-MINI-DOCKINGSTATION-USBRJ45/SHOP_AREA_32315&amp;amp;promotionareaSearchDetail=005 Conrad Electronics].  Not tested in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-GTJ/U2B Ethernet adapter&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA (lsusb) 1000Mbps=350mA 100Mbps=230mA 10Mbps=220mA(documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:1780 ASIX Electronics Corp. AX88178 [http://www.logitec.co.jp/products/lan/langtju2b/index.php]&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2B Ethernet adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA (lsusb) 100Mbps=170mA 10Mbps=210mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:772a ASIX Electronics Corp.[http://www.logitec.co.jp/products/lan/lantxu2b/index.php]&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2H3S Ethernet adapter + 3 USB ports&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA (lsusb) 300mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:772a ASIX Electronics Corp. USB hub current: 100mA (lsusb) 200mA (documentation). [http://www.logitec.co.jp/products/lan/lantxu2h3/index.php] [http://www.amazon.com/USB-2-0-3-Port-Ethernet-Adapter/dp/B002OFJRW6/ref=sr_1_3?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-3&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Encore-ENUET-3USB-3-Port-Ethernet-Adapter/dp/B0036FZJX4/ref=sr_1_1?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-1&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Addlogix-3-port-USB-Hub-Ethernet/dp/B0030DO7OY/ref=sr_1_27?ie=UTF8&amp;amp;qid=1357780088&amp;amp;sr=8-27&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub]&lt;br /&gt;
|-&lt;br /&gt;
| Wii USB 2.0 10/100M adapter (use [http://www.asix.com.tw/products.php?op=pItemdetail&amp;amp;PItemID=86;71;101 ASIX AX 88772 USB 2.0 chip])&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7720 ASIX Electronics Corp. AX88772.  [http://www.dealextreme.com/details.dx/sku.5926 This clone from DealExtreme] works too.&lt;br /&gt;
|-&lt;br /&gt;
| Connectland USB 2.0 10/100M Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7720 ASIX Electronics Corp. AX88772 - Works fine, Sometimes a reboot is necessary (ZaxxonHF5RC1).&lt;br /&gt;
|-&lt;br /&gt;
| Belkin Gigabit USB 2.0 Network Adapter&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| The shape of it make is a bit awkward to fit if you connect it directly, but it has a short adapter cable. I only get ~95Mbit on a gigabit network, but then the pandora's cpu maxes out. (it may be that the driver/usb stack isn't very well optimized), has horribly bright blue LEDs.&lt;br /&gt;
|-&lt;br /&gt;
| MosChip MCS7830 USB 10/100 Ethernet adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter. Kernel module: mcs7830.&lt;br /&gt;
|-&lt;br /&gt;
| EU.MARK USB 10/100M RJ45 Ethernet Network Adapter Dongle&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| USB ID: 9710:7830 - bought from [http://www.dealextreme.com/details.dx/sku.22684 DealExtreme]&lt;br /&gt;
|-&lt;br /&gt;
| Digitus DN-10050 Fast Ethernet USB Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| MosChip MCS7830-based adapter. USB ID 9710:7830.&lt;br /&gt;
|-&lt;br /&gt;
| Edimax EU-4230 Fast Ethernet USB Adapter with 3-port USB hub [http://edimax.ie/images/Image/datasheet/USB/EU-4230/EU-4230_Datasheet.pdf]&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Ethernet USB ID 0b95:772a ASIX Electronics Corp. 3-port USB2.0 hub USB ID 0409:005a NEC Corp. Optional power adapter for USB hub.&lt;br /&gt;
|-&lt;br /&gt;
| Peabird USB v2.0 Fast Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter. Consumes a lot of current. Fragile, the protective plastic cord cracked after one month. Hot. A blue light a bit too flashy. Definitely avoid this model.&lt;br /&gt;
|-&lt;br /&gt;
| SIIG JU-NE0012-S1 USB 2.0 Fast Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Bought from  [http://www.newegg.com/Product/Product.aspx?Item=N82E16812191163 Newegg]&lt;br /&gt;
|-&lt;br /&gt;
| TRENDnet USB to Gigabit Ethernet Adapter TU2-ETG&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA (lsusb) Dormant: 5mA Static: 91mA Working: 131mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Rev. 2.0R ID 0b95:1780 ASIX Electronics Corp. AX88178 [http://www.trendnet.com/products/proddetail.asp?prod=275_TU2-ETG&amp;amp;cat=42] Rev. 2.0R is white, previous versions are blue and consumes more current. The documentation's current draw are reported for 10 and 100Mbps.&lt;br /&gt;
|-&lt;br /&gt;
| Novatel Wireless Jetpack 4620L&lt;br /&gt;
|&lt;br /&gt;
| cdc_ether&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB &lt;br /&gt;
| High drain; 95% charge = 6:00 battery life.&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| This is a LTE/EVDO/CDMA/HSPA/UMTS/EDGE/GPRS Wifi Hotspot device; Device is registered as a USB Ethernet device when connected through USB tethered (as opposed to Wifi) connection. USB ID 1410:b008&lt;br /&gt;
|-&lt;br /&gt;
| LOGILINK UA0174A Fast Ethernet USB Adapter with 3-port USB hub&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| about 300mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| This is a combined USB 2.0 3Port Hub and USB to Ethernet adapter. ID 0b95:772b ASIX Electronics Corp. AX88772C; bought at [http://www.reichelt.de/Netzwerkkarten/LOGILINK-UA0174A/3//index.html?ACTION=3&amp;amp;GROUPID=5822&amp;amp;ARTICLE=132333&amp;amp;SEARCH=usb%20ethernet&amp;amp;OFFSET=16&amp;amp;WKID=0&amp;amp;]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB to serial adapters ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| pl203&lt;br /&gt;
| usbserial&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 100mA. A powered hub is needed.&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| A powered hub is needed. Plug the device, then load USB modules. ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port.&lt;br /&gt;
|-&lt;br /&gt;
| SparkFun FTDI Basic Breakout&lt;br /&gt;
| not required&lt;br /&gt;
| Mini-B female&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| &amp;lt;100mA&lt;br /&gt;
| OTG port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested the variant sold by eBay seller &amp;quot;goodlucksell&amp;quot;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB WiFi adapters ==&lt;br /&gt;
&lt;br /&gt;
The Pandora stock kernel may not come with all wireless driver support outside of the internal WiFi chip.  Sometimes, the only way you'll get wireless working is to build your own kernel with it included or try [http://wireless.kernel.org/en/users/Download compat-wireless].&lt;br /&gt;
&lt;br /&gt;
As for hofix 6a4 compat-wireless seems to be present in the kernel out of the box, so one can build a USB wireless driver for Pandora following this [http://boards.openpandora.org/index.php?/topic/5140-solvedbuilding-a-usb-wifi-driver/page__view__findpost__p__89280 algorithm]&lt;br /&gt;
&lt;br /&gt;
As for [[hotfix 6]] Release Candidate the kernel includes drivers for these Realtek chips: RTL8712/8188/8191/8192SU/8192CU&lt;br /&gt;
&lt;br /&gt;
See also [http://boards.openpandora.org/index.php?/topic/7160-micro-wifi-dongle/ this thread] on the forums for the latest.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Tested on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Advance Mini Wireless N150&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| There's a little hole on it, so it's useful for attaching it to the OP.&lt;br /&gt;
|-&lt;br /&gt;
| ASUS WL-167G v2&lt;br /&gt;
| rt73usb + rt2x00usb + rt2x00lib&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 300mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Works under Slackware, not (without a hub) under Zaxxon, which become very unstable}}&lt;br /&gt;
| 0b05:1723 ASUSTek Computer, Inc. WL-167G v2 802.11g Adapter [Ralink RT73]. Works pretty fine on Linux PC.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin N1 Wireless USB Adapter (F5D8051) (&amp;quot;Ver. 2053&amp;quot;) (MARVELL v1021)&lt;br /&gt;
| N/A&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| No connection was attempted.&lt;br /&gt;
| {{No|No native driver support and ndiswrapper obviously won't work.}}&lt;br /&gt;
| There's a previous revision of this dongle which is supposed to have a Ralink chip, but they revised it and put a different chip inside.  Reported (by whom?) to work with ndiswrapper and works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin Surf micro &lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Cisco/Linksys AE1000 High Performance Wireless-N USB Adapter&lt;br /&gt;
| rt3572sta (RT3572USB)&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A (Standard-A port?)&lt;br /&gt;
| {{Yes|Works with a modified driver.}}&lt;br /&gt;
| (Compiled module for pandora:[http://boards.openpandora.org/index.php?/topic/1992-linksys-ae1000-usb-wifi/ pandora forum])  Download the driver from [http://www.ralinktech.com/support.php?s=2 ralink's driver site], edit ./common/rtusb_dev_id.c, before &amp;quot;#endif // RT2870&amp;quot; add &amp;quot;{USB_DEVICE(0x13B1,0x002F)},&amp;quot;, compile.'   Reported (by whom?) to work in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| D-Link WIRELESS G USB ADAPTER DWL-G122 rev.E1 F/W 5.00&lt;br /&gt;
| rt2870sta + rt2800usb + rt2800lib&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Works under Slackware, not (without a hub) under Zaxxon, which become very unstable}}&lt;br /&gt;
| 07d1:3c0f D-Link System AirPlus G DWL-G122 Wireless Adapter(rev.E) [Ralink RT2870]. Works pretty fine on Linux PC.&lt;br /&gt;
|-&lt;br /&gt;
| Digitus Wireless 150N USB 2.0 Adapter&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Bundled with a non-WiFi Pandora coming from Craig's shop&lt;br /&gt;
|-&lt;br /&gt;
| Edimax EW-7811Un&lt;br /&gt;
| rtl8192cus&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Havit HV-WF15&lt;br /&gt;
| n/a&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since SuperZaxxon}}&lt;br /&gt;
|-&lt;br /&gt;
| Netgear WNA1000M &lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Thomson WLG-1500A&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 400mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{No|Doesn't work.}}&lt;br /&gt;
| 0457:0163 Silicon Integrated Systems Corp. 802.11 Wireless LAN Adapter&lt;br /&gt;
|-&lt;br /&gt;
| TRENDnet TEW-424UB V2&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 400mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{No|lsusb shows it, but no module is loaded}}&lt;br /&gt;
| 0457:0163 Silicon Integrated Systems Corp. 802.11 Wireless LAN Adapter. Same behavior on a PC.&lt;br /&gt;
|-&lt;br /&gt;
| Alfa Network AWUS036H 1000mw&lt;br /&gt;
| RTL8187&lt;br /&gt;
| IEEE 802.11b/g&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| ?&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| can be found on ebay; tested with Beta 3&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link 150Mbps Mini Wireless N&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Unknown&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Model No TL-WN723N.  Tested with WPA2.   Works out of the box.  Cheap to buy (£6.99 from pcworld in the UK). &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link 150Mbps '''Nano''' Wireless N&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Unknown&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Model No TL-WN725N. Works out of the box.  From Reichelt.de. Claims to be RaspberryPi compatible on their website.  &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.tp-link.com.de/products/details/?model=TL-WN823N#spec TP-Link 300Mbps '''Mini''' Wireless N]&lt;br /&gt;
| Unknown&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Unknown&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Model No TL-WN823N. Works out of the box. Is also RaspberryPi compatible. Has been tested. &lt;br /&gt;
|-&lt;br /&gt;
| TP-Link Atheros AR9170&lt;br /&gt;
| carl9170-1.fw&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 400mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Model No TL-WN821N. Works out of the box. ID 0cf3:1002  &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DVB/TNT/TDT ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Module(s)&lt;br /&gt;
! Firmware&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| AVerMedia AVerTV Volar Green HD&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| Should work&lt;br /&gt;
| af9033 tda18218&lt;br /&gt;
| dvb-usb-af9035-02.fw&lt;br /&gt;
| ID 07ca:a835 AVerMedia Technologies, Inc.&lt;br /&gt;
HD/PRO (A835)&lt;br /&gt;
|-&lt;br /&gt;
| AVerMedia AVerTV Volar Video Capture&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Reported as 0mA. More likely to be 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ID 07ca:4830 AVerMedia Technologies, Inc.&lt;br /&gt;
H830&lt;br /&gt;
|-&lt;br /&gt;
| Hauppauge WinTV aero&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| smsmdtv&lt;br /&gt;
| sms1xxx-hcw-55xxx-dvbt-02.fw&lt;br /&gt;
| ID 2040:b900 Hauppauge . Also works on the mini-usb port.&lt;br /&gt;
|-&lt;br /&gt;
| Hauppauge WinTV-HVR 930C&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 150mA (idle)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| em28xx xc5000&lt;br /&gt;
| dvb-usb-hauppauge-hvr930c-drxk.fw dvb-fe-xc5000-1.6.114.fw&lt;br /&gt;
| ID 2040:1605 Hauppauge . Not able to get it to work yet. Embedded Remote control ID: 0525:a4aa&lt;br /&gt;
|-&lt;br /&gt;
| ITE 9135&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 515mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| rtl2832 rtl2830&lt;br /&gt;
| dvb-usb-it9135-02.fw&lt;br /&gt;
| Gets very hot&lt;br /&gt;
|-&lt;br /&gt;
| MSI Digi Vox Min&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Realtek rtl2832u chipset&lt;br /&gt;
|-&lt;br /&gt;
| Realtek RTL2832U&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 460mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| dbv_usb_af9035 dbv_usb_v2&lt;br /&gt;
| dvb-usb-it9135-02.fw&lt;br /&gt;
| idVendor=0bda, idProduct=2838&lt;br /&gt;
|-&lt;br /&gt;
| Realtek RTL2832UHIDIR&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 464mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| dbv_usb_rtl28xxu&lt;br /&gt;
| dbv_usb_rtl28xxu.ko rtl2830.ko&lt;br /&gt;
| idVendor=0bda, idProduct=2838&lt;br /&gt;
|-&lt;br /&gt;
| Velleman Mini USB DBV-T receiver&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 438mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ?&lt;br /&gt;
| dvb-usb-it9135-01.fw&lt;br /&gt;
| remote control: rc-it913x-v2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
== External Hard Disk Drives ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! style=&amp;quot;min-width: 120px&amp;quot; | Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Freecom 250GB 2.5&amp;quot; portable&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Inside it's a Samsung Model HM251JX.  {{HideableNotes|So I guess anything based on that will also work OK.}}&lt;br /&gt;
|-&lt;br /&gt;
| (Intenso)® 2.5&amp;quot; MEMORYSTATION 1TB&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| LaCie Rikiki 250GB USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via powered High Speed Hub&lt;br /&gt;
| {{Partial|Not when unpowered, needs testing with a powered hub}}&lt;br /&gt;
| Not only does it fail to spin up, but it causes the Pandora's screen to pulsate wildly, much like an old CRT would if you placed a speaker or a magnet near to it. Not tested with a powered hub.&lt;br /&gt;
|-&lt;br /&gt;
| Seagate Seagate® Expansion™ External Drives&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/user/14781-hitnrun/ Hitnrun]. &amp;quot;Isn't even detected in lsusb (drive powered by external power source)&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Verbatim 250GB Model #47580 Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Direct&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__877512 almatuk].  {{HideableNotes|&amp;quot;Watched videos directly from it at full speed, no need for powered USB hub. Had issues playing roms directly off it however as it was formatted NTFS. I'm sure if I formatted to FAT32 these would disappear.&amp;quot;}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 160GB Elements External USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| standard-A port via powered High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 250GB Elements Portable USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct or standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 250GB My Passport Essential USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown|Direct?}}&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown|Direct?}}&lt;br /&gt;
| {{Partial|Maybe}}&lt;br /&gt;
| Tested by TheDarkSpectrum48K.  The first time it [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__877386 &amp;quot;works perfectly!&amp;quot;].  The second time [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__882635 it didn't work].&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 400GB My Passport Essential USB 2.0 2.5&amp;quot; HDD model WDME4000TE&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/user/14534-peca/ Peca].&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 500GB Elements Portable External Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. {{HideableNotes|The USB cable that came with it was bad, so I used another one.[http://www.gp32x.com/board/index.php?/topic/59494-solved-how-do-i-get-my-wd-500gb-external-hard-drive-to-work-properly/page__view__findpost__p__949863]}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 500GB My Passport Essential External Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. Works fine. {{HideableNotes|Came pre-formatted in NTFS, but should work if you downloaded the community codec pack. It said 1TB on the packaging, but there was 465GB free space, so I'm pretty sure it was actually the 500GB one.}}[http://www.gp32x.com/board/index.php?/topic/59494-solved-how-do-i-get-my-wd-500gb-external-hard-drive-to-work-properly/page__view__findpost__p__949645]&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 1TB My Passport Essential SE External USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct or through powered High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://http://www.gp32x.com/board/index.php?/user/19191-mycohl/ Mycohl]. {{HideableNotes|Externally powered hub recommended to conserve battery power.}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital Elements 2TB 3.5&amp;quot; Hard Drive Model:WDBAAU0020HBK&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://boards.openpandora.org/index.php?/user/430-kilowatt/ kilowatt].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DVD/CD Drives ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Lite-On EZ-DUB DVD/CD Multi-Recorder (Model eZAU120)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Powered by included mains adapter - DC 12V 1.8A&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Memorex 20x Multi Format DVD Recorder External - DVD±RW (±R DL)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Powered by included mains adapter&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Video display device =&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Output connectors&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Tritton see2 usb 2.0 to SVGA adapter&lt;br /&gt;
| sisusb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown|High {{HideableNotes|Reduces Pandora's battery life in half (10h → 4h)}}}}&lt;br /&gt;
| VGA (D-SUB)&lt;br /&gt;
| {{Partial|Yes, but has performance issues.}}&lt;br /&gt;
| Needs to be integrated with preferences.  {{HideableNotes|Currently I (who?) must edit xorg.conf and mess with xinerama.}} Good for presentations, dragging a window is bearable, but hi-res video is slow.  Works in Linux without any issues.&lt;br /&gt;
|-&lt;br /&gt;
| DisplayLink usb 2.0 to SVGA adapter WS Tech USB-DVI&lt;br /&gt;
| udlfb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| VGA (D-SUB)&lt;br /&gt;
| Yes&lt;br /&gt;
| 17e9:0198 DisplayLink. No hub needed. Module and userspace here:&lt;br /&gt;
 git clone http://git.plugable.com/webdav/udlfb/&lt;br /&gt;
 git clone http://git.plugable.com/webdav/xf-video-udlfb/&lt;br /&gt;
|-&lt;br /&gt;
| Plugable DisplayLink UGA-165&lt;br /&gt;
| ?&lt;br /&gt;
| Mini-B female&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| ?&lt;br /&gt;
| DVI/VGA/HDMI&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| In /etc/X11, copy xorg.conf.DisplayLink to xorg.conf then '''log out''' with the device attached [http://pandoralive.info/?p=3423]&lt;br /&gt;
Remark by [[User:Porg]] without having tested it myself. I guess quite ok for static content, but vivid/dynamic content may suffer lag, as the [https://plugable.com/products/uga-165/ | official product page] says:&lt;br /&gt;
&amp;quot;USB speed limitations prevent smooth playback with full-screen HD videos, and games suffer similar performance limitations or don't work at all since no direct hardware access (DirectX) is possible.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Magic Control Technology Corp. Trigger II External Graphics&lt;br /&gt;
| sisusb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ID 0711:5200 Magic Control Technology Corp. A kernel recompile is needed. In /usr/src/linux/drivers/usb/misc/sisusbvga , edit sisusb.c , and add&lt;br /&gt;
&lt;br /&gt;
{ USB_DEVICE(0x0711, 0x5200) },&lt;br /&gt;
&lt;br /&gt;
in the list around line 3250&lt;br /&gt;
 Get the latest xf86-video-sisusb driver here:&lt;br /&gt;
 http://xorg.freedesk...ividual/driver/&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Video capture devices =&lt;br /&gt;
&lt;br /&gt;
== Webcams ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Exoo No Driver/USB 2.0 Webcam (Model No.: M053)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Bought from [http://www.dealextreme.com/details.dx/sku.14991 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Quickcam Communicate Deluxe&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| USB ID: 046d:0992, works though [http://linux-uvc.berlios.de/ uvcvideo].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Webcam c210&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 170mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 046d:0819 &amp;lt;unnamed&amp;gt;. Video and Audio recognized, tested to work.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech HD Webcam C270 720p&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Partial|Yes, but audio untested}}&lt;br /&gt;
| ID 046d:0825 Logitech, Inc.  Audio recognized, but not tested.  More info to come.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech HD Webcam Pro 9000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Partial|Yes, but audio untested}}&lt;br /&gt;
| ID 046d:0990 Logitech, Inc.  Audio recognized, but not tested.  Great Picture!  Works in Linux.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
&lt;br /&gt;
== Microphones/recorders ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bluemic.com/yeti/] Blue Yeti&lt;br /&gt;
| not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
| standard-A port via High Speed USB hub &lt;br /&gt;
| {{unknown|Not thoroughly tested.}}&lt;br /&gt;
| Very roughly tested 2012-06-13 by [[user:spiralofhope|spiralofhope]] using Mumble.  More testing required.  {{HideableNotes|The system recognizes the Yeti, and it appears in Mumble's list of available devices, but the audio wizard doesn't show the Yeti as having input.  Additional troubleshooting is required, as is checking the manual/company website for missing information.}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zoom.co.jp/english/products/h2/] Zoom H2 Handy Recorder&lt;br /&gt;
| not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 300mA&lt;br /&gt;
| standard-A port via High Speed USB hub &lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
| Can record into Audacity, but won't be recognized unless connected through USB hub.[http://www.gp32x.com/board/index.php?/topic/59301-audacity-1-3-12/page__view__findpost__p__947602].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MIDI controllers ==&lt;br /&gt;
&lt;br /&gt;
EvilDragon bundled the usb MIDI class drivers in the default firmware image, therefore ANY class-compliant MIDI device should work with the Pandora, out of the box.[http://www.gp32x.com/board/index.php?/topic/58523-zynaddsubfx/page__view__findpost__p__938432]&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Akai LKP25&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/58523-zynaddsubfx/page__view__findpost__p__938432]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| M-Audio MIDISPORT 2x2 Anniv&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| 400mA&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| ID 0763:1050 Midiman.  High current draw!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB audio controllers ==&lt;br /&gt;
&lt;br /&gt;
Some are &amp;quot;professional soundcard&amp;quot;; see [http://en.wikipedia.org/wiki/Sound_card#Professional_soundcards_.28audio_interfaces.29 definition on Wikipedia].&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Cakewalk UA-1G&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 200mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0582:00e9 Roland Corp. This device may be similar to older Edirol/Roland USB audio devices. Runs and record under Slackware. Jack audio server realtime recording works. Recognized but not tested under official OS. A hub, powered or not, is needed.&lt;br /&gt;
|-&lt;br /&gt;
| Connectland AUDIO ADAPTER&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter . CMedia CM108 Virtual 7.1 Channel Sound. Has vol +, vol -, mute headspeaker, mute mic buttons. Mini-jack audio in and out. A non-powered hub is needed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Input devices =&lt;br /&gt;
&lt;br /&gt;
Any HID ([http://en.wikipedia.org/wiki/Human_interface_device Human Interface Device]) compliant keyboard, mouse or game controller should work on the Pandora. Most of those device are low speed or full speed USB device and will need to be connected though either a [[USB_reference#OTG host mode|USB OTG adapter/cable]] or a [[USB reference#What’s all this stuff about USB 1.1 and USB 2.0? Isn’t USB, uh, universal?|USB2 hub]] in order to work on the Pandora.&lt;br /&gt;
&lt;br /&gt;
== External Game Controllers ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| 2-TECH SNES-to-USB adapter&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| USB description is &amp;quot;HuiJia USB GamePad&amp;quot;, &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt; calls it &amp;quot;0e8f:3013 GreenAsia Inc.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| USB Super RetroPort (SNES-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Bought from [http://www.retrousb.com/product_info.php?cPath=21&amp;amp;products_id=29 RetroZone].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| USB RetroPort (NES-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Bought from [http://www.retrousb.com/product_info.php?cPath=21&amp;amp;products_id=28 RetroZone].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Trio Linker Plus II (PlayStation,-GameCube,-and-Dreamcast-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Bought from [http://www.play-asia.com/paOS-13-71-6m-49-en-70-1zfv.html Play-Asia].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| NAZAR V47 USB Force Feedback Vibrating Gamepad Controller for PC&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Whether it really contains the claimed force feedback feature is unknown as this feature does not work under Linux - bought from [http://www.dealextreme.com/details.dx/sku.24551 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| 10-Fire-Button Double Vibration Feedback USB PC Arcade Joystick&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Whether it really contains the claimed force feedback feature is unknown as this feature does not work under Linux - bought from [http://www.dealextreme.com/details.dx/sku.27821 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Official PlayStation 3 controller&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Full speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A To Mini B Cable via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| This is for USB not bluetooth compatibility. Sixaxis and DualShock not tested.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Saitek PLC Cyborg Force Rumble Pad (P2500) - 06a3:ff0c&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| 5V&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Unknown|Not fully tested}}&lt;br /&gt;
| Partial test attempted 2012-06-24 by [[user:spiralofhope|spiralofhope]].  lsusb lists it.  More testing required.  {{HideableNotes|A gamepad testing procedure needs to be defined.  See [[Joystick testing]].}}&lt;br /&gt;
|-&lt;br /&gt;
| Thrustmaster Firestorm Digital 3 Gamepad&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 07b5:0213 Mega World International, Ltd Thrustmaster Firestorm Digital 3 Gamepad.&lt;br /&gt;
|-&lt;br /&gt;
| Wired Xbox 360 Controller&lt;br /&gt;
| xpad module&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| This also includes gamepads for PC that needs the Windows Xinput driver. Such gamepads include the Logitech Chillstream.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| WiseGroup.,Ltd SmartJoy Dual PLUS Adapter (dual PSX to USB joypad adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port via USB 1-compatible High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 6677:8802.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Cordless RumblePad 2&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Product-ID: 0xc219, Vendor-ID: 0x046d  (Logitech Inc.), [http://www.logitech.com/support/287 Official product support website],&amp;lt;br&amp;gt;All buttons worked fine in PCSX, analog sticks not tested, but likely work&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Touchpads ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.logitech.com/en-us/mice-pointers/mice/devices/8417 Logitech Wireless Touchpad]&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Left and right four-finger swipes aren't mapped to anything by default in XFCE. They can be mapped as keyboard shortcuts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graphics tablets ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Bamboo Multitouch&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{No|No [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__881806]}}&lt;br /&gt;
| It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Genius Tablet&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Yes|Yes, [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__883140 via USB hub]}}&lt;br /&gt;
| It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Wacom CTH-460&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{No|No [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__924422]}}&lt;br /&gt;
| Would need a patched driver to work.  It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Wacom Volito2 Tablet (Model: CTF-420)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| 40mA [http://www.my-volito.com/volito/specs.asp?lang=en]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| USB ID: 056a:0062&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mice ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Connector&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Apple Mouse (M5769)&lt;br /&gt;
| USB&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Seems to disable USB port, reboot afterwards required&lt;br /&gt;
|-&lt;br /&gt;
| Apple Mouse with Scroll Ball (A1152)&lt;br /&gt;
| USB&lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Cherry Ghostcord [http://www.amazon.de/Cherry-M85-26005DE-2-B-Unlimited-Home-Rechargeable/dp/B001EDSE0U/ref=tag_stp_s2_edpp_url]&lt;br /&gt;
| USB&lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
| Part of a bundle with keyboard and a USB dongle for the connetion. With the dongle on the hub both devices work just fine (tested in XFCE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Infrared =&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| TopSeed remote (branded ''Sapphire'' or ''CyberLink'')&lt;br /&gt;
| hid_topseed (added SZ 1.73)&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| &amp;lt;100mA&lt;br /&gt;
| OTG port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Some of the special buttons don't generate any key event.&lt;br /&gt;
|-&lt;br /&gt;
| Dangerous Prototypes IRToy&lt;br /&gt;
| cdc_acm (included)&lt;br /&gt;
| Mini-B female&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 200mA&lt;br /&gt;
| Standard-A port with hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Can send and receive raw IR codes via the virtual serial connection. No application support yet.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Electronics development =&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Microchip PICkit 2&lt;br /&gt;
| not required&lt;br /&gt;
| Mini-B female&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| &amp;lt;100mA&lt;br /&gt;
| OTG port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| The pk2cmd application compiles easily.&lt;br /&gt;
|-&lt;br /&gt;
| Arduino Uno&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-B female&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 50mA&lt;br /&gt;
| OTG port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Arduino Leonardo&lt;br /&gt;
| not required&lt;br /&gt;
| Micro-B female&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 50mA&lt;br /&gt;
| Standard-A port with hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| The Arduino PND failes to compile sketches for the Leonardo, but a pre-programmed board can still communicate with the Pandora. &amp;lt;br /&amp;gt;The Leonardo makes an incorrect USB current request, but this can be reprogrammed if you want to use it on the OTG port - in Arduino's ''USBCore.h'', change ''USB_CONFIG_POWER_MA(500)'' to 100.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Connectors, adapters, and hubs =&lt;br /&gt;
&lt;br /&gt;
This section is intended as a general guide. Items in this section are standard USB accessories, so drivers are not required. Compatibility with Pandora is assumed. Please note that any external product links are provided for reference only, and are not an endorsement.&lt;br /&gt;
&lt;br /&gt;
== OTG (On The Go) Adapters ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Generic adapter&lt;br /&gt;
| {{No}}&lt;br /&gt;
| [http://shop.ebay.com/?_from=R40&amp;amp;_trksid=p3907.m38.l1313&amp;amp;_nkw=usb+otg+host+cable&amp;amp;_sacat=See-All-Categories Find on eBay] [http://www.amazon.co.uk/s/ref=nb_ss_ce?url=search-alias%3Delectronics&amp;amp;field-keywords=OTG+Cable+Adapter&amp;amp;x=3&amp;amp;y=23 Find on Amazon] These links are not 100% accurate. Check for `mini-a`, and on eBay, the price is higher by about $8.&lt;br /&gt;
|-&lt;br /&gt;
|Hama 00074214&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|[http://www.hama.de/00074214/hama-mini-usb-adapter-mini-usb-a-plug-usb-a-socket-015-m Manufacturer Page]&lt;br /&gt;
|-&lt;br /&gt;
| Nokia USB OTG adapter&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| [http://www.electronicproductonline.com/catalog/product_info.php?cPath=35_67&amp;amp;products_id=2043 Electronic Product Online]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Compact USB Hubs ==&lt;br /&gt;
&lt;br /&gt;
Be sure to enable USB-host!&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Griffin SmartShare USB [http://www.griffintechnology.com/products/smartshare-usb]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U415 4 Port USB 2.0 Swivel Hub [http://catalog.belkin.com/IWCatProductPage.process?Product_Id=377085]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U700 USB 2.0 7-Port Lighted Hub [http://www.belkin.com/uk/support/article/?lid=enu&amp;amp;pid=F5U700ea&amp;amp;aid=10289&amp;amp;scid=947]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested 2012-06-16 by [[user:spiralofhope|spiralofhope]] both with and without its power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U701 USB 2.0 7 Port Mobile Hub [http://www.belkin.com/IWCatProductPage.process?Product_Id=369788]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by pabloh.  Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| ID 0e8f:0016 GreenAsia Inc. &lt;br /&gt;
| {{No}}&lt;br /&gt;
| Tested by tsh.  Labeled as high speed.  Bought from ebay.&lt;br /&gt;
|-&lt;br /&gt;
| ID 05e3:0608 Targus with Genesys Logic 4 Port USB 2.0 Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Kazuki. Works.&lt;br /&gt;
|-&lt;br /&gt;
|Trust 4 port netbook hub ID 05e3:0608&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by tsh.  Bought from [http://www.amazon.co.uk/gp/product/B0025X16AS Amazon].&lt;br /&gt;
|-&lt;br /&gt;
| High Speed 4 Port Mini USB 2.0 Hub for Laptop PC (non powered)&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Octopus-style small cheap unpowered USB hub.  Bought from [http://cgi.benl.ebay.be/ws/eBayISAPI.dll?ViewItem&amp;amp;item=270538502843 ebay]&lt;br /&gt;
|-&lt;br /&gt;
| Keeptech USB 2.0 Hub (7 Ports) with Power Adapter, KT-UH703 [http://www.keeptech.com/books_show.php?id=144]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. Works powered or unpowered.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Premium 4-Port USB Hub [http://www.logitech.com/en-in/notebook-products/usb-hubs/devices/3048]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| LUPO 7-port USB 2.0 Hub (cheap octopus type which can be powered as there is dc socket)&lt;br /&gt;
| {{Partial|Yes. {{HideableNotes|Can use a power supply but wasn't tested with one.}}}}&lt;br /&gt;
| Tested by kilowatt. Bought from [http://www.amazon.co.uk/gp/product/B003BVDABG/ref=oss_product from amazon uk]&lt;br /&gt;
|-&lt;br /&gt;
| LogiLink USB 2.0 Hub 4-Port UA0086 [http://www.logilink.eu/showproduct/UA0086.htm]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Jones. Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2H3S Ethernet adapter + 3 USB ports [http://www.logitec.co.jp/products/lan/lantxu2h3/index.php]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| See [http://pandorawiki.org/USB_compatibility_list#USB_to_Ethernet_adapters USB to ethernet adapters] for more details. USB 1 devices work perfectly. Also available as other brands:  [http://www.amazon.com/USB-2-0-3-Port-Ethernet-Adapter/dp/B002OFJRW6/ref=sr_1_3?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-3&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Encore-ENUET-3USB-3-Port-Ethernet-Adapter/dp/B0036FZJX4/ref=sr_1_1?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-1&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Addlogix-3-port-USB-Hub-Ethernet/dp/B0030DO7OY/ref=sr_1_27?ie=UTF8&amp;amp;qid=1357780088&amp;amp;sr=8-27&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub]&lt;br /&gt;
|-&lt;br /&gt;
| Rosewill RHB-220 4-port USB 2.0 Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Tyrant1919. Unpowered. Bought from [http://www.newegg.com/Product/Product.aspx?Item=N82E16817182168 Newegg].&lt;br /&gt;
|-&lt;br /&gt;
| i-rocks SLEEK HUB USB 2.0 4 Ports Hub [http://www.i-rocks.com/Product_detail.aspx?CLASS_ID=1036&amp;amp;PRODUCT_ID=1080]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Comes with an ac adapter, but can be used without. USB 1 devices work perfectly.&lt;br /&gt;
|-&lt;br /&gt;
| MSI StarHub201 &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Testet by mclien with keyboard and mouse in XFCE, unpowered, not on the MSI site (discontinnued, guess) [http://alatest.dk/anmeldelser/hubs-og-switches/msi-star-hub-201/po3-34222999,42/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:USB]]&lt;br /&gt;
[[Category:List]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=28361</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=28361"/>
		<updated>2013-10-24T13:15:13Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Outcome of this UX guideline */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, Hotkey / text-based launchers&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
Potentially also the parental folders have a meta meaning for their contained PNDs (most likely: Genre aka sub/category).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;discover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to aid in the &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
* Issue 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
* Issue 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
UPDATE: Issue 1 + 2 got fixed, thus the method &amp;quot;test an app, quit it, tag it&amp;quot; practically works in MiniMenu.&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed [http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/ OVR editor], and considers to realize the fore-mentioned &amp;quot;OVR spreadsheet editing mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this, there are some suggestions for improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
== Outcome of this UX guideline ==&lt;br /&gt;
&lt;br /&gt;
This document and the accompanying discussions, such as [http://boards.openpandora.org/index.php/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ Usability of package management (PND)] et al, served as a matter of discourse, which to some degree inspired package managers such as [http://repo.openpandora.org/?page=detail&amp;amp;app=pndmanager-bzar PNDManager] and launchers like [[Minimenu]] , [http://repo.openpandora.org/?page=detail&amp;amp;app=package.pandafe Pandafe] or [http://boards.openpandora.org/index.php/topic/12745-the-tournament-hub-launcher/ The Tournament Hub].&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=28360</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=28360"/>
		<updated>2013-10-24T13:14:14Z</updated>

		<summary type="html">&lt;p&gt;Porg: inserted forum thread as link (ref currently not working)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, Hotkey / text-based launchers&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
Potentially also the parental folders have a meta meaning for their contained PNDs (most likely: Genre aka sub/category).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;discover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to aid in the &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
* Issue 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
* Issue 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
UPDATE: Issue 1 + 2 got fixed, thus the method &amp;quot;test an app, quit it, tag it&amp;quot; practically works in MiniMenu.&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed [http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/ OVR editor], and considers to realize the fore-mentioned &amp;quot;OVR spreadsheet editing mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this, there are some suggestions for improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
== Outcome of this UX guideline ==&lt;br /&gt;
&lt;br /&gt;
This document and the accompanying forum discussions, such as [http://boards.openpandora.org/index.php/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ Usability of package management (PND)], served as a matter of discourse, which to some degree inspired package managers such as [http://repo.openpandora.org/?page=detail&amp;amp;app=pndmanager-bzar PNDManager] and launchers like [[Minimenu]] , [http://repo.openpandora.org/?page=detail&amp;amp;app=package.pandafe Pandafe] or [http://boards.openpandora.org/index.php/topic/12745-the-tournament-hub-launcher/ The Tournament Hub].&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=28359</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=28359"/>
		<updated>2013-10-24T11:13:31Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Outcome of this UX guideline */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, Hotkey / text-based launchers&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
Potentially also the parental folders have a meta meaning for their contained PNDs (most likely: Genre aka sub/category).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;discover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to aid in the &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
* Issue 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
* Issue 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
UPDATE: Issue 1 + 2 got fixed, thus the method &amp;quot;test an app, quit it, tag it&amp;quot; practically works in MiniMenu.&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed [http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/ OVR editor], and considers to realize the fore-mentioned &amp;quot;OVR spreadsheet editing mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this, there are some suggestions for improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
== Outcome of this UX guideline ==&lt;br /&gt;
&lt;br /&gt;
This document served as a matter of discourse, which to some degree inspired package managers such as [http://repo.openpandora.org/?page=detail&amp;amp;app=pndmanager-bzar PNDManager] and launchers such as [[Minimenu]] , [http://repo.openpandora.org/?page=detail&amp;amp;app=package.pandafe Pandafe] or [http://boards.openpandora.org/index.php/topic/12745-the-tournament-hub-launcher/ The Tournament Hub].&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Compo4All&amp;diff=27269</id>
		<title>Compo4All</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Compo4All&amp;diff=27269"/>
		<updated>2013-07-20T19:44:59Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Launchers */ Added Compo4All Manager URL as meanwhile released&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compo4All is an gaming competition system designed by Skeezix.&lt;br /&gt;
&lt;br /&gt;
The initial system was based on a MAME build where highscores were uploaded to a website, but has since expanded to include native Pandora games ([[PND]]) as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Platforms ==&lt;br /&gt;
Currently, the only supported platform is the Pandora, but there are thoughts about expanding it to the Raspberry Pi, and desktop environments&lt;br /&gt;
&lt;br /&gt;
== Launchers ==&lt;br /&gt;
* Skeezix's [http://repo.openpandora.org/?page=detail&amp;amp;app=compo4all-skeezix-0001 Compo4All MAME] ([http://boards.openpandora.org/index.php/topic/12127-release-compo4all-mame-ladderscoreboard-competition-for-classic-arcade-games/ Forum Thread])&lt;br /&gt;
* Skeezix's [http://repo.openpandora.org/?page=detail&amp;amp;app=compo4all-mgr-skeezix-0001 Compo4All Manager] ([http://boards.openpandora.org/index.php/topic/13742-c4a-manager-now-on-repo-beta-please-test-it-create-your-c4a-profile-without-using-c4a-mame-now/#entry260224 Forum Thread])&lt;br /&gt;
* [http://pandorawiki.org/User:Pmprog pmprog's] [http://repo.openpandora.org/?page=detail&amp;amp;app=thetournamenthub.marqwatkin Tournament Hub] ([http://boards.openpandora.org/index.php/topic/12745-pandora-compo4all-ui/ Forum Thread])&lt;br /&gt;
&lt;br /&gt;
== Scoreboard ==&lt;br /&gt;
Scores are shown within the two launchers, but are also accessible via a web browser at [http://c4a.openpandora.org/ http://c4a.openpandora.org]&lt;br /&gt;
&lt;br /&gt;
== Developers SDK ==&lt;br /&gt;
Details of the API for integrating with the Compo4All system can be found [[Compo4AllSDK|here]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Compo4All&amp;diff=27251</id>
		<title>Compo4All</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Compo4All&amp;diff=27251"/>
		<updated>2013-06-29T20:31:19Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Launchers */ Added Tournament Hub URL as meanwhile released&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compo4All is an gaming competition system designed by Skeezix.&lt;br /&gt;
&lt;br /&gt;
The initial system was based on a MAME build where highscores were uploaded to a website, but has since expanded to include native Pandora games ([[PND]]) as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Platforms ==&lt;br /&gt;
Currently, the only supported platform is the Pandora, but there are thoughts about expanding it to the Raspberry Pi, and desktop environments&lt;br /&gt;
&lt;br /&gt;
== Launchers ==&lt;br /&gt;
* Skeezix's [http://repo.openpandora.org/?page=detail&amp;amp;app=compo4all-skeezix-0001 Compo4All MAME] ([http://boards.openpandora.org/index.php/topic/12127-release-compo4all-mame-ladderscoreboard-competition-for-classic-arcade-games/ Forum Thread])&lt;br /&gt;
* Skeezix's Profile Manager (Not yet available)&lt;br /&gt;
* [http://pandorawiki.org/User:Pmprog pmprog's] [http://repo.openpandora.org/?page=detail&amp;amp;app=thetournamenthub.marqwatkin Tournament Hub] ([http://boards.openpandora.org/index.php/topic/12745-pandora-compo4all-ui/ Forum Thread])&lt;br /&gt;
&lt;br /&gt;
== Scoreboard ==&lt;br /&gt;
Scores are shown within the two launchers, but are also accessible via a web browser at [http://c4a.openpandora.org/ http://c4a.openpandora.org]&lt;br /&gt;
&lt;br /&gt;
== Developers SDK ==&lt;br /&gt;
Details of the API for integrating with the Compo4All system can be found [[Compo4AllSDK|here]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Compo4All&amp;diff=27144</id>
		<title>Compo4All</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Compo4All&amp;diff=27144"/>
		<updated>2013-05-15T11:07:58Z</updated>

		<summary type="html">&lt;p&gt;Porg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compo4All is an gaming competition system designed by Skeezix.&lt;br /&gt;
&lt;br /&gt;
The initial system was based on a MAME build where highscores were uploaded to a website, but has since expanded to include native Pandora games ([[PND]]) as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Platforms ==&lt;br /&gt;
Currently, the only supported platform is the Pandora, but there are thoughts about expanding it to the Raspberry Pi, and desktop environments&lt;br /&gt;
&lt;br /&gt;
== Launchers ==&lt;br /&gt;
* Skeezix's [http://repo.openpandora.org/?page=detail&amp;amp;app=compo4all-skeezix-0001 Compo4All MAME] ([http://boards.openpandora.org/index.php/topic/12127-release-compo4all-mame-ladderscoreboard-competition-for-classic-arcade-games/ Forum Thread])&lt;br /&gt;
* Skeezix's Profile Manager (Not yet available)&lt;br /&gt;
* [http://pandorawiki.org/User:Pmprog pmprog's] Tournament Hub (Not yet available) ([http://boards.openpandora.org/index.php/topic/12745-pandora-compo4all-ui/ Forum Thread])&lt;br /&gt;
&lt;br /&gt;
== Scoreboard ==&lt;br /&gt;
Scores are shown within the two launchers, but are also accessible via a web browser at [http://c4a.openpandora.org/ http://c4a.openpandora.org]&lt;br /&gt;
&lt;br /&gt;
== Developers SDK ==&lt;br /&gt;
Details of the API for integrating with the Compo4All system can be found [[Compo4AllSDK|here]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Compo4All&amp;diff=27143</id>
		<title>Compo4All</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Compo4All&amp;diff=27143"/>
		<updated>2013-05-15T11:07:31Z</updated>

		<summary type="html">&lt;p&gt;Porg: First paragraphs need no section, but rather just open article. Changed &amp;quot;indie games&amp;quot; to &amp;quot;PND games&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compo4All is an gaming competition system designed by Skeezix.&lt;br /&gt;
&lt;br /&gt;
The initial system was based on a MAME build where highscores were uploaded to a website, but has since expanded to include native Pandora games ([[PND]]) as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Platforms ==&lt;br /&gt;
Currently, the only supported platform is the Pandora, but there are thoughts about expanding it to the Raspberry Pi, and desktop environments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Launchers ==&lt;br /&gt;
* Skeezix's [http://repo.openpandora.org/?page=detail&amp;amp;app=compo4all-skeezix-0001 Compo4All MAME] ([http://boards.openpandora.org/index.php/topic/12127-release-compo4all-mame-ladderscoreboard-competition-for-classic-arcade-games/ Forum Thread])&lt;br /&gt;
* Skeezix's Profile Manager (Not yet available)&lt;br /&gt;
* [http://pandorawiki.org/User:Pmprog pmprog's] Tournament Hub (Not yet available) ([http://boards.openpandora.org/index.php/topic/12745-pandora-compo4all-ui/ Forum Thread])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Scoreboard ==&lt;br /&gt;
Scores are shown within the two launchers, but are also accessible via a web browser at [http://c4a.openpandora.org/ http://c4a.openpandora.org]&lt;br /&gt;
&lt;br /&gt;
== Developers SDK ==&lt;br /&gt;
Details of the API for integrating with the Compo4All system can be found [[Compo4AllSDK|here]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Compo4All&amp;diff=27142</id>
		<title>Compo4All</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Compo4All&amp;diff=27142"/>
		<updated>2013-05-15T11:01:59Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Scoreboard */ Written the URL explicitly, so that people will memorize it.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Compo4All =&lt;br /&gt;
Compo4All is an gaming competition system designed by Skeezix. The initial system was based on a MAME build where highscores were uploaded to a website, but has since expanded to include a few indie games.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Platforms ==&lt;br /&gt;
Currently, the only supported platform is the Pandora, but there are thoughts about expanding it to the Raspberry Pi, and desktop environments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Launchers ==&lt;br /&gt;
* Skeezix's [http://repo.openpandora.org/?page=detail&amp;amp;app=compo4all-skeezix-0001 Compo4All MAME] ([http://boards.openpandora.org/index.php/topic/12127-release-compo4all-mame-ladderscoreboard-competition-for-classic-arcade-games/ Forum Thread])&lt;br /&gt;
* Skeezix's Profile Manager (Not yet available)&lt;br /&gt;
* [http://pandorawiki.org/User:Pmprog pmprog's] Tournament Hub (Not yet available) ([http://boards.openpandora.org/index.php/topic/12745-pandora-compo4all-ui/ Forum Thread])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Scoreboard ==&lt;br /&gt;
Scores are shown within the two launchers, but are also accessible via a web browser at [http://c4a.openpandora.org/ http://c4a.openpandora.org]&lt;br /&gt;
&lt;br /&gt;
== Developers SDK ==&lt;br /&gt;
Details of the API for integrating with the Compo4All system can be found [[Compo4AllSDK|here]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=27113</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=27113"/>
		<updated>2013-04-27T21:31:25Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, Hotkey / text-based launchers&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
Potentially also the parental folders have a meta meaning for their contained PNDs (most likely: Genre aka sub/category).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;discover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to aid in the &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
* Issue 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
* Issue 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
UPDATE: Issue 1 + 2 got fixed, thus the method &amp;quot;test an app, quit it, tag it&amp;quot; practically works in MiniMenu.&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed [http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/ OVR editor], and considers to realize the fore-mentioned &amp;quot;OVR spreadsheet editing mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this, there are some suggestions for improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=USB_compatibility_list&amp;diff=27111</id>
		<title>USB compatibility list</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=USB_compatibility_list&amp;diff=27111"/>
		<updated>2013-04-21T18:35:46Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* External Game Controllers */ Logitech Cordless RumblePad 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of USB devices that have been tested on the Pandora. If the device you want to know about isn't listed here, don't worry! Just go to [[USB_reference|the USB reference page]], look up the specs of your device, and you may be able to figure out if it's compatible.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
Each type of device will have its own unique way to troubleshoot.&lt;br /&gt;
&lt;br /&gt;
But here are some general tips:&lt;br /&gt;
&lt;br /&gt;
* Is USB-Host enabled?&lt;br /&gt;
* check &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* check &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When asking for help on [http://boards.openpandora.org/index.php?/forum/8-support/ the forums support board], be sure to post both your &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Because &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output is very long, you need to paste it within [spoiler] tags like this:&lt;br /&gt;
&lt;br /&gt;
  [spoiler]&lt;br /&gt;
  (paste your dmesg in here)&lt;br /&gt;
  [/spoiler]&lt;br /&gt;
&lt;br /&gt;
An easy way to get your &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; so you can easily copy and paste it, is:&lt;br /&gt;
&lt;br /&gt;
  dmesg|leafpad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;leafpad&amp;lt;/tt&amp;gt; will open with the output of &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you have no networking on your palmtop, you can send the information to a text file like this:&lt;br /&gt;
&lt;br /&gt;
  cd (your storage card)&lt;br /&gt;
  dmesg&amp;gt;textfile.txt&lt;br /&gt;
  sync&lt;br /&gt;
&lt;br /&gt;
Then you can remove your card (if no programs are using it or PNDs are running on it) and bring it to a card reader on your desktop.&lt;br /&gt;
&lt;br /&gt;
= Networking =&lt;br /&gt;
&lt;br /&gt;
Please see the [[Mobile broadband]] page for tips on how to get these working, as well as [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/ this tutorial] from the GP32X forum.&lt;br /&gt;
&lt;br /&gt;
== HSDPA (3G) Modems ==&lt;br /&gt;
&lt;br /&gt;
Please note that many (if not all) USB 3G modems need modemmanager to be installed for switching from mass storage mode to serial communications mode. When first plugged in, most 3G USB modems claim to be a mass storage device and offer, on its built-in flash, drivers and connectivity software to be installed. Mostly this is only for Windows and Mac, so for the Pandora this is not useful. modemmanager instantly takes care of toggling the mode, so that when you plug in the modem, after a few seconds or maybe half a minute modemmanager has switched the modem to communications mode and NetworkManager is able to use it.&lt;br /&gt;
&lt;br /&gt;
If you are using a Firmware before HF7 (or one of its Alpha/Beta versions) you have to install modemmanager. To do so, connect your Pandora to the Internet, open a terminal and, as a super user, intall it via opkg by entering the commands:&lt;br /&gt;
&lt;br /&gt;
:sudo opkg update&lt;br /&gt;
:sudo opkg install modemmanager&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are using a firmware more recent than &amp;quot;Zaxxon&amp;quot; Hotfix 6 (starting with HF7) you do not have to follow the steps outlined above since modemmanager comes preinstalled.&lt;br /&gt;
&lt;br /&gt;
'''Note 2:''' After plugging in the USB 3G modem, it may take some time until NetworkManager is able to use the modem. Wait for at least half a minute, until you give up and report that the modem doesn't work.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| ZTE K3565-Z / MF626 / MF627 / MF636&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__956513] [http://boards.openpandora.org/index.php?/topic/7226-superzaxxon-beta-11-released/page__pid__127881#entry127881]}}&lt;br /&gt;
| A how-to by shideneyu for this modem can be found [http://www.pandorawiki.org/ZTE_K3565Z_3G_USB_Modem here]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| BandLuxe C270&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| A how-to by relliker for this modem can be found [http://www.pandorawiki.org/BandLuxe_C270_3G_USB_Modem here]&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E156G&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/52827-3gumts-usb-dongle/page__view__findpost__p__835681]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Huawei E160&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| As the entry for Huawei E220 was wrong, this Current draw could also be wrong. This one definitely needs modemmanager. After installing modemmanager, it works flawlessly.&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E160E&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| As the entry for Huawei E220 was wrong, this Current draw could also be wrong.&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E1750&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__939350]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Huawei E220|Huawei E220]]&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port via High Speed hub&lt;br /&gt;
| {{No|Not on new kernels.}}&lt;br /&gt;
| The successful Pandora E220 tests were done by DJWillis on an old kernel (long before Pandora shipped). It seems that they are NOT working any more.  Also tested on Linux (was it working?)  This entry originally said 250mA, but there is no source and current sources say 500mA.&lt;br /&gt;
|-&lt;br /&gt;
| 4G-Systems XS Stick P14&lt;br /&gt;
| Not required (usbserial module)&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__937681]}}&lt;br /&gt;
| Requires usbmodeswitch program. &lt;br /&gt;
|-&lt;br /&gt;
| iPhone 3GS (Probably also 1G/3G)&lt;br /&gt;
| ipheth&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| {{Unknown|USB A (Standard-A port?)}}&lt;br /&gt;
| {{Maybe|Should work in Angstrom with some work.}}&lt;br /&gt;
| Requires a good bit of dependencies to get working.  Tested with Debian from SD, but should work in Angstrom with some work.  The ipheth wwan0 device only provides a connection over the 3G modem, even if you're connected to a wifi network.  I used the iproxy and SSH tunneling method with proxychains to get to the wifi network.&lt;br /&gt;
|-&lt;br /&gt;
| HTC Desire&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| {{Unknown|USB A (Standard-A port?)}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Requires internet connection sharing to be enabled from the phone.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB to Ethernet adapters ==&lt;br /&gt;
&lt;br /&gt;
To enable USB Ethernet adapters on the Pandora, you may need to left-click the networking icon on the panel in Xfce, and select &amp;quot;Ifupdown (bnep0)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Mbps&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Apple USB Ethernet Adapter MB442Z/A&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Reportedly uses an ASIX AX88xxx chipset.&lt;br /&gt;
|-&lt;br /&gt;
| Apple USB Ethernet Adapter model A1277&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 05ac:1402 Apple, Inc.&lt;br /&gt;
|-&lt;br /&gt;
| ASUS USB Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 200mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7e2b ASIX Electronics Corp. AX88772B&lt;br /&gt;
|-&lt;br /&gt;
| Conrad 3-Port-USB-Hub und Netzwerk-Adapter&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| A lot! {{HideableNotes|50% of battery charge only brings you 2h40min (min brightness, no other devices attached)}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Has a 3port USB Hub included. External power supply can (and should) be attached, not included though. ASIX Chipset. 20€ @ [http://www.conrad.de/ce/de/product/976406/NOTEBOOK-MINI-DOCKINGSTATION-USBRJ45/SHOP_AREA_32315&amp;amp;promotionareaSearchDetail=005 Conrad Electronics].  Not tested in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-GTJ/U2B Ethernet adapter&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA (lsusb) 1000Mbps=350mA 100Mbps=230mA 10Mbps=220mA(documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:1780 ASIX Electronics Corp. AX88178 [http://www.logitec.co.jp/products/lan/langtju2b/index.php]&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2B Ethernet adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA (lsusb) 100Mbps=170mA 10Mbps=210mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:772a ASIX Electronics Corp.[http://www.logitec.co.jp/products/lan/lantxu2b/index.php]&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2H3S Ethernet adapter + 3 USB ports&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA (lsusb) 300mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:772a ASIX Electronics Corp. USB hub current: 100mA (lsusb) 200mA (documentation). [http://www.logitec.co.jp/products/lan/lantxu2h3/index.php] [http://www.amazon.com/USB-2-0-3-Port-Ethernet-Adapter/dp/B002OFJRW6/ref=sr_1_3?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-3&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Encore-ENUET-3USB-3-Port-Ethernet-Adapter/dp/B0036FZJX4/ref=sr_1_1?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-1&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Addlogix-3-port-USB-Hub-Ethernet/dp/B0030DO7OY/ref=sr_1_27?ie=UTF8&amp;amp;qid=1357780088&amp;amp;sr=8-27&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub]&lt;br /&gt;
|-&lt;br /&gt;
| Wii USB 2.0 10/100M adapter (use [http://www.asix.com.tw/products.php?op=pItemdetail&amp;amp;PItemID=86;71;101 ASIX AX 88772 USB 2.0 chip])&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7720 ASIX Electronics Corp. AX88772.  [http://www.dealextreme.com/details.dx/sku.5926 This clone from DealExtreme] works too.&lt;br /&gt;
|-&lt;br /&gt;
| Connectland USB 2.0 10/100M Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7720 ASIX Electronics Corp. AX88772 - Works fine, Sometimes a reboot is necessary (ZaxxonHF5RC1).&lt;br /&gt;
|-&lt;br /&gt;
| Belkin Gigabit USB 2.0 Network Adapter&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| The shape of it make is a bit awkward to fit if you connect it directly, but it has a short adapter cable. I only get ~95Mbit on a gigabit network, but then the pandora's cpu maxes out. (it may be that the driver/usb stack isn't very well optimized), has horribly bright blue LEDs.&lt;br /&gt;
|-&lt;br /&gt;
| MosChip MCS7830 USB 10/100 Ethernet adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter. Kernel module: mcs7830.&lt;br /&gt;
|-&lt;br /&gt;
| EU.MARK USB 10/100M RJ45 Ethernet Network Adapter Dongle&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| USB ID: 9710:7830 - bought from [http://www.dealextreme.com/details.dx/sku.22684 DealExtreme]&lt;br /&gt;
|-&lt;br /&gt;
| Digitus DN-10050 Fast Ethernet USB Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| MosChip MCS7830-based adapter. USB ID 9710:7830.&lt;br /&gt;
|-&lt;br /&gt;
| Edimax EU-4230 Fast Ethernet USB Adapter with 3-port USB hub [http://edimax.ie/images/Image/datasheet/USB/EU-4230/EU-4230_Datasheet.pdf]&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Ethernet USB ID 0b95:772a ASIX Electronics Corp. 3-port USB2.0 hub USB ID 0409:005a NEC Corp. Optional power adapter for USB hub.&lt;br /&gt;
|-&lt;br /&gt;
| Peabird USB v2.0 Fast Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter. Consumes a lot of current. Fragile, the protective plastic cord cracked after one month. Hot. A blue light a bit too flashy. Definitely avoid this model.&lt;br /&gt;
|-&lt;br /&gt;
| SIIG JU-NE0012-S1 USB 2.0 Fast Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Bought from  [http://www.newegg.com/Product/Product.aspx?Item=N82E16812191163 Newegg]&lt;br /&gt;
|-&lt;br /&gt;
| TRENDnet USB to Gigabit Ethernet Adapter TU2-ETG&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA (lsusb) Dormant: 5mA Static: 91mA Working: 131mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Rev. 2.0R ID 0b95:1780 ASIX Electronics Corp. AX88178 [http://www.trendnet.com/products/proddetail.asp?prod=275_TU2-ETG&amp;amp;cat=42] Rev. 2.0R is white, previous versions are blue and consumes more current. The documentation's current draw are reported for 10 and 100Mbps.&lt;br /&gt;
|-&lt;br /&gt;
| Novatel Wireless Jetpack 4620L&lt;br /&gt;
|&lt;br /&gt;
| cdc_ether&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB &lt;br /&gt;
| High drain; 95% charge = 6:00 battery life.&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| This is a LTE/EVDO/CDMA/HSPA/UMTS/EDGE/GPRS Wifi Hotspot device; Device is registered as a USB Ethernet device when connected through USB tethered (as opposed to Wifi) connection. USB ID 1410:b008&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB to serial adapters ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| pl203&lt;br /&gt;
| usbserial&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 100mA. A powered hub is needed.&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| A powered hub is needed. Plug the device, then load USB modules. ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB WiFi adapters ==&lt;br /&gt;
&lt;br /&gt;
The Pandora stock kernel may not come with all wireless driver support outside of the internal WiFi chip.  Sometimes, the only way you'll get wireless working is to build your own kernel with it included or try [http://wireless.kernel.org/en/users/Download compat-wireless].&lt;br /&gt;
&lt;br /&gt;
As for hofix 6a4 compat-wireless seems to be present in the kernel out of the box, so one can build a USB wireless driver for Pandora following this [http://boards.openpandora.org/index.php?/topic/5140-solvedbuilding-a-usb-wifi-driver/page__view__findpost__p__89280 algorithm]&lt;br /&gt;
&lt;br /&gt;
As for [[hotfix 6]] Release Candidate the kernel includes drivers for these Realtek chips: RTL8712/8188/8191/8192SU/8192CU&lt;br /&gt;
&lt;br /&gt;
See also [http://boards.openpandora.org/index.php?/topic/7160-micro-wifi-dongle/ this thread] on the forums for the latest.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Tested on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Advance Mini Wireless N150&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| There's a little hole on it, so it's useful for attaching it to the OP.&lt;br /&gt;
|-&lt;br /&gt;
| ASUS WL-167G v2&lt;br /&gt;
| rt73usb + rt2x00usb + rt2x00lib&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 300mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Works under Slackware, not (without a hub) under Zaxxon, which become very unstable}}&lt;br /&gt;
| 0b05:1723 ASUSTek Computer, Inc. WL-167G v2 802.11g Adapter [Ralink RT73]. Works pretty fine on Linux PC.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin N1 Wireless USB Adapter (F5D8051) (&amp;quot;Ver. 2053&amp;quot;) (MARVELL v1021)&lt;br /&gt;
| N/A&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| No connection was attempted.&lt;br /&gt;
| {{No|No native driver support and ndiswrapper obviously won't work.}}&lt;br /&gt;
| There's a previous revision of this dongle which is supposed to have a Ralink chip, but they revised it and put a different chip inside.  Reported (by whom?) to work with ndiswrapper and works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin Surf micro &lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Cisco/Linksys AE1000 High Performance Wireless-N USB Adapter&lt;br /&gt;
| rt3572sta (RT3572USB)&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A (Standard-A port?)&lt;br /&gt;
| {{Yes|Works with a modified driver.}}&lt;br /&gt;
| (Compiled module for pandora:[http://boards.openpandora.org/index.php?/topic/1992-linksys-ae1000-usb-wifi/ pandora forum])  Download the driver from [http://www.ralinktech.com/support.php?s=2 ralink's driver site], edit ./common/rtusb_dev_id.c, before &amp;quot;#endif // RT2870&amp;quot; add &amp;quot;{USB_DEVICE(0x13B1,0x002F)},&amp;quot;, compile.'   Reported (by whom?) to work in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| D-Link WIRELESS G USB ADAPTER DWL-G122 rev.E1 F/W 5.00&lt;br /&gt;
| rt2870sta + rt2800usb + rt2800lib&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Works under Slackware, not (without a hub) under Zaxxon, which become very unstable}}&lt;br /&gt;
| 07d1:3c0f D-Link System AirPlus G DWL-G122 Wireless Adapter(rev.E) [Ralink RT2870]. Works pretty fine on Linux PC.&lt;br /&gt;
|-&lt;br /&gt;
| Digitus Wireless 150N USB 2.0 Adapter&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Bundled with a non-WiFi Pandora coming from Craig's shop&lt;br /&gt;
|-&lt;br /&gt;
| Edimax EW-7811Un&lt;br /&gt;
| rtl8192cus&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Netgear WNA1000M &lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Thomson WLG-1500A&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 400mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{No|Doesn't work.}}&lt;br /&gt;
| 0457:0163 Silicon Integrated Systems Corp. 802.11 Wireless LAN Adapter&lt;br /&gt;
|-&lt;br /&gt;
| TRENDnet TEW-424UB V2&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 400mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{No|lsusb shows it, but no module is loaded}}&lt;br /&gt;
| 0457:0163 Silicon Integrated Systems Corp. 802.11 Wireless LAN Adapter. Same behavior on a PC.&lt;br /&gt;
|-&lt;br /&gt;
| Alfa Network AWUS036H 1000mw&lt;br /&gt;
| RTL8187&lt;br /&gt;
| IEEE 802.11b/g&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| ?&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| can be found on ebay; tested with Beta 3&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link 150Mbps Mini Wireless N&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Unknown&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Model No TL-WN723N.  Tested with WPA2.   Works out of the box.  Cheap to buy (£6.99 from pcworld in the UK).  &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DVB/TNT/TDT ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Module(s)&lt;br /&gt;
! Firmware&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| AVerMedia AVerTV Volar Green HD&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| Should work&lt;br /&gt;
| af9033 tda18218&lt;br /&gt;
| dvb-usb-af9035-02.fw&lt;br /&gt;
| ID 07ca:a835 AVerMedia Technologies, Inc.&lt;br /&gt;
HD/PRO (A835)&lt;br /&gt;
|-&lt;br /&gt;
| AVerMedia AVerTV Volar Video Capture&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Reported as 0mA. More likely to be 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ID 07ca:4830 AVerMedia Technologies, Inc.&lt;br /&gt;
H830&lt;br /&gt;
|-&lt;br /&gt;
| Hauppauge WinTV aero&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| smsmdtv&lt;br /&gt;
| sms1xxx-hcw-55xxx-dvbt-02.fw&lt;br /&gt;
| ID 2040:b900 Hauppauge . Also works on the mini-usb port.&lt;br /&gt;
|-&lt;br /&gt;
| MSI Digi Vox Min&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Realtek rtl2832u chipset&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
== External Hard Disk Drives ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! style=&amp;quot;min-width: 120px&amp;quot; | Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Freecom 250GB 2.5&amp;quot; portable&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Inside it's a Samsung Model HM251JX.  {{HideableNotes|So I guess anything based on that will also work OK.}}&lt;br /&gt;
|-&lt;br /&gt;
| (Intenso)® 2.5&amp;quot; MEMORYSTATION 1TB&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| LaCie Rikiki 250GB USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via powered High Speed Hub&lt;br /&gt;
| {{Partial|Not when unpowered, needs testing with a powered hub}}&lt;br /&gt;
| Not only does it fail to spin up, but it causes the Pandora's screen to pulsate wildly, much like an old CRT would if you placed a speaker or a magnet near to it. Not tested with a powered hub.&lt;br /&gt;
|-&lt;br /&gt;
| Seagate Seagate® Expansion™ External Drives&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/user/14781-hitnrun/ Hitnrun]. &amp;quot;Isn't even detected in lsusb (drive powered by external power source)&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Verbatim 250GB Model #47580 Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Direct&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__877512 almatuk].  {{HideableNotes|&amp;quot;Watched videos directly from it at full speed, no need for powered USB hub. Had issues playing roms directly off it however as it was formatted NTFS. I'm sure if I formatted to FAT32 these would disappear.&amp;quot;}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 160GB Elements External USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| standard-A port via powered High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 250GB Elements Portable USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct or standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 250GB My Passport Essential USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown|Direct?}}&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown|Direct?}}&lt;br /&gt;
| {{Partial|Maybe}}&lt;br /&gt;
| Tested by TheDarkSpectrum48K.  The first time it [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__877386 &amp;quot;works perfectly!&amp;quot;].  The second time [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__882635 it didn't work].&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 400GB My Passport Essential USB 2.0 2.5&amp;quot; HDD model WDME4000TE&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/user/14534-peca/ Peca].&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 500GB Elements Portable External Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. {{HideableNotes|The USB cable that came with it was bad, so I used another one.[http://www.gp32x.com/board/index.php?/topic/59494-solved-how-do-i-get-my-wd-500gb-external-hard-drive-to-work-properly/page__view__findpost__p__949863]}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 500GB My Passport Essential External Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. Works fine. {{HideableNotes|Came pre-formatted in NTFS, but should work if you downloaded the community codec pack. It said 1TB on the packaging, but there was 465GB free space, so I'm pretty sure it was actually the 500GB one.}}[http://www.gp32x.com/board/index.php?/topic/59494-solved-how-do-i-get-my-wd-500gb-external-hard-drive-to-work-properly/page__view__findpost__p__949645]&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 1TB My Passport Essential SE External USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct or through powered High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://http://www.gp32x.com/board/index.php?/user/19191-mycohl/ Mycohl]. {{HideableNotes|Externally powered hub recommended to conserve battery power.}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital Elements 2TB 3.5&amp;quot; Hard Drive Model:WDBAAU0020HBK&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://boards.openpandora.org/index.php?/user/430-kilowatt/ kilowatt].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DVD/CD Drives ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Lite-On EZ-DUB DVD/CD Multi-Recorder (Model eZAU120)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Powered by included mains adapter - DC 12V 1.8A&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Memorex 20x Multi Format DVD Recorder External - DVD±RW (±R DL)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Powered by included mains adapter&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Video display device =&lt;br /&gt;
&lt;br /&gt;
== VGA DVI HDMI adapter ==&lt;br /&gt;
&lt;br /&gt;
No devices have been tested yet&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Output connectors&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&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;
| No devices have been tested yet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External graphics cards ====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Output connectors&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Tritton see2 usb 2.0 to SVGA adapter&lt;br /&gt;
| sisusb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown|High {{HideableNotes|Reduces Pandora's battery life in half (10h → 4h)}}}}&lt;br /&gt;
| VGA (D-SUB)&lt;br /&gt;
| {{Partial|Yes, but has performance issues.}}&lt;br /&gt;
| Needs to be integrated with preferences.  {{HideableNotes|Currently I (who?) must edit xorg.conf and mess with xinerama.}} Good for presentations, dragging a window is bearable, but hi-res video is slow.  Works in Linux without any issues.&lt;br /&gt;
|-&lt;br /&gt;
| DisplayLink usb 2.0 to SVGA adapter WS Tech USB-DVI&lt;br /&gt;
| udlfb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| VGA (D-SUB)&lt;br /&gt;
| Yes&lt;br /&gt;
| 17e9:0198 DisplayLink. No hub needed. Module and userspace here:&lt;br /&gt;
 git clone http://git.plugable.com/webdav/udlfb/&lt;br /&gt;
 git clone http://git.plugable.com/webdav/xf-video-udlfb/&lt;br /&gt;
|-&lt;br /&gt;
| Magic Control Technology Corp. Trigger II External Graphics&lt;br /&gt;
| sisusb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ID 0711:5200 Magic Control Technology Corp. A kernel recompile is needed. In /usr/src/linux/drivers/usb/misc/sisusbvga , edit sisusb.c , and add&lt;br /&gt;
&lt;br /&gt;
{ USB_DEVICE(0x0711, 0x5200) },&lt;br /&gt;
&lt;br /&gt;
in the list around line 3250&lt;br /&gt;
 Get the latest xf86-video-sisusb driver here:&lt;br /&gt;
 http://xorg.freedesk...ividual/driver/&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Video capture devices =&lt;br /&gt;
&lt;br /&gt;
== Webcams ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Exoo No Driver/USB 2.0 Webcam (Model No.: M053)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Bought from [http://www.dealextreme.com/details.dx/sku.14991 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Quickcam Communicate Deluxe&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| USB ID: 046d:0992, works though [http://linux-uvc.berlios.de/ uvcvideo].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech HD Webcam C270 720p&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Partial|Yes, but audio untested}}&lt;br /&gt;
| ID 046d:0825 Logitech, Inc.  Audio recognized, but not tested.  More info to come.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech HD Webcam Pro 9000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Partial|Yes, but audio untested}}&lt;br /&gt;
| ID 046d:0990 Logitech, Inc.  Audio recognized, but not tested.  Great Picture!  Works in Linux.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
&lt;br /&gt;
== Microphones/recorders ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bluemic.com/yeti/] Blue Yeti&lt;br /&gt;
| not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
| standard-A port via High Speed USB hub &lt;br /&gt;
| {{unknown|Not thoroughly tested.}}&lt;br /&gt;
| Very roughly tested 2012-06-13 by [[user:spiralofhope|spiralofhope]] using Mumble.  More testing required.  {{HideableNotes|The system recognizes the Yeti, and it appears in Mumble's list of available devices, but the audio wizard doesn't show the Yeti as having input.  Additional troubleshooting is required, as is checking the manual/company website for missing information.}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zoom.co.jp/english/products/h2/] Zoom H2 Handy Recorder&lt;br /&gt;
| not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 300mA&lt;br /&gt;
| standard-A port via High Speed USB hub &lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
| Can record into Audacity, but won't be recognized unless connected through USB hub.[http://www.gp32x.com/board/index.php?/topic/59301-audacity-1-3-12/page__view__findpost__p__947602].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MIDI controllers ==&lt;br /&gt;
&lt;br /&gt;
EvilDragon bundled the usb MIDI class drivers in the default firmware image, therefore ANY class-compliant MIDI device should work with the Pandora, out of the box.[http://www.gp32x.com/board/index.php?/topic/58523-zynaddsubfx/page__view__findpost__p__938432]&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Akai LKP25&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/58523-zynaddsubfx/page__view__findpost__p__938432]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| M-Audio MIDISPORT 2x2 Anniv&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| 400mA&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| ID 0763:1050 Midiman.  High current draw!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB audio controllers ==&lt;br /&gt;
&lt;br /&gt;
Some are &amp;quot;professional soundcard&amp;quot;; see [http://en.wikipedia.org/wiki/Sound_card#Professional_soundcards_.28audio_interfaces.29 definition on Wikipedia].&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Cakewalk UA-1G&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 200mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0582:00e9 Roland Corp. This device may be similar to older Edirol/Roland USB audio devices. Runs and record under Slackware. Jack audio server realtime recording works. Recognized but not tested under official OS. A hub, powered or not, is needed.&lt;br /&gt;
|-&lt;br /&gt;
| Connectland AUDIO ADAPTER&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter . CMedia CM108 Virtual 7.1 Channel Sound. Has vol +, vol -, mute headspeaker, mute mic buttons. Mini-jack audio in and out. A non-powered hub is needed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Input devices =&lt;br /&gt;
&lt;br /&gt;
Any HID ([http://en.wikipedia.org/wiki/Human_interface_device Human Interface Device]) compliant keyboard, mouse or game controller should work on the Pandora. Most of those device are low speed or full speed USB device and will need to be connected though either a [[USB_reference#OTG host mode|USB OTG adapter/cable]] or a [[USB reference#What’s all this stuff about USB 1.1 and USB 2.0? Isn’t USB, uh, universal?|USB2 hub]] in order to work on the Pandora.&lt;br /&gt;
&lt;br /&gt;
== External Game Controllers ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Tested on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| 2-TECH SNES-to-USB adapter&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| USB description is &amp;quot;HuiJia USB GamePad&amp;quot;, &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt; calls it &amp;quot;0e8f:3013 GreenAsia Inc.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| USB Super RetroPort (SNES-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Bought from [http://www.retrousb.com/product_info.php?cPath=21&amp;amp;products_id=29 RetroZone].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| USB RetroPort (NES-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Bought from [http://www.retrousb.com/product_info.php?cPath=21&amp;amp;products_id=28 RetroZone].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Trio Linker Plus II (PlayStation,-GameCube,-and-Dreamcast-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Bought from [http://www.play-asia.com/paOS-13-71-6m-49-en-70-1zfv.html Play-Asia].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| NAZAR V47 USB Force Feedback Vibrating Gamepad Controller for PC&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Whether it really contains the claimed force feedback feature is unknown as this feature does not work under Linux - bought from [http://www.dealextreme.com/details.dx/sku.24551 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| 10-Fire-Button Double Vibration Feedback USB PC Arcade Joystick&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Whether it really contains the claimed force feedback feature is unknown as this feature does not work under Linux - bought from [http://www.dealextreme.com/details.dx/sku.27821 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Official PlayStation 3 controller&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Full speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A To Mini B Cable via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| This is for USB not bluetooth compatibility. Sixaxis and DualShock not tested.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Saitek PLC Cyborg Force Rumble Pad (P2500) - 06a3:ff0c&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| 5V&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Unknown|Not fully tested}}&lt;br /&gt;
| Partial test attempted 2012-06-24 by [[user:spiralofhope|spiralofhope]].  lsusb lists it.  More testing required.  {{HideableNotes|A gamepad testing procedure needs to be defined.  See [[Joystick testing]].}}&lt;br /&gt;
|-&lt;br /&gt;
| Thrustmaster Firestorm Digital 3 Gamepad&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 07b5:0213 Mega World International, Ltd Thrustmaster Firestorm Digital 3 Gamepad.&lt;br /&gt;
|-&lt;br /&gt;
| Wired Xbox 360 Controller&lt;br /&gt;
| xpad module&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| This also includes gamepads for PC that needs the Windows Xinput driver. Such gamepads include the Logitech Chillstream.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| WiseGroup.,Ltd SmartJoy Dual PLUS Adapter (dual PSX to USB joypad adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port via USB 1-compatible High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 6677:8802.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Cordless RumblePad 2&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Product-ID: 0xc219, Vendor-ID: 0x046d  (Logitech Inc.), [http://www.logitech.com/support/287 Official product support website],&amp;lt;br&amp;gt;All buttons worked fine in PCSX, analog sticks not tested, but likely work&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Touchpads ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.logitech.com/en-us/mice-pointers/mice/devices/8417 Logitech Wireless Touchpad]&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Left and right four-finger swipes aren't mapped to anything by default in XFCE. They can be mapped as keyboard shortcuts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graphics tablets ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Bamboo Multitouch&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{No|No [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__881806]}}&lt;br /&gt;
| It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Genius Tablet&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Yes|Yes, [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__883140 via USB hub]}}&lt;br /&gt;
| It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Wacom CTH-460&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{No|No [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__924422]}}&lt;br /&gt;
| Would need a patched driver to work.  It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Wacom Volito2 Tablet (Model: CTF-420)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| 40mA [http://www.my-volito.com/volito/specs.asp?lang=en]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| USB ID: 056a:0062&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mice ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Connector&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Apple Mouse (M5769)&lt;br /&gt;
| USB&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Seems to disable USB port, reboot afterwards required&lt;br /&gt;
|-&lt;br /&gt;
| Apple Mouse with Scroll Ball (A1152)&lt;br /&gt;
| USB&lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Cherry Ghostcord [http://www.amazon.de/Cherry-M85-26005DE-2-B-Unlimited-Home-Rechargeable/dp/B001EDSE0U/ref=tag_stp_s2_edpp_url]&lt;br /&gt;
| USB&lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
| Part of a bundle with keyboard and a USB dongle for the connetion. With the dongle on the hub both devices work just fine (tested in XFCE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Connectors, adapters, and hubs =&lt;br /&gt;
&lt;br /&gt;
This section is intended as a general guide. Items in this section are standard USB accessories, so drivers are not required. Compatibility with Pandora is assumed. Please note that any external product links are provided for reference only, and are not an endorsement.&lt;br /&gt;
&lt;br /&gt;
== OTG (On The Go) Adapters ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Generic adapter&lt;br /&gt;
| {{No}}&lt;br /&gt;
| [http://shop.ebay.com/?_from=R40&amp;amp;_trksid=p3907.m38.l1313&amp;amp;_nkw=usb+otg+host+cable&amp;amp;_sacat=See-All-Categories Find on eBay] [http://www.amazon.co.uk/s/ref=nb_ss_ce?url=search-alias%3Delectronics&amp;amp;field-keywords=OTG+Cable+Adapter&amp;amp;x=3&amp;amp;y=23 Find on Amazon] These links are not 100% accurate. Check for `mini-a`, and on eBay, the price is higher by about $8.&lt;br /&gt;
|-&lt;br /&gt;
|Hama 00074214&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|[http://www.hama.de/00074214/hama-mini-usb-adapter-mini-usb-a-plug-usb-a-socket-015-m Manufacturer Page]&lt;br /&gt;
|-&lt;br /&gt;
| Nokia USB OTG adapter&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| [http://www.electronicproductonline.com/catalog/product_info.php?cPath=35_67&amp;amp;products_id=2043 Electronic Product Online]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Compact USB Hubs ==&lt;br /&gt;
&lt;br /&gt;
Be sure to enable USB-host!&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Griffin SmartShare USB [http://www.griffintechnology.com/products/smartshare-usb]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U415 4 Port USB 2.0 Swivel Hub [http://catalog.belkin.com/IWCatProductPage.process?Product_Id=377085]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U700 USB 2.0 7-Port Lighted Hub [http://www.belkin.com/uk/support/article/?lid=enu&amp;amp;pid=F5U700ea&amp;amp;aid=10289&amp;amp;scid=947]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested 2012-06-16 by [[user:spiralofhope|spiralofhope]] both with and without its power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U701 USB 2.0 7 Port Mobile Hub [http://www.belkin.com/IWCatProductPage.process?Product_Id=369788]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by pabloh.  Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| ID 0e8f:0016 GreenAsia Inc. &lt;br /&gt;
| {{No}}&lt;br /&gt;
| Tested by tsh.  Labeled as high speed.  Bought from ebay.&lt;br /&gt;
|-&lt;br /&gt;
| ID 05e3:0608 Targus with Genesys Logic 4 Port USB 2.0 Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Kazuki. Works.&lt;br /&gt;
|-&lt;br /&gt;
|Trust 4 port netbook hub ID 05e3:0608&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by tsh.  Bought from [http://www.amazon.co.uk/gp/product/B0025X16AS Amazon].&lt;br /&gt;
|-&lt;br /&gt;
| High Speed 4 Port Mini USB 2.0 Hub for Laptop PC (non powered)&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Octopus-style small cheap unpowered USB hub.  Bought from [http://cgi.benl.ebay.be/ws/eBayISAPI.dll?ViewItem&amp;amp;item=270538502843 ebay]&lt;br /&gt;
|-&lt;br /&gt;
| Keeptech USB 2.0 Hub (7 Ports) with Power Adapter, KT-UH703 [http://www.keeptech.com/books_show.php?id=144]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. Works powered or unpowered.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Premium 4-Port USB Hub [http://www.logitech.com/en-in/notebook-products/usb-hubs/devices/3048]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| LUPO 7-port USB 2.0 Hub (cheap octopus type which can be powered as there is dc socket)&lt;br /&gt;
| {{Partial|Yes. {{HideableNotes|Can use a power supply but wasn't tested with one.}}}}&lt;br /&gt;
| Tested by kilowatt. Bought from [http://www.amazon.co.uk/gp/product/B003BVDABG/ref=oss_product from amazon uk]&lt;br /&gt;
|-&lt;br /&gt;
| LogiLink USB 2.0 Hub 4-Port UA0086 [http://www.logilink.eu/showproduct/UA0086.htm]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Jones. Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2H3S Ethernet adapter + 3 USB ports [http://www.logitec.co.jp/products/lan/lantxu2h3/index.php]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| See [http://pandorawiki.org/USB_compatibility_list#USB_to_Ethernet_adapters USB to ethernet adapters] for more details. USB 1 devices work perfectly. Also available as other brands:  [http://www.amazon.com/USB-2-0-3-Port-Ethernet-Adapter/dp/B002OFJRW6/ref=sr_1_3?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-3&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Encore-ENUET-3USB-3-Port-Ethernet-Adapter/dp/B0036FZJX4/ref=sr_1_1?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-1&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Addlogix-3-port-USB-Hub-Ethernet/dp/B0030DO7OY/ref=sr_1_27?ie=UTF8&amp;amp;qid=1357780088&amp;amp;sr=8-27&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub]&lt;br /&gt;
|-&lt;br /&gt;
| Rosewill RHB-220 4-port USB 2.0 Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Tyrant1919. Unpowered. Bought from [http://www.newegg.com/Product/Product.aspx?Item=N82E16817182168 Newegg].&lt;br /&gt;
|-&lt;br /&gt;
| i-rocks SLEEK HUB USB 2.0 4 Ports Hub [http://www.i-rocks.com/Product_detail.aspx?CLASS_ID=1036&amp;amp;PRODUCT_ID=1080]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Comes with an ac adapter, but can be used without. USB 1 devices work perfectly.&lt;br /&gt;
|-&lt;br /&gt;
| MSI StarHub201 &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Testet by mclien with keyboard and mouse in XFCE, unpowered, not on the MSI site (discontinnued, guess) [http://alatest.dk/anmeldelser/hubs-og-switches/msi-star-hub-201/po3-34222999,42/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:USB]]&lt;br /&gt;
[[Category:List]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=USB_compatibility_list&amp;diff=27106</id>
		<title>USB compatibility list</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=USB_compatibility_list&amp;diff=27106"/>
		<updated>2013-04-20T16:46:59Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Input devices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of USB devices that have been tested on the Pandora. If the device you want to know about isn't listed here, don't worry! Just go to [[USB_reference|the USB reference page]], look up the specs of your device, and you may be able to figure out if it's compatible.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
Each type of device will have its own unique way to troubleshoot.&lt;br /&gt;
&lt;br /&gt;
But here are some general tips:&lt;br /&gt;
&lt;br /&gt;
* Is USB-Host enabled?&lt;br /&gt;
* check &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* check &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When asking for help on [http://boards.openpandora.org/index.php?/forum/8-support/ the forums support board], be sure to post both your &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Because &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output is very long, you need to paste it within [spoiler] tags like this:&lt;br /&gt;
&lt;br /&gt;
  [spoiler]&lt;br /&gt;
  (paste your dmesg in here)&lt;br /&gt;
  [/spoiler]&lt;br /&gt;
&lt;br /&gt;
An easy way to get your &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; so you can easily copy and paste it, is:&lt;br /&gt;
&lt;br /&gt;
  dmesg|leafpad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;leafpad&amp;lt;/tt&amp;gt; will open with the output of &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you have no networking on your palmtop, you can send the information to a text file like this:&lt;br /&gt;
&lt;br /&gt;
  cd (your storage card)&lt;br /&gt;
  dmesg&amp;gt;textfile.txt&lt;br /&gt;
  sync&lt;br /&gt;
&lt;br /&gt;
Then you can remove your card (if no programs are using it or PNDs are running on it) and bring it to a card reader on your desktop.&lt;br /&gt;
&lt;br /&gt;
= Networking =&lt;br /&gt;
&lt;br /&gt;
Please see the [[Mobile broadband]] page for tips on how to get these working, as well as [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/ this tutorial] from the GP32X forum.&lt;br /&gt;
&lt;br /&gt;
== HSDPA (3G) Modems ==&lt;br /&gt;
&lt;br /&gt;
Please note that many (if not all) USB 3G modems need modemmanager to be installed for switching from mass storage mode to serial communications mode. When first plugged in, most 3G USB modems claim to be a mass storage device and offer, on its built-in flash, drivers and connectivity software to be installed. Mostly this is only for Windows and Mac, so for the Pandora this is not useful. modemmanager instantly takes care of toggling the mode, so that when you plug in the modem, after a few seconds or maybe half a minute modemmanager has switched the modem to communications mode and NetworkManager is able to use it.&lt;br /&gt;
&lt;br /&gt;
If you are using a Firmware before HF7 (or one of its Alpha/Beta versions) you have to install modemmanager. To do so, connect your Pandora to the Internet, open a terminal and, as a super user, intall it via opkg by entering the commands:&lt;br /&gt;
&lt;br /&gt;
:sudo opkg update&lt;br /&gt;
:sudo opkg install modemmanager&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are using a firmware more recent than &amp;quot;Zaxxon&amp;quot; Hotfix 6 (starting with HF7) you do not have to follow the steps outlined above since modemmanager comes preinstalled.&lt;br /&gt;
&lt;br /&gt;
'''Note 2:''' After plugging in the USB 3G modem, it may take some time until NetworkManager is able to use the modem. Wait for at least half a minute, until you give up and report that the modem doesn't work.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| ZTE K3565-Z / MF626 / MF627 / MF636&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__956513] [http://boards.openpandora.org/index.php?/topic/7226-superzaxxon-beta-11-released/page__pid__127881#entry127881]}}&lt;br /&gt;
| A how-to by shideneyu for this modem can be found [http://www.pandorawiki.org/ZTE_K3565Z_3G_USB_Modem here]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| BandLuxe C270&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| A how-to by relliker for this modem can be found [http://www.pandorawiki.org/BandLuxe_C270_3G_USB_Modem here]&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E156G&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/52827-3gumts-usb-dongle/page__view__findpost__p__835681]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Huawei E160&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| As the entry for Huawei E220 was wrong, this Current draw could also be wrong. This one definitely needs modemmanager. After installing modemmanager, it works flawlessly.&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E160E&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| As the entry for Huawei E220 was wrong, this Current draw could also be wrong.&lt;br /&gt;
|-&lt;br /&gt;
| Huawei E1750&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__939350]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[wikipedia:Huawei E220|Huawei E220]]&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port via High Speed hub&lt;br /&gt;
| {{No|Not on new kernels.}}&lt;br /&gt;
| The successful Pandora E220 tests were done by DJWillis on an old kernel (long before Pandora shipped). It seems that they are NOT working any more.  Also tested on Linux (was it working?)  This entry originally said 250mA, but there is no source and current sources say 500mA.&lt;br /&gt;
|-&lt;br /&gt;
| 4G-Systems XS Stick P14&lt;br /&gt;
| Not required (usbserial module)&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/54318-guide-mobile-broadband-usb-stick-usage/page__view__findpost__p__937681]}}&lt;br /&gt;
| Requires usbmodeswitch program. &lt;br /&gt;
|-&lt;br /&gt;
| iPhone 3GS (Probably also 1G/3G)&lt;br /&gt;
| ipheth&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| {{Unknown|USB A (Standard-A port?)}}&lt;br /&gt;
| {{Maybe|Should work in Angstrom with some work.}}&lt;br /&gt;
| Requires a good bit of dependencies to get working.  Tested with Debian from SD, but should work in Angstrom with some work.  The ipheth wwan0 device only provides a connection over the 3G modem, even if you're connected to a wifi network.  I used the iproxy and SSH tunneling method with proxychains to get to the wifi network.&lt;br /&gt;
|-&lt;br /&gt;
| HTC Desire&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| {{Unknown|USB A (Standard-A port?)}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Requires internet connection sharing to be enabled from the phone.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB to Ethernet adapters ==&lt;br /&gt;
&lt;br /&gt;
To enable USB Ethernet adapters on the Pandora, you may need to left-click the networking icon on the panel in Xfce, and select &amp;quot;Ifupdown (bnep0)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Mbps&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Apple USB Ethernet Adapter MB442Z/A&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Reportedly uses an ASIX AX88xxx chipset.&lt;br /&gt;
|-&lt;br /&gt;
| Apple USB Ethernet Adapter model A1277&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 05ac:1402 Apple, Inc.&lt;br /&gt;
|-&lt;br /&gt;
| ASUS USB Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 200mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7e2b ASIX Electronics Corp. AX88772B&lt;br /&gt;
|-&lt;br /&gt;
| Conrad 3-Port-USB-Hub und Netzwerk-Adapter&lt;br /&gt;
|&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| A lot! {{HideableNotes|50% of battery charge only brings you 2h40min (min brightness, no other devices attached)}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Has a 3port USB Hub included. External power supply can (and should) be attached, not included though. ASIX Chipset. 20€ @ [http://www.conrad.de/ce/de/product/976406/NOTEBOOK-MINI-DOCKINGSTATION-USBRJ45/SHOP_AREA_32315&amp;amp;promotionareaSearchDetail=005 Conrad Electronics].  Not tested in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-GTJ/U2B Ethernet adapter&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA (lsusb) 1000Mbps=350mA 100Mbps=230mA 10Mbps=220mA(documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:1780 ASIX Electronics Corp. AX88178 [http://www.logitec.co.jp/products/lan/langtju2b/index.php]&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2B Ethernet adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA (lsusb) 100Mbps=170mA 10Mbps=210mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:772a ASIX Electronics Corp.[http://www.logitec.co.jp/products/lan/lantxu2b/index.php]&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2H3S Ethernet adapter + 3 USB ports&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA (lsusb) 300mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:772a ASIX Electronics Corp. USB hub current: 100mA (lsusb) 200mA (documentation). [http://www.logitec.co.jp/products/lan/lantxu2h3/index.php] [http://www.amazon.com/USB-2-0-3-Port-Ethernet-Adapter/dp/B002OFJRW6/ref=sr_1_3?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-3&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Encore-ENUET-3USB-3-Port-Ethernet-Adapter/dp/B0036FZJX4/ref=sr_1_1?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-1&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Addlogix-3-port-USB-Hub-Ethernet/dp/B0030DO7OY/ref=sr_1_27?ie=UTF8&amp;amp;qid=1357780088&amp;amp;sr=8-27&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub]&lt;br /&gt;
|-&lt;br /&gt;
| Wii USB 2.0 10/100M adapter (use [http://www.asix.com.tw/products.php?op=pItemdetail&amp;amp;PItemID=86;71;101 ASIX AX 88772 USB 2.0 chip])&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7720 ASIX Electronics Corp. AX88772.  [http://www.dealextreme.com/details.dx/sku.5926 This clone from DealExtreme] works too.&lt;br /&gt;
|-&lt;br /&gt;
| Connectland USB 2.0 10/100M Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 250mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0b95:7720 ASIX Electronics Corp. AX88772 - Works fine, Sometimes a reboot is necessary (ZaxxonHF5RC1).&lt;br /&gt;
|-&lt;br /&gt;
| Belkin Gigabit USB 2.0 Network Adapter&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| The shape of it make is a bit awkward to fit if you connect it directly, but it has a short adapter cable. I only get ~95Mbit on a gigabit network, but then the pandora's cpu maxes out. (it may be that the driver/usb stack isn't very well optimized), has horribly bright blue LEDs.&lt;br /&gt;
|-&lt;br /&gt;
| MosChip MCS7830 USB 10/100 Ethernet adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter. Kernel module: mcs7830.&lt;br /&gt;
|-&lt;br /&gt;
| EU.MARK USB 10/100M RJ45 Ethernet Network Adapter Dongle&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| USB ID: 9710:7830 - bought from [http://www.dealextreme.com/details.dx/sku.22684 DealExtreme]&lt;br /&gt;
|-&lt;br /&gt;
| Digitus DN-10050 Fast Ethernet USB Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| MosChip MCS7830-based adapter. USB ID 9710:7830.&lt;br /&gt;
|-&lt;br /&gt;
| Edimax EU-4230 Fast Ethernet USB Adapter with 3-port USB hub [http://edimax.ie/images/Image/datasheet/USB/EU-4230/EU-4230_Datasheet.pdf]&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Ethernet USB ID 0b95:772a ASIX Electronics Corp. 3-port USB2.0 hub USB ID 0409:005a NEC Corp. Optional power adapter for USB hub.&lt;br /&gt;
|-&lt;br /&gt;
| Peabird USB v2.0 Fast Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter. Consumes a lot of current. Fragile, the protective plastic cord cracked after one month. Hot. A blue light a bit too flashy. Definitely avoid this model.&lt;br /&gt;
|-&lt;br /&gt;
| SIIG JU-NE0012-S1 USB 2.0 Fast Ethernet Adapter&lt;br /&gt;
| 10/100&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Bought from  [http://www.newegg.com/Product/Product.aspx?Item=N82E16812191163 Newegg]&lt;br /&gt;
|-&lt;br /&gt;
| TRENDnet USB to Gigabit Ethernet Adapter TU2-ETG&lt;br /&gt;
| 10/100/1000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA (lsusb) Dormant: 5mA Static: 91mA Working: 131mA (documentation)&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Rev. 2.0R ID 0b95:1780 ASIX Electronics Corp. AX88178 [http://www.trendnet.com/products/proddetail.asp?prod=275_TU2-ETG&amp;amp;cat=42] Rev. 2.0R is white, previous versions are blue and consumes more current. The documentation's current draw are reported for 10 and 100Mbps.&lt;br /&gt;
|-&lt;br /&gt;
| Novatel Wireless Jetpack 4620L&lt;br /&gt;
|&lt;br /&gt;
| cdc_ether&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB &lt;br /&gt;
| High drain; 95% charge = 6:00 battery life.&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| This is a LTE/EVDO/CDMA/HSPA/UMTS/EDGE/GPRS Wifi Hotspot device; Device is registered as a USB Ethernet device when connected through USB tethered (as opposed to Wifi) connection. USB ID 1410:b008&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB to serial adapters ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| pl203&lt;br /&gt;
| usbserial&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 100mA. A powered hub is needed.&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| A powered hub is needed. Plug the device, then load USB modules. ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB WiFi adapters ==&lt;br /&gt;
&lt;br /&gt;
The Pandora stock kernel may not come with all wireless driver support outside of the internal WiFi chip.  Sometimes, the only way you'll get wireless working is to build your own kernel with it included or try [http://wireless.kernel.org/en/users/Download compat-wireless].&lt;br /&gt;
&lt;br /&gt;
As for hofix 6a4 compat-wireless seems to be present in the kernel out of the box, so one can build a USB wireless driver for Pandora following this [http://boards.openpandora.org/index.php?/topic/5140-solvedbuilding-a-usb-wifi-driver/page__view__findpost__p__89280 algorithm]&lt;br /&gt;
&lt;br /&gt;
As for [[hotfix 6]] Release Candidate the kernel includes drivers for these Realtek chips: RTL8712/8188/8191/8192SU/8192CU&lt;br /&gt;
&lt;br /&gt;
See also [http://boards.openpandora.org/index.php?/topic/7160-micro-wifi-dongle/ this thread] on the forums for the latest.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Tested on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Advance Mini Wireless N150&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| There's a little hole on it, so it's useful for attaching it to the OP.&lt;br /&gt;
|-&lt;br /&gt;
| ASUS WL-167G v2&lt;br /&gt;
| rt73usb + rt2x00usb + rt2x00lib&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 300mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Works under Slackware, not (without a hub) under Zaxxon, which become very unstable}}&lt;br /&gt;
| 0b05:1723 ASUSTek Computer, Inc. WL-167G v2 802.11g Adapter [Ralink RT73]. Works pretty fine on Linux PC.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin N1 Wireless USB Adapter (F5D8051) (&amp;quot;Ver. 2053&amp;quot;) (MARVELL v1021)&lt;br /&gt;
| N/A&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| No connection was attempted.&lt;br /&gt;
| {{No|No native driver support and ndiswrapper obviously won't work.}}&lt;br /&gt;
| There's a previous revision of this dongle which is supposed to have a Ralink chip, but they revised it and put a different chip inside.  Reported (by whom?) to work with ndiswrapper and works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin Surf micro &lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Cisco/Linksys AE1000 High Performance Wireless-N USB Adapter&lt;br /&gt;
| rt3572sta (RT3572USB)&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A (Standard-A port?)&lt;br /&gt;
| {{Yes|Works with a modified driver.}}&lt;br /&gt;
| (Compiled module for pandora:[http://boards.openpandora.org/index.php?/topic/1992-linksys-ae1000-usb-wifi/ pandora forum])  Download the driver from [http://www.ralinktech.com/support.php?s=2 ralink's driver site], edit ./common/rtusb_dev_id.c, before &amp;quot;#endif // RT2870&amp;quot; add &amp;quot;{USB_DEVICE(0x13B1,0x002F)},&amp;quot;, compile.'   Reported (by whom?) to work in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| D-Link WIRELESS G USB ADAPTER DWL-G122 rev.E1 F/W 5.00&lt;br /&gt;
| rt2870sta + rt2800usb + rt2800lib&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 450mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Works under Slackware, not (without a hub) under Zaxxon, which become very unstable}}&lt;br /&gt;
| 07d1:3c0f D-Link System AirPlus G DWL-G122 Wireless Adapter(rev.E) [Ralink RT2870]. Works pretty fine on Linux PC.&lt;br /&gt;
|-&lt;br /&gt;
| Digitus Wireless 150N USB 2.0 Adapter&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Bundled with a non-WiFi Pandora coming from Craig's shop&lt;br /&gt;
|-&lt;br /&gt;
| Edimax EW-7811Un&lt;br /&gt;
| rtl8192cus&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Netgear WNA1000M &lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| {{Yes|Should work out of the box since [[Hotfix 6]] Release Candidate}}&lt;br /&gt;
|-&lt;br /&gt;
| Thomson WLG-1500A&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 400mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{No|Doesn't work.}}&lt;br /&gt;
| 0457:0163 Silicon Integrated Systems Corp. 802.11 Wireless LAN Adapter&lt;br /&gt;
|-&lt;br /&gt;
| TRENDnet TEW-424UB V2&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 400mA&lt;br /&gt;
| USB A&lt;br /&gt;
| {{No|lsusb shows it, but no module is loaded}}&lt;br /&gt;
| 0457:0163 Silicon Integrated Systems Corp. 802.11 Wireless LAN Adapter. Same behavior on a PC.&lt;br /&gt;
|-&lt;br /&gt;
| Alfa Network AWUS036H 1000mw&lt;br /&gt;
| RTL8187&lt;br /&gt;
| IEEE 802.11b/g&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| ?&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| can be found on ebay; tested with Beta 3&lt;br /&gt;
|-&lt;br /&gt;
| TP-Link 150Mbps Mini Wireless N&lt;br /&gt;
| rtl8192cu&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Unknown&lt;br /&gt;
| USB A&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| Model No TL-WN723N.  Tested with WPA2.   Works out of the box.  Cheap to buy (£6.99 from pcworld in the UK).  &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DVB/TNT/TDT ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Module(s)&lt;br /&gt;
! Firmware&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| AVerMedia AVerTV Volar Green HD&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| Should work&lt;br /&gt;
| af9033 tda18218&lt;br /&gt;
| dvb-usb-af9035-02.fw&lt;br /&gt;
| ID 07ca:a835 AVerMedia Technologies, Inc.&lt;br /&gt;
HD/PRO (A835)&lt;br /&gt;
|-&lt;br /&gt;
| AVerMedia AVerTV Volar Video Capture&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Reported as 0mA. More likely to be 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ID 07ca:4830 AVerMedia Technologies, Inc.&lt;br /&gt;
H830&lt;br /&gt;
|-&lt;br /&gt;
| Hauppauge WinTV aero&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| smsmdtv&lt;br /&gt;
| sms1xxx-hcw-55xxx-dvbt-02.fw&lt;br /&gt;
| ID 2040:b900 Hauppauge . Also works on the mini-usb port.&lt;br /&gt;
|-&lt;br /&gt;
| MSI Digi Vox Min&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| ?&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes|Yes}}&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Realtek rtl2832u chipset&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
&lt;br /&gt;
== External Hard Disk Drives ==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! style=&amp;quot;min-width: 120px&amp;quot; | Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Freecom 250GB 2.5&amp;quot; portable&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Inside it's a Samsung Model HM251JX.  {{HideableNotes|So I guess anything based on that will also work OK.}}&lt;br /&gt;
|-&lt;br /&gt;
| (Intenso)® 2.5&amp;quot; MEMORYSTATION 1TB&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| LaCie Rikiki 250GB USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via powered High Speed Hub&lt;br /&gt;
| {{Partial|Not when unpowered, needs testing with a powered hub}}&lt;br /&gt;
| Not only does it fail to spin up, but it causes the Pandora's screen to pulsate wildly, much like an old CRT would if you placed a speaker or a magnet near to it. Not tested with a powered hub.&lt;br /&gt;
|-&lt;br /&gt;
| Seagate Seagate® Expansion™ External Drives&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/user/14781-hitnrun/ Hitnrun]. &amp;quot;Isn't even detected in lsusb (drive powered by external power source)&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Verbatim 250GB Model #47580 Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Direct&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__877512 almatuk].  {{HideableNotes|&amp;quot;Watched videos directly from it at full speed, no need for powered USB hub. Had issues playing roms directly off it however as it was formatted NTFS. I'm sure if I formatted to FAT32 these would disappear.&amp;quot;}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 160GB Elements External USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| standard-A port via powered High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 250GB Elements Portable USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct or standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 250GB My Passport Essential USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown|Direct?}}&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown|Direct?}}&lt;br /&gt;
| {{Partial|Maybe}}&lt;br /&gt;
| Tested by TheDarkSpectrum48K.  The first time it [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__877386 &amp;quot;works perfectly!&amp;quot;].  The second time [http://www.gp32x.com/board/index.php?/topic/54509-dont-use-lacie-25-usb-hard-disk-drives-with-a-pandora/page__view__findpost__p__882635 it didn't work].&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 400GB My Passport Essential USB 2.0 2.5&amp;quot; HDD model WDME4000TE&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://www.gp32x.com/board/index.php?/user/14534-peca/ Peca].&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 500GB Elements Portable External Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. {{HideableNotes|The USB cable that came with it was bad, so I used another one.[http://www.gp32x.com/board/index.php?/topic/59494-solved-how-do-i-get-my-wd-500gb-external-hard-drive-to-work-properly/page__view__findpost__p__949863]}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 500GB My Passport Essential External Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. Works fine. {{HideableNotes|Came pre-formatted in NTFS, but should work if you downloaded the community codec pack. It said 1TB on the packaging, but there was 465GB free space, so I'm pretty sure it was actually the 500GB one.}}[http://www.gp32x.com/board/index.php?/topic/59494-solved-how-do-i-get-my-wd-500gb-external-hard-drive-to-work-properly/page__view__findpost__p__949645]&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital 1TB My Passport Essential SE External USB 2.0 2.5&amp;quot; Hard Drive&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct or through powered High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://http://www.gp32x.com/board/index.php?/user/19191-mycohl/ Mycohl]. {{HideableNotes|Externally powered hub recommended to conserve battery power.}}&lt;br /&gt;
|-&lt;br /&gt;
| Western Digital Elements 2TB 3.5&amp;quot; Hard Drive Model:WDBAAU0020HBK&lt;br /&gt;
| Not Required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Direct&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [http://boards.openpandora.org/index.php?/user/430-kilowatt/ kilowatt].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DVD/CD Drives ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Lite-On EZ-DUB DVD/CD Multi-Recorder (Model eZAU120)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Powered by included mains adapter - DC 12V 1.8A&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Memorex 20x Multi Format DVD Recorder External - DVD±RW (±R DL)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| Powered by included mains adapter&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Video display device =&lt;br /&gt;
&lt;br /&gt;
== VGA DVI HDMI adapter ==&lt;br /&gt;
&lt;br /&gt;
No devices have been tested yet&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Output connectors&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&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;
| No devices have been tested yet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External graphics cards ====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Output connectors&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Tritton see2 usb 2.0 to SVGA adapter&lt;br /&gt;
| sisusb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown|High {{HideableNotes|Reduces Pandora's battery life in half (10h → 4h)}}}}&lt;br /&gt;
| VGA (D-SUB)&lt;br /&gt;
| {{Partial|Yes, but has performance issues.}}&lt;br /&gt;
| Needs to be integrated with preferences.  {{HideableNotes|Currently I (who?) must edit xorg.conf and mess with xinerama.}} Good for presentations, dragging a window is bearable, but hi-res video is slow.  Works in Linux without any issues.&lt;br /&gt;
|-&lt;br /&gt;
| DisplayLink usb 2.0 to SVGA adapter WS Tech USB-DVI&lt;br /&gt;
| udlfb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| VGA (D-SUB)&lt;br /&gt;
| Yes&lt;br /&gt;
| 17e9:0198 DisplayLink. No hub needed. Module and userspace here:&lt;br /&gt;
 git clone http://git.plugable.com/webdav/udlfb/&lt;br /&gt;
 git clone http://git.plugable.com/webdav/xf-video-udlfb/&lt;br /&gt;
|-&lt;br /&gt;
| Magic Control Technology Corp. Trigger II External Graphics&lt;br /&gt;
| sisusb&lt;br /&gt;
| USB&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ID 0711:5200 Magic Control Technology Corp. A kernel recompile is needed. In /usr/src/linux/drivers/usb/misc/sisusbvga , edit sisusb.c , and add&lt;br /&gt;
&lt;br /&gt;
{ USB_DEVICE(0x0711, 0x5200) },&lt;br /&gt;
&lt;br /&gt;
in the list around line 3250&lt;br /&gt;
 Get the latest xf86-video-sisusb driver here:&lt;br /&gt;
 http://xorg.freedesk...ividual/driver/&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Video capture devices =&lt;br /&gt;
&lt;br /&gt;
== Webcams ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Exoo No Driver/USB 2.0 Webcam (Model No.: M053)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Bought from [http://www.dealextreme.com/details.dx/sku.14991 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Quickcam Communicate Deluxe&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{No}}&lt;br /&gt;
| USB ID: 046d:0992, works though [http://linux-uvc.berlios.de/ uvcvideo].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech HD Webcam C270 720p&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Partial|Yes, but audio untested}}&lt;br /&gt;
| ID 046d:0825 Logitech, Inc.  Audio recognized, but not tested.  More info to come.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech HD Webcam Pro 9000&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 500mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Partial|Yes, but audio untested}}&lt;br /&gt;
| ID 046d:0990 Logitech, Inc.  Audio recognized, but not tested.  Great Picture!  Works in Linux.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Audio devices =&lt;br /&gt;
&lt;br /&gt;
== Microphones/recorders ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bluemic.com/yeti/] Blue Yeti&lt;br /&gt;
| not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| unknown&lt;br /&gt;
| unknown&lt;br /&gt;
| standard-A port via High Speed USB hub &lt;br /&gt;
| {{unknown|Not thoroughly tested.}}&lt;br /&gt;
| Very roughly tested 2012-06-13 by [[user:spiralofhope|spiralofhope]] using Mumble.  More testing required.  {{HideableNotes|The system recognizes the Yeti, and it appears in Mumble's list of available devices, but the audio wizard doesn't show the Yeti as having input.  Additional troubleshooting is required, as is checking the manual/company website for missing information.}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zoom.co.jp/english/products/h2/] Zoom H2 Handy Recorder&lt;br /&gt;
| not required&lt;br /&gt;
| standard-A&lt;br /&gt;
| USB 1.1&lt;br /&gt;
| 300mA&lt;br /&gt;
| standard-A port via High Speed USB hub &lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
| Can record into Audacity, but won't be recognized unless connected through USB hub.[http://www.gp32x.com/board/index.php?/topic/59301-audacity-1-3-12/page__view__findpost__p__947602].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MIDI controllers ==&lt;br /&gt;
&lt;br /&gt;
EvilDragon bundled the usb MIDI class drivers in the default firmware image, therefore ANY class-compliant MIDI device should work with the Pandora, out of the box.[http://www.gp32x.com/board/index.php?/topic/58523-zynaddsubfx/page__view__findpost__p__938432]&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Akai LKP25&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Yes|Yes [http://www.gp32x.com/board/index.php?/topic/58523-zynaddsubfx/page__view__findpost__p__938432]}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| M-Audio MIDISPORT 2x2 Anniv&lt;br /&gt;
| Not required&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| 400mA&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| ID 0763:1050 Midiman.  High current draw!&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB audio controllers ==&lt;br /&gt;
&lt;br /&gt;
Some are &amp;quot;professional soundcard&amp;quot;; see [http://en.wikipedia.org/wiki/Sound_card#Professional_soundcards_.28audio_interfaces.29 definition on Wikipedia].&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Cakewalk UA-1G&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 200mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0582:00e9 Roland Corp. This device may be similar to older Edirol/Roland USB audio devices. Runs and record under Slackware. Jack audio server realtime recording works. Recognized but not tested under official OS. A hub, powered or not, is needed.&lt;br /&gt;
|-&lt;br /&gt;
| Connectland AUDIO ADAPTER&lt;br /&gt;
| not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 2.0&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter . CMedia CM108 Virtual 7.1 Channel Sound. Has vol +, vol -, mute headspeaker, mute mic buttons. Mini-jack audio in and out. A non-powered hub is needed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Input devices =&lt;br /&gt;
&lt;br /&gt;
Any HID ([http://en.wikipedia.org/wiki/Human_interface_device Human Interface Device]) compliant keyboard, mouse or game controller should work on the Pandora. Most of those device are low speed or full speed USB device and will need to be connected though either a [[USB_reference#OTG host mode|USB OTG adapter/cable]] or a [[USB reference#What’s all this stuff about USB 1.1 and USB 2.0? Isn’t USB, uh, universal?|USB2 hub]] in order to work on the Pandora.&lt;br /&gt;
&lt;br /&gt;
== External Game Controllers ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Tested on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| 2-TECH SNES-to-USB adapter&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| USB description is &amp;quot;HuiJia USB GamePad&amp;quot;, &amp;lt;tt&amp;gt;lsusb&amp;lt;/tt&amp;gt; calls it &amp;quot;0e8f:3013 GreenAsia Inc.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| USB Super RetroPort (SNES-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Bought from [http://www.retrousb.com/product_info.php?cPath=21&amp;amp;products_id=29 RetroZone].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| USB RetroPort (NES-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Bought from [http://www.retrousb.com/product_info.php?cPath=21&amp;amp;products_id=28 RetroZone].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Trio Linker Plus II (PlayStation,-GameCube,-and-Dreamcast-to-USB adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Bought from [http://www.play-asia.com/paOS-13-71-6m-49-en-70-1zfv.html Play-Asia].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| NAZAR V47 USB Force Feedback Vibrating Gamepad Controller for PC&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Whether it really contains the claimed force feedback feature is unknown as this feature does not work under Linux - bought from [http://www.dealextreme.com/details.dx/sku.24551 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| 10-Fire-Button Double Vibration Feedback USB PC Arcade Joystick&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Whether it really contains the claimed force feedback feature is unknown as this feature does not work under Linux - bought from [http://www.dealextreme.com/details.dx/sku.27821 DealExtreme].  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Official PlayStation 3 controller&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Full speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| USB A To Mini B Cable via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| This is for USB not bluetooth compatibility. Sixaxis and DualShock not tested.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Saitek PLC Cyborg Force Rumble Pad (P2500) - 06a3:ff0c&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{unknown}}&lt;br /&gt;
| 5V&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Unknown|Not fully tested}}&lt;br /&gt;
| Partial test attempted 2012-06-24 by [[user:spiralofhope|spiralofhope]].  lsusb lists it.  More testing required.  {{HideableNotes|A gamepad testing procedure needs to be defined.  See [[Joystick testing]].}}&lt;br /&gt;
|-&lt;br /&gt;
| Thrustmaster Firestorm Digital 3 Gamepad&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 07b5:0213 Mega World International, Ltd Thrustmaster Firestorm Digital 3 Gamepad.&lt;br /&gt;
|-&lt;br /&gt;
| Wired Xbox 360 Controller&lt;br /&gt;
| xpad module&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown|Probably USB 1.1}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{No}}&lt;br /&gt;
| This also includes gamepads for PC that needs the Windows Xinput driver. Such gamepads include the Logitech Chillstream.  Works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| WiseGroup.,Ltd SmartJoy Dual PLUS Adapter (dual PSX to USB joypad adapter)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| USB 1&lt;br /&gt;
| 100mA&lt;br /&gt;
| Standard-A port via USB 1-compatible High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| ID 6677:8802.  Works in Linux.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Touchpads ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Suggested connection to Pandora&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.logitech.com/en-us/mice-pointers/mice/devices/8417 Logitech Wireless Touchpad]&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| Standard-A port via High Speed Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Left and right four-finger swipes aren't mapped to anything by default in XFCE. They can be mapped as keyboard shortcuts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Graphics tablets ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Driver&lt;br /&gt;
! Connector&lt;br /&gt;
! Supported standard&lt;br /&gt;
! Current draw&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Bamboo Multitouch&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{No|No [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__881806]}}&lt;br /&gt;
| It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Genius Tablet&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Yes|Yes, [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__883140 via USB hub]}}&lt;br /&gt;
| It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Wacom CTH-460&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{Unknown}}&lt;br /&gt;
| {{No|No [http://www.gp32x.com/board/index.php?/topic/54728-pandora-owners-tried-tablet/page__view__findpost__p__924422]}}&lt;br /&gt;
| Would need a patched driver to work.  It's not known if this works in Linux.&lt;br /&gt;
|-&lt;br /&gt;
| Wacom Volito2 Tablet (Model: CTF-420)&lt;br /&gt;
| Not required&lt;br /&gt;
| Standard-A&lt;br /&gt;
| Low speed&lt;br /&gt;
| 40mA [http://www.my-volito.com/volito/specs.asp?lang=en]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| USB ID: 056a:0062&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mice ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Connector&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Apple Mouse (M5769)&lt;br /&gt;
| USB&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Seems to disable USB port, reboot afterwards required&lt;br /&gt;
|-&lt;br /&gt;
| Apple Mouse with Scroll Ball (A1152)&lt;br /&gt;
| USB&lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Cherry Ghostcord [http://www.amazon.de/Cherry-M85-26005DE-2-B-Unlimited-Home-Rechargeable/dp/B001EDSE0U/ref=tag_stp_s2_edpp_url]&lt;br /&gt;
| USB&lt;br /&gt;
| {{Yes|Yes, needs a USB hub.}}&lt;br /&gt;
| Part of a bundle with keyboard and a USB dongle for the connetion. With the dongle on the hub both devices work just fine (tested in XFCE)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Connectors, adapters, and hubs =&lt;br /&gt;
&lt;br /&gt;
This section is intended as a general guide. Items in this section are standard USB accessories, so drivers are not required. Compatibility with Pandora is assumed. Please note that any external product links are provided for reference only, and are not an endorsement.&lt;br /&gt;
&lt;br /&gt;
== OTG (On The Go) Adapters ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Generic adapter&lt;br /&gt;
| {{No}}&lt;br /&gt;
| [http://shop.ebay.com/?_from=R40&amp;amp;_trksid=p3907.m38.l1313&amp;amp;_nkw=usb+otg+host+cable&amp;amp;_sacat=See-All-Categories Find on eBay] [http://www.amazon.co.uk/s/ref=nb_ss_ce?url=search-alias%3Delectronics&amp;amp;field-keywords=OTG+Cable+Adapter&amp;amp;x=3&amp;amp;y=23 Find on Amazon] These links are not 100% accurate. Check for `mini-a`, and on eBay, the price is higher by about $8.&lt;br /&gt;
|-&lt;br /&gt;
|Hama 00074214&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|[http://www.hama.de/00074214/hama-mini-usb-adapter-mini-usb-a-plug-usb-a-socket-015-m Manufacturer Page]&lt;br /&gt;
|-&lt;br /&gt;
| Nokia USB OTG adapter&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| [http://www.electronicproductonline.com/catalog/product_info.php?cPath=35_67&amp;amp;products_id=2043 Electronic Product Online]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Compact USB Hubs ==&lt;br /&gt;
&lt;br /&gt;
Be sure to enable USB-host!&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Device&lt;br /&gt;
! Works on Pandora&lt;br /&gt;
! Additional comments&lt;br /&gt;
|-&lt;br /&gt;
| Griffin SmartShare USB [http://www.griffintechnology.com/products/smartshare-usb]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U415 4 Port USB 2.0 Swivel Hub [http://catalog.belkin.com/IWCatProductPage.process?Product_Id=377085]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U700 USB 2.0 7-Port Lighted Hub [http://www.belkin.com/uk/support/article/?lid=enu&amp;amp;pid=F5U700ea&amp;amp;aid=10289&amp;amp;scid=947]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested 2012-06-16 by [[user:spiralofhope|spiralofhope]] both with and without its power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Belkin F5U701 USB 2.0 7 Port Mobile Hub [http://www.belkin.com/IWCatProductPage.process?Product_Id=369788]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by pabloh.  Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| ID 0e8f:0016 GreenAsia Inc. &lt;br /&gt;
| {{No}}&lt;br /&gt;
| Tested by tsh.  Labeled as high speed.  Bought from ebay.&lt;br /&gt;
|-&lt;br /&gt;
| ID 05e3:0608 Targus with Genesys Logic 4 Port USB 2.0 Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Kazuki. Works.&lt;br /&gt;
|-&lt;br /&gt;
|Trust 4 port netbook hub ID 05e3:0608&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by tsh.  Bought from [http://www.amazon.co.uk/gp/product/B0025X16AS Amazon].&lt;br /&gt;
|-&lt;br /&gt;
| High Speed 4 Port Mini USB 2.0 Hub for Laptop PC (non powered)&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Octopus-style small cheap unpowered USB hub.  Bought from [http://cgi.benl.ebay.be/ws/eBayISAPI.dll?ViewItem&amp;amp;item=270538502843 ebay]&lt;br /&gt;
|-&lt;br /&gt;
| Keeptech USB 2.0 Hub (7 Ports) with Power Adapter, KT-UH703 [http://www.keeptech.com/books_show.php?id=144]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by [[User:Esn|Esn]]. Works powered or unpowered.&lt;br /&gt;
|-&lt;br /&gt;
| Logitech Premium 4-Port USB Hub [http://www.logitech.com/en-in/notebook-products/usb-hubs/devices/3048]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| LUPO 7-port USB 2.0 Hub (cheap octopus type which can be powered as there is dc socket)&lt;br /&gt;
| {{Partial|Yes. {{HideableNotes|Can use a power supply but wasn't tested with one.}}}}&lt;br /&gt;
| Tested by kilowatt. Bought from [http://www.amazon.co.uk/gp/product/B003BVDABG/ref=oss_product from amazon uk]&lt;br /&gt;
|-&lt;br /&gt;
| LogiLink USB 2.0 Hub 4-Port UA0086 [http://www.logilink.eu/showproduct/UA0086.htm]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Jones. Comes with an optional power adapter.&lt;br /&gt;
|-&lt;br /&gt;
| Logitec USB 2.0 LAN-TX/U2H3S Ethernet adapter + 3 USB ports [http://www.logitec.co.jp/products/lan/lantxu2h3/index.php]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| See [http://pandorawiki.org/USB_compatibility_list#USB_to_Ethernet_adapters USB to ethernet adapters] for more details. USB 1 devices work perfectly. Also available as other brands:  [http://www.amazon.com/USB-2-0-3-Port-Ethernet-Adapter/dp/B002OFJRW6/ref=sr_1_3?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-3&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Encore-ENUET-3USB-3-Port-Ethernet-Adapter/dp/B0036FZJX4/ref=sr_1_1?ie=UTF8&amp;amp;qid=1357779881&amp;amp;sr=8-1&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub] [http://www.amazon.com/Addlogix-3-port-USB-Hub-Ethernet/dp/B0030DO7OY/ref=sr_1_27?ie=UTF8&amp;amp;qid=1357780088&amp;amp;sr=8-27&amp;amp;keywords=USB+ethernet+with+3+port+USB+hub]&lt;br /&gt;
|-&lt;br /&gt;
| Rosewill RHB-220 4-port USB 2.0 Hub&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Tested by Tyrant1919. Unpowered. Bought from [http://www.newegg.com/Product/Product.aspx?Item=N82E16817182168 Newegg].&lt;br /&gt;
|-&lt;br /&gt;
| i-rocks SLEEK HUB USB 2.0 4 Ports Hub [http://www.i-rocks.com/Product_detail.aspx?CLASS_ID=1036&amp;amp;PRODUCT_ID=1080]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Comes with an ac adapter, but can be used without. USB 1 devices work perfectly.&lt;br /&gt;
|-&lt;br /&gt;
| MSI StarHub201 &lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| Testet by mclien with keyboard and mouse in XFCE, unpowered, not on the MSI site (discontinnued, guess) [http://alatest.dk/anmeldelser/hubs-og-switches/msi-star-hub-201/po3-34222999,42/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:USB]]&lt;br /&gt;
[[Category:List]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Multisite_username_check&amp;diff=27048</id>
		<title>Multisite username check</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Multisite_username_check&amp;diff=27048"/>
		<updated>2013-03-25T13:36:19Z</updated>

		<summary type="html">&lt;p&gt;Porg: board discussion link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a suggestion by [[User:Porg|Porg]]. Participation is welcome! Discussion takes place in [http://boards.openpandora.org/index.php/topic/6068-suggestion-open-pandora-scene-multisite-username-checker/ this thread].&lt;br /&gt;
&lt;br /&gt;
In the user registration process at the various Open Pandora related sites (board, wiki, repo, bugtracker, …) [[User:Porg|Porg]] suggests to display the following hint:&lt;br /&gt;
----&lt;br /&gt;
'''Before registering your username''' here, you can run the [http://usernames.openpandora.org/check Pandora sphere username checker], which tests whether the username already exists within any other OpenPandora [http://usernames.openpandora.org/sites related sites]:&lt;br /&gt;
* '''As a courtesy to other users''', in order to not take their name away on other sites.&lt;br /&gt;
* '''For your own convenience''', to achieve a uniform nickname on all the OpenPandora sites, as a new arriving community member.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
&lt;br /&gt;
# Which Open Pandora relates websites (with user registration) are there? '''Anyone''' please add the URLs to the list below.&lt;br /&gt;
# Which site operators are willing to cooperate? '''Site operators''', please confirm your readiness, by writing your name plus short note next to the URL. Requirements for participating site operators:&lt;br /&gt;
## Offer a software interface (API) for testing whether a username exists at your site.&lt;br /&gt;
## Display the hint and link to or embed the checking service (iframe) into the registration page/process of your site.&lt;br /&gt;
# We need a web developer to create that multisite username checking service. '''Developer volunteers''', please participate in the [http://boards.openpandora.org/index.php?/topic/6068-suggestion-open-pandora-scene-multisite-username-checker/ discussion process], or enlist your dedication right below.&lt;br /&gt;
&lt;br /&gt;
== Sites ==&lt;br /&gt;
&lt;br /&gt;
URL of a Open Pandora related website which uses user registrations/logins + site operator(s) (nick)name and confirmation of participation + optional remarks:&lt;br /&gt;
&lt;br /&gt;
===== Official Sites: =====&lt;br /&gt;
&lt;br /&gt;
http://boards.openpandora.org/&lt;br /&gt;
&lt;br /&gt;
http://repo.openpandora.org/&lt;br /&gt;
&lt;br /&gt;
http://c4a.openpandora.org/   — Compo4all MAME - ladder/scoreboard competition for classic arcade games&lt;br /&gt;
&lt;br /&gt;
===== Unofficial Sites: =====&lt;br /&gt;
&lt;br /&gt;
http://pandorawiki.org/&lt;br /&gt;
&lt;br /&gt;
http://gp32x.com/board/&lt;br /&gt;
&lt;br /&gt;
http://pandorapress.net/&lt;br /&gt;
&lt;br /&gt;
http://openhandhelds.org/&lt;br /&gt;
&lt;br /&gt;
===== Alternate Language Sites: =====&lt;br /&gt;
&lt;br /&gt;
http://wiki.openpandora.de/ (German)&lt;br /&gt;
&lt;br /&gt;
http://forum.gp2x.de/ (German)&lt;br /&gt;
&lt;br /&gt;
http://openpandora.jp/ (Japenese)&lt;br /&gt;
&lt;br /&gt;
http://openpandora.info/ (russian)&lt;br /&gt;
&lt;br /&gt;
http://www.opgaming.com/ (Italian)&lt;br /&gt;
&lt;br /&gt;
http://openpandora-france.forumactif.net/ (French)&lt;br /&gt;
&lt;br /&gt;
http://forum.gp2xtr.com/ (Turkish)&lt;br /&gt;
&lt;br /&gt;
== Developers ==&lt;br /&gt;
&lt;br /&gt;
Developers, who are willing to realize the multisite username checking service, please enlist your (nick)name and confirmation of participation plus optional remarks here:&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Multisite_username_check&amp;diff=27047</id>
		<title>Multisite username check</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Multisite_username_check&amp;diff=27047"/>
		<updated>2013-03-25T13:12:40Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Official Sites: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a suggestion by [[User:Porg|Porg]]. Participation is welcome!&lt;br /&gt;
&lt;br /&gt;
In the user registration process at the various Open Pandora related sites (board, wiki, repo, bugtracker, …) [[User:Porg|Porg]] suggests to display the following hint:&lt;br /&gt;
----&lt;br /&gt;
'''Before registering your username''' here, you can run the [http://usernames.openpandora.org/check Pandora sphere username checker], which tests whether the username already exists within any other OpenPandora [http://usernames.openpandora.org/sites related sites]:&lt;br /&gt;
* '''As a courtesy to other users''', in order to not take their name away on other sites.&lt;br /&gt;
* '''For your own convenience''', to achieve a uniform nickname on all the OpenPandora sites, as a new arriving community member.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
&lt;br /&gt;
# Which Open Pandora relates websites (with user registration) are there? '''Anyone''' please add the URLs to the list below.&lt;br /&gt;
# Which site operators are willing to cooperate? '''Site operators''', please confirm your readiness, by writing your name plus short note next to the URL. Requirements for participating site operators:&lt;br /&gt;
## Offer a software interface (API) for testing whether a username exists at your site.&lt;br /&gt;
## Display the hint and link to or embed the checking service (iframe) into the registration page/process of your site.&lt;br /&gt;
# We need a web developer to create that multisite username checking service. '''Developer volunteers''', please participate in the [http://boards.openpandora.org/index.php?/topic/6068-suggestion-open-pandora-scene-multisite-username-checker/ discussion process], or enlist your dedication right below.&lt;br /&gt;
&lt;br /&gt;
== Sites ==&lt;br /&gt;
&lt;br /&gt;
URL of a Open Pandora related website which uses user registrations/logins + site operator(s) (nick)name and confirmation of participation + optional remarks:&lt;br /&gt;
&lt;br /&gt;
===== Official Sites: =====&lt;br /&gt;
&lt;br /&gt;
http://boards.openpandora.org/&lt;br /&gt;
&lt;br /&gt;
http://repo.openpandora.org/&lt;br /&gt;
&lt;br /&gt;
http://c4a.openpandora.org/   — Compo4all MAME - ladder/scoreboard competition for classic arcade games&lt;br /&gt;
&lt;br /&gt;
===== Unofficial Sites: =====&lt;br /&gt;
&lt;br /&gt;
http://pandorawiki.org/&lt;br /&gt;
&lt;br /&gt;
http://gp32x.com/board/&lt;br /&gt;
&lt;br /&gt;
http://pandorapress.net/&lt;br /&gt;
&lt;br /&gt;
http://openhandhelds.org/&lt;br /&gt;
&lt;br /&gt;
===== Alternate Language Sites: =====&lt;br /&gt;
&lt;br /&gt;
http://wiki.openpandora.de/ (German)&lt;br /&gt;
&lt;br /&gt;
http://forum.gp2x.de/ (German)&lt;br /&gt;
&lt;br /&gt;
http://openpandora.jp/ (Japenese)&lt;br /&gt;
&lt;br /&gt;
http://openpandora.info/ (russian)&lt;br /&gt;
&lt;br /&gt;
http://www.opgaming.com/ (Italian)&lt;br /&gt;
&lt;br /&gt;
http://openpandora-france.forumactif.net/ (French)&lt;br /&gt;
&lt;br /&gt;
http://forum.gp2xtr.com/ (Turkish)&lt;br /&gt;
&lt;br /&gt;
== Developers ==&lt;br /&gt;
&lt;br /&gt;
Developers, who are willing to realize the multisite username checking service, please enlist your (nick)name and confirmation of participation plus optional remarks here:&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Nubs&amp;diff=26496</id>
		<title>Nubs</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Nubs&amp;diff=26496"/>
		<updated>2013-01-04T22:03:57Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Nub Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Pandora has 2 analogue controllers 'nubs', which were custom designed.&lt;br /&gt;
&lt;br /&gt;
== Nub Calibration ==&lt;br /&gt;
[[Image:Nub_back.jpg|thumb|Backside]]&lt;br /&gt;
The nubs need time to calibrate at startup. Often this can be achieved by moving the nubs around once the Pandora has fully loaded (moving them while the OS is still loading may cause a calibration error). Re-calibration of the nubs can be achieved via 'Pandora Menu -&amp;gt; Settings -&amp;gt; Nubs', and selecting either configure &amp;lt;nub&amp;gt; or 'Restore default settings for both nubs'&lt;br /&gt;
&lt;br /&gt;
===Nub Dance===&lt;br /&gt;
The 'Nub Dance' or 'Magic Nub Dance' is a technique used to calibrate the Pandora's nubs by exercising the nubs to their hardware limits.&lt;br /&gt;
&lt;br /&gt;
Some of the older nubs required this calibration technique periodically, however newer nubs (since 2011) do not need as much calibration as the older ones.&lt;br /&gt;
Push them up, down, left, right to the edge, then let go of them so they spring back by themselves.&lt;br /&gt;
i.e. push up, as far as it will go, then let go (it must spring back). Do that for each direction. Then do some circles.&lt;br /&gt;
That should set them up. If you don't do this they can go wrong during that session until reset.&amp;lt;sup&amp;gt;[http://www.gp32x.com/board/index.php?/topic/54445-please-fix-the-right-anolog-nub-functions/page__view__findpost__p__876651]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Nub firmware===&lt;br /&gt;
The proprietary algorithm for calibrating the nubs is contained within 8KB of flash ROM. More information [http://www.gp32x.com/board/index.php?/topic/53939-the-real-pandora-niche/page__view__findpost__p__865928 here].&lt;br /&gt;
&lt;br /&gt;
===Using compressed air to remove dirt===&lt;br /&gt;
If you feel that you might be getting some nub problems caused by dirt having gotten inside, you can try blasting compressed air into the niche where the nubs meet the case. [http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__868440] [http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__871405][http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__872373][http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__872896]&lt;br /&gt;
&lt;br /&gt;
==Nub Configuration==&lt;br /&gt;
&amp;lt;sup&amp;gt;(As of Zaxxon HF5)&amp;lt;/sup&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Nubs can be configured in software under Settings -&amp;gt; Nubs in the Xfce 4 menu system and can also be managed through the filesystem in the /proc/pandora/(nub0/nub1 for left and right nubs respectively). &lt;br /&gt;
Most files in that folder (mbutton_threshold, mouse_sensitivity, scroll_rate, scrollx_sensitivity, and scrolly_sensitivity) are fairly straightforward, containing a number determining the value of the attribute.&lt;br /&gt;
&lt;br /&gt;
The only different field is in mode, which contains a string to determine how each nub behaves-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mouse     - The nub is treated as a mouse, the default configuration of the left nub. &lt;br /&gt;
mbuttons  - The nub is used as the buttons of the mouse, the default configuration of the right nub. &lt;br /&gt;
scroll    - The nub scrolls the screen vertically/horizontally as a pair of scroll wheels would. &lt;br /&gt;
absolute  - The nub is treated as a joystick for the purposes of gaming. &lt;br /&gt;
mbscroll* - A combination of mbuttons and scroll. Up/down for scrolling up/down, left/right for according mouse buttons.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;'''Note''': As of 2013-01-01 '''mbscroll''' is only available in an experimental kernel image. [http://boards.openpandora.org/index.php/topic/11295-idea-combined-nub-mode-2-mouse-buttons-scrolling-on-1-axis/ Concept] by porg, realization by urjaman ([http://boards.openpandora.org/index.php/topic/11295-idea-combined-nub-mode-2-mouse-buttons-scrolling-on-1-axis/?p=210868 download &amp;amp; instructions], [http://boards.openpandora.org/index.php/topic/11295-idea-combined-nub-mode-2-mouse-buttons-scrolling-on-1-axis/?p=210844 source code]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The easiest way to alter a nub's mode in the console is to use the following code-&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
echo &amp;quot;(mode)&amp;quot; &amp;gt; /proc/pandora/nubx/mode&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Where (mode) is one of the above modes and the x in nubx is 0 or 1.&lt;br /&gt;
&lt;br /&gt;
For example, if we wanted to set the left nub to scroll, we'd use&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
echo &amp;quot;scroll&amp;quot; &amp;gt; /proc/pandora/nub0/mode&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;All information pulled from [http://www.pandorawiki.org/PND_nub_modes] and may be subject to change due to updates.&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nub Disassembly ==&lt;br /&gt;
{{warning|This is a fairly tricky process, and will almost certainly '''void your warranty.'''}}&lt;br /&gt;
&lt;br /&gt;
You need&amp;lt;sup&amp;gt;[http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__874378]&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* High quality soldering iron&lt;br /&gt;
* Solder Wick&lt;br /&gt;
* Shim Blade (Edsyn RB641)&lt;br /&gt;
* Isopropyl Alcohol cleaner&lt;br /&gt;
* Size 0.00 cross-head screwdriver&lt;br /&gt;
&lt;br /&gt;
Removing the nubs from the PCB is difficult. They are mounted using cut-off plated through holes butted onto pads (fairly standard SMT technology). Just using solder wick will not be sufficient, and if you are not extremely careful, you will rip the pads off the nub or the board.&lt;br /&gt;
&lt;br /&gt;
[[Image:Nub_inside.jpg|thumb|shows the under side of the nub, which has a small PCB screwed on, and 2 locating pins]]&lt;br /&gt;
&lt;br /&gt;
Full sized versions of these photos can be found [http://www.flickr.com/photos/tsh2/4707661640/ here]. Original pics from [http://picasaweb.google.com/claude.schwarz/DropBox?authkey=Gv1sRgCN7KsICXu-KTzwE&amp;amp;feat=directlink Claude], discussion http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__874378 here].&lt;br /&gt;
&lt;br /&gt;
Top left is the micro-joystick which serves as both a spring and the sensing element. when re-assembling this must fit perfectly into the plastic, and be perfectly clean.&lt;br /&gt;
&lt;br /&gt;
==More info on how the nubs work==&lt;br /&gt;
Some words from MWeston [http://boards.openpandora.org/index.php?/topic/2270-nubs-feel-weird/page__view__findpost__p__40328 here]: &amp;quot;The nubs were designed to work when thumb pressure is applied. They will not work right if you try to slide them with your finger tip or finger nail or anything like that.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Early Nub Problems ==&lt;br /&gt;
[[Image:Faultynub.jpg | thumb | One example of a faulty nub.]]&lt;br /&gt;
The nubs on some of the first units suffered from a myriad of issues. The issues include bad traces, bad resistance in the joystick, looseness, grittiness, nubs not centering, and nubs sticking in one direction.&amp;lt;sup&amp;gt;[http://www.openpandora.org/index.php?option=com_content&amp;amp;view=category&amp;amp;layout=blog&amp;amp;id=2&amp;amp;Itemid=2&amp;amp;lang=en]&amp;lt;/sup&amp;gt; Much of this was caused by the nub manufacturer not having strict enough tolerances&amp;lt;sup&amp;gt;[http://www.gp32x.com/board/index.php?/topic/54824-production-status/page__p__883494&amp;amp;#entry883494]&amp;lt;/sup&amp;gt; and not 'bare board' testing the PCBs used in the manufacture. Probably the most serious problem is that the nubs can break mechanically, resulting in a nub which cannot centre itself. This causes drifting while in-game, rendering the nub completely unusable.&lt;br /&gt;
&lt;br /&gt;
Because of these problems, a few &amp;quot;one nub&amp;quot; units were made available to people who wished to accept one and skip the queue. The faulty nub is not covered under warranty for these units. Reports&amp;lt;sup&amp;gt;[http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/]&amp;lt;/sup&amp;gt; suggest that many of these were reasonably functional, and problems relate to either the calibration process or dirt inside the nub. There is a risk that these nubs might fail with extended use. Soon after the first units were shipped, 100% testing was arranged for the nubs by the supplier and OpenPandora Ltd. (This applies to units shipped after July 27,2010 which are expected to all start with known good nubs)&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware defects]]&lt;br /&gt;
[[Category:Keyboard]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Nubs&amp;diff=26492</id>
		<title>Nubs</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Nubs&amp;diff=26492"/>
		<updated>2013-01-02T03:05:25Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Nub Configuration */ New nub mode &amp;quot;mbscroll&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Pandora has 2 analogue controllers 'nubs', which were custom designed.&lt;br /&gt;
&lt;br /&gt;
== Nub Calibration ==&lt;br /&gt;
[[Image:Nub_back.jpg|thumb|Backside]]&lt;br /&gt;
The nubs need time to calibrate at startup. Often this can be achieved by moving the nubs around once the Pandora has fully loaded (moving them while the OS is still loading may cause a calibration error). Re-calibration of the nubs can be achieved via 'Pandora Menu -&amp;gt; Settings -&amp;gt; Nubs', and selecting either configure &amp;lt;nub&amp;gt; or 'Restore default settings for both nubs'&lt;br /&gt;
&lt;br /&gt;
===Nub Dance===&lt;br /&gt;
The 'Nub Dance' or 'Magic Nub Dance' is a technique used to calibrate the Pandora's nubs by exercising the nubs to their hardware limits.&lt;br /&gt;
&lt;br /&gt;
Some of the older nubs required this calibration technique periodically, however newer nubs (since 2011) do not need as much calibration as the older ones.&lt;br /&gt;
Push them up, down, left, right to the edge, then let go of them so they spring back by themselves.&lt;br /&gt;
i.e. push up, as far as it will go, then let go (it must spring back). Do that for each direction. Then do some circles.&lt;br /&gt;
That should set them up. If you don't do this they can go wrong during that session until reset.&amp;lt;sup&amp;gt;[http://www.gp32x.com/board/index.php?/topic/54445-please-fix-the-right-anolog-nub-functions/page__view__findpost__p__876651]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Nub firmware===&lt;br /&gt;
The proprietary algorithm for calibrating the nubs is contained within 8KB of flash ROM. More information [http://www.gp32x.com/board/index.php?/topic/53939-the-real-pandora-niche/page__view__findpost__p__865928 here].&lt;br /&gt;
&lt;br /&gt;
===Using compressed air to remove dirt===&lt;br /&gt;
If you feel that you might be getting some nub problems caused by dirt having gotten inside, you can try blasting compressed air into the niche where the nubs meet the case. [http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__868440] [http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__871405][http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__872373][http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__872896]&lt;br /&gt;
&lt;br /&gt;
==Nub Configuration==&lt;br /&gt;
&amp;lt;sup&amp;gt;(As of Zaxxon HF5)&amp;lt;/sup&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Nubs can be configured in software under Settings -&amp;gt; Nubs in the Xfce 4 menu system and can also be managed through the filesystem in the /proc/pandora/(nub0/nub1 for left and right nubs respectively). &lt;br /&gt;
Most files in that folder (mbutton_threshold, mouse_sensitivity, scroll_rate, scrollx_sensitivity, and scrolly_sensitivity) are fairly straightforward, containing a number determining the value of the attribute.&lt;br /&gt;
&lt;br /&gt;
The only different field is in mode, which contains a string to determine how each nub behaves-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mouse     - The nub is treated as a mouse, the default configuration of the left nub. &lt;br /&gt;
mbuttons  - The nub is used as the buttons of the mouse, the default configuration of the right nub. &lt;br /&gt;
scroll    - The nub scrolls the screen vertically/horizontally as a pair of scroll wheels would. &lt;br /&gt;
absolute  - The nub is treated as a joystick for the purposes of gaming. &lt;br /&gt;
mbscroll* - A combination of mbuttons and scroll. Up/down for scrolling up/down, left/right for according mouse buttons.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;'''Note''': As of 2013-01-01 '''mbscroll''' is only available in an experimental kernel image. [http://boards.openpandora.org/index.php/topic/11295-idea-combined-nub-mode-2-mouse-buttons-scrolling-on-1-axis/ Concept by porg],  first [http://boards.openpandora.org/index.php/topic/11295-idea-combined-nub-mode-2-mouse-buttons-scrolling-on-1-axis/?p=210868 realization by urjaman] (download &amp;amp; instructions).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The easiest way to alter a nub's mode in the console is to use the following code-&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
echo &amp;quot;(mode)&amp;quot; &amp;gt; /proc/pandora/nubx/mode&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Where (mode) is one of the above modes and the x in nubx is 0 or 1.&lt;br /&gt;
&lt;br /&gt;
For example, if we wanted to set the left nub to scroll, we'd use&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
echo &amp;quot;scroll&amp;quot; &amp;gt; /proc/pandora/nub0/mode&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;All information pulled from [http://www.pandorawiki.org/PND_nub_modes] and may be subject to change due to updates.&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nub Disassembly ==&lt;br /&gt;
{{warning|This is a fairly tricky process, and will almost certainly '''void your warranty.'''}}&lt;br /&gt;
&lt;br /&gt;
You need&amp;lt;sup&amp;gt;[http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__874378]&amp;lt;/sup&amp;gt;:&lt;br /&gt;
* High quality soldering iron&lt;br /&gt;
* Solder Wick&lt;br /&gt;
* Shim Blade (Edsyn RB641)&lt;br /&gt;
* Isopropyl Alcohol cleaner&lt;br /&gt;
* Size 0.00 cross-head screwdriver&lt;br /&gt;
&lt;br /&gt;
Removing the nubs from the PCB is difficult. They are mounted using cut-off plated through holes butted onto pads (fairly standard SMT technology). Just using solder wick will not be sufficient, and if you are not extremely careful, you will rip the pads off the nub or the board.&lt;br /&gt;
&lt;br /&gt;
[[Image:Nub_inside.jpg|thumb|shows the under side of the nub, which has a small PCB screwed on, and 2 locating pins]]&lt;br /&gt;
&lt;br /&gt;
Full sized versions of these photos can be found [http://www.flickr.com/photos/tsh2/4707661640/ here]. Original pics from [http://picasaweb.google.com/claude.schwarz/DropBox?authkey=Gv1sRgCN7KsICXu-KTzwE&amp;amp;feat=directlink Claude], discussion http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/page__view__findpost__p__874378 here].&lt;br /&gt;
&lt;br /&gt;
Top left is the micro-joystick which serves as both a spring and the sensing element. when re-assembling this must fit perfectly into the plastic, and be perfectly clean.&lt;br /&gt;
&lt;br /&gt;
==More info on how the nubs work==&lt;br /&gt;
Some words from MWeston [http://boards.openpandora.org/index.php?/topic/2270-nubs-feel-weird/page__view__findpost__p__40328 here]: &amp;quot;The nubs were designed to work when thumb pressure is applied. They will not work right if you try to slide them with your finger tip or finger nail or anything like that.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Early Nub Problems ==&lt;br /&gt;
[[Image:Faultynub.jpg | thumb | One example of a faulty nub.]]&lt;br /&gt;
The nubs on some of the first units suffered from a myriad of issues. The issues include bad traces, bad resistance in the joystick, looseness, grittiness, nubs not centering, and nubs sticking in one direction.&amp;lt;sup&amp;gt;[http://www.openpandora.org/index.php?option=com_content&amp;amp;view=category&amp;amp;layout=blog&amp;amp;id=2&amp;amp;Itemid=2&amp;amp;lang=en]&amp;lt;/sup&amp;gt; Much of this was caused by the nub manufacturer not having strict enough tolerances&amp;lt;sup&amp;gt;[http://www.gp32x.com/board/index.php?/topic/54824-production-status/page__p__883494&amp;amp;#entry883494]&amp;lt;/sup&amp;gt; and not 'bare board' testing the PCBs used in the manufacture. Probably the most serious problem is that the nubs can break mechanically, resulting in a nub which cannot centre itself. This causes drifting while in-game, rendering the nub completely unusable.&lt;br /&gt;
&lt;br /&gt;
Because of these problems, a few &amp;quot;one nub&amp;quot; units were made available to people who wished to accept one and skip the queue. The faulty nub is not covered under warranty for these units. Reports&amp;lt;sup&amp;gt;[http://www.gp32x.com/board/index.php?/topic/54073-the-one-nub-club/]&amp;lt;/sup&amp;gt; suggest that many of these were reasonably functional, and problems relate to either the calibration process or dirt inside the nub. There is a risk that these nubs might fail with extended use. Soon after the first units were shipped, 100% testing was arranged for the nubs by the supplier and OpenPandora Ltd. (This applies to units shipped after July 27,2010 which are expected to all start with known good nubs)&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware defects]]&lt;br /&gt;
[[Category:Keyboard]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18560</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18560"/>
		<updated>2012-08-23T15:03:50Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Whom it concerns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, Hotkey / text-based launchers&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;discover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to aid in the &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
* Issue 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
* Issue 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
UPDATE: Issue 1 + 2 got fixed, thus the method &amp;quot;test an app, quit it, tag it&amp;quot; practically works in MiniMenu.&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed [http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/ OVR editor], and considers to realize the fore-mentioned &amp;quot;OVR spreadsheet editing mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this, there are some suggestions for improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18559</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18559"/>
		<updated>2012-08-23T15:02:53Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Whom it concerns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, text based launchers (&amp;quot;hotkey &amp;gt; insert a few characters &amp;gt; get matching apps&amp;quot;, see: [[#Hotkey application launcher]])&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;discover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to aid in the &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
* Issue 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
* Issue 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
UPDATE: Issue 1 + 2 got fixed, thus the method &amp;quot;test an app, quit it, tag it&amp;quot; practically works in MiniMenu.&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed [http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/ OVR editor], and considers to realize the fore-mentioned &amp;quot;OVR spreadsheet editing mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this, there are some suggestions for improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18558</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18558"/>
		<updated>2012-08-23T15:00:20Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Launch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, text based launchers (hotkey &amp;gt; insert a few characters &amp;gt; get matching apps)&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;discover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to aid in the &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
* Issue 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
* Issue 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
UPDATE: Issue 1 + 2 got fixed, thus the method &amp;quot;test an app, quit it, tag it&amp;quot; practically works in MiniMenu.&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed [http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/ OVR editor], and considers to realize the fore-mentioned &amp;quot;OVR spreadsheet editing mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this, there are some suggestions for improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18557</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18557"/>
		<updated>2012-08-23T14:58:22Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Mass OVR editor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, text based launchers (hotkey &amp;gt; insert a few characters &amp;gt; get matching apps)&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;discover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to aid in the &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
* Issue 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
* Issue 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
UPDATE: Issue 1 + 2 got fixed, thus the method &amp;quot;test an app, quit it, tag it&amp;quot; practically works in MiniMenu.&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed [http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/ OVR editor], and considers to realize the fore-mentioned &amp;quot;OVR spreadsheet editing mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this some suggestions of improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18555</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18555"/>
		<updated>2012-08-23T14:56:21Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* MiniMenu - Test an app, quit it, tag it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, text based launchers (hotkey &amp;gt; insert a few characters &amp;gt; get matching apps)&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;discover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to aid in the &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
* Issue 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
* Issue 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
UPDATE: Issue 1 + 2 got fixed, thus the method &amp;quot;test an app, quit it, tag it&amp;quot; practically works in MiniMenu.&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed &amp;quot;OVR editor&amp;quot;, and considers to realize such a &amp;quot;OVR spreadsheet editing mode&amp;quot;. http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this some suggestions of improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18553</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18553"/>
		<updated>2012-08-23T14:53:28Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Install/update/remove */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, text based launchers (hotkey &amp;gt; insert a few characters &amp;gt; get matching apps)&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;discover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to aid in the &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
Problem 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
Problem 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
If both problem 1 + 2 would get fixed the method &amp;quot;test an app, quit it, tag it&amp;quot; would practically work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed &amp;quot;OVR editor&amp;quot;, and considers to realize such a &amp;quot;OVR spreadsheet editing mode&amp;quot;. http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this some suggestions of improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18552</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18552"/>
		<updated>2012-08-23T14:50:47Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Discover */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, text based launchers (hotkey &amp;gt; insert a few characters &amp;gt; get matching apps)&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;discover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to facilitate &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
Problem 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
Problem 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
If both problem 1 + 2 would get fixed the method &amp;quot;test an app, quit it, tag it&amp;quot; would practically work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed &amp;quot;OVR editor&amp;quot;, and considers to realize such a &amp;quot;OVR spreadsheet editing mode&amp;quot;. http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this some suggestions of improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18551</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18551"/>
		<updated>2012-08-23T14:50:11Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Discover */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, text based launchers (hotkey &amp;gt; insert a few characters &amp;gt; get matching apps)&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). These media especially increase the chances for newcomers, which are yet not so informed. If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;disover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to facilitate &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
Problem 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
Problem 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
If both problem 1 + 2 would get fixed the method &amp;quot;test an app, quit it, tag it&amp;quot; would practically work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed &amp;quot;OVR editor&amp;quot;, and considers to realize such a &amp;quot;OVR spreadsheet editing mode&amp;quot;. http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this some suggestions of improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18548</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18548"/>
		<updated>2012-08-23T14:42:47Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Follow up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, text based launchers (hotkey &amp;gt; insert a few characters &amp;gt; get matching apps)&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment with a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the forum thread please), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). This medias especially increase the chances for newcomers, which are yet un-featured in the information and informal medias! If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;disover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to facilitate &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
Problem 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
Problem 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
If both problem 1 + 2 would get fixed the method &amp;quot;test an app, quit it, tag it&amp;quot; would practically work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed &amp;quot;OVR editor&amp;quot;, and considers to realize such a &amp;quot;OVR spreadsheet editing mode&amp;quot;. http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this some suggestions of improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18547</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=18547"/>
		<updated>2012-08-23T14:41:03Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Whom it concerns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, text based launchers (hotkey &amp;gt; insert a few characters &amp;gt; get matching apps)&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment without a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the thread as this is &amp;quot;meta&amp;quot;), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). This medias especially increase the chances for newcomers, which are yet un-featured in the information and informal medias! If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;disover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to facilitate &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
Problem 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
Problem 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
If both problem 1 + 2 would get fixed the method &amp;quot;test an app, quit it, tag it&amp;quot; would practically work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed &amp;quot;OVR editor&amp;quot;, and considers to realize such a &amp;quot;OVR spreadsheet editing mode&amp;quot;. http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this some suggestions of improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PXML_specification&amp;diff=10255</id>
		<title>PXML specification</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PXML_specification&amp;diff=10255"/>
		<updated>2012-04-29T22:03:05Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* The  element */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article covers the specification for PXML files. To see the specification for PND repository files, please see the [[PND repository specification]].&lt;br /&gt;
&lt;br /&gt;
'''Attention:''' at the present time, the PXML file format isn't set in stone, and is therefore subject to change. There is no guarantee that the format or the schema are bug-free or will be changed at any time. In general it is likely that a working PXML file will stay valid, if the schema definition mentioned here is followed.&lt;br /&gt;
&lt;br /&gt;
This is the human-readable specification for the PXML file format. The PXML file format is used in your applications for the OpenPandora® that you package in &amp;quot;.pnd&amp;quot;-files or distribute otherwise, to make it possible for menus and launchers to use your applications and their properties.&lt;br /&gt;
&lt;br /&gt;
A PXML file should be appended to your &amp;quot;.pnd&amp;quot;-file, using the tools provided for that purpose, or put in a directory that you want to serve as a redistributable package, to make it possible for launchers and menus to find it. It should have the name &amp;quot;PXML.xml&amp;quot; not case sensitive, and there should only be one such file. The contents of the PXML file should also comply to this specification without exception, to guarantee that everyone will be able to read it.&lt;br /&gt;
&lt;br /&gt;
The following specification is based on what the latest version of the PXML_schema.xsd definition accepts as valid data. Files that do not pass the validation might still work as expected, but if the validation is passed you can be (almost) 100% sure that it is supposed to be correct.&lt;br /&gt;
&lt;br /&gt;
== XML compatibility ==&lt;br /&gt;
The PXML format is XML-based and fully XML-compliant, which means that it can be read and written by any XML reader or writer. Included with this specification should also be a &amp;quot;.xsd&amp;quot;-file, which is used by XML tools to validate PXML files. A &amp;quot;.xsd&amp;quot;-file is also known as a XML schema, and can be called the &amp;quot;computer-readable&amp;quot; version of this document. It is very good practice to validate your PXML-files with that schema before publishing them.&lt;br /&gt;
&lt;br /&gt;
To write a PXML file, you also need to know the basics of writing a XML file. It boils down to the following:&lt;br /&gt;
&lt;br /&gt;
# If an element contains text or other elements, it needs a start-tag and an end-tag. This looks like (1)&lt;br /&gt;
# If an element does not contain other elements or text, but only attributes, it looks like (2)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;exampleelement someattribute=&amp;quot;something&amp;quot;&amp;gt;something inside it&amp;lt;/exampleelement&amp;gt; &amp;lt;!-- (1) --&amp;gt;&lt;br /&gt;
&amp;lt;exampleelement2 someattribute=&amp;quot;something&amp;quot;/&amp;gt; &amp;lt;!-- (2) --&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== General format ==&lt;br /&gt;
&lt;br /&gt;
The PXML-file is split up into multiple so-called elements, each of which specify one property of the &amp;quot;.pnd&amp;quot;-package. All of these elements are surrounded with a &amp;quot;&amp;lt;PXML&amp;gt;&amp;quot;-tag, which tells the readers of the file that the data within that tag belongs to a PXML file. The tag and elements should be defined as follows:&lt;br /&gt;
=== The &amp;lt;PXML&amp;gt; tag ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The PXML-tag serves as the container for all PXML elements. It is the first thing that should occur in your PXML file. An example &amp;quot;&amp;lt;PXML&amp;gt;&amp;quot;-tag would look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;PXML xmlns=&amp;quot;http://openpandora.org/namespaces/PXML&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!--All of the PXML elements should be put here--&amp;gt;&lt;br /&gt;
&amp;lt;/PXML&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, the PXML tag only requires the &amp;quot;xmlns&amp;quot; attribute.&lt;br /&gt;
&lt;br /&gt;
* The &amp;quot;xmlns&amp;quot; attribute is required by the XML standard, and guarantees that this file will be identified as a PXML file. You must include the xmlns attribute, exactly as shown, in your PXML file, with the URL as specified. Only then can it be guaranteed that the file will be read at all by launchers and menu apps.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;package&amp;gt; element ===&lt;br /&gt;
Since &amp;quot;pnd&amp;quot;-files can contain various applications the new &amp;lt;package&amp;gt; element was introduced. It is meant to allow you to describe what the package is about. This will, at least at the moment (firmware 1 pre hotfix6), not be used by the pandora itself for detection, but is meant as tool for package repositories as well as package managers that might eventually be created. Each pnd should have one of those at the top (and only one). The information required in the &amp;lt;package&amp;gt; block will be explained below in the respective section below.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;application&amp;gt; element ===&lt;br /&gt;
The Application-tag permits the PXML.xml container to have multiple applications within it; you should have at least one application tag-pair (for one app), though you may have many. The information required in the &amp;lt;application&amp;gt; blocks will be explained below in the respective section below.&lt;br /&gt;
&lt;br /&gt;
== The &amp;lt;package&amp;gt; area ==&lt;br /&gt;
As described above, each pnd should start with a package description. For single application packages this can basically be a copy of the respective areas from the &amp;lt;application&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;package id=&amp;quot;uniqueID&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!--All other elements described in this section (author, version...) should be put here--&amp;gt;&lt;br /&gt;
&amp;lt;/package&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The &amp;quot;id&amp;quot; attribute specifies an identifier common to all versions of a particular PND package. This can be achieved by appending some random number to your package name or by simply generating a completely random, very long identifier. A good ID may consist of the application name, developer name and some key, for example ''battlejewels.skeezix.001'' or ''quake-1.pickle.001''. '''The package ID must not include characters which would be invalid in directory or file names, such as ?, &amp;gt;, /, etc. Use of such characters will prevent the PND from functioning.''' The package ID allows repositories to identify different versions of the same package and therefore determine whether that package should be updated. The package ID should therefore '''not''' be changed if a package is merely updated.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;author&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The author element is an element that is used by the author to introduce him/herself.&lt;br /&gt;
An author element is mandatory. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The name attribute specifies the name of the author.&lt;br /&gt;
* ''(optional)'' The website attribute specifies the website of the author.&lt;br /&gt;
* ''(optional)'' The email attribute specifies the e-mail of the author.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;author name=&amp;quot;Bjornhild Andersson&amp;quot; website=&amp;quot;http://some.website.with.author.info&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;version&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The version element specifies the application version.&lt;br /&gt;
A version element is required. It is recommended to keep the entries as simple as possible, where possible just numbers. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The major attribute specifies the major version number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The minor attribute specifies the minor version number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The release attribute specifies the release number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The build attribute specifies what build the application is at. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(optional'' You can specify a type attribute that is either set to &amp;quot;release&amp;quot;, &amp;quot;beta&amp;quot; or &amp;quot;alpha&amp;quot;. This will (at the moment) not be read by libpnd but package repositories might use it in some way (to eg mark &amp;quot;beta&amp;quot; versions explicitly or something like this). If this is not specified, &amp;quot;release&amp;quot; will be assumed.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;version major=&amp;quot;1&amp;quot; minor=&amp;quot;1&amp;quot; release=&amp;quot;1&amp;quot; build=&amp;quot;2&amp;quot; type=&amp;quot;release&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;titles&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The titles element is an element that contains multiple other elements.&lt;br /&gt;
&lt;br /&gt;
The titles element specifies the text that is shown to the users of your PND file as the package title. Inside the &amp;lt;titles&amp;gt; block should be one entry for each language you want to support. The first language listed should always be ''en_US''. The language is indicated by the lang attribute. The &amp;lt;titles&amp;gt; element with at least one &amp;quot;title&amp;quot;-element is required, in the &amp;quot;en_US&amp;quot; American English language. Additional tags are optional.&lt;br /&gt;
&lt;br /&gt;
At least one &amp;quot;title&amp;quot;-element is required, in the &amp;quot;en_US&amp;quot; American English language. Additional tags are optional.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;titles&amp;gt;&lt;br /&gt;
  &amp;lt;title lang=&amp;quot;en_US&amp;quot;&amp;gt;Your application name&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;title lang=&amp;quot;de_DE&amp;quot;&amp;gt;Dein Programmname&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/titles&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;descriptions&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The descriptions element is an element that contains multiple other elements.&lt;br /&gt;
&lt;br /&gt;
The descriptions element specifies the text that is shown to the users of your PND file as the package description. Inside the &amp;lt;descriptions&amp;gt; block should be one entry for each language you want to support. The first language listed should always be ''en_US''. The language is indicated by the lang attribute. Additional tags are optional. The &amp;quot;descriptions&amp;quot;-element is optional, though it is highly recommended to specify it. If specified, at least one entry for &amp;quot;en_US&amp;quot; ( American English language) is required. Several of those elements are allowed, one for each lang that you want to display.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;descriptions&amp;gt;&lt;br /&gt;
  &amp;lt;description lang=&amp;quot;en_US&amp;quot;&amp;gt;Your long description of this application, describing its purpose and highlighting its features.&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;description lang=&amp;quot;de_DE&amp;quot;&amp;gt;Deine etwas längere Programmbeschreibung, die den Sinn des Programmes und seine wichtigsten Features beschreiben sollte.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/descriptions&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;icon&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The icon element should specify a nice icon for your application. An icon element is optional, but if one is specified you have to include the src attribute. Only up to one icon element is allowed. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The src attribute specifies the path to the image file used as the icon.&lt;br /&gt;
&lt;br /&gt;
NOTE: Current implementation will use the pnd-file's appended icon; for a PXML-app-directory, it will try to use the icon mentioned in the PXML. So for a pnd-file, all subapps will show the appended-icon, regardless of the &amp;lt;icon&amp;gt; tag within the PXML.xml&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;icon src=&amp;quot;images/icon.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The &amp;lt;application&amp;gt; area ==&lt;br /&gt;
The Application-tag permits the PXML.xml container to have multiple applications within it; you should have at least one application tag-pair (for one app), though you may have many.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;application id=&amp;quot;uniqueID&amp;quot; appdata=&amp;quot;dirname&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!--All other elements described in this section (exec, author...) should be put here--&amp;gt;&lt;br /&gt;
&amp;lt;/application&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The &amp;quot;id&amp;quot; attribute specifies an identifier for your current application, and should be something globally unique so that no two PND packages have the same id. This can be achieved by appending some random number to your application name, and to use that as your id; or to simply generate a completely random, very long id. If this id already is used in another PND file, those two PND files will conflict with each other, and unforseeable errors will occur. Please put effort into generating an unique id for your PXML-file.&lt;br /&gt;
&lt;br /&gt;
* ''(optional)'' The &amp;quot;appdata&amp;quot; permits a directory name (NOT PATH) to be specified as preferred; if not present, the unique-id will be used. For example, we may want a unique-id of &amp;quot;Battlejewels.skeezix.3216836217382163.v001&amp;quot;, but a appdata path of &amp;quot;battlejewels&amp;quot; to make it easier on the user, or to have multiple different battlejewels sharing one appdata.&lt;br /&gt;
'''Notice: appdata names with dashes in (e.g. quake-2 rather than quake2) will cause the pnd file to function improperly.'''    &lt;br /&gt;
&lt;br /&gt;
A good unique-id is the application name, developer name, and some key you may wish to update on occasion (should state-data become incompatible between updates, say.)&lt;br /&gt;
&lt;br /&gt;
Consider:&lt;br /&gt;
battlejewels.skeezix.001&lt;br /&gt;
quake-1.pickle.001&lt;br /&gt;
&lt;br /&gt;
unique-id formatting: '''Should not include directory or filename invalid characters, such as ?, &amp;gt;, /, etc. Any of those will cause the pnd-file to not function.'''&lt;br /&gt;
&lt;br /&gt;
Note on Uniqueness: The unique-id should be unique against other pnd-files, but may be re-used by other 'application' tags within the pnd; for example, you may have multiple subapps that want to share the same appdata path (which is formed based on unique-id!), so use the same unique-id. You might then have a utility application in that same pnd, which needs its own appdata, and so gets its own unique-id.&lt;br /&gt;
&lt;br /&gt;
Below are the allowed elements inside the &amp;lt;application&amp;gt; blocks. You can have as many applications listed in a single PXML file as you want to (though there is/was a limit in libpnd that was set to about 50 once upon the time, which might eventually be completely be removed).&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;exec&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The exec element should specify all the information needed to execute your application. An exec element must be included in every PXML file. Only exactly one exec element is allowed. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The command attribute specifies the path to the executable file. This should be a relative path to a file within the PND package. Must contain no arguments! One strategy you may need is to point to a sh-script in your pnd-file, which in turn sets up LD_LIBRARY_PATH, determines arguments to pass, uses zenity to pop up a pre-run menu, or other trickery.&lt;br /&gt;
* ''(optional)'' The arguments attribute may be not present, or present with 1 or more arguments to the executable.&lt;br /&gt;
* ''(optional)'' The startdir attribute specifies the starting directory (Also known as the working directory) that the application should start in. This should be a relative path to a directory within the PND package, or to a well-known directory in the Pandora file system.&lt;br /&gt;
* ''(optional)'' The standalone attribute specifies whether or not this application can run on its own, or if it needs parameters to run. A value of &amp;quot;true&amp;quot; or &amp;quot;1&amp;quot; means that the application can be run without parameters. A value of &amp;quot;false&amp;quot; or &amp;quot;0&amp;quot; means that the application must be run with parameters (Meaning that no icon will appear for it in a launcher; it will only be run via file associations or via the terminal).&lt;br /&gt;
* ''(optional)'' The background attribute specifies whether or not this application should run in the background, and it should be possible to switch to other apps while it is running, or if it is the only application that should be running. A value of &amp;quot;true&amp;quot; or &amp;quot;1&amp;quot; means that the application can run in the background. A value of &amp;quot;false&amp;quot; or &amp;quot;0&amp;quot; means that the application must be run as the only application.&lt;br /&gt;
* ''(optional)'' The x11 attribute may be missing; values are one of &amp;quot;req&amp;quot;, &amp;quot;stop&amp;quot;, and &amp;quot;ignore&amp;quot;. If &amp;quot;req&amp;quot; is set, it means the application requires X11 (and possibly could be filtered out of users display in a menu if X is not running, or perhaps such a menu would have to start X.) If &amp;quot;stop&amp;quot; is set, it means X must be not running, or temporarily shut down, for the app. If &amp;quot;ignore&amp;quot; is set, the app doesn't care if X is running or not (such as an SDL app, or a sh-script, etc.)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;exec background=&amp;quot;true&amp;quot; startdir=&amp;quot;/usr/share/icons/&amp;quot; standalone=&amp;quot;true&amp;quot; command=&amp;quot;myprogram&amp;quot; arguments=&amp;quot;arg1 arg2&amp;quot; x11=&amp;quot;option&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;author&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The author element is an element that is used by the author to introduce him/herself.&lt;br /&gt;
An author element is mandatory. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The name attribute specifies the name of the author.&lt;br /&gt;
* ''(optional)'' The website attribute specifies the website of the author.&lt;br /&gt;
* ''(optional)'' The email attribute specifies the e-mail of the author.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;author name=&amp;quot;Bjornhild Andersson&amp;quot; website=&amp;quot;http://some.website.with.author.info&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;version&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The version element specifies the application version.&lt;br /&gt;
A version element is required. It is recommended to keep the entries as simple as possible, where possible just numbers. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The major attribute specifies the major version number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The minor attribute specifies the minor version number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The release attribute specifies the release number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The build attribute specifies what build the application is at. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(optional'' You can specify a type attribute that is either set to &amp;quot;release&amp;quot;, &amp;quot;beta&amp;quot; or &amp;quot;alpha&amp;quot;. This will (at the moment) not be read by libpnd but package repositories might use it in some way (to eg mark &amp;quot;beta&amp;quot; versions explicitly or something like this). If this is not specified, &amp;quot;release&amp;quot; will be assumed.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;version major=&amp;quot;1&amp;quot; minor=&amp;quot;1&amp;quot; release=&amp;quot;1&amp;quot; build=&amp;quot;2&amp;quot; type=&amp;quot;release&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;osversion&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The osversion element specifies the minimal OS version that supports the PND file. The PND file will not be loaded by an OS that has an older version than the one specified here. If unsure, just use a '0' in the respective field.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;osversion major=&amp;quot;1&amp;quot; minor=&amp;quot;1&amp;quot; release=&amp;quot;1&amp;quot; build=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The major attribute specifies the major version number. Valid entries: non negative integers.&lt;br /&gt;
* ''(required)'' The minor attribute specifies the minor version number. Valid entries: non negative integers.&lt;br /&gt;
* ''(required)'' The release attribute specifies the release number. Valid entries: non negative integers.&lt;br /&gt;
* ''(required)'' The build attribute specifies what build the application is at. Valid entries: non negative integers.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;titles&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The titles element is an element that contains multiple other elements.&lt;br /&gt;
&lt;br /&gt;
The titles element specifies the text that is shown to the users of your PND file as the application title. Inside the &amp;lt;titles&amp;gt; block should be one entry for each language you want to support. The first language listed should always be ''en_US''. The language is indicated by the lang attribute. The &amp;lt;titles&amp;gt; element with at least one &amp;quot;title&amp;quot;-element is required, in the &amp;quot;en_US&amp;quot; American English language. Additional tags are optional.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This is new in HF6. For backwards compatibilty please include the &amp;lt;title lang=&amp;quot;en_US&amp;quot;&amp;gt; once outside the &amp;lt;titles&amp;gt; block, too!&lt;br /&gt;
&lt;br /&gt;
At least one &amp;quot;title&amp;quot;-element is required, in the &amp;quot;en_US&amp;quot; American English language. Additional tags are optional.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;titles&amp;gt;&lt;br /&gt;
  &amp;lt;title lang=&amp;quot;en_US&amp;quot;&amp;gt;Your application name&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;title lang=&amp;quot;de_DE&amp;quot;&amp;gt;Dein Programmname&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/titles&amp;gt;&lt;br /&gt;
&amp;lt;title lang=&amp;quot;en_US&amp;quot;&amp;gt;Your application name&amp;lt;/title&amp;gt;&amp;lt;!--pre HF6 compatibility--&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;descriptions&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The descriptions element is an element that contains multiple other elements.&lt;br /&gt;
&lt;br /&gt;
The descriptions element specifies the text that is shown to the users of your PND file as the package description. Inside the &amp;lt;descriptions&amp;gt; block should be one entry for each language you want to support. The first language listed should always be ''en_US''. The language is indicated by the lang attribute. The &amp;quot;descriptions&amp;quot;-element is optional, though it is highly recommended to specify it. If specified, at least one entry for &amp;quot;en_US&amp;quot; ( American English language) is required. Several of those elements are allowed, one for each lang that you want to display.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This is new in HF6. For backwards compatibilty please include the &amp;lt;description lang=&amp;quot;en_US&amp;quot;&amp;gt; once outside the &amp;lt;titles&amp;gt; block, too!&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;descriptions&amp;gt;&lt;br /&gt;
  &amp;lt;description lang=&amp;quot;en_US&amp;quot;&amp;gt;Your long description of this application, describing its purpose and highlighting its features.&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;description lang=&amp;quot;de_DE&amp;quot;&amp;gt;Deine etwas längere Programmbeschreibung, die den Sinn des Programmes und seine wichtigsten Features beschreiben sollte.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/descriptions&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en_US&amp;quot;&amp;gt;Your long description of this application, describing its purpose and highlighting its features.&amp;lt;/description&amp;gt;&amp;lt;!--pre HF6 compatibility--&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;icon&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The icon element should specify a nice icon for your application. An icon element is optional, but if one is specified you have to include the src attribute. Only up to one icon element is allowed. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The src attribute specifies the path to the image file used as the icon.&lt;br /&gt;
&lt;br /&gt;
NOTE: Current implementation will use the pnd-file's appended icon; for a PXML-app-directory, it will try to use the icon mentioned in the PXML. So for a pnd-file, all subapps will show the appended-icon, regardless of the &amp;lt;icon&amp;gt; tag within the PXML.xml&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;icon src=&amp;quot;images/icon.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;licenses&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The licenses element is an element that contains multiple other elements.&lt;br /&gt;
&lt;br /&gt;
It contains multiple license elements. Every element represents one license (so you *can* also multilicense something). You have to provide at least one license for your application. You can basically enter anything you want, though if you are using an existing license, it is best to just enter the name and provide a link to the full version. This tag also allows you to provide links to websites with the sourcecode. &lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The name attribute specifies what the license is called. If you don't have a real license you can also enter some short text here (please keep it short!) or just enter &amp;quot;other&amp;quot; and doN't care no more.&lt;br /&gt;
* ''(optional)'' The url attribute can be used to specify a url to the full license text.&lt;br /&gt;
* ''(optional)'' The sourcecodeurl attribute can be used to specify a url to the sources.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;licenses&amp;gt;&lt;br /&gt;
  &amp;lt;license name=&amp;quot;GPLv2+&amp;quot; url=&amp;quot;http://www.gnu.org/licenses/gpl-2.0.html&amp;quot; sourcecodeurl=&amp;quot;http://pandora.org/sources/package.tar.bz2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;license name=&amp;quot;other&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/licenses&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;previewpics&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The previewpics element is an element that contains multiple other elements.&lt;br /&gt;
A previewpics element is optional.&lt;br /&gt;
&lt;br /&gt;
It contains multiple pic-elements. Every pic-element represents one preview picture. If the previewpics element is specified, it must contain at least one pic element. Use the native 800x480 LCD screen resolution, minimenu and others will scale it down as needed.&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The src attribute on a pic element specifies the path to the image file used as the preview picture.&lt;br /&gt;
&lt;br /&gt;
==== Recommendation ====&lt;br /&gt;
&lt;br /&gt;
If you define multiple &amp;lt;previewpic&amp;gt; elements, then set the most illustrative picture as the primary &amp;lt;previewpic&amp;gt;!&amp;lt;br&amp;gt;&lt;br /&gt;
''Why?'' Because many context use only that picture at all or at that picture at first sight and more only on demand. ''Examples:''&lt;br /&gt;
* [[Minimenu]]'s preview function (toggled via &amp;quot;A&amp;quot;) shows only the first picture,&lt;br /&gt;
* [http://repo.openpandora.org/includes/rss.php Repo RSS feed] shows only the first picture,&lt;br /&gt;
* [http://repo.openpandora.org/?page=detail&amp;amp;app=pndmanager-bzar PNDManager]'s app info shows 1 picture at first sight, more on demand.&lt;br /&gt;
&lt;br /&gt;
Currently there is no technical definition of the ''&amp;quot;primary&amp;quot;'' &amp;lt;previewpic&amp;gt;, therefore ensure that your intended primary &amp;lt;previewpic&amp;gt;&lt;br /&gt;
* occurs first in the source code order,&lt;br /&gt;
* has a filename that lists it first in a typical lexicographical sorting order.&lt;br /&gt;
&lt;br /&gt;
''What is an illustrative picture?''&amp;lt;br&amp;gt;&lt;br /&gt;
It should quickly give an impression of the look &amp;amp; feel of an application.&amp;lt;br&amp;gt;&lt;br /&gt;
I.e. for video games this would mean and in-game screenshot rather than a main menu screenshot, except if the menu is just a small overlay, and the important parts of the game can still be seen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://boards.openpandora.org/index.php?/topic/8137-pnd-packagers-1-please-provide-previewpics-2-define-primary-pic-if-you-give-multiple/ Discussion in the developer forum]&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;previewpics&amp;gt;&lt;br /&gt;
  &amp;lt;pic src=&amp;quot;preview/pic1.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;pic src=&amp;quot;preview/pic2.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/previewpics&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;info&amp;gt; element ===&lt;br /&gt;
====Description====&lt;br /&gt;
The &amp;quot;info&amp;quot; element allows the PXML.xml to suggest to the desktop environment or menu a file that may be shown to the user when they want to know more - be it an About, a Install Guide, a User Guide, or all of the above. Per application only up to one of those entries is allowed. If you need more, the best approach is to create an html file and link the other files.&lt;br /&gt;
&lt;br /&gt;
The file can be a txt-file or an html-file, and as the PXML-app-dir or .pnd-application will be mounted, the file may in turn branch to other files should it wish to.&lt;br /&gt;
&lt;br /&gt;
Developers do not need to have this element, if their app is nice and simple and just runs. If the application requires additional set up (such as Quake requiring separate pak files that cannot be included in the pnd), or if you wish to include sample config files or config guidelines for something complex like DosBox, or include Pandora-specific notes.. those are all good things. But the developer is encouraged to be tasteful and not go hog-wild!&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' name → the name to be shown in the menu; should be obvious that it belongs to the pnd .. Quake's game pnd could have &amp;quot;Quake 1 Setup&amp;quot;.&lt;br /&gt;
* ''(required)'' type → the mime type for the file; in the event the consuming application can map mimetypes to an appropriate executable, this would be a good way of letting the user's preferred reader come up. Should be one of &amp;quot;text/html&amp;quot; (for an html file) or &amp;quot;text/plain&amp;quot; (for a .txt file). Those two are the only types allowed if the validation against the scheme is meant to be successful.&lt;br /&gt;
* ''(required)'' src → A file (including path relative to the pnd; ie: ./index.html would be the root of the pnd) in the pnd to open up; by default, the web browser will likely be used to open it.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;info name=&amp;quot;AwesomeGame Setup&amp;quot; type=&amp;quot;text/html&amp;quot; src=&amp;quot;index.html&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;categories&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The categories element is an element that contains multiple other elements.&lt;br /&gt;
A categories element is required, and must contain at least one category.&lt;br /&gt;
&lt;br /&gt;
Menus that use your PXML in any shape or form will use the category information to sort your application entry into the tree or sub menus. Depending on the menu system, this will be done differently every time. It is therefore advisable to specify as many categories and subcategories as possible (and as suitable; don't specify that your application belongs in a category if it doesn't).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;categories&amp;quot; element contains multiple category-elements. Every category-element represents one category that this app can be sorted into. Valid top-level categories are (among others):&lt;br /&gt;
&lt;br /&gt;
# AudioVideo&lt;br /&gt;
# Audio&lt;br /&gt;
# Video&lt;br /&gt;
# Development&lt;br /&gt;
# Education&lt;br /&gt;
# Game&lt;br /&gt;
# Graphics&lt;br /&gt;
# Network&lt;br /&gt;
# Office&lt;br /&gt;
# Settings&lt;br /&gt;
# System&lt;br /&gt;
# Utility&lt;br /&gt;
&lt;br /&gt;
Please see [http://standards.freedesktop.org/menu-spec/latest/apa.html the FreeDesktop specification] for more information. In it, you will also find valid subcategories for your top-level categories.&lt;br /&gt;
&lt;br /&gt;
The category-element takes one attribute: The name-attribute. This attribute represents the category name, which preferrably should be one of the above.&lt;br /&gt;
&lt;br /&gt;
A category-element can contain further child-elements: subcategory-elements. These represent the subcategories of a category that the app will be sorted into.&lt;br /&gt;
&lt;br /&gt;
The subcategory-element also takes a name-attribute; this attibute can contain a name for your subcategory.&lt;br /&gt;
&lt;br /&gt;
For passing validation any category/subcategory entries have to confirm to the FDO specs linked above.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categories&amp;gt;&lt;br /&gt;
  &amp;lt;!-- This app belongs in the &amp;quot;Game/StrategyGame&amp;quot; category --&amp;gt;&lt;br /&gt;
  &amp;lt;category name=&amp;quot;Game&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;subcategory name=&amp;quot;StrategyGame&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/category&amp;gt;&lt;br /&gt;
  &amp;lt;!-- This app also belongs in the &amp;quot;Graphics/ImageProcessing&amp;quot; category --&amp;gt;&lt;br /&gt;
  &amp;lt;category name=&amp;quot;Graphics&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;subcategory name=&amp;quot;ImageProcessing&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/category&amp;gt;&lt;br /&gt;
&amp;lt;/categories&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;associations&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
'''This element is not integrated into the firmware (Release Zaxxon) yet - therefore using it will have no effect!'''&lt;br /&gt;
&lt;br /&gt;
The associations element is an element that contains multiple other elements.&lt;br /&gt;
An associations element is optional, except if exec.standalone is false (this is not checked via the schema!).&lt;br /&gt;
&lt;br /&gt;
It contains multiple association-elements. Every association-element represents one file action association.&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The name attribute on an association element specifies the user-friendly action name for the association.&lt;br /&gt;
* ''(required)'' The filetype attribute on an association element specifies what file types (in MIME format) that this association should apply to.&lt;br /&gt;
* ''(required)'' The exec attribute on an association element specifies the command-line arguments that should be given to the program, when this action is performed. The exec can contain a &amp;quot;%s&amp;quot;, which indicates where the file name of the file, that the action is performed on, should be inserted. For example, if the exec-line is &amp;quot;--file %s --type lol&amp;quot;, and you have a file &amp;quot;lol.bmp&amp;quot; that the action is performed on, the exec-line is transformed into &amp;quot;--file &amp;quot;lol.bmp&amp;quot; --type lol&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;associations&amp;gt;&lt;br /&gt;
  &amp;lt;association name=&amp;quot;Deinterlaced Bitmap Image&amp;quot; filetype=&amp;quot;image/bmp&amp;quot; exec=&amp;quot;-f %s --no-deinterlacing&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;association name=&amp;quot;Style sheet system crasher&amp;quot; filetype=&amp;quot;text/css&amp;quot; exec=&amp;quot;-f %s --crash-on-success&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/associations&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;clockspeed&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The clockspeed element specifies what clockspeed this app should run at. Please do only specify this element if your application *needs* to run at the specified clock speed.&lt;br /&gt;
A clockspeed element is optional. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The frequency attribute specifies the wanted frequency, in megahertz (MHz).&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;clockspeed frequency=&amp;quot;600&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example files ==&lt;br /&gt;
There are several example files available in the [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=tree;f=docs/examples git repository]. They do match the current specification and (unless mentioned differently) validate. Below the direct links and a short description what they are meant to show:&lt;br /&gt;
&lt;br /&gt;
* [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/examples/PXML.xml PXML.xml]: This is a sample PXML.xml file making use of many different things.&lt;br /&gt;
* [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/examples/average-case_PXML.xml average-case_PXML.xml]: This is an example how a &amp;quot;common&amp;quot; pnd with just one application could look. Most of the information for the &amp;lt;package&amp;gt; block can in this case directly be copied over from the respective parts in the &amp;lt;application&amp;gt; block.&lt;br /&gt;
* [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/examples/full-sample_PXML.xml full-sample_PXML.xml]: This is a complex example defining a &amp;quot;real&amp;quot; package collection. It offers several applications, all using different features of PXML.&lt;br /&gt;
* [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/examples/minimum-schema_PXML.xml minimum-schema_PXML.xml]: This is a minimum example that will validate with the schema but basically offer nothing beside what really is required. This application should work nicely with any pnd repositories based upon the PXML specs. '''NOTE:''' This application will not work with pre HF6, for support for OS versions up to HF6 an additional &amp;lt;title&amp;gt; block outside of &amp;lt;titles&amp;gt; is required!&lt;br /&gt;
* [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/examples/minimum-libpnd_PXML.xml minimum-libpnd_PXML.xml]: This is a minimum example that will work on the pandora, but is '''not''' following the schema and lots of information that will be required for repositories based on the PXML specs is not available.&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
To validate a PXML file, you need a XSD (XML schema) validator, and you have to know how to use it. The schema is also available in a plaintext file described in words that are by far more compact than this page but still understandable for coders: [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/PXML_schema_plaintext.txt plaintext description of the schema]&lt;br /&gt;
&lt;br /&gt;
The current-most XSD is in 'libpnd' (in the git repository). Here is the file history: [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=history;f=docs/PXML_schema.xsd PXML_schema.xsd file history]&lt;br /&gt;
Once on the history page, just click on the filename (right click -&amp;gt; save as) to download the latest version.&lt;br /&gt;
&lt;br /&gt;
The easiest way to run validation is using this command:&lt;br /&gt;
 xmllint --noout --schema PATH/TO/PXML_schema.xsd PATH/TO/PXML.xml&lt;br /&gt;
To run it you have to have xmllint installed and the (latest) PXML_schema.xsd definition downloaded. Using this command you can now simply evaluate if the PXML.xml file is valid.  xmllint can be installed via the angstrom repository (it is part of libxml2-utils). &lt;br /&gt;
&lt;br /&gt;
'''Attention''': It is possible to validate PXML files that won't work with pre HotFix6. If you want to have the pnd work with basically all versions of the OS (you most likely want this!) please have a look above searching for ''&amp;lt;!--pre HF6 compatibility--&amp;gt;'' and include those blocks in your pxml file.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Official OpenPandora Development]]&lt;br /&gt;
[[Category:PND]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PXML_specification&amp;diff=10252</id>
		<title>PXML specification</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PXML_specification&amp;diff=10252"/>
		<updated>2012-04-29T16:18:52Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* The  element */ Recommending to define a primary &amp;lt;previewpic&amp;gt; among multiple pictures&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article covers the specification for PXML files. To see the specification for PND repository files, please see the [[PND repository specification]].&lt;br /&gt;
&lt;br /&gt;
'''Attention:''' at the present time, the PXML file format isn't set in stone, and is therefore subject to change. There is no guarantee that the format or the schema are bug-free or will be changed at any time. In general it is likely that a working PXML file will stay valid, if the schema definition mentioned here is followed.&lt;br /&gt;
&lt;br /&gt;
This is the human-readable specification for the PXML file format. The PXML file format is used in your applications for the OpenPandora® that you package in &amp;quot;.pnd&amp;quot;-files or distribute otherwise, to make it possible for menus and launchers to use your applications and their properties.&lt;br /&gt;
&lt;br /&gt;
A PXML file should be appended to your &amp;quot;.pnd&amp;quot;-file, using the tools provided for that purpose, or put in a directory that you want to serve as a redistributable package, to make it possible for launchers and menus to find it. It should have the name &amp;quot;PXML.xml&amp;quot; not case sensitive, and there should only be one such file. The contents of the PXML file should also comply to this specification without exception, to guarantee that everyone will be able to read it.&lt;br /&gt;
&lt;br /&gt;
The following specification is based on what the latest version of the PXML_schema.xsd definition accepts as valid data. Files that do not pass the validation might still work as expected, but if the validation is passed you can be (almost) 100% sure that it is supposed to be correct.&lt;br /&gt;
&lt;br /&gt;
== XML compatibility ==&lt;br /&gt;
The PXML format is XML-based and fully XML-compliant, which means that it can be read and written by any XML reader or writer. Included with this specification should also be a &amp;quot;.xsd&amp;quot;-file, which is used by XML tools to validate PXML files. A &amp;quot;.xsd&amp;quot;-file is also known as a XML schema, and can be called the &amp;quot;computer-readable&amp;quot; version of this document. It is very good practice to validate your PXML-files with that schema before publishing them.&lt;br /&gt;
&lt;br /&gt;
To write a PXML file, you also need to know the basics of writing a XML file. It boils down to the following:&lt;br /&gt;
&lt;br /&gt;
# If an element contains text or other elements, it needs a start-tag and an end-tag. This looks like (1)&lt;br /&gt;
# If an element does not contain other elements or text, but only attributes, it looks like (2)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;exampleelement someattribute=&amp;quot;something&amp;quot;&amp;gt;something inside it&amp;lt;/exampleelement&amp;gt; &amp;lt;!-- (1) --&amp;gt;&lt;br /&gt;
&amp;lt;exampleelement2 someattribute=&amp;quot;something&amp;quot;/&amp;gt; &amp;lt;!-- (2) --&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== General format ==&lt;br /&gt;
&lt;br /&gt;
The PXML-file is split up into multiple so-called elements, each of which specify one property of the &amp;quot;.pnd&amp;quot;-package. All of these elements are surrounded with a &amp;quot;&amp;lt;PXML&amp;gt;&amp;quot;-tag, which tells the readers of the file that the data within that tag belongs to a PXML file. The tag and elements should be defined as follows:&lt;br /&gt;
=== The &amp;lt;PXML&amp;gt; tag ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The PXML-tag serves as the container for all PXML elements. It is the first thing that should occur in your PXML file. An example &amp;quot;&amp;lt;PXML&amp;gt;&amp;quot;-tag would look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;PXML xmlns=&amp;quot;http://openpandora.org/namespaces/PXML&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!--All of the PXML elements should be put here--&amp;gt;&lt;br /&gt;
&amp;lt;/PXML&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, the PXML tag only requires the &amp;quot;xmlns&amp;quot; attribute.&lt;br /&gt;
&lt;br /&gt;
* The &amp;quot;xmlns&amp;quot; attribute is required by the XML standard, and guarantees that this file will be identified as a PXML file. You must include the xmlns attribute, exactly as shown, in your PXML file, with the URL as specified. Only then can it be guaranteed that the file will be read at all by launchers and menu apps.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;package&amp;gt; element ===&lt;br /&gt;
Since &amp;quot;pnd&amp;quot;-files can contain various applications the new &amp;lt;package&amp;gt; element was introduced. It is meant to allow you to describe what the package is about. This will, at least at the moment (firmware 1 pre hotfix6), not be used by the pandora itself for detection, but is meant as tool for package repositories as well as package managers that might eventually be created. Each pnd should have one of those at the top (and only one). The information required in the &amp;lt;package&amp;gt; block will be explained below in the respective section below.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;application&amp;gt; element ===&lt;br /&gt;
The Application-tag permits the PXML.xml container to have multiple applications within it; you should have at least one application tag-pair (for one app), though you may have many. The information required in the &amp;lt;application&amp;gt; blocks will be explained below in the respective section below.&lt;br /&gt;
&lt;br /&gt;
== The &amp;lt;package&amp;gt; area ==&lt;br /&gt;
As described above, each pnd should start with a package description. For single application packages this can basically be a copy of the respective areas from the &amp;lt;application&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;package id=&amp;quot;uniqueID&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!--All other elements described in this section (author, version...) should be put here--&amp;gt;&lt;br /&gt;
&amp;lt;/package&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The &amp;quot;id&amp;quot; attribute specifies an identifier common to all versions of a particular PND package. This can be achieved by appending some random number to your package name or by simply generating a completely random, very long identifier. A good ID may consist of the application name, developer name and some key, for example ''battlejewels.skeezix.001'' or ''quake-1.pickle.001''. '''The package ID must not include characters which would be invalid in directory or file names, such as ?, &amp;gt;, /, etc. Use of such characters will prevent the PND from functioning.''' The package ID allows repositories to identify different versions of the same package and therefore determine whether that package should be updated. The package ID should therefore '''not''' be changed if a package is merely updated.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;author&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The author element is an element that is used by the author to introduce him/herself.&lt;br /&gt;
An author element is mandatory. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The name attribute specifies the name of the author.&lt;br /&gt;
* ''(optional)'' The website attribute specifies the website of the author.&lt;br /&gt;
* ''(optional)'' The email attribute specifies the e-mail of the author.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;author name=&amp;quot;Bjornhild Andersson&amp;quot; website=&amp;quot;http://some.website.with.author.info&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;version&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The version element specifies the application version.&lt;br /&gt;
A version element is required. It is recommended to keep the entries as simple as possible, where possible just numbers. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The major attribute specifies the major version number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The minor attribute specifies the minor version number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The release attribute specifies the release number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The build attribute specifies what build the application is at. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(optional'' You can specify a type attribute that is either set to &amp;quot;release&amp;quot;, &amp;quot;beta&amp;quot; or &amp;quot;alpha&amp;quot;. This will (at the moment) not be read by libpnd but package repositories might use it in some way (to eg mark &amp;quot;beta&amp;quot; versions explicitly or something like this). If this is not specified, &amp;quot;release&amp;quot; will be assumed.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;version major=&amp;quot;1&amp;quot; minor=&amp;quot;1&amp;quot; release=&amp;quot;1&amp;quot; build=&amp;quot;2&amp;quot; type=&amp;quot;release&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;titles&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The titles element is an element that contains multiple other elements.&lt;br /&gt;
&lt;br /&gt;
The titles element specifies the text that is shown to the users of your PND file as the package title. Inside the &amp;lt;titles&amp;gt; block should be one entry for each language you want to support. The first language listed should always be ''en_US''. The language is indicated by the lang attribute. The &amp;lt;titles&amp;gt; element with at least one &amp;quot;title&amp;quot;-element is required, in the &amp;quot;en_US&amp;quot; American English language. Additional tags are optional.&lt;br /&gt;
&lt;br /&gt;
At least one &amp;quot;title&amp;quot;-element is required, in the &amp;quot;en_US&amp;quot; American English language. Additional tags are optional.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;titles&amp;gt;&lt;br /&gt;
  &amp;lt;title lang=&amp;quot;en_US&amp;quot;&amp;gt;Your application name&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;title lang=&amp;quot;de_DE&amp;quot;&amp;gt;Dein Programmname&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/titles&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;descriptions&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The descriptions element is an element that contains multiple other elements.&lt;br /&gt;
&lt;br /&gt;
The descriptions element specifies the text that is shown to the users of your PND file as the package description. Inside the &amp;lt;descriptions&amp;gt; block should be one entry for each language you want to support. The first language listed should always be ''en_US''. The language is indicated by the lang attribute. Additional tags are optional. The &amp;quot;descriptions&amp;quot;-element is optional, though it is highly recommended to specify it. If specified, at least one entry for &amp;quot;en_US&amp;quot; ( American English language) is required. Several of those elements are allowed, one for each lang that you want to display.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;descriptions&amp;gt;&lt;br /&gt;
  &amp;lt;description lang=&amp;quot;en_US&amp;quot;&amp;gt;Your long description of this application, describing its purpose and highlighting its features.&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;description lang=&amp;quot;de_DE&amp;quot;&amp;gt;Deine etwas längere Programmbeschreibung, die den Sinn des Programmes und seine wichtigsten Features beschreiben sollte.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/descriptions&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;icon&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The icon element should specify a nice icon for your application. An icon element is optional, but if one is specified you have to include the src attribute. Only up to one icon element is allowed. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The src attribute specifies the path to the image file used as the icon.&lt;br /&gt;
&lt;br /&gt;
NOTE: Current implementation will use the pnd-file's appended icon; for a PXML-app-directory, it will try to use the icon mentioned in the PXML. So for a pnd-file, all subapps will show the appended-icon, regardless of the &amp;lt;icon&amp;gt; tag within the PXML.xml&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;icon src=&amp;quot;images/icon.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The &amp;lt;application&amp;gt; area ==&lt;br /&gt;
The Application-tag permits the PXML.xml container to have multiple applications within it; you should have at least one application tag-pair (for one app), though you may have many.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;application id=&amp;quot;uniqueID&amp;quot; appdata=&amp;quot;dirname&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!--All other elements described in this section (exec, author...) should be put here--&amp;gt;&lt;br /&gt;
&amp;lt;/application&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The &amp;quot;id&amp;quot; attribute specifies an identifier for your current application, and should be something globally unique so that no two PND packages have the same id. This can be achieved by appending some random number to your application name, and to use that as your id; or to simply generate a completely random, very long id. If this id already is used in another PND file, those two PND files will conflict with each other, and unforseeable errors will occur. Please put effort into generating an unique id for your PXML-file.&lt;br /&gt;
&lt;br /&gt;
* ''(optional)'' The &amp;quot;appdata&amp;quot; permits a directory name (NOT PATH) to be specified as preferred; if not present, the unique-id will be used. For example, we may want a unique-id of &amp;quot;Battlejewels.skeezix.3216836217382163.v001&amp;quot;, but a appdata path of &amp;quot;battlejewels&amp;quot; to make it easier on the user, or to have multiple different battlejewels sharing one appdata.&lt;br /&gt;
'''Notice: appdata names with dashes in (e.g. quake-2 rather than quake2) will cause the pnd file to function improperly.'''    &lt;br /&gt;
&lt;br /&gt;
A good unique-id is the application name, developer name, and some key you may wish to update on occasion (should state-data become incompatible between updates, say.)&lt;br /&gt;
&lt;br /&gt;
Consider:&lt;br /&gt;
battlejewels.skeezix.001&lt;br /&gt;
quake-1.pickle.001&lt;br /&gt;
&lt;br /&gt;
unique-id formatting: '''Should not include directory or filename invalid characters, such as ?, &amp;gt;, /, etc. Any of those will cause the pnd-file to not function.'''&lt;br /&gt;
&lt;br /&gt;
Note on Uniqueness: The unique-id should be unique against other pnd-files, but may be re-used by other 'application' tags within the pnd; for example, you may have multiple subapps that want to share the same appdata path (which is formed based on unique-id!), so use the same unique-id. You might then have a utility application in that same pnd, which needs its own appdata, and so gets its own unique-id.&lt;br /&gt;
&lt;br /&gt;
Below are the allowed elements inside the &amp;lt;application&amp;gt; blocks. You can have as many applications listed in a single PXML file as you want to (though there is/was a limit in libpnd that was set to about 50 once upon the time, which might eventually be completely be removed).&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;exec&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The exec element should specify all the information needed to execute your application. An exec element must be included in every PXML file. Only exactly one exec element is allowed. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The command attribute specifies the path to the executable file. This should be a relative path to a file within the PND package. Must contain no arguments! One strategy you may need is to point to a sh-script in your pnd-file, which in turn sets up LD_LIBRARY_PATH, determines arguments to pass, uses zenity to pop up a pre-run menu, or other trickery.&lt;br /&gt;
* ''(optional)'' The arguments attribute may be not present, or present with 1 or more arguments to the executable.&lt;br /&gt;
* ''(optional)'' The startdir attribute specifies the starting directory (Also known as the working directory) that the application should start in. This should be a relative path to a directory within the PND package, or to a well-known directory in the Pandora file system.&lt;br /&gt;
* ''(optional)'' The standalone attribute specifies whether or not this application can run on its own, or if it needs parameters to run. A value of &amp;quot;true&amp;quot; or &amp;quot;1&amp;quot; means that the application can be run without parameters. A value of &amp;quot;false&amp;quot; or &amp;quot;0&amp;quot; means that the application must be run with parameters (Meaning that no icon will appear for it in a launcher; it will only be run via file associations or via the terminal).&lt;br /&gt;
* ''(optional)'' The background attribute specifies whether or not this application should run in the background, and it should be possible to switch to other apps while it is running, or if it is the only application that should be running. A value of &amp;quot;true&amp;quot; or &amp;quot;1&amp;quot; means that the application can run in the background. A value of &amp;quot;false&amp;quot; or &amp;quot;0&amp;quot; means that the application must be run as the only application.&lt;br /&gt;
* ''(optional)'' The x11 attribute may be missing; values are one of &amp;quot;req&amp;quot;, &amp;quot;stop&amp;quot;, and &amp;quot;ignore&amp;quot;. If &amp;quot;req&amp;quot; is set, it means the application requires X11 (and possibly could be filtered out of users display in a menu if X is not running, or perhaps such a menu would have to start X.) If &amp;quot;stop&amp;quot; is set, it means X must be not running, or temporarily shut down, for the app. If &amp;quot;ignore&amp;quot; is set, the app doesn't care if X is running or not (such as an SDL app, or a sh-script, etc.)&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;exec background=&amp;quot;true&amp;quot; startdir=&amp;quot;/usr/share/icons/&amp;quot; standalone=&amp;quot;true&amp;quot; command=&amp;quot;myprogram&amp;quot; arguments=&amp;quot;arg1 arg2&amp;quot; x11=&amp;quot;option&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;author&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The author element is an element that is used by the author to introduce him/herself.&lt;br /&gt;
An author element is mandatory. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The name attribute specifies the name of the author.&lt;br /&gt;
* ''(optional)'' The website attribute specifies the website of the author.&lt;br /&gt;
* ''(optional)'' The email attribute specifies the e-mail of the author.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;author name=&amp;quot;Bjornhild Andersson&amp;quot; website=&amp;quot;http://some.website.with.author.info&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;version&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The version element specifies the application version.&lt;br /&gt;
A version element is required. It is recommended to keep the entries as simple as possible, where possible just numbers. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The major attribute specifies the major version number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The minor attribute specifies the minor version number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The release attribute specifies the release number. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(required)'' The build attribute specifies what build the application is at. Valid entries: strings consisting of letters (a-z and A-Z) as well as the chars '+' and '-'.&lt;br /&gt;
* ''(optional'' You can specify a type attribute that is either set to &amp;quot;release&amp;quot;, &amp;quot;beta&amp;quot; or &amp;quot;alpha&amp;quot;. This will (at the moment) not be read by libpnd but package repositories might use it in some way (to eg mark &amp;quot;beta&amp;quot; versions explicitly or something like this). If this is not specified, &amp;quot;release&amp;quot; will be assumed.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;version major=&amp;quot;1&amp;quot; minor=&amp;quot;1&amp;quot; release=&amp;quot;1&amp;quot; build=&amp;quot;2&amp;quot; type=&amp;quot;release&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;osversion&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The osversion element specifies the minimal OS version that supports the PND file. The PND file will not be loaded by an OS that has an older version than the one specified here. If unsure, just use a '0' in the respective field.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;osversion major=&amp;quot;1&amp;quot; minor=&amp;quot;1&amp;quot; release=&amp;quot;1&amp;quot; build=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The major attribute specifies the major version number. Valid entries: non negative integers.&lt;br /&gt;
* ''(required)'' The minor attribute specifies the minor version number. Valid entries: non negative integers.&lt;br /&gt;
* ''(required)'' The release attribute specifies the release number. Valid entries: non negative integers.&lt;br /&gt;
* ''(required)'' The build attribute specifies what build the application is at. Valid entries: non negative integers.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;titles&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The titles element is an element that contains multiple other elements.&lt;br /&gt;
&lt;br /&gt;
The titles element specifies the text that is shown to the users of your PND file as the application title. Inside the &amp;lt;titles&amp;gt; block should be one entry for each language you want to support. The first language listed should always be ''en_US''. The language is indicated by the lang attribute. The &amp;lt;titles&amp;gt; element with at least one &amp;quot;title&amp;quot;-element is required, in the &amp;quot;en_US&amp;quot; American English language. Additional tags are optional.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This is new in HF6. For backwards compatibilty please include the &amp;lt;title lang=&amp;quot;en_US&amp;quot;&amp;gt; once outside the &amp;lt;titles&amp;gt; block, too!&lt;br /&gt;
&lt;br /&gt;
At least one &amp;quot;title&amp;quot;-element is required, in the &amp;quot;en_US&amp;quot; American English language. Additional tags are optional.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;titles&amp;gt;&lt;br /&gt;
  &amp;lt;title lang=&amp;quot;en_US&amp;quot;&amp;gt;Your application name&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;title lang=&amp;quot;de_DE&amp;quot;&amp;gt;Dein Programmname&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/titles&amp;gt;&lt;br /&gt;
&amp;lt;title lang=&amp;quot;en_US&amp;quot;&amp;gt;Your application name&amp;lt;/title&amp;gt;&amp;lt;!--pre HF6 compatibility--&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;descriptions&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The descriptions element is an element that contains multiple other elements.&lt;br /&gt;
&lt;br /&gt;
The descriptions element specifies the text that is shown to the users of your PND file as the package description. Inside the &amp;lt;descriptions&amp;gt; block should be one entry for each language you want to support. The first language listed should always be ''en_US''. The language is indicated by the lang attribute. The &amp;quot;descriptions&amp;quot;-element is optional, though it is highly recommended to specify it. If specified, at least one entry for &amp;quot;en_US&amp;quot; ( American English language) is required. Several of those elements are allowed, one for each lang that you want to display.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This is new in HF6. For backwards compatibilty please include the &amp;lt;description lang=&amp;quot;en_US&amp;quot;&amp;gt; once outside the &amp;lt;titles&amp;gt; block, too!&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;descriptions&amp;gt;&lt;br /&gt;
  &amp;lt;description lang=&amp;quot;en_US&amp;quot;&amp;gt;Your long description of this application, describing its purpose and highlighting its features.&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;description lang=&amp;quot;de_DE&amp;quot;&amp;gt;Deine etwas längere Programmbeschreibung, die den Sinn des Programmes und seine wichtigsten Features beschreiben sollte.&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/descriptions&amp;gt;&lt;br /&gt;
&amp;lt;description lang=&amp;quot;en_US&amp;quot;&amp;gt;Your long description of this application, describing its purpose and highlighting its features.&amp;lt;/description&amp;gt;&amp;lt;!--pre HF6 compatibility--&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;icon&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The icon element should specify a nice icon for your application. An icon element is optional, but if one is specified you have to include the src attribute. Only up to one icon element is allowed. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The src attribute specifies the path to the image file used as the icon.&lt;br /&gt;
&lt;br /&gt;
NOTE: Current implementation will use the pnd-file's appended icon; for a PXML-app-directory, it will try to use the icon mentioned in the PXML. So for a pnd-file, all subapps will show the appended-icon, regardless of the &amp;lt;icon&amp;gt; tag within the PXML.xml&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;icon src=&amp;quot;images/icon.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;licenses&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The licenses element is an element that contains multiple other elements.&lt;br /&gt;
&lt;br /&gt;
It contains multiple license elements. Every element represents one license (so you *can* also multilicense something). You have to provide at least one license for your application. You can basically enter anything you want, though if you are using an existing license, it is best to just enter the name and provide a link to the full version. This tag also allows you to provide links to websites with the sourcecode. &lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The name attribute specifies what the license is called. If you don't have a real license you can also enter some short text here (please keep it short!) or just enter &amp;quot;other&amp;quot; and doN't care no more.&lt;br /&gt;
* ''(optional)'' The url attribute can be used to specify a url to the full license text.&lt;br /&gt;
* ''(optional)'' The sourcecodeurl attribute can be used to specify a url to the sources.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;licenses&amp;gt;&lt;br /&gt;
  &amp;lt;license name=&amp;quot;GPLv2+&amp;quot; url=&amp;quot;http://www.gnu.org/licenses/gpl-2.0.html&amp;quot; sourcecodeurl=&amp;quot;http://pandora.org/sources/package.tar.bz2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;license name=&amp;quot;other&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/licenses&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;previewpics&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The previewpics element is an element that contains multiple other elements.&lt;br /&gt;
A previewpics element is optional.&lt;br /&gt;
&lt;br /&gt;
It contains multiple pic-elements. Every pic-element represents one preview picture. If the previewpics element is specified, it must contain at least one pic element. Use the native 800x480 LCD screen resolution, minimenu and others will scale it down as needed.&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The src attribute on a pic element specifies the path to the image file used as the preview picture.&lt;br /&gt;
&lt;br /&gt;
==== Recommendation ====&lt;br /&gt;
&lt;br /&gt;
If you define multiple &amp;lt;previewpic&amp;gt; elements, then set the most illustrative picture as the primary &amp;lt;previewpic&amp;gt;!&amp;lt;br&amp;gt;&lt;br /&gt;
''Why?'' Because many context use only that picture at all or at that picture at first sight and more only on demand. ''Examples:''&lt;br /&gt;
* [[Minimenu]]'s preview function (toggled via &amp;quot;A&amp;quot;) shows only the first picture,&lt;br /&gt;
* [http://repo.openpandora.org/includes/rss.php Repo RSS feed] shows only the first picture,&lt;br /&gt;
* [http://repo.openpandora.org/?page=detail&amp;amp;app=pndmanager-bzar PNDManager]'s app info shows 1 picture at first sight, more on demand.&lt;br /&gt;
&lt;br /&gt;
Currently there is no technical definition of the ''&amp;quot;primary&amp;quot;'' &amp;lt;previewpic&amp;gt;, therefore ensure that your intended primary &amp;lt;previewpic&amp;gt;&lt;br /&gt;
* occurs first in the source code order,&lt;br /&gt;
* has a filename that lists it first in a typical lexicographical sorting order.&lt;br /&gt;
&lt;br /&gt;
''What is an illustrative picture?''&lt;br /&gt;
&lt;br /&gt;
It should quickly give an impression of the look &amp;amp; feel of an application.&lt;br /&gt;
&lt;br /&gt;
I.e. for video games this would mean and in-game screenshot rather than a main menu screenshot, except if the menu is just a small overlay, and the important parts of the game can still be seen.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;previewpics&amp;gt;&lt;br /&gt;
  &amp;lt;pic src=&amp;quot;preview/pic1.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;pic src=&amp;quot;preview/pic2.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/previewpics&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;info&amp;gt; element ===&lt;br /&gt;
====Description====&lt;br /&gt;
The &amp;quot;info&amp;quot; element allows the PXML.xml to suggest to the desktop environment or menu a file that may be shown to the user when they want to know more - be it an About, a Install Guide, a User Guide, or all of the above. Per application only up to one of those entries is allowed. If you need more, the best approach is to create an html file and link the other files.&lt;br /&gt;
&lt;br /&gt;
The file can be a txt-file or an html-file, and as the PXML-app-dir or .pnd-application will be mounted, the file may in turn branch to other files should it wish to.&lt;br /&gt;
&lt;br /&gt;
Developers do not need to have this element, if their app is nice and simple and just runs. If the application requires additional set up (such as Quake requiring separate pak files that cannot be included in the pnd), or if you wish to include sample config files or config guidelines for something complex like DosBox, or include Pandora-specific notes.. those are all good things. But the developer is encouraged to be tasteful and not go hog-wild!&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' name → the name to be shown in the menu; should be obvious that it belongs to the pnd .. Quake's game pnd could have &amp;quot;Quake 1 Setup&amp;quot;.&lt;br /&gt;
* ''(required)'' type → the mime type for the file; in the event the consuming application can map mimetypes to an appropriate executable, this would be a good way of letting the user's preferred reader come up. Should be one of &amp;quot;text/html&amp;quot; (for an html file) or &amp;quot;text/plain&amp;quot; (for a .txt file). Those two are the only types allowed if the validation against the scheme is meant to be successful.&lt;br /&gt;
* ''(required)'' src → A file (including path relative to the pnd; ie: ./index.html would be the root of the pnd) in the pnd to open up; by default, the web browser will likely be used to open it.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;info name=&amp;quot;AwesomeGame Setup&amp;quot; type=&amp;quot;text/html&amp;quot; src=&amp;quot;index.html&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;categories&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The categories element is an element that contains multiple other elements.&lt;br /&gt;
A categories element is required, and must contain at least one category.&lt;br /&gt;
&lt;br /&gt;
Menus that use your PXML in any shape or form will use the category information to sort your application entry into the tree or sub menus. Depending on the menu system, this will be done differently every time. It is therefore advisable to specify as many categories and subcategories as possible (and as suitable; don't specify that your application belongs in a category if it doesn't).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;categories&amp;quot; element contains multiple category-elements. Every category-element represents one category that this app can be sorted into. Valid top-level categories are (among others):&lt;br /&gt;
&lt;br /&gt;
# AudioVideo&lt;br /&gt;
# Audio&lt;br /&gt;
# Video&lt;br /&gt;
# Development&lt;br /&gt;
# Education&lt;br /&gt;
# Game&lt;br /&gt;
# Graphics&lt;br /&gt;
# Network&lt;br /&gt;
# Office&lt;br /&gt;
# Settings&lt;br /&gt;
# System&lt;br /&gt;
# Utility&lt;br /&gt;
&lt;br /&gt;
Please see [http://standards.freedesktop.org/menu-spec/latest/apa.html the FreeDesktop specification] for more information. In it, you will also find valid subcategories for your top-level categories.&lt;br /&gt;
&lt;br /&gt;
The category-element takes one attribute: The name-attribute. This attribute represents the category name, which preferrably should be one of the above.&lt;br /&gt;
&lt;br /&gt;
A category-element can contain further child-elements: subcategory-elements. These represent the subcategories of a category that the app will be sorted into.&lt;br /&gt;
&lt;br /&gt;
The subcategory-element also takes a name-attribute; this attibute can contain a name for your subcategory.&lt;br /&gt;
&lt;br /&gt;
For passing validation any category/subcategory entries have to confirm to the FDO specs linked above.&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;categories&amp;gt;&lt;br /&gt;
  &amp;lt;!-- This app belongs in the &amp;quot;Game/StrategyGame&amp;quot; category --&amp;gt;&lt;br /&gt;
  &amp;lt;category name=&amp;quot;Game&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;subcategory name=&amp;quot;StrategyGame&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/category&amp;gt;&lt;br /&gt;
  &amp;lt;!-- This app also belongs in the &amp;quot;Graphics/ImageProcessing&amp;quot; category --&amp;gt;&lt;br /&gt;
  &amp;lt;category name=&amp;quot;Graphics&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;subcategory name=&amp;quot;ImageProcessing&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/category&amp;gt;&lt;br /&gt;
&amp;lt;/categories&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;associations&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
'''This element is not integrated into the firmware (Release Zaxxon) yet - therefore using it will have no effect!'''&lt;br /&gt;
&lt;br /&gt;
The associations element is an element that contains multiple other elements.&lt;br /&gt;
An associations element is optional, except if exec.standalone is false (this is not checked via the schema!).&lt;br /&gt;
&lt;br /&gt;
It contains multiple association-elements. Every association-element represents one file action association.&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The name attribute on an association element specifies the user-friendly action name for the association.&lt;br /&gt;
* ''(required)'' The filetype attribute on an association element specifies what file types (in MIME format) that this association should apply to.&lt;br /&gt;
* ''(required)'' The exec attribute on an association element specifies the command-line arguments that should be given to the program, when this action is performed. The exec can contain a &amp;quot;%s&amp;quot;, which indicates where the file name of the file, that the action is performed on, should be inserted. For example, if the exec-line is &amp;quot;--file %s --type lol&amp;quot;, and you have a file &amp;quot;lol.bmp&amp;quot; that the action is performed on, the exec-line is transformed into &amp;quot;--file &amp;quot;lol.bmp&amp;quot; --type lol&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;associations&amp;gt;&lt;br /&gt;
  &amp;lt;association name=&amp;quot;Deinterlaced Bitmap Image&amp;quot; filetype=&amp;quot;image/bmp&amp;quot; exec=&amp;quot;-f %s --no-deinterlacing&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;association name=&amp;quot;Style sheet system crasher&amp;quot; filetype=&amp;quot;text/css&amp;quot; exec=&amp;quot;-f %s --crash-on-success&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/associations&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The &amp;lt;clockspeed&amp;gt; element ===&lt;br /&gt;
==== Description ====&lt;br /&gt;
The clockspeed element specifies what clockspeed this app should run at. Please do only specify this element if your application *needs* to run at the specified clock speed.&lt;br /&gt;
A clockspeed element is optional. It accepts the following attributes:&lt;br /&gt;
&lt;br /&gt;
* ''(required)'' The frequency attribute specifies the wanted frequency, in megahertz (MHz).&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;clockspeed frequency=&amp;quot;600&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example files ==&lt;br /&gt;
There are several example files available in the [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=tree;f=docs/examples git repository]. They do match the current specification and (unless mentioned differently) validate. Below the direct links and a short description what they are meant to show:&lt;br /&gt;
&lt;br /&gt;
* [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/examples/PXML.xml PXML.xml]: This is a sample PXML.xml file making use of many different things.&lt;br /&gt;
* [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/examples/average-case_PXML.xml average-case_PXML.xml]: This is an example how a &amp;quot;common&amp;quot; pnd with just one application could look. Most of the information for the &amp;lt;package&amp;gt; block can in this case directly be copied over from the respective parts in the &amp;lt;application&amp;gt; block.&lt;br /&gt;
* [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/examples/full-sample_PXML.xml full-sample_PXML.xml]: This is a complex example defining a &amp;quot;real&amp;quot; package collection. It offers several applications, all using different features of PXML.&lt;br /&gt;
* [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/examples/minimum-schema_PXML.xml minimum-schema_PXML.xml]: This is a minimum example that will validate with the schema but basically offer nothing beside what really is required. This application should work nicely with any pnd repositories based upon the PXML specs. '''NOTE:''' This application will not work with pre HF6, for support for OS versions up to HF6 an additional &amp;lt;title&amp;gt; block outside of &amp;lt;titles&amp;gt; is required!&lt;br /&gt;
* [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/examples/minimum-libpnd_PXML.xml minimum-libpnd_PXML.xml]: This is a minimum example that will work on the pandora, but is '''not''' following the schema and lots of information that will be required for repositories based on the PXML specs is not available.&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
To validate a PXML file, you need a XSD (XML schema) validator, and you have to know how to use it. The schema is also available in a plaintext file described in words that are by far more compact than this page but still understandable for coders: [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=blob;f=docs/PXML_schema_plaintext.txt plaintext description of the schema]&lt;br /&gt;
&lt;br /&gt;
The current-most XSD is in 'libpnd' (in the git repository). Here is the file history: [http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-libraries.git;a=history;f=docs/PXML_schema.xsd PXML_schema.xsd file history]&lt;br /&gt;
Once on the history page, just click on the filename (right click -&amp;gt; save as) to download the latest version.&lt;br /&gt;
&lt;br /&gt;
The easiest way to run validation is using this command:&lt;br /&gt;
 xmllint --noout --schema PATH/TO/PXML_schema.xsd PATH/TO/PXML.xml&lt;br /&gt;
To run it you have to have xmllint installed and the (latest) PXML_schema.xsd definition downloaded. Using this command you can now simply evaluate if the PXML.xml file is valid.  xmllint can be installed via the angstrom repository (it is part of libxml2-utils). &lt;br /&gt;
&lt;br /&gt;
'''Attention''': It is possible to validate PXML files that won't work with pre HotFix6. If you want to have the pnd work with basically all versions of the OS (you most likely want this!) please have a look above searching for ''&amp;lt;!--pre HF6 compatibility--&amp;gt;'' and include those blocks in your pxml file.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Official OpenPandora Development]]&lt;br /&gt;
[[Category:PND]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Power_modes&amp;diff=9985</id>
		<title>Power modes</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Power_modes&amp;diff=9985"/>
		<updated>2012-04-08T21:43:39Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Times */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Battery.jpg|thumb|The Pandora's battery]]&lt;br /&gt;
&lt;br /&gt;
==Power Modes==&lt;br /&gt;
&lt;br /&gt;
Without switching the device entirely off, it may be placed into low power mode or regular power mode; simply pressing the power button will toggle modes. Note that as of [[hotfix3]], opening the lid in low power mode has no effect.&lt;br /&gt;
&lt;br /&gt;
===Normal Mode===&lt;br /&gt;
This is the normal operating mode, [[display]] on, [[WiFi]] and [[Bluetooth]] on if requested. [[CPU speed]] can be selected by the user, and has a small impact on battery life. Screen brightness will also have a significant effect on battery life. The CPU should automatically self-regulate to the current task, and 10-14 hours [[battery]] life is possible depending on usage. This is mostly independent of the set CPU speed for any given task. At any time, the battery gauge will show the remaining battery life ''if the usage remains the same as over the past some seconds''.&lt;br /&gt;
&lt;br /&gt;
===Lid Closed===&lt;br /&gt;
The only change with the lid closed is to turn off the LCD [[backlight]]. This improves battery life, allowing music playback and streaming to continue. As of [[Hotfix2]], the screen remains on if the device is powered up with the screen closed. It is also possible to set [[xfce]] to blank the screen after a period of inactivity, which helps with battery.&lt;br /&gt;
&lt;br /&gt;
===Low Power===&lt;br /&gt;
Low power mode is toggled by a short press of the [[power switch]] to the right. The screen is off, the [[radios]] are disabled, the CPU max speed is set to 14 MHz. The device is still silently on, allowing for alarms to go off or it to be turned on again instantly. The power [[LED]] will be dimmed, and may appear to be off if you are outside.&lt;br /&gt;
&lt;br /&gt;
Low power mode is probably going to be used as the normal &amp;quot;off&amp;quot; for most people, with true off (device powered down entirely, unable to respond to alarms or wake up quickly) available to conserve battery power. Turning the Pandora off completely is the best option if you don't plan on using it for few days or longer.&lt;br /&gt;
&lt;br /&gt;
Since the Pandora has to be powered whilst it is charging, low power mode is best for fastest charging, and will even allow a full charge to be achieved from [[USB]]. It is also the best way to use the Pandora as a [[USB]] charger for other devices.&lt;br /&gt;
&lt;br /&gt;
Opening the [[screen]] whilst in low power mode has no effect (screen stays off, clocks stay low), and you will need to use the power switch to resume.&lt;br /&gt;
&lt;br /&gt;
At the moment, there is no clear advantage in slowing the clocks (other than being an effective pause button when playing MP3). The only saving is through disabling the radios. This is likely to be improved in due course since there are features in the omap processor for power saving which are being added to the linux [[kernel]].&lt;br /&gt;
&lt;br /&gt;
===Power Off===&lt;br /&gt;
Select Logout then Shutdown from the window manager to power off. If a charger is connected, the device will re-boot immediately. It is possible to get into a state where you believe it is powered off, but in fact it is using power at the normal screen off rate - so after 12 hours, 50% of your battery is gone. The Power green [[LED]] ought to be a tell-tale. It is possible that some bugs exist in this area, but nothing has been clearly identified[http://www.gp32x.com/board/index.php?/topic/54652-solved-pandora-lost-charge-overnight/]&lt;br /&gt;
&lt;br /&gt;
A common problem seems to be that if you switch off ''before'' unplugging, your Pandora will re-boot even though it is now left unplugged. This problem is compounded by the low battery shutdown script being called repeatedly (and actually preventing shutdown).&lt;br /&gt;
&lt;br /&gt;
To do a '''hard-reset''' of the Pandora (in case of software crashes), press and hold the [[Pandora key]] and flick the power button to the right.&lt;br /&gt;
&lt;br /&gt;
To do a '''hard-shutdown''' of the Pandora, press and hold the Pandora key ''with right shoulder button held'' and flick the power button to the right, and then select shutdown from the menu.[http://www.gp32x.com/board/index.php?/topic/59233-hf5-not-shutting-down-or-rebooting/page__view__findpost__p__946375]&lt;br /&gt;
&lt;br /&gt;
There is also a &amp;quot;secret&amp;quot; reset method if the above doesn't work, described [http://boards.openpandora.org/index.php?/topic/520-flashing-failure-now-the-board-would-not-power-up/page__p__8594#entry8594 here].&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
The events which control power can be customised [http://www.gp32x.com/board/index.php?/topic/54544-forcing-shutdown-at-10-battery-life/page__view__findpost__p__878418]. Lid switch, Power Switch, battery threshold and Window Manager shutdown commands. Note that the battery manager in xfce will also take action when the battery is low, by default forcing a shutdown at 5% (so you may observe a full boot process, the window manager appears, then immediately shuts down)&lt;br /&gt;
&lt;br /&gt;
==Charging==&lt;br /&gt;
[[image:Power_uk.png|thumb|alt=UK charger and adapter|UK charger and adapter]]&lt;br /&gt;
It is possible to charge from the mains charger (use the supplied one or a ''GENUINE'' PSP adaptor only) or [[USB]] cable. While a charger is connected, remaining [[battery]] level is displayed, but the time displays 00:00. If charging from USB, it is possible that the battery will still discharge slowly, since the Pandora takes more current (in normal mode) than the USB can supply. Mains charge is configured to draw 1000mA, USB charge is more like 500mA.&lt;br /&gt;
&lt;br /&gt;
It is not possible to charge the Pandora without turning it on - the charging circuits rely on the CPU for configuration. In practice, this has minimal impact on usage, except that after charging, you might wish to explicitly turn off (and maybe there is a easy way to automate this by adding a charger event to call a script)&lt;br /&gt;
&lt;br /&gt;
If your Pandora's [[battery]] is at less than 1% (actually configurable in [[XFCE]]), then you may have problems in using [[USB]] to charge the Pandora. Currently, [[USB]] is not recognised by the [[XFCE]] battery monitor so it will shutdown with no warning. As a workaround, you can put your Pandora into low power mode as soon as the flashing mouse icon (XFE startup) appears. This should significantly delay loading the battery monitor widget, and even if the charge hasn't passed 1% by the time it checks, on the next try you should be there.&lt;br /&gt;
&lt;br /&gt;
==Operating Point==&lt;br /&gt;
The ''OPP'' is a TI term which reflects the fact that low clock speeds can be achieved with lower supply voltage than the higher clock speeds. Increasing OPP will reduce the lifetime of the device significantly (from 10 years to 5 years of continuous use.) OPP3 is the default as shipped by OpenPandora. As of Hotfix4, it is possible to set a maximum OPP in the range 1-5 (for example, to 5):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;echo 5 | sudo tee -a /proc/pandora/cpu_opp_max&amp;lt;/source&amp;gt;&lt;br /&gt;
This will then increase OPP to suit the requested CPU max, as pre-determined by a table built in to the kernel. These thresholds use OPP1 for below 125 MHz, and OPP5 for above 720 MHz. It is possible to set the limiter and maybe run at 500 MHz in OPP2 (depending on your specific chip). See [http://boards.openpandora.org/index.php?/topic/22-using-hotfix4-how-high-can-you-clock/ this forum thread] for actual results.&lt;br /&gt;
&lt;br /&gt;
{{warning&lt;br /&gt;
|Using anything above OPP3 WILL shorten the lifetime of your Pandora, although it should still outlive the 1 year warranty. Using anything above OPP5 and 1Ghz will void your warranty (see [[Overclocking#Warranty_information|here]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Tweaking scripts to make this tuning easier are in the works.&lt;br /&gt;
&lt;br /&gt;
==Monitoring==&lt;br /&gt;
The [[kernel]] provides some information about battery state through the filesystem. See [[Data_provided_by_Battery_and_Power_driver]]. This may help with diagnosing problems.&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
* This data originates from different studies performed under different OS versions and use cases.&lt;br /&gt;
* Please add the source and a short note about the conditions you used, and if necessary more detailed ones to the Talk page.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Mode&lt;br /&gt;
!Time&lt;br /&gt;
!Details, Source&lt;br /&gt;
|-&lt;br /&gt;
! Active PND applications&lt;br /&gt;
| 10-20 hours&lt;br /&gt;
| OS SuperZaxxon, Beta 2, Kernel 3.2.1&lt;br /&gt;
|-&lt;br /&gt;
! MP3 play, screen off&lt;br /&gt;
| 43 hours&lt;br /&gt;
| MP3 playback in [http://repo.openpandora.org/?page=detail&amp;amp;app=audacious Audacious] in [http://boards.openpandora.org/index.php?/topic/7196-32-kernel-issue-tracking-thread/page__st__200#entry138048 OS SuperZaxxon, Beta 2, Kernel 3.2.1]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! Low Power Mode&lt;br /&gt;
|30-75 hours&lt;br /&gt;
| [http://boards.openpandora.org/index.php?/topic/7196-32-kernel-issue-tracking-thread/page__st__200#entry138048 OS SuperZaxxon, Beta 2, Kernel 3.2.1]&lt;br /&gt;
|-&lt;br /&gt;
! Standby Mode&lt;br /&gt;
| 160-200 hours&lt;br /&gt;
| [http://boards.openpandora.org/index.php?/topic/7196-32-kernel-issue-tracking-thread/page__st__200#entry138048 OS SuperZaxxon, Beta 2, Kernel 3.2.1]&lt;br /&gt;
|-&lt;br /&gt;
! Power off&lt;br /&gt;
|5% charge loss per week&lt;br /&gt;
| although there are reports of much faster drain?[http://boards.openpandora.org/index.php?/topic/24-battery-drain/]&lt;br /&gt;
|-&lt;br /&gt;
! Mains charge, operating&lt;br /&gt;
| 20 hours&lt;br /&gt;
| estimate, OS Zaxxon, Hotfix 3&lt;br /&gt;
|-&lt;br /&gt;
! Mains charge (low power)&lt;br /&gt;
|8 hours&lt;br /&gt;
| estimate, OS Zaxxon, Hotfix 3&lt;br /&gt;
|-&lt;br /&gt;
! USB Charge, operating&lt;br /&gt;
| 20 hours&lt;br /&gt;
| inactive, screen+wifi on, may charge or discharge depending on load&lt;br /&gt;
|-&lt;br /&gt;
! USB Charge, low power&lt;br /&gt;
|20 hours&lt;br /&gt;
|estimate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Battery Care==&lt;br /&gt;
* You can charge your [[battery]] to full charge, the charging circuits will then reduce the current to avoid overheating&lt;br /&gt;
* If you won't use the [[battery]] for more than a week, it is best to leave it at about 40% charged (as opposed to full)&lt;br /&gt;
* Don't worry about running it down too low, there are protection circuits to avoid a '''damagingly low discharge'''.&lt;br /&gt;
**Avoid leaving the battery completely discharged though.  When the power runs out, the system will be unable to shutdown cleanly, and might corrupt your files or the system.&lt;br /&gt;
* No harm will come if you only partially recharge it. If you've only got 10 free minutes to charge before leaving, go ahead. You'll put an hour of usage back into the battery, and you can always charge it more later.&lt;br /&gt;
* For best accuracy, the battery meter relies on watching the battery discharge over most of it's range (down to say 10%).&lt;br /&gt;
**This will only affect the 'time to run' indication&lt;br /&gt;
* If you're not going to be using your battery for a very long time, the extremely best thing you can do for it is to discharge to 40%, seal it in an airtight bag, and put it in the fridge. Even years later, you pull it out, and it will be almost as good as when you put it in.&lt;br /&gt;
&lt;br /&gt;
[[Category:Power supply]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Power_modes&amp;diff=9984</id>
		<title>Power modes</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Power_modes&amp;diff=9984"/>
		<updated>2012-04-08T21:40:55Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Times */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Battery.jpg|thumb|The Pandora's battery]]&lt;br /&gt;
&lt;br /&gt;
==Power Modes==&lt;br /&gt;
&lt;br /&gt;
Without switching the device entirely off, it may be placed into low power mode or regular power mode; simply pressing the power button will toggle modes. Note that as of [[hotfix3]], opening the lid in low power mode has no effect.&lt;br /&gt;
&lt;br /&gt;
===Normal Mode===&lt;br /&gt;
This is the normal operating mode, [[display]] on, [[WiFi]] and [[Bluetooth]] on if requested. [[CPU speed]] can be selected by the user, and has a small impact on battery life. Screen brightness will also have a significant effect on battery life. The CPU should automatically self-regulate to the current task, and 10-14 hours [[battery]] life is possible depending on usage. This is mostly independent of the set CPU speed for any given task. At any time, the battery gauge will show the remaining battery life ''if the usage remains the same as over the past some seconds''.&lt;br /&gt;
&lt;br /&gt;
===Lid Closed===&lt;br /&gt;
The only change with the lid closed is to turn off the LCD [[backlight]]. This improves battery life, allowing music playback and streaming to continue. As of [[Hotfix2]], the screen remains on if the device is powered up with the screen closed. It is also possible to set [[xfce]] to blank the screen after a period of inactivity, which helps with battery.&lt;br /&gt;
&lt;br /&gt;
===Low Power===&lt;br /&gt;
Low power mode is toggled by a short press of the [[power switch]] to the right. The screen is off, the [[radios]] are disabled, the CPU max speed is set to 14 MHz. The device is still silently on, allowing for alarms to go off or it to be turned on again instantly. The power [[LED]] will be dimmed, and may appear to be off if you are outside.&lt;br /&gt;
&lt;br /&gt;
Low power mode is probably going to be used as the normal &amp;quot;off&amp;quot; for most people, with true off (device powered down entirely, unable to respond to alarms or wake up quickly) available to conserve battery power. Turning the Pandora off completely is the best option if you don't plan on using it for few days or longer.&lt;br /&gt;
&lt;br /&gt;
Since the Pandora has to be powered whilst it is charging, low power mode is best for fastest charging, and will even allow a full charge to be achieved from [[USB]]. It is also the best way to use the Pandora as a [[USB]] charger for other devices.&lt;br /&gt;
&lt;br /&gt;
Opening the [[screen]] whilst in low power mode has no effect (screen stays off, clocks stay low), and you will need to use the power switch to resume.&lt;br /&gt;
&lt;br /&gt;
At the moment, there is no clear advantage in slowing the clocks (other than being an effective pause button when playing MP3). The only saving is through disabling the radios. This is likely to be improved in due course since there are features in the omap processor for power saving which are being added to the linux [[kernel]].&lt;br /&gt;
&lt;br /&gt;
===Power Off===&lt;br /&gt;
Select Logout then Shutdown from the window manager to power off. If a charger is connected, the device will re-boot immediately. It is possible to get into a state where you believe it is powered off, but in fact it is using power at the normal screen off rate - so after 12 hours, 50% of your battery is gone. The Power green [[LED]] ought to be a tell-tale. It is possible that some bugs exist in this area, but nothing has been clearly identified[http://www.gp32x.com/board/index.php?/topic/54652-solved-pandora-lost-charge-overnight/]&lt;br /&gt;
&lt;br /&gt;
A common problem seems to be that if you switch off ''before'' unplugging, your Pandora will re-boot even though it is now left unplugged. This problem is compounded by the low battery shutdown script being called repeatedly (and actually preventing shutdown).&lt;br /&gt;
&lt;br /&gt;
To do a '''hard-reset''' of the Pandora (in case of software crashes), press and hold the [[Pandora key]] and flick the power button to the right.&lt;br /&gt;
&lt;br /&gt;
To do a '''hard-shutdown''' of the Pandora, press and hold the Pandora key ''with right shoulder button held'' and flick the power button to the right, and then select shutdown from the menu.[http://www.gp32x.com/board/index.php?/topic/59233-hf5-not-shutting-down-or-rebooting/page__view__findpost__p__946375]&lt;br /&gt;
&lt;br /&gt;
There is also a &amp;quot;secret&amp;quot; reset method if the above doesn't work, described [http://boards.openpandora.org/index.php?/topic/520-flashing-failure-now-the-board-would-not-power-up/page__p__8594#entry8594 here].&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
The events which control power can be customised [http://www.gp32x.com/board/index.php?/topic/54544-forcing-shutdown-at-10-battery-life/page__view__findpost__p__878418]. Lid switch, Power Switch, battery threshold and Window Manager shutdown commands. Note that the battery manager in xfce will also take action when the battery is low, by default forcing a shutdown at 5% (so you may observe a full boot process, the window manager appears, then immediately shuts down)&lt;br /&gt;
&lt;br /&gt;
==Charging==&lt;br /&gt;
[[image:Power_uk.png|thumb|alt=UK charger and adapter|UK charger and adapter]]&lt;br /&gt;
It is possible to charge from the mains charger (use the supplied one or a ''GENUINE'' PSP adaptor only) or [[USB]] cable. While a charger is connected, remaining [[battery]] level is displayed, but the time displays 00:00. If charging from USB, it is possible that the battery will still discharge slowly, since the Pandora takes more current (in normal mode) than the USB can supply. Mains charge is configured to draw 1000mA, USB charge is more like 500mA.&lt;br /&gt;
&lt;br /&gt;
It is not possible to charge the Pandora without turning it on - the charging circuits rely on the CPU for configuration. In practice, this has minimal impact on usage, except that after charging, you might wish to explicitly turn off (and maybe there is a easy way to automate this by adding a charger event to call a script)&lt;br /&gt;
&lt;br /&gt;
If your Pandora's [[battery]] is at less than 1% (actually configurable in [[XFCE]]), then you may have problems in using [[USB]] to charge the Pandora. Currently, [[USB]] is not recognised by the [[XFCE]] battery monitor so it will shutdown with no warning. As a workaround, you can put your Pandora into low power mode as soon as the flashing mouse icon (XFE startup) appears. This should significantly delay loading the battery monitor widget, and even if the charge hasn't passed 1% by the time it checks, on the next try you should be there.&lt;br /&gt;
&lt;br /&gt;
==Operating Point==&lt;br /&gt;
The ''OPP'' is a TI term which reflects the fact that low clock speeds can be achieved with lower supply voltage than the higher clock speeds. Increasing OPP will reduce the lifetime of the device significantly (from 10 years to 5 years of continuous use.) OPP3 is the default as shipped by OpenPandora. As of Hotfix4, it is possible to set a maximum OPP in the range 1-5 (for example, to 5):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;echo 5 | sudo tee -a /proc/pandora/cpu_opp_max&amp;lt;/source&amp;gt;&lt;br /&gt;
This will then increase OPP to suit the requested CPU max, as pre-determined by a table built in to the kernel. These thresholds use OPP1 for below 125 MHz, and OPP5 for above 720 MHz. It is possible to set the limiter and maybe run at 500 MHz in OPP2 (depending on your specific chip). See [http://boards.openpandora.org/index.php?/topic/22-using-hotfix4-how-high-can-you-clock/ this forum thread] for actual results.&lt;br /&gt;
&lt;br /&gt;
{{warning&lt;br /&gt;
|Using anything above OPP3 WILL shorten the lifetime of your Pandora, although it should still outlive the 1 year warranty. Using anything above OPP5 and 1Ghz will void your warranty (see [[Overclocking#Warranty_information|here]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Tweaking scripts to make this tuning easier are in the works.&lt;br /&gt;
&lt;br /&gt;
==Monitoring==&lt;br /&gt;
The [[kernel]] provides some information about battery state through the filesystem. See [[Data_provided_by_Battery_and_Power_driver]]. This may help with diagnosing problems.&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
* This data originates from different studies performed under different OS versions and use cases.&lt;br /&gt;
* Please add the source and a short note about the conditions you used, and if necessary more detailed ones to the Talk page.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Mode&lt;br /&gt;
!Time&lt;br /&gt;
!Details, Source&lt;br /&gt;
|-&lt;br /&gt;
! Active PND applications&lt;br /&gt;
| 10-20 hours&lt;br /&gt;
| OS SuperZaxxon, Beta 2, Kernel 3.2.1&lt;br /&gt;
|-&lt;br /&gt;
! MP3 play, screen off&lt;br /&gt;
| 43 hours&lt;br /&gt;
| MP3 playback in [http://repo.openpandora.org/?page=detail&amp;amp;app=audacious Audacious] in [http://boards.openpandora.org/index.php?/topic/7196-32-kernel-issue-tracking-thread/page__st__200#entry138048 OS SuperZaxxon, Beta 2, Kernel 3.2.1]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! Lid Closed&lt;br /&gt;
|16-23 hours&lt;br /&gt;
| estimate, depends on WiFi, OS Zaxxon, Hotfix 3&lt;br /&gt;
|-&lt;br /&gt;
! Low Power Mode&lt;br /&gt;
|30-75 hours&lt;br /&gt;
| [http://boards.openpandora.org/index.php?/topic/7196-32-kernel-issue-tracking-thread/page__st__200#entry138048 OS SuperZaxxon, Beta 2, Kernel 3.2.1]&lt;br /&gt;
|-&lt;br /&gt;
! Power off&lt;br /&gt;
|5% charge loss per week&lt;br /&gt;
| although there are reports of much faster drain?[http://boards.openpandora.org/index.php?/topic/24-battery-drain/]&lt;br /&gt;
|-&lt;br /&gt;
! Mains charge, operating&lt;br /&gt;
| 20 hours&lt;br /&gt;
| estimate, OS Zaxxon, Hotfix 3&lt;br /&gt;
|-&lt;br /&gt;
! Mains charge (low power)&lt;br /&gt;
|8 hours&lt;br /&gt;
| estimate, OS Zaxxon, Hotfix 3&lt;br /&gt;
|-&lt;br /&gt;
! USB Charge, operating&lt;br /&gt;
| 20 hours&lt;br /&gt;
| inactive, screen+wifi on, may charge or discharge depending on load&lt;br /&gt;
|-&lt;br /&gt;
! USB Charge, low power&lt;br /&gt;
|20 hours&lt;br /&gt;
|estimate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Battery Care==&lt;br /&gt;
* You can charge your [[battery]] to full charge, the charging circuits will then reduce the current to avoid overheating&lt;br /&gt;
* If you won't use the [[battery]] for more than a week, it is best to leave it at about 40% charged (as opposed to full)&lt;br /&gt;
* Don't worry about running it down too low, there are protection circuits to avoid a '''damagingly low discharge'''.&lt;br /&gt;
**Avoid leaving the battery completely discharged though.  When the power runs out, the system will be unable to shutdown cleanly, and might corrupt your files or the system.&lt;br /&gt;
* No harm will come if you only partially recharge it. If you've only got 10 free minutes to charge before leaving, go ahead. You'll put an hour of usage back into the battery, and you can always charge it more later.&lt;br /&gt;
* For best accuracy, the battery meter relies on watching the battery discharge over most of it's range (down to say 10%).&lt;br /&gt;
**This will only affect the 'time to run' indication&lt;br /&gt;
* If you're not going to be using your battery for a very long time, the extremely best thing you can do for it is to discharge to 40%, seal it in an airtight bag, and put it in the fridge. Even years later, you pull it out, and it will be almost as good as when you put it in.&lt;br /&gt;
&lt;br /&gt;
[[Category:Power supply]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Talk:Power_modes&amp;diff=9983</id>
		<title>Talk:Power modes</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Talk:Power_modes&amp;diff=9983"/>
		<updated>2012-04-08T21:14:01Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Release SuperZaxxon, Beta 2, Kernel 3.2.1 */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;10-20% per day charge loss (est)&amp;quot; - mine does not discharge nearly this much on it's own while powered off for a day. --[[User:Cheese|Cheese]] 07:13, 26 June 2010 (MEST)&lt;br /&gt;
&lt;br /&gt;
That was borrowed from some forum chat, it would be good to collect some numbers (see table below), both for going through a power cycle (chews battery on my phone) and powering up after 12/24/48 hours off. I also wonder if some batteries are more leaky than others. 50% loss over a weekend was (i think) quoted.--[[User:Tsh|Tsh]] 19:43, 26 June 2010 (MEST)&lt;br /&gt;
&lt;br /&gt;
==Self-discharge==&lt;br /&gt;
Off 13 hours = 100% -&amp;gt; 99%. (tsh)&amp;lt;br /&amp;gt;&lt;br /&gt;
Off 18 hours = 97% -&amp;gt; 97% (cheese)&amp;lt;br /&amp;gt;&lt;br /&gt;
Off 13 hours = 39% -&amp;gt; 44% (Ivanovic, FS#136)&lt;br /&gt;
&lt;br /&gt;
Based on this, maybe taking a reading immediately after power on is not reliable, so I now suggest taking 2 readings, one immediately after power on, one 15 min later (after sitting idle) --[[User:Tsh|Tsh]] 12:48, 5 July 2010 (MEST)&lt;br /&gt;
&lt;br /&gt;
The total battery drain over the course of one week and one day, with a few minutes of usage on two occasions, was 6%. [http://boards.openpandora.org/index.php?/topic/24-battery-drain/page__view__findpost__p__6088]&lt;br /&gt;
&lt;br /&gt;
==Charge times==&lt;br /&gt;
Low power 1:36 17%-&amp;gt;51% (-&amp;gt;63% after 3 min not charging)(tsh)&lt;br /&gt;
&lt;br /&gt;
==Low power==&lt;br /&gt;
&amp;quot;the CPU max speed is set to 14 MHz&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Is it still true ?--[[User:Linux-SWAT|Linux-SWAT]] 00:37, 27 May 2011 (MEST)&lt;br /&gt;
&lt;br /&gt;
== All off (as low power state) ==&lt;br /&gt;
&lt;br /&gt;
With WiFi off, screen off (Hotfix 3)&lt;br /&gt;
&lt;br /&gt;
500 MHz 4h10m 81%-&amp;gt;63% (~23 hours battery life)&amp;lt;br&amp;gt;&lt;br /&gt;
50 MHz  4 hours, 62% -&amp;gt; 45% (same as above)&lt;br /&gt;
&lt;br /&gt;
Hotfix 4&lt;br /&gt;
250 MHz, opp1 2:55, 10% (30 hours)&lt;br /&gt;
&lt;br /&gt;
== MP3 only ==&lt;br /&gt;
&lt;br /&gt;
500 MHz 63 min, 6% (17.5 hours)-exaile&amp;lt;br&amp;gt;&lt;br /&gt;
500 MHz 2:54, 16% (18 hours) - ommpc&amp;lt;br&amp;gt;&lt;br /&gt;
500 MHz opp5 1:15,  7% (18 hours) - deadbeef&amp;lt;br&amp;gt;&lt;br /&gt;
900 MHz opp5 2:30, 15% (18 hours) - deadbeef&amp;lt;br&amp;gt;&lt;br /&gt;
250 MHz oop1 2:30, 15% (18 hours) - deadbeef&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release SuperZaxxon, Beta 2, Kernel 3.2.1 ==&lt;br /&gt;
&lt;br /&gt;
[http://boards.openpandora.org/index.php?/topic/7196-32-kernel-issue-tracking-thread/page__st__200#entry138048 Study by porg] -- [[User:Porg|Porg]] 23:14, 8 April 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=User:Porg&amp;diff=9981</id>
		<title>User:Porg</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=User:Porg&amp;diff=9981"/>
		<updated>2012-04-08T20:43:29Z</updated>

		<summary type="html">&lt;p&gt;Porg: Created page with &amp;quot;[http://boards.openpandora.org/index.php?/user/1441-porg/ My Pandora Profile]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://boards.openpandora.org/index.php?/user/1441-porg/ My Pandora Profile]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Talk:Pandora_FAQ&amp;diff=9980</id>
		<title>Talk:Pandora FAQ</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Talk:Pandora_FAQ&amp;diff=9980"/>
		<updated>2012-04-08T20:18:45Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Battery Inaccurate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Battery Inaccurate ==&lt;br /&gt;
&lt;br /&gt;
They're going with a 10-100hr battery instead, custom-made, last we heard. The Wiki needs to be updated. I'll do it later today, but in case anyone else wants to do it... :)&lt;br /&gt;
: Done.[[User:Chip|Chip]] 21:55, 27 April 2008 (CEST)&lt;br /&gt;
:: Battery runtime has improved a lot with SuperZaxxon, using Kernel 3.2.1. Updating section accordingly. -- [[User:Porg|Porg]] 22:18, 8 April 2012 (CEST)&lt;br /&gt;
&lt;br /&gt;
== font ==&lt;br /&gt;
&lt;br /&gt;
The Pandora font seems to be really close to WerkHaus Medium according to What The Font:  http://spatula-city.org/~im14u2c/images/pandora_werkhaus_medium.gif  If you replace the 'a' with a 'd' whose stem has been chopped and round all the sharp corners slightly, you arrive at the final result, I think. --[[User:Intvnut|Intvnut]] 07:29, 13 May 2009 (CEST)&lt;br /&gt;
&lt;br /&gt;
== A2DP Encoding ==&lt;br /&gt;
&lt;br /&gt;
Does this hardware do A2DP encoding?  One big problem I had with the Openmoko Freerunner is that it would support A2DP headphones through bluetooth, but only if you did it in software through ALSA or gstreamer via the bluez stack, which would chew up a bunch of CPU and the audio would skip if ever the system needed the CPU time for something else.&lt;br /&gt;
&lt;br /&gt;
I got a Nokia N900 instead and it seems to do its A2DP encoding in hardware so I was able to find a good open source solution for listening to my podcasts, but I'm also interested in this device.&lt;br /&gt;
&lt;br /&gt;
[[User:Daniel.benoy|Daniel.benoy]] 17:56, 25 May 2010 (MEST)&lt;br /&gt;
&lt;br /&gt;
== QEMU and some ARM hacks for emu choices (limited) ==&lt;br /&gt;
&lt;br /&gt;
First, there are no good solution here, just some info.&lt;br /&gt;
[http://www.gp32x.com/board/index.php?/topic/48726-qemuonarm/| QEMU runs operating systems at 140mhz] on GP32X. So the Pandora could do it somewhere between 280mhz to 400mhz? Also, I use QEMU on my Android (ARM) for various things (but not games). Anyway, QEMU should provide a way to run _older_ (Pentium era) PowerPC and x86 stuff also right?&lt;br /&gt;
Reportedly, Windows is problematic when virtemu-lated on ARM but  [http://www.reactos.org/wiki/ARM_Port| ReactOS on ARM] is a lot friendlier to the architecture (as it can actually be compiled for ARM). ReactOS being a the result of clean-room reverse engineering of Windows for the purpose of a total copyleft replacement of the beast. But likewise, ReactOS is not that practical in its purpose yet.&lt;br /&gt;
There are also PowerPC versions of windows NT 3.1 to 3.51 (the platform must be fully PReP compliant, Macs cant do it) (Also Alpha and MIPS, btw).&lt;br /&gt;
Microsoft has announced [http://www.winrumors.com/microsoft-demonstrates-early-build-of-windows-8/| ARM compatibility for Windows 8]. However, I wouldn't count them following through anytime soon (_maybe_ Windows 10 will deliver). If they follow their usual pattern, this announcement is simply to hold off customers from buying competing software until Microsoft can jury-rig a suitable snake-oil solution to convince customers they really never needed the competitor's software or Windows on ARM to begin with.&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Libpnd_hub&amp;diff=9617</id>
		<title>Libpnd hub</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Libpnd_hub&amp;diff=9617"/>
		<updated>2012-01-18T01:01:52Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Recommended layout of a pnd directory structure, ie: how to make a well behaved pnd file */ Update: Changing HOME variable to PND dir was only necessary before Pandora OS 1.6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Basic users will be more interested in the page [[Introduction to PNDs]]''&lt;br /&gt;
&lt;br /&gt;
{{TOC limit|limit=3}}&lt;br /&gt;
&lt;br /&gt;
{{split section|To much text, a lot of things could be outsourced to dedicated shorter articles}}&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
&lt;br /&gt;
[[libpnd]] is a basic collection of functions and tools to make working Pandora-specific operations easier; to wit, it is hoped multiple applications will make use of this library rather than re-implement similar functionality and lead to problems down the road. (Instead we can run into problems together and thus clobberize them.)&lt;br /&gt;
&lt;br /&gt;
[[libpnd]] thus is a collection of:&lt;br /&gt;
&lt;br /&gt;
* handy system code that hopefully is reusable - IO functions, CPU clock setting, etc.&lt;br /&gt;
* applications for supporting the Pandora's unique features, such as ''pndnotifyd'' for auto-discovery of PXML and .pnd applicatons&lt;br /&gt;
* libraries for support of the .pnd and PXML systems; i.e.: for locating, executable, mounting and unmounting PXML-directory and .pnd applications, loading PXML and handling overrides&lt;br /&gt;
* hopefully reusable code for support of these things; i.e.: a rudimentary but useful config-file parser, rudimentary singly-linked-list container, etc.&lt;br /&gt;
&lt;br /&gt;
It will also include utility functions for setting the CPU clock, reading GPIO inputs without depending on SDL, and other handy bits.&lt;br /&gt;
&lt;br /&gt;
'''You can, nay, are required to - contribute to libpnd!'''&lt;br /&gt;
&lt;br /&gt;
==Design considerations and philosophy==&lt;br /&gt;
&lt;br /&gt;
While much of [[libpnd]] is obvious, some decisions had to be made and it may help to know the guiding principle behind it; the Pandora device will be a handheld '''computer''', but libpnd is designed to facilitate certain operations with goals towards..&lt;br /&gt;
&lt;br /&gt;
* simplicity - just work right, configuration not generally needed&lt;br /&gt;
* obviousness - work as one would expect for this sort of device; i.e.: the user assumes something will work a certain way, and it does&lt;br /&gt;
* like other guys - as an extension of the prior point, we have tried to follow UNIX spirit and provide reusable small tools to do the work those bits can be leveraged, but further tried to follow the spirit of other consoles. So while the device is a powerful little computer, it is probably going to be used by gaming and retro enthusiasts and so we color some of our decisions that way. (i.e.: consider that a PS2/xbox/PSP/etc will have save-game or data management as a separate application, for instance. If thats the best multi-million dollar companies can come up with over decades, well, its not so bad for us to fall back on!)&lt;br /&gt;
* not over-defined; libpnd and PXML try to define a bunch of things, but we also do not _over define_; we try to lead by providing examples and styles, and while we have designed ahead for many things, we have also not nailed a lot of that down too early. It is better to be simple and shipped, then complex and a mess.. adaptable rather than scary.&lt;br /&gt;
&lt;br /&gt;
The library is of course broken into parts:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Part!!Comment&lt;br /&gt;
|-&lt;br /&gt;
|include||include these files to make use of the lib&lt;br /&gt;
|-&lt;br /&gt;
|lib||the code that produces the lib&lt;br /&gt;
|-&lt;br /&gt;
|test||mini tools to test various pieces of the lib in isolation&lt;br /&gt;
|-&lt;br /&gt;
|bin||test tools - tools for testing the lib as it is developed, not anticipated to be used by many&lt;br /&gt;
|-&lt;br /&gt;
|testdata/||for testing /etc/pandora; will contain 'conf' dir, for example&lt;br /&gt;
|-&lt;br /&gt;
|apps/||actual applications people may use, such as [[pndnotifyd]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For now though, here are a couple notes about the design.&lt;br /&gt;
* it is straight C code, to be maximumly re-usable (perhaps C++ and other language bindings will tie back to it). I have gone out of my way to limit external references so that bindings are easier to make. &lt;br /&gt;
* contrary to the previous comment, we've used a bit of C++ for the tinyxml parser .. hopefully this is not an issue.&lt;br /&gt;
* I have tried to keep the API relatively simple and am faking some OO like data hiding to try to keep dev noses out of structures that are subject to change. i.e.: functions for list management and node access are provided, don't dig into the void* cast structs, or you could get burnt.&lt;br /&gt;
* the API should be pretty stable; so far very few user-code changes have ever been needed.. lib internal changes should be binary compatible.&lt;br /&gt;
* As a result of that decision, 'handles' are used; a handle is a 'black box' type, something you cannot just use 'handle h; h -&amp;gt; foo = 5' type code for. Instead, internally the library will cast the handle to the actual useful type (which may involve pointer arith etc). This way the user can be returned a handle, and pass the handle to various access functions to get useful data/operations.. but the user is not encouraged to look inside the data objects himself&lt;br /&gt;
* As another implication, access functions are available aplenty; it is a little unwieldy perhaps, but its all about keeping the API good without the user peeking inside and risking being broken down the road. (By example, consider.. you use ftell() on a FILE object; you don't go looking in FILE for the 'position' member, since it might be platform specific, etc.)&lt;br /&gt;
* The lib works pretty well, but there is room for improvement internally; it won't hurt my feelings for you to suggest improvements, and I'm sure we would all be grateful for any patches you provide. We've _started_ this library, but by no means wish to carry it alone!&lt;br /&gt;
&lt;br /&gt;
==Opportunities for improvement==&lt;br /&gt;
&lt;br /&gt;
Certainly nothing is perfect, especially when chasing moving targets.  Some aspects of the library are less efficient, or missing, or buggy, and a few things are noted here should someone have time. The API was designed to be pretty stable so the internal code could be altered without breaking the API interface.&lt;br /&gt;
&lt;br /&gt;
* Better ISO lang handling ... due to shift from original PXML spec to new PXML spec with better lang support I've not updated some of the internal code, API uses etc to handle it. (even .desktop files could include all iso-lang titles, and let the WM pick through as the spec suggests.)&lt;br /&gt;
* Validation of files when they're loaded&lt;br /&gt;
* An actual parser of PXML metadata&lt;br /&gt;
&lt;br /&gt;
[[New PND format | This page describes a proposed new PND format.]]&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
&lt;br /&gt;
libpnd (including all the apps etc) are released under the LGPL (ie: so there should be no encumbrances that prevent linking to commercial applications.):&lt;br /&gt;
&lt;br /&gt;
GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999&lt;br /&gt;
&lt;br /&gt;
==Obtaining the library==&lt;br /&gt;
&lt;br /&gt;
libpnd is in the Official Pandora GIT repo: [http://git.openpandora.org/cgi-bin/gitweb.cgi]&lt;br /&gt;
To obtain yourself a copy, use something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git://git.openpandora.org/pandora-libraries.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thats all you normally need. For copy-paste from the private Wiki sake, heres what I had before:&lt;br /&gt;
Without going into how to set up a GIT, the summary that I (as a registered dev in the repo) used was:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir libpnd&lt;br /&gt;
cd libpnd&lt;br /&gt;
git init&lt;br /&gt;
git remote add libpnd ssh://foo@git.openpandora.org/srv/git/pandora-libraries.git&lt;br /&gt;
git push libpnd master&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building the library==&lt;br /&gt;
&lt;br /&gt;
Standard 'make' should be sufficient here; pull down the directory from the GIT, cd into it, and run make. Thats it.&lt;br /&gt;
&lt;br /&gt;
Note that the make default target is 'everything', which will emit:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
libpnd.a - the static linked version of the lib&lt;br /&gt;
libpnd.so.1.0.1 - the dynlinked version &lt;br /&gt;
libpnd.so.1 - the stub for the shared lib; i.e.: apps should link against libpnd.so.1 and not the 1.0.1 over-specific version&lt;br /&gt;
bin/* - the 'test' dir and the 'apps' dir builds will end up in bin&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few additional make targets, however.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Target!!Description&lt;br /&gt;
|-&lt;br /&gt;
|make clean||wipes out the object files, the bin files, and *~* (emacs backup files), empties some of the deploy stuff, etc. Do this before committing to GIT or we will beat you with sticks.&lt;br /&gt;
|-&lt;br /&gt;
|make deploy||populates the deploy/ directory, which is what is used inthe shipping images; i.e.: testdata/conf includes test configs, while deploy/etc/pandora/conf includes the configs we ship with. This &lt;br /&gt;
|-&lt;br /&gt;
|make||will copy over some of the libs and binaries and such.&lt;br /&gt;
|-&lt;br /&gt;
|make pnd||create a few sample pnd files for testing the lib on an x86 machine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Included Applications==&lt;br /&gt;
&lt;br /&gt;
===pndnotifyd===&lt;br /&gt;
&lt;br /&gt;
Manages the auto-discovery mechanism and integrating PXML.xml dir-apps and [[.pnd]] files into the FreeDesktop standard system (.desktop files). A dedicated libpnd-aware menu could leverage libpnd directly and not need [[pndnotifyd]], though pndnotifyd does offer some handy bits such as HUPping apps to suggest to them that applications may have been added/removed (libpnd includes all the necessary functions for this as well.)&lt;br /&gt;
&lt;br /&gt;
===pndvalidator===&lt;br /&gt;
&lt;br /&gt;
Is mostly a skeleton right now; in the future, it is hoped it will inspect a PXML.xml and then check to ensure the referenced assets are present; the goal to validate the PXML.xml is spec compliant, and the resulting application would be useful.&lt;br /&gt;
&lt;br /&gt;
===discotest===&lt;br /&gt;
&lt;br /&gt;
One of the test tools; it essentially runs an auto-discovery to list off the found apps (be they PXML.xml dir apps or .pnd files), and can dump various data or invoke one or other little tasks; used to test lots of&lt;br /&gt;
bits of [[libpnd]] as it was developed.&lt;br /&gt;
&lt;br /&gt;
===rawpxmltest===&lt;br /&gt;
&lt;br /&gt;
Reads a given PXML.xml and spits out some of the fields found within.&lt;br /&gt;
&lt;br /&gt;
===Test tools===&lt;br /&gt;
&lt;br /&gt;
See the test/ dir in the libpnd source for assorted goofy little test apps used for testing bits of libpnd over time. They also may serve as source examples for using some of the APIs. They're old and shoddy probably too.&lt;br /&gt;
&lt;br /&gt;
==How does it work?==&lt;br /&gt;
&lt;br /&gt;
This is just a quick summary to save you guessing by reading [[PXML_specification|this whole document]].&lt;br /&gt;
&lt;br /&gt;
In essence, libpnd includes lots of real code, but in many places it passes heavy lifting off to shellscripts. This is both handy because the scripts are easily modified without recompilation, and further extends our design goals of making the library bindable to any other language.&lt;br /&gt;
&lt;br /&gt;
Remember, PXML.xml directories are just as executable/mountable as .pnd apps.&lt;br /&gt;
&lt;br /&gt;
So while libpnd is mostly straight-C and so easily bound to python or perl or whatever, libpnd itself invokes many scripts. Those scripts can be directly used by other applications, including other shellscripts.. so libnd functionality can even have bindings in other scripts. This is very flexible and powerful, and handy during debugging or SSHing into the Pandora, etc.&lt;br /&gt;
&lt;br /&gt;
The application lifecycle goes like this:&lt;br /&gt;
&lt;br /&gt;
* device is turned on&lt;br /&gt;
* during init, pndnotifyd is brought up and inhales the config giles&lt;br /&gt;
* pndnotidyd will attempt to auto-discover what PXML.xml directory apps and .pnd-file apps are in the configured searchpaths&lt;br /&gt;
* pndnotifyd will set up filesystem watches on the directories in the notify searchpath; if any of those directories are touched, pndnotifyd will wake up and re-auto-discover .. possibly removing .desktop entries or creating new ones. (i.e.: you drop a new app into the app searchpath, or remove one, or mount an SD card, etc. This is how appications immediately show up or vanish from the window manager desktops.)&lt;br /&gt;
* a libpnd aware launcher can execute applications direct (using libpnd)&lt;br /&gt;
* a libpnd unaware launcher can execute applications via the .desktop standard system; pndnotidyd will emit .desktop files as needed.&lt;br /&gt;
* when libpnd or a .desktop file need to execute an application, they do it via pnd_run.sh (which may be leveraged by other applications, but they hould use libpnd if they can instead, for utmost compatiblity down the road.) pnd_run.sh does the mount of the ISO, runs the actual execable and so on, as directed by libpnd or the command-line args from the .desktop. pnd_run.sh will clean up after everything as well.&lt;br /&gt;
&lt;br /&gt;
So it all works like magic, but it is not that complex a system once you've got the hang of what all is going on.&lt;br /&gt;
&lt;br /&gt;
application → libpnd → shellscripts → system&lt;br /&gt;
&lt;br /&gt;
==FAQ: IF you want to make files visible to the apps, do you have to modify the pnd?==&lt;br /&gt;
&lt;br /&gt;
No. When apps write back to themselves, the writes go to their /pandora/appdata on the SD that houses them. The next time the app reads a file in its directory, the OS will ensure they get the newer file, which is the one in the appdata.&lt;br /&gt;
&lt;br /&gt;
Likewise, you can just drop a file into the appdata and the app will see it.&lt;br /&gt;
&lt;br /&gt;
The app doesn't know about appdata and its pnd file.. the OS and libpnd take care of all the magic.. the app sees one directory, but the reality is there is magic merging going on behind the scenes.&lt;br /&gt;
&lt;br /&gt;
==Assumptions about the filesystem and Configuration==&lt;br /&gt;
&lt;br /&gt;
Note that for libpnd to work, it makes certain assumptions about the filesystem and config files. Since libpnd was developed with the images it should work for the Pandora .. but just dropping libpnd onto another Linux distribution and it won't likely 'work out of the box'. Certain config files will need to be set, and certain conventions followed.&lt;br /&gt;
&lt;br /&gt;
===Searchpaths===&lt;br /&gt;
&lt;br /&gt;
libpnd was designed so that most everything is configured in files, and that these files should be easily hackable and easily overriden, without compromising the machine. It should be feasible to add a config file to an SD card, have it take over if available when required, and then 'undo' those configs simply by removal of the SD card and rebooting.&lt;br /&gt;
&lt;br /&gt;
To facilitate this design goal, all config files are 'sought' using a search-path system.&lt;br /&gt;
&lt;br /&gt;
Developers should be mindful of using the libpnd APIs so this behaviour is inherited to interested applications; developers could also reuse the logic for searching for files, if they find it useful.&lt;br /&gt;
&lt;br /&gt;
Searchpaths are colon-delimited list of paths, searched left to right.&lt;br /&gt;
&lt;br /&gt;
ex: foo:bar:/my/baz means to look for a given file in 'foo', then in 'bar', then in '/my/baz'.&lt;br /&gt;
&lt;br /&gt;
The standard config files have a default searchpath, and those config files will define further searchpaths for scripts and such the system uses. This makes the system highly flexible -- default scripts are included, but can be overridden by dropping the right named script on an SD card, or by altering a config file.&lt;br /&gt;
&lt;br /&gt;
See the example config files below for example searchpaths -- i.e.: how pndnotifyd searches for pnd_run, etc.&lt;br /&gt;
&lt;br /&gt;
===Notification paths===&lt;br /&gt;
&lt;br /&gt;
The 'apps' config includes a searchpath that specifies the sub-paths to be 'watched'. Various watch mechanisms exist for various filesystem types, but over the course of Pandora development (various kernels, various k-modules, various DM and WM's, I found the included system most stable, though not most current. After a final device image is settled on, it might be time to alter the notification system, but it should not impact the libpnd API.)&lt;br /&gt;
&lt;br /&gt;
Anyway, watches are placed upon the paths defined, and if anything in those paths changes, the auto-discovery code is kicked off to seek our PXML.xml and .pnd type applications in the search paths.&lt;br /&gt;
&lt;br /&gt;
Note that searchpath and notifypaths are different (and usually very similar, but have the option to be very different.)&lt;br /&gt;
&lt;br /&gt;
===Config files===&lt;br /&gt;
&lt;br /&gt;
libpnd includes a generic simple config file parser and assumes the presence of a few config files. It also includes defaults&lt;br /&gt;
so if a config is missing or broken things should work.&lt;br /&gt;
&lt;br /&gt;
In general, Pandora specific config files should be located in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/pandora/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The config files are:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!!File!!Description&lt;br /&gt;
|-&lt;br /&gt;
|conf||this file is generally _not_ included with the Pandora and left to default; its job is to define the basic default searchpath for config files, so should you wish to override things entirely, you may need to alter this file. i.e.: If you wish to switch to test config files on SD or in /tmp, instead of using any other conf files .. you can create this guy. This provides a mechanism to short circuit the entire conf system.&lt;br /&gt;
|-&lt;br /&gt;
|apps||this config file defines auto-discovery and other application bundle parameters&lt;br /&gt;
|-&lt;br /&gt;
|desktop||this config defines &amp;quot;dotdesktop&amp;quot; .desktop and FreeDesktop integration paramters -- example is where to spit out icons or .desktop files from discovered PXML.xml or pnd applications&lt;br /&gt;
|-&lt;br /&gt;
|categories||this config maps PXML.xml spec based categories to FreeDesktop standard categories; in this way a PXML based applicatoin can show up in the appropriate categories of a WM that does not use libpnd&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====conf File====&lt;br /&gt;
&lt;br /&gt;
No default is included with the distribution.&lt;br /&gt;
&lt;br /&gt;
The default search path is reasonable and assumes we want the official /etc/pandora/conf near the end, with checks to the SD cards for overrides first. (Likely most people will not override, so the canonical location will be used 99.9% of the time.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PND_CONF_SEARCHPATH &amp;quot;/media/mmcblk0p1/pandora/conf:/media/mmcblk1p1/pandora/conf:/etc/pandora/conf:./testdata/conf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The key for override is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PND_CONF_KEY        &amp;quot;conf.searchpath&amp;quot; /* if not found, use PND_CONF_SEARCHPATH */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which suggests using something like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[conf]&lt;br /&gt;
searchpath   /foo/bar:/baz/bing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====desktop File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# Desktop configuration&lt;br /&gt;
&lt;br /&gt;
[dotfiles]&lt;br /&gt;
#(~/Desktop for xfce, /usr/share/applications for WMs that actually follow spec)&lt;br /&gt;
dotdesktoppath  ~/Desktop/      # path for pndnotifyd to spit .desktop files into (run as root)&lt;br /&gt;
iconpath        /tmp    # path for pndnotifyd to drop icons into (can be same as .desktop if WM permits)&lt;br /&gt;
&lt;br /&gt;
[launcher]&lt;br /&gt;
# if hupscript is commented out entirely, pndnotifyd will not try to find/run the hup&lt;br /&gt;
# if it is uncommented, pndnotifyd will attempt to invoke the hupscript after emitting .desktop files&lt;br /&gt;
# (the hupscript exists to hup the WMs to redisplay .desktop apps)&lt;br /&gt;
#hupscript      pnd_hup.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====apps File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# Application configuration&lt;br /&gt;
&lt;br /&gt;
[autodiscovery]&lt;br /&gt;
# searchpath is a list of paths (colon separated) in which to look for PXML.xml or .pnd-file applications&lt;br /&gt;
searchpath      /media/*/pandora/apps:/usr/pandora/apps&lt;br /&gt;
# notifypath is a list of paths to monitor; if anything in those paths changes, the searchpath is rescanned&lt;br /&gt;
# note that for each path chunk, all current subdirs of that path are also watched)&lt;br /&gt;
notifypath      /media:/media/*/pandora/apps:/usr/pandora/apps:./testdata/app?&lt;br /&gt;
&lt;br /&gt;
# PXMLs may be overridden .. i.e.: overrides are a subset of PXML, where the values are copied over the full PXML&lt;br /&gt;
[overrides]&lt;br /&gt;
# searchpath to look for PXML overrides (which are named by the unique-id)&lt;br /&gt;
searchpath      ~/pxml-overrides&lt;br /&gt;
&lt;br /&gt;
# [pnd] defines where to locate the pnd support scripts, so the user may override pnd_run.sh without clobbering built in&lt;br /&gt;
[pnd]&lt;br /&gt;
searchpath      /media/*/pandora/scripts:/usr/pandora/scripts&lt;br /&gt;
runscript       pnd_run.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====categories File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# dotdesktop configuration&lt;br /&gt;
&lt;br /&gt;
# this config file maps 'PXML' categories to free-desktop standard categories&lt;br /&gt;
# i.e.: category 'Foo' could map to more standard 'Utility', thus making .desktop file&lt;br /&gt;
# emitting a more useful thing&lt;br /&gt;
&lt;br /&gt;
# the standard listing of categories is:&lt;br /&gt;
# http://standards.freedesktop.org/menu-spec/latest/apa.html&lt;br /&gt;
&lt;br /&gt;
# note that 'map' section in the config is _required_ for a match to be found; this&lt;br /&gt;
# is done to separate categories from (future) top-level directives&lt;br /&gt;
&lt;br /&gt;
default Application;Utility;Network;&lt;br /&gt;
&lt;br /&gt;
[map]&lt;br /&gt;
Development     Development&lt;br /&gt;
Education       Education&lt;br /&gt;
Games   Game&lt;br /&gt;
Graphics        Graphics&lt;br /&gt;
Internet        Network&lt;br /&gt;
Multimedia      AudioVideo&lt;br /&gt;
Office  Office&lt;br /&gt;
Settings        Settings&lt;br /&gt;
System  System&lt;br /&gt;
Utilities       Utility&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SD card layout===&lt;br /&gt;
&lt;br /&gt;
libpnd concerns itself with things in the 'pandora' root folder on SD. We agonized over this decision, but settled on this to avoid cases where someone with a 16GB SDHC card puts 50-million files with &amp;quot;.pnd&amp;quot; on them, and expects reasonable performance. Instead, applications for instance would have to be in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/menu -&amp;gt; apps that will go to /usr/share/applications and should show up in xfce menu by category&lt;br /&gt;
/pandora/desktop -&amp;gt; apps that will go to ~/Desktop and show up on user desktop as icons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following location is used by pmenu (and may get deprecated, but I've not discussed it with cpasjuste yet.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/apps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i.e.: the searchpath for autodiscovery includes /media/*/pandora/apps (and desktop and menu now)&lt;br /&gt;
&lt;br /&gt;
Also in the /pandora/ folder is a magic 'appdata' folder:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/appdata&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a .pndfile or PXML.xml dir get mounted, any writes back to the mounted area are put into appdata, with a subdir by the unique-id. i.e.: With the hypothetical MAME.pnd, it might update its config files after a user changes something, or create new files, or store hiscores or whatever. If it doesn't write them to [[NAND]], and doesn't want ot write them to /mame/some/dir, but instead record it to itself for whatever reason, it would go to /pandora/appdata/MAMEs-ID/ instead. The pnd or PXML.xml app area is never modified during a run, only the appdata. (But when an application reads its own path, it will pick up the appdata version of the file instead of the actual file. Then magic of union-type filesystems!)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
If Myapp with unique-id foo.123 is mounted, then any write-backs are directed to..&lt;br /&gt;
&lt;br /&gt;
/pandora/appdata/foo.123/&lt;br /&gt;
&lt;br /&gt;
On the SD that hosts the application.&lt;br /&gt;
&lt;br /&gt;
===NAND layout===&lt;br /&gt;
&lt;br /&gt;
In addition to seeking applications in [[SD cards]], /usr/pandora/apps is included in the default searchpath, so that 'built in' apps can be listed, or users can drop them there.&lt;br /&gt;
&lt;br /&gt;
It might be a cool addition to put a user homedir into the searchpath as well, so [[NAND]] but user-homedir (for on-device browser downloads, say.)&lt;br /&gt;
&lt;br /&gt;
==Command line tools and testing==&lt;br /&gt;
&lt;br /&gt;
A number of scripts and tools are included or built with libpnd, to facilitate testing of the lib as its being developed and to assist in making .pnd files and PXML.xml files.&lt;br /&gt;
&lt;br /&gt;
==PXML.xml and .pnd files==&lt;br /&gt;
&lt;br /&gt;
On most platforms, applications are distributed as an executable and optional datafiles and likely an installer. The installers job is to integrate the application into the filesystem, as the transport mechanism itself is not executable and is considered temporary. In Windows an application might be installed into Program Files, while in Unix an application might be dropped into /usr/local/bin .. data files in various other places.&lt;br /&gt;
&lt;br /&gt;
For the Pandora platform we wanted a very easy to use workflow -- download and run -- and also have a very different operating environment. With multiple SD cards available for expansion (and that space being highly desirable due to a smaller internal store) it is desirable to install applications to SD, and yet SD cards are by definition something users will wish to carry multiple of. With two slots, it could be quite a chore to install an application to SD1, its data to SD2, and then say have only one of them plugged in at a time, or switch which slot they're in, or any number of scenarios. i.e.: Installing onto a medium which may be present or not at any time is very different to how most operating systems work. So we made something new and awesome.&lt;br /&gt;
&lt;br /&gt;
The PXML.xml and .pnd-file approach we came up with attempts to address these issues.&lt;br /&gt;
&lt;br /&gt;
The goals:&lt;br /&gt;
* for the user, an application can be a single file download&lt;br /&gt;
* furthermore, there is no installation whatsoever, beyond dropping that single file into the right place on the SD card&lt;br /&gt;
* using the application should be easy -- stick in the SD card, and tap/launch on the icon.&lt;br /&gt;
* for uninstallation, delete the single file. Thats it, no fuss.&lt;br /&gt;
* for the developer, creating that single file should be easy to do&lt;br /&gt;
* for the system, performance should be high&lt;br /&gt;
&lt;br /&gt;
Remember, an application can be a .pnd 'bundle' (single file containing all the sub-files), or a PXML.xml 'dir application' (an unpacked .pnd esentially.) '''BOTH PXML.xml-dirs and .pnd's ARE EXECUTABLE.'''&lt;br /&gt;
&lt;br /&gt;
pndnotifyd will auto-discover PXML.xml in a directory and consider that an application, emitting a .desktop file, just as well as a .pnd file. i.e.: This can be hand for development or users. Remember that a mounted PXML.xml dir still redirect write-backs to the /pandora/appdata directory, just like a full .pnd application. They are treated the same!&lt;br /&gt;
&lt;br /&gt;
===What are PXML.xml and .pnd files?===&lt;br /&gt;
&lt;br /&gt;
PXML.xml is a file describing an application&lt;br /&gt;
A directory containing a PXML.xml _is executable_&lt;br /&gt;
A .pnd file is the packaged up version of the directory that is executable.&lt;br /&gt;
i.e.: a PXML.xml in a directory is just as executable as a .pnd representation of that directory.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir OutcaST&lt;br /&gt;
cp outcast.bin OutcaST/&lt;br /&gt;
cp PXML.xml OutcaST/&lt;br /&gt;
# at this point, the OutcaST directory is now discoverable and executable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pnd_make.sh -this -that OutcaST outcast.pnd&lt;br /&gt;
# at this point, outcast.pnd is executable (as is the OutcaST directory), so upload outcast.pnd to the Open Handhelds Archive and let people enjoy!&lt;br /&gt;
&lt;br /&gt;
===A note on including shared libs===&lt;br /&gt;
A philsophy for packaging that I am advocating is to 'just make applications work' -- avoid dependancy trees.&lt;br /&gt;
&lt;br /&gt;
Some guidelines:&lt;br /&gt;
&lt;br /&gt;
1) you can depend on shared libs included with the firmware to always be there&lt;br /&gt;
&lt;br /&gt;
2 you should include any shared libs you need for your app, that are not in the firmware (yes, this increases app size a little bit, and potentially makes for duplication among apps that use the same shared libs)&lt;br /&gt;
&lt;br /&gt;
3) if a shared lib becomes desirable in the firmware, it can be added there as a firmware patch easily (this has the advantage of gradulaly updating the entire user based, and apps easily saying 'we depend in firmware version X', rather than making for pnd-dependnacies and the equivilent of 'dll hell'&lt;br /&gt;
&lt;br /&gt;
4) You'll have to be careful in linking your application to ensure that the shared libs you are including in the pnd/PXML-dir are to be locatable by your binaries. ie: stick them in a 'lib/' dir in your bundle, and stamp your binary with a library-path './dir/' so they can be found, say. More later.&lt;br /&gt;
&lt;br /&gt;
===Future idea: pnd's for containing system-wide shared libs===&lt;br /&gt;
&lt;br /&gt;
This is something we've bounced around for quite awhile, but not committed to. As it keeps coming up I thought I'd put some notes here in public.&lt;br /&gt;
&lt;br /&gt;
It is possibly desirable to make a special searchpath that is discovered during machine boot, and any pnd's found there are automatically mounted (and left mounted) into a special path (say /usr/local/pandora/lib or somesuch.) This way, collections of handy utilities or shared libraries could be distributed as a pnd, and become available in consistent locations. If 10 applications need a shared lib, and don't want to duplciate it in each of their pnd files, this could be an approach.&lt;br /&gt;
&lt;br /&gt;
I tend to think it is best avoided, however, since it complicates the user experience -- we end up with pnd depandancies, and apps nolonger about to 'just work', and apps that did work and 'suddenly break' when other files are altered. The philosphy we're going for with pnd files is 'drag and drop' -- user downloads a pnd file, and it works.. a self contained application, nice and easy. We start complicating the dependancies, and it turns into 'dll hell' as seen on other platforms.&lt;br /&gt;
&lt;br /&gt;
That said, it is _not_ difficult to add into the existing system and design; we've been mulling it over, but it is best avoided for now. rather than complicate the system up front, let us try to get a functional and as lightweight-as-possible system on the uptake, gather some usage data points and then worry about upgrades :)&lt;br /&gt;
&lt;br /&gt;
===File format - PXML.xml / PXML Specification===&lt;br /&gt;
See the [[PXML_specification|PXML specification]]&lt;br /&gt;
&lt;br /&gt;
Alternatively the spec is included in the docs/ directory of the libpnd distribution, though the wiki version linked above should be considered cannon.&lt;br /&gt;
&lt;br /&gt;
A note on history; the PXML spec was originally created by EvilDragon, and went through a number of revisions as suggestions came in; as these things are wont to do, the target was ever moving and the scope and meaning of PXML changed so at some point a more strategic approach was needed. dflemstr took it upon himself to help recode some of the parse and re-evaluate many of the PXML decisions and hence was born the PXML-version-2 spec.&lt;br /&gt;
&lt;br /&gt;
===File format - .pnd files===&lt;br /&gt;
The pnd file format is pretty straight forward, though most will interact with it through the included (or community supplied) tools.&lt;br /&gt;
&lt;br /&gt;
Basically its just an ISO file (or other filesystem type) with a PXML.xml and an optional PNG icon appended. (example: cat appfolder.iso app.pxml icon.png &amp;gt; app.pnd) For ease of discussion, I refer to ISO but in fact you coudl be using squashfs or other types.&lt;br /&gt;
&lt;br /&gt;
The ISO filesystem portion of the file can include anything the developer wishes, as long as it includes a PXML.xml in its root file and an executable somewhere in there. It can also include images, audio files, data files of any kind. It can be small or large.&lt;br /&gt;
&lt;br /&gt;
Yes, the PXML.xml is included in the ISO portion (in the root directory), and also appended to the end of the .pnd file (for _convenience_ .. it is very easy and fast to locate in this position; we can backseek into the ISO to find the PXML, but if its a 500MB ISO it could take awhile. Hence, we append it and can find it in one seek.)&lt;br /&gt;
&lt;br /&gt;
'''NOTE: The naming of the PXML.xml file is important! The name is case sensitive and must be &amp;quot;PXML.xml&amp;quot;, nothing else!'''&lt;br /&gt;
&lt;br /&gt;
This simple format makes it possible to easily create .pnd files with the default utility's of most operating systems. Further, it is a fairly fail-safe system -- the PXML is appended, but is also included within the ISO image part of the file so if the appended-PXML is ever lost (unpack and repack poorly, say) the system will still work (the PXML inside the ISO can be found easily, even without mounting the ISO _as_ an ISO, since it is a plaintext uncompressed image format.) &lt;br /&gt;
&lt;br /&gt;
Manually creating a .pnd (or even a PXML) is a pain so there will be a few helper scripts or maybe even a gui app out when we launch.&lt;br /&gt;
&lt;br /&gt;
Included with libpnd are some scripts to create PXML and pndfiles, though it is expected people will create handier utilities. See the tool section of this wiki for some details.&lt;br /&gt;
&lt;br /&gt;
Question from the gp32x forum regarding confusion of PXML location -- remember that in general most developers will keep a directory that represents the .pnd or PXML-dir application. Their makefile/build-process will drop the executable(s) into that directory, which inludes a PXML.xml description of the application, and possibly an icon (and whatever all else they wish.) To build the .pnd file, a script (say) is used which compresses all this into the pnd format (including appending the PXML.) So yes, the PXML is in two places in the .pnd file and one place in the source directory. You'll get used to it ;)&lt;br /&gt;
&lt;br /&gt;
Rationale --&lt;br /&gt;
&lt;br /&gt;
Several iterations of pnd files have been considered, from zipfiles to cramfs to other formats, to putting in a key/value set of information tags in the file, to table-of-contents indexes, to any number of options to help performance, and so on. In the end we went for a good overall and simple solution and dropped getting fancy -- PXML.xml can be extended to define the type of the file if it cannot be magic'd, so we could using other filesystem types in the future (and this is why people should use libpnd rather than rolling their own solution.) For now however, pnd files are ISO files with the PXML.xml appended and an optional icon. This keeps the PXML and icon easy to locate, and yet a easy file format.&lt;br /&gt;
&lt;br /&gt;
====Recommended layout of a pnd directory structure, ie: how to make a well behaved pnd file====&lt;br /&gt;
&lt;br /&gt;
These are guidelines to make pnd-files 'well behaved', and to help move towards a consistent pnd structure.&lt;br /&gt;
&lt;br /&gt;
* Always include your icon png-file and PXML.xml file in the _Root_ of the pnd-file; this is for reasons that folks may well unpack the pnd-file, and then repack it; in doing so, if the icon and PXML.xml (normally appended to the .iso to become a .pnd) will be lost, unless the user or tool is being careful. Thus, it is wise to include them within the .iso, to make things so the iso is the entire pnd application, in unpacked form.&lt;br /&gt;
&lt;br /&gt;
* Use a 'reasonably unique' unique-id of course (to identify your application.) This is used for many internal uses, so uniqueness is pretty wise.&lt;br /&gt;
&lt;br /&gt;
* Use an 'application relevant' appdata name; make it as unique as you have to, but consider being less unique; a random example could be .. possibly there may be several quake1 ports; they could all share the same appdata (same config files, same data files), but if you intend on having different config or data files than other quake1's, make your appdata named differently. &lt;br /&gt;
&lt;br /&gt;
* Always Always Always write your 'state info' to current-working-directory (ie: ./foo, and not ~/foo). The pnd-system will redirect this to the users appdata of course, keeping things clean and predictable. If you're just porting an app, that has ~ all over the darned place, and you don't want to muck up the code ... just have your 'runscript' do something like 'export HOME=$(pwd)' and you're good to go! '''Note: At the latest as of Pandora OS release Zaxxon with Hotfix 6, changing the HOME variable to point to the PND working directory is not necessary anymore as the OS takes care of changing the HOME variable of a PND session's variable environment. (Info from Skeezix)'''&lt;br /&gt;
&lt;br /&gt;
* Try using rudimentary [http://en.wikipedia.org/wiki/Zenity Zenity] scripts to pop up imporant pre-run information to the user via the GUI, if the application can't do so; ie: Hatari itself has a very fine GUI in it, but if the Atari ST TOS image is not present, it just exits and fails to run, so the GUI doesn't have time to do anything useful. In this case, it could be wise to use a 1 line Zenity script that checks before the emu runs for the file in question, then pop up a dialog box saying 'put this file /here', so the user knows what the heck happened&lt;br /&gt;
&lt;br /&gt;
* Runscripts; the PXML.xml can specify to run your binary, or you can run a .sh script that in turn runs your binary, say. This lets you do various tests, set up LD_LIBRARY_PATH, or other mischief before your binary gets run. Very handy. I often have PXML.xml run 'runfoo.sh', and runfoo.sh in turn runs ./foo after setting things up, making directories, etc.&lt;br /&gt;
&lt;br /&gt;
* Always include a documentation 'info' link, if your app has any setup requirements, has popup help screens that the user needs to know a key to pop up, or other essential trivia; feel free to make the doc link as complete as you like, since its all within the pnd file. (ie: Include the full DosBox documentation if you want to, in your DosBox pnd :)&lt;br /&gt;
&lt;br /&gt;
* Try to set up the appdata directory for the user; if you need a 'roms' or 'image' directory in the appdata (such as in the case of an Atari ST emulator needing a location to house the TOS OS image, say), then do a 'mkdir' in your 'runscript', to create it. Thus the user will find a (example) Hatari appdata directory, and within, any directories he needs (possibly empty.) This just makes it obvious for the user where to put stuff.&lt;br /&gt;
&lt;br /&gt;
* For data that is not kept in your appdata directory, try to keep it local to the current SD _or_ better still, search both SD. ie: libpnd uses a basic but really handy system for iterating across a list of directories (including glob type expansion); so you can tell it something like /media/*/foo:/tmp and it'll check every mounted device (including both SD slots) in the 'foo' directory, as well as /tmp; you can have it call your code as it looks through, or you can ask libpnd to find a file for you and report where it was found, across all your searchpaths; you don't have to use libpnd's code to do it, you coudl write oyur own (using libpnd as an example if you need the help), as its pretty easy to build (20 lines of code maybe?) Anyway, the trick is to be multi-SD aware, and bonus marks for handling if theres a USB mounted drive etc as well. (Example; I coded minimenu so that when it caches out a preview picture, it checks for free space first, and tries first on the same SD that the pnd is mounting from, and then across a searchpath of alternate locations to cache to; this way the user can customize the caching, and it can be on various devices.)&lt;br /&gt;
&lt;br /&gt;
====What filesystem types can be contained within a pnd-file?====&lt;br /&gt;
&lt;br /&gt;
The pnd container can really contain a large variety of filesystem types; day-zero we're aiming for ISO since it is simple, easy build across every major OS, and fast to use. But it is not the only supported filesystem type, and more should be added all the time. (Possibly '-auto' can be added to pnd-run and it'll &amp;quot;just work&amp;quot; for dozens of types!)&lt;br /&gt;
&lt;br /&gt;
A compressed filesystem type has always been desirable for file sizing reasons, though it potentially impacts performance (depending on the application operation really.)&lt;br /&gt;
&lt;br /&gt;
Supported types (not an exhaustive list!):&lt;br /&gt;
&lt;br /&gt;
* ISO&lt;br /&gt;
* squashfs&lt;br /&gt;
&lt;br /&gt;
===Creating pnd files===&lt;br /&gt;
&lt;br /&gt;
The [[PND quickstart]] page contains this information.&lt;br /&gt;
&lt;br /&gt;
===PXML overrides===&lt;br /&gt;
&lt;br /&gt;
There are a couple of ways to effect an override of the PXML, without modifying a pnd-file.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;In-path&amp;quot; override files: .ovr====&lt;br /&gt;
&lt;br /&gt;
The library automatically imports a limited number of overrides from a conf file that can be located in the same location as its matching .pnd file is.&lt;br /&gt;
&lt;br /&gt;
For instance, if /pandora/desktop/awesomegame.pnd exists, then libpnd will automatically also search for /pandora/desktop/awesomegame.ovr&lt;br /&gt;
&lt;br /&gt;
Some menu systems will also be smart enough to watch for an icon override -- /pandora/desktop/awesomegame.png -- and if present, to use it; 'minimenu' (mmenu) is aware of that, as is pndnotifyd daemon when emitting .desktop files. Likely pmenu will also be updated. In effect, the user can override the icon, category and other attributes of the pnd, without needing special tools or to alter the system.&lt;br /&gt;
&lt;br /&gt;
An .ovr file must be named identically to the pnd-file, excepting the 3 character file extension.&lt;br /&gt;
&lt;br /&gt;
NOTE: Given that a pnd may emit multiple applications from its PXML.xml, the ovr will have to be aware of this so it can override the correct application(s) within the pnd. Some menus and information tools will display the application list with 'subapp number' to assist identification. minimenu shows the subapp number in the detail panel, for example. In the case where a pnd-file has only one contained application, that is subapp-number zero. For any additional subapplications, increment by one .. but it can be tricky to know which app is which subapp number. (A careful eye will notice the .desktop filename includes the subapp-number after the pound sign .. foo#3.desktop is subapp_number 3.)&lt;br /&gt;
&lt;br /&gt;
The ovr file may (at this time) override the icon title, the CPU clock speed to set on launch, the main category, and the first subcategory for the main category. Additional fields will become overridable.&lt;br /&gt;
&lt;br /&gt;
Minimenu honors up to 3 lines of 'notes', pulled from the .ovr file. (Make sure they are in the right subapp group). note-1, note-2, note-3, see example below. The notes in minimenu are shown at the bottom of the detail text panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
[Application-0]&lt;br /&gt;
title                   HatariHack0&lt;br /&gt;
maincategory            Audio&lt;br /&gt;
maincategorysub1        Emulator&lt;br /&gt;
[Application-1]&lt;br /&gt;
title                   HatariHack1&lt;br /&gt;
clockspeed              200&lt;br /&gt;
note-1                  My note text line 1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PXML override file -- currently unsupported====&lt;br /&gt;
&lt;br /&gt;
PXML.xml files can have any number of their elements over-ridden by user preferences. &lt;br /&gt;
&lt;br /&gt;
The design goal here was to make it so user-preferences could alter the impact of the PXML.xml in any way, but without requiring the actual PXML.xml in the .pnd (and within the ISO therein) to be altered (could be a 500MB ISO after all!), and further, for these changes to persist. Consider than an SD card could be removed and inserted into the other slot, or the app could be removed entirely and come back another day, or other scenarios.&lt;br /&gt;
&lt;br /&gt;
As such, the PXML-overrides are kept in NAND in the user homedirectory (See the config files to find out where.)&lt;br /&gt;
&lt;br /&gt;
libpnd includes functions to pull in PXML, and also functions to then look for and merge in overrides. It is not always done since you may wish to inspect the PXML or the overrides, so the developers job is to do as they see fit -- pull the XML, and likely also pull in the overrides.&lt;br /&gt;
&lt;br /&gt;
At this time I'm not sure if people will ever use overrides, but the system has been built in should it be needed.&lt;br /&gt;
&lt;br /&gt;
===Included shellscripts to generate files and other sundry duties===&lt;br /&gt;
&lt;br /&gt;
====genpxml====&lt;br /&gt;
&lt;br /&gt;
This tool can spit out a basic but correct PXML.xml, faking up a halfway-useful unique-id in the process. It might be handy in saving you writing up a PXML.xml from scratch.&lt;br /&gt;
&lt;br /&gt;
====pnd_hup.sh====&lt;br /&gt;
&lt;br /&gt;
pndnotifyd will attempt to locate this script and invoke it after an auto-discovery run, if the pnd_hup entry is present (and uncommented) in the config files. It is expected to be commented out in release images, as xfce watches directories for .desktop files and does not need a HUP; some desktop managers need to be HUPped to rescan for .desktop files in a timely fashion, so the pnd_hup config entry can be uncommented and this script will attempt to figure out whom to HUP.&lt;br /&gt;
&lt;br /&gt;
====pnd_make.sh====&lt;br /&gt;
&lt;br /&gt;
This is one of the great ones :)&lt;br /&gt;
&lt;br /&gt;
Given a directory with a PXML.xml (see genpxml above) and an executable and any other goo you want in there, this script will spit out a .pnd file you can execute or distribute as an application.&lt;br /&gt;
&lt;br /&gt;
====pnd_run.sh====&lt;br /&gt;
&lt;br /&gt;
This job does a lot of the heavy lifting for libpnd, including setting up the 'union filesystems', doing .pnd and PXML.xml-app-dir execution and mounting, and so on. Generally you will talk to it via libpnd or .desktop files, but you can invoke it dorectly from your apps if you wish to circumvent libpnd or mount .pnd files within a shellscript/perlscript/etc.&lt;br /&gt;
&lt;br /&gt;
==Auto-discovery of applications==&lt;br /&gt;
&lt;br /&gt;
TBD.&lt;br /&gt;
&lt;br /&gt;
==Integration with FreeDesktop .desktop systems==&lt;br /&gt;
&lt;br /&gt;
===dotdesktop (.desktop) files===&lt;br /&gt;
&lt;br /&gt;
===Icons===&lt;br /&gt;
&lt;br /&gt;
There are some rules for Icons in PXML.xml and pnd/directory bundles&lt;br /&gt;
&lt;br /&gt;
- An Icon should be in the root of the directory or .pnd bundle&lt;br /&gt;
&lt;br /&gt;
- An Icon must be specified in the PXML.xml if you expect it to work&lt;br /&gt;
&lt;br /&gt;
- As the PXML.xml is parsed, the icon is sought; if the icon is specified, but not found, it is assumed to be a system default icon and the filename will be placed into the .desktop Icon= line verbatim (ex: Icon=foo.png), and the window manager presumably will know how to locate it. If the icon is specified, and is found, then it will be copied into the configured IconPath, and the full path to it will be used for the Icon= line in the .desktop file ex: Icon=/tmp/myicon.png). If no icon is specified in the PXML file, then no Icon= line will be entered into the .desktop and the WM will presumably apply a default icon based on category or whatever.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==APIs==&lt;br /&gt;
&lt;br /&gt;
Feel free to just go read the .h files; I have tried to comment liberally :)&lt;br /&gt;
&lt;br /&gt;
===Setting and Getting the CPU clock speed===&lt;br /&gt;
&lt;br /&gt;
===Device paramaters - brightness, etc===&lt;br /&gt;
&lt;br /&gt;
===PND files, exec and mount===&lt;br /&gt;
&lt;br /&gt;
===Application discovery===&lt;br /&gt;
&lt;br /&gt;
===Config file parsing===&lt;br /&gt;
&lt;br /&gt;
===Boxing, the singly-linked list container===&lt;br /&gt;
&lt;br /&gt;
===Directory watching===&lt;br /&gt;
&lt;br /&gt;
===Logging api===&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:PND]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_nub_modes&amp;diff=9615</id>
		<title>PND nub modes</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_nub_modes&amp;diff=9615"/>
		<updated>2012-01-16T18:36:53Z</updated>

		<summary type="html">&lt;p&gt;Porg: Added new method. Restructured whole article.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{IntroNote | This page is a work in progress, the instructions in here may or may not work for you. They were copied from several forum posts (see inline references). For an introduction to PNDs, see [[PND quickstart]]. }}&lt;br /&gt;
&lt;br /&gt;
If you want a different nub behavior for certain PND applications, you can achieve this by using one of the presented methods here.&lt;br /&gt;
&lt;br /&gt;
== Rationale ==&lt;br /&gt;
&lt;br /&gt;
Why would you want to do this? Simple; at least one person has reported that, when playing a natively-ported FPS (like Duke Nukem or Quake, but not GoldenEye) on the Pandora, using the right nub as the mouse has proven to be more comfortable and less awkward. But switching nub modes manually is annoying; so let's have Linux do it for you!&lt;br /&gt;
&lt;br /&gt;
== Presented methods ONLY apply per PND, do not affect general behavior ==&lt;br /&gt;
&lt;br /&gt;
The methods below are crash save, as the nub behavior is changed by the process pnd_run.sh, which runs before AND after a PND is running. Thus even in the event that your PND application crashes, your nub configuration WILL be the same as before you started the PND with the custom nub behavior. (Source: [http://boards.openpandora.org/index.php?/topic/2860-tutorial-how-to-have-your-nubs-change-modes-upon-launching-of-a-pnd/page__view__findpost__p__118299 sebt3 forum post])&lt;br /&gt;
&lt;br /&gt;
== Method: Switch left/right nub unix devices ==&lt;br /&gt;
&lt;br /&gt;
Hint from: [http://boards.openpandora.org/index.php?/topic/2860-tutorial-how-to-have-your-nubs-change-modes-upon-launching-of-a-pnd/page__view__findpost__p__49157 Blue Protoman]&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
You must download sebt3's new [[pnd_run.sh]] installer and run it. Get it [http://sebt3.openpandora.org/pnd/pnd_run_installer.pnd here].&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Note: This step is no longer required as of Hotfix 6 Alpha 1.'''&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Open a text editor and copy/paste this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;cat /proc/pandora/nub0/mode &amp;gt; /tmp/nub0mode_before&lt;br /&gt;
cat /proc/pandora/nub1/mode &amp;gt; /tmp/nub1mode_before&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;mbuttons&amp;quot; &amp;gt; /proc/pandora/nub0/mode&lt;br /&gt;
echo &amp;quot;mouse&amp;quot; &amp;gt; /proc/pandora/nub1/mode&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will back up your current nub modes, then switch them; the left will act as the mouse buttons, the right will act as the mouse. If you'd like, you can substitute &amp;quot;scroll&amp;quot; or &amp;quot;absolute&amp;quot; (joystick) in, depending on how you like your nubs. But you must save this as '''PND_pre_script.sh'''. Save it wherever you'd like, you will be moving it elsewhere later.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 ===&lt;br /&gt;
Copy/paste this into the editor again. Different file this time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;cat /tmp/nub0mode_before &amp;gt; /proc/pandora/nub0/mode&lt;br /&gt;
cat /tmp/nub1mode_before &amp;gt; /proc/pandora/nub1/mode&lt;br /&gt;
&lt;br /&gt;
rm /tmp/nub0mode_before /tmp/nub1mode_before&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will restore your nub modes to what they were before, and delete the temporary files used to store them. You must save it as '''PND_post_script.sh'''.&lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Simply copy these files into the appdata folder of your program of choice! Now you're done. If you want to test it, drag these files into the appdata of a program that runs windowed (like [[Comix|Comix]] or [[Deadbeef|Deadbeef]]), so you can test with the mouse. Simply delete the files if you no longer desire their effects.&lt;br /&gt;
&lt;br /&gt;
== Method: Switch between nub configurator presets ==&lt;br /&gt;
&lt;br /&gt;
Hint from: [http://boards.openpandora.org/index.php?/topic/2860-tutorial-how-to-have-your-nubs-change-modes-upon-launching-of-a-pnd/page__view__findpost__p__118405 Caine]&lt;br /&gt;
&lt;br /&gt;
=== Steps ===&lt;br /&gt;
* Start the nub configurator&lt;br /&gt;
* Create a profile for the setup you wish your application to use.&lt;br /&gt;
* Below, I'll assume a profile is created which is called joysticks which places both nubs in joystick mode.&lt;br /&gt;
* Create a file PND_pre_script.sh with this content:&lt;br /&gt;
** /usr/pandora/scripts/op_nubmode.py -s temp_profile -p joysticks&lt;br /&gt;
** This will store the current configuration in a profile called temp_profile and next will load the joysticks profile.&lt;br /&gt;
* Create a file PND_post_script.sh with this content:&lt;br /&gt;
** /usr/pandora/scripts/op_nubmode.py -p temp_profile -d temp_profile&lt;br /&gt;
** This will load the previously created profile temp_profile and will remove it afterwards.&lt;br /&gt;
* Simply copy the files PND_pre_script.sh and PND_post_script.sh into the appdata folder of your program of choice!&lt;br /&gt;
&lt;br /&gt;
=== Advantage ===&lt;br /&gt;
&lt;br /&gt;
Uses the GUI to easily create custom profiles without having to know where values are written to.&lt;br /&gt;
&lt;br /&gt;
=== Disadvantages ===&lt;br /&gt;
&lt;br /&gt;
* It is slower, uses some memory and writes profiles to NAND.&lt;br /&gt;
* If you want to avoid NAND-writes per launch and you always revert back to the same profile after launch then you can use static profiles without having to save and remove the current. E.g. something like:&lt;br /&gt;
** Before: /usr/pandora/scripts/op_nubmode.py -p joysticks&lt;br /&gt;
** After: /usr/pandora/scripts/op_nubmode.py -p Default&lt;br /&gt;
&lt;br /&gt;
[[Category:PND]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Keyboard]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_nub_modes&amp;diff=9614</id>
		<title>PND nub modes</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_nub_modes&amp;diff=9614"/>
		<updated>2012-01-16T18:00:39Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Step 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{IntroNote | This page is a work in progress, the instructions in here may or may not work for you (They were copied from [http://boards.openpandora.org/index.php?/topic/2860-tutorial-how-to-have-your-nubs-change-modes-upon-launching-of-a-pnd/page__view__findpost__p__49157 here]. For an introduction to PNDs, see [[PND quickstart]]. }}&lt;br /&gt;
&lt;br /&gt;
== Rationale ==&lt;br /&gt;
Why would you want to do this? Simple; at least one person has reported that, when playing a natively-ported FPS (like Duke Nukem or Quake, but not GoldenEye) on the Pandora, using the right nub as the mouse has proven to be more comfortable and less awkward. But switching nub modes manually is annoying; so let's have Linux do it for you!&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
You must download sebt3's new [[pnd_run.sh]] installer and run it. Get it [http://sebt3.openpandora.org/pnd/pnd_run_installer.pnd here].&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Note: This step is no longer required as of Hotfix 6 Alpha 1.'''&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
Open a text editor and copy/paste this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;cat /proc/pandora/nub0/mode &amp;gt; /tmp/nub0mode_before&lt;br /&gt;
cat /proc/pandora/nub1/mode &amp;gt; /tmp/nub1mode_before&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;mbuttons&amp;quot; &amp;gt; /proc/pandora/nub0/mode&lt;br /&gt;
echo &amp;quot;mouse&amp;quot; &amp;gt; /proc/pandora/nub1/mode&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will back up your current nub modes, then switch them; the left will act as the mouse buttons, the right will act as the mouse. If you'd like, you can substitute &amp;quot;scroll&amp;quot; or &amp;quot;absolute&amp;quot; (joystick) in, depending on how you like your nubs. But you must save this as '''PND_pre_script.sh'''. Save it wherever you'd like, you will be moving it elsewhere later.&lt;br /&gt;
&lt;br /&gt;
=== Step 3 ===&lt;br /&gt;
Copy/paste this into the editor again. Different file this time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;cat /tmp/nub0mode_before &amp;gt; /proc/pandora/nub0/mode&lt;br /&gt;
cat /tmp/nub1mode_before &amp;gt; /proc/pandora/nub1/mode&lt;br /&gt;
&lt;br /&gt;
rm /tmp/nub0mode_before /tmp/nub1mode_before&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will restore your nub modes to what they were before, and delete the temporary files used to store them. You must save it as '''PND_post_script.sh'''.&lt;br /&gt;
&lt;br /&gt;
=== Step 4 ===&lt;br /&gt;
Simply copy these files into the appdata folder of your program of choice! Now you're done. If you want to test it, drag these files into the appdata of a program that runs windowed (like [[Comix|Comix]] or [[Deadbeef|Deadbeef]]), so you can test with the mouse. Simply delete the files if you no longer desire their effects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PND]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Keyboard]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=9612</id>
		<title>PND management workflow</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PND_management_workflow&amp;diff=9612"/>
		<updated>2012-01-15T23:52:32Z</updated>

		<summary type="html">&lt;p&gt;Porg: Category:Ideas and proposals&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Whom it concerns ==&lt;br /&gt;
&lt;br /&gt;
* Thinkers who oversee the Pandora software platform as a whole and on the long run (core team &amp;amp; others)&lt;br /&gt;
* Plus in particular the developers of:&lt;br /&gt;
** Launchers like: MiniMenu, XFCE Menu, quick text based launchers&lt;br /&gt;
** Package managers like: PNDStore, PanoramaMilky (I use &amp;quot;PanoramaMilky&amp;quot; to refer to &amp;quot;Panorama in UI mode milky test&amp;quot;)&lt;br /&gt;
** Package metadata/override editors/tools (PND and OVR)&lt;br /&gt;
&lt;br /&gt;
== Topic of this work group  ==&lt;br /&gt;
&lt;br /&gt;
Software packages are at the center of the Pandora, hence the overall way how to manage them are key to success of the platform's usability and popularity.&lt;br /&gt;
&lt;br /&gt;
Currently the different aspects of managing and using PNDs are spread over a patchwork of different tools and workflows, and some aspects are yet not covered at all.&lt;br /&gt;
&lt;br /&gt;
I now try to describe what is important from a user's point of view, what already exists (to my knowledge), what should be realized, and point towards possible gap-closing and synergies between existing solutions.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: Generally speaking, the patchwork per se is nothing bad. Openness is the principle of the Pandora, and it should by principle be always possible for a tool to cover/handle just a very small and specific task. Nevertheless from the user's perspective it is appreciated to have as little steps as necessary for common tasks in (at best) one uniform environment.&lt;br /&gt;
&lt;br /&gt;
== Follow up ==&lt;br /&gt;
&lt;br /&gt;
The issue was first brought to attention within the [http://boards.openpandora.org/index.php?/topic/5636-usability-of-package-management-pnd-coordinating-related-development-efforts/ developer forum].&lt;br /&gt;
&lt;br /&gt;
It is discussed over there, and resulting actions, outcomes and developments are noted here in a structural form within the wiki-page into the SPECIFIC sections!&lt;br /&gt;
&lt;br /&gt;
If necessary mark your addition with author and date in this markup format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;: A comment. If Daytime is given, state as UTC. -- Author YYYY-MM-DD HH:MM UTC&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:: Further nested comment without a date only and no daytime. -- Author YYYY-MM-DD&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The double dash helps to quickly skip through the wiki page for authors and their comments.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If your addition is large, please create only a short inline summary, and link the full content to a new page! (or: use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{HideableNotes|your text here}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to {{HideableNotes|hide your text}})&lt;br /&gt;
&lt;br /&gt;
The content of the wiki describes aspects, which sometimes implicit bug reports, feature suggestions, etc, but not explicitly written and some of them yet not reported to the issue tracker. &lt;br /&gt;
&lt;br /&gt;
Please be autonomous enough, to realize your responsibility for your own. I spent hours brainstorming and writing this memo, even further dividing the tasks would overburden me. See it as a whole, co-ordinate your efforts (in the thread as this is &amp;quot;meta&amp;quot;), and only then slice it up on single issues. Thanks!&lt;br /&gt;
&lt;br /&gt;
== Main needs around handling of software packages (PNDs): ==&lt;br /&gt;
&lt;br /&gt;
* Discover&lt;br /&gt;
* Install ( + Update + Remove)&lt;br /&gt;
* Test&lt;br /&gt;
* Tag&lt;br /&gt;
* Launch&lt;br /&gt;
* Overview&lt;br /&gt;
&lt;br /&gt;
== What is meant by this? How are they related? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
The possibility of overview (filtering / sorting) can aid in all other tasks.&lt;br /&gt;
The data source for &amp;quot;overview&amp;quot; is the metadata included in the PNDs plus the overrides included from OVRs (or other yet not developed over-ride/lay methods).&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
Currently, after installing new apps which you want to test, you have to find them as &amp;quot;the needles in the haystack&amp;quot; among the already installed apps, instead of a convenient mode, in which you can only run &amp;quot;new apps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
One might say: Just remember an app's name and find it from the &amp;quot;All&amp;quot; category. But what if you installed 3-5 new apps or even more … already a bit more complicated then! &lt;br /&gt;
&lt;br /&gt;
If the PND framework would keep track of how often apps have been launched (or just a simple &amp;quot;ran-once&amp;quot; flag), this would provide a data basis for certain display modes like &amp;quot;Show new apps&amp;quot; or &amp;quot;Sort by usage frequency&amp;quot; in &amp;quot;overview&amp;quot; or &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
=== Discover ===&lt;br /&gt;
&lt;br /&gt;
Works quite good through:&lt;br /&gt;
* Various information media related to OpenPandora like forum announcements, PandoraPress, various feeds.&lt;br /&gt;
* Informal ways like chats, forums.&lt;br /&gt;
* Formal catalogues / databases like the open handheld archives, appstore, repo), the latter being well suited for integration into software (machine readable). This medias especially increase the chances for newcomers, which are yet un-featured in the information and informal medias! If a user finds a well sorted catalogue, his/her readiness for trying new applications rises!&lt;br /&gt;
&lt;br /&gt;
Application name, description, icon, screenshots, categories deliver a good enough idea. Filter options like categories, or sorting actions like &amp;quot;most recent&amp;quot; help to narrow down the selection even more.&lt;br /&gt;
&lt;br /&gt;
This aspect is already very mature on the Pandora!&lt;br /&gt;
&lt;br /&gt;
What could be slightly improved: If &amp;quot;discover&amp;quot; and &amp;quot;install&amp;quot;/&amp;quot;test&amp;quot;/&amp;quot;remove&amp;quot; are integrated into one application, your system could systematically keep track of already tested and deliberately removed applications as &amp;quot;uninteresting&amp;quot;, and hide them in your further &amp;quot;disover&amp;quot; process! Sparing you a lot of time/attention seeing items again and again, which you already once found as uninteresting!&lt;br /&gt;
&lt;br /&gt;
Right now, if you manually scan catalogues, you likely stumble across candidates, you already deliberately rejected, which steals you your time /attention. The only display mode which spares you this: Sort catalogues by &amp;quot;recently published&amp;quot;, and thereby all new stuff is really new to you. But of course, all the display modes like, categories, tags, remain crowded with already seen stuff.&lt;br /&gt;
&lt;br /&gt;
=== Install/update/remove ===&lt;br /&gt;
&lt;br /&gt;
These 3 tasks must be hand-able within one environment!&lt;br /&gt;
&lt;br /&gt;
At the Pandora beginnings, no tool existed, meanwhile tools came to the rescue!&lt;br /&gt;
&lt;br /&gt;
I do not expect from the &amp;quot;launch&amp;quot; application (MiniMenu) to have &amp;quot;install/update&amp;quot; abilities, but at least have the &amp;quot;remove&amp;quot; ability, to facilitate &amp;quot;test&amp;quot; process. &amp;quot;Launch app, test wether you like it, quit app&amp;quot; and then &amp;quot;remove&amp;quot; right away if you don't like it!&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Shall be able to delete a PND application (if on remove-able media).&lt;br /&gt;
&lt;br /&gt;
PNDstore and PanoramaMilky handle Install/update/remove quite ok already.&lt;br /&gt;
&lt;br /&gt;
PNDstore: Shall remember default installation locations better, as PanoramaMilky already does.&lt;br /&gt;
&lt;br /&gt;
After running a &amp;quot;scan for updates&amp;quot; the manager shall have the possibility to update all or only certain selected apps. (equivalent to iOS Appstore app).&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;tag&amp;quot; process overrides the metadata fields supplied in the PND manifest with the fields the user finds better suitable (i.e. file an item under another subcategory, add a custom note, etc), which later aids &amp;quot;overview&amp;quot; and &amp;quot;launch&amp;quot; applications.&lt;br /&gt;
&lt;br /&gt;
Right now there is neither a well-working workflow for &amp;quot;test an app, quit it, tag it&amp;quot; nor a mass-editor for tagging multiple apps according to your memories or notes.&lt;br /&gt;
&lt;br /&gt;
The advantage of &amp;quot;test an app, quit it, tag it&amp;quot; is, that the user's memory of the tested applications is still fresh, hence the tagging is easy to make and appropriate.&lt;br /&gt;
&lt;br /&gt;
: There is currently no tag concept associated with PNDs. It is possible to abuse notes for this purpose, but none of the tooling will really be able to do anything useful with it as there are no semantics specified for the fields. -- Caine 2011-10-10 12:53 UTC&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Test an app, quit it, tag it ====&lt;br /&gt;
&lt;br /&gt;
Problem 1: After you ran an arbitrary app and quitted it, you do not return to your last position (bug #241). You need to find that app again first. And then go into submenus. And only then tag it.&lt;br /&gt;
Problem 2: After the override of ONE SINGLE app, MiniMenu currenty completely restarts, thus rescans **all** .PNDs and .OVRs! Only re-reading the affected PND + OVR would tremendously speed up.&lt;br /&gt;
&lt;br /&gt;
If both problem 1 + 2 would get fixed the method &amp;quot;test an app, quit it, tag it&amp;quot; would practically work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mass OVR editor ====&lt;br /&gt;
&lt;br /&gt;
A spreadsheet-like list with all apps, with the columns: icon, name, custom note, cat, subcat, possibly also summary/screenshot as obtained from repo-catalogue to refresh one's memory, where one can then quickly edit all the metadata of all apps to suit one's own sorting system better.&lt;br /&gt;
&lt;br /&gt;
Caine already developed &amp;quot;OVR editor&amp;quot;, and considers to realize such a &amp;quot;OVR spreadsheet editing mode&amp;quot;. http://boards.openpandora.org/index.php?/topic/4201-ovr-editor-and-pnd-aware-application-launcher/&lt;br /&gt;
&lt;br /&gt;
=== Launch ===&lt;br /&gt;
&lt;br /&gt;
Your interface for launching apps. The data source for this comes from the PND files plus your OVR override files (&amp;quot;tag&amp;quot; applications).&lt;br /&gt;
&lt;br /&gt;
Launch could be much more fine grained, please see the section on the possibilities of combining: Launch + overview.&lt;br /&gt;
&lt;br /&gt;
Besides this some suggestions of improving existing features right here in this section.&lt;br /&gt;
&lt;br /&gt;
==== Hotkey application launcher ====&lt;br /&gt;
&lt;br /&gt;
Well known from many OSes, this feature would be fine within the Pandora too.&lt;br /&gt;
&lt;br /&gt;
Triggered by hotkey working from everywhere or from menu/desktop entry -&amp;gt; text input with auto completion of installed apps -&amp;gt; launch.&lt;br /&gt;
&lt;br /&gt;
I think that already exists. I just don't know which one's, and how to set the hotkey for it.&lt;br /&gt;
&lt;br /&gt;
==== XFCE launch menu shall have meta trees &amp;quot;All apps&amp;quot; and &amp;quot;All games&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
MiniMenu has an &amp;quot;All&amp;quot; category tree. The XFCE launch menu doesn't! Would be fine if it had one meta tree which &amp;quot;holds them all&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Combinations ==&lt;br /&gt;
&lt;br /&gt;
Many combinations of tasks are already described in one of the affected task &amp;quot;verb&amp;quot; sections. Some of these involve many others, and are therefore described below as combinations of &amp;quot;task verbs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Discover + install + update + remove ===&lt;br /&gt;
&lt;br /&gt;
Right now &amp;quot;discover&amp;quot;, &amp;quot;install&amp;quot; and &amp;quot;test&amp;quot; are separate workflows.&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky very well unites &amp;quot;discover&amp;quot; + &amp;quot;install/update/remove&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
: I think discovery could be improved in MilkyTest by allowing ordering packages by rating and showcasing random highly rated applications. Not sure how the showcasing would work with the UI, but it's something to consider'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
: Discovery should be handled by browsing the apps in the repo along with their preview pictures to get an impression of the content. Sorting orders should include alphabetically, by rating, by author, and newly added (excluding recent updates). Also of note, we are essentially talking about CRUD operations on apps. Create (install), Read (run), Update (upgrade app/edit OVR) and Delete. I've always assumed these to eventually merged into a single application, though so far I omitted the OVR files in that vision.'' -- Caine 2011-10-10 12:33 UTC&lt;br /&gt;
&lt;br /&gt;
PanoramaMilky: Would be cool if it could &amp;quot;launch&amp;quot; apps. You could &amp;quot;test&amp;quot; the app, then quit it. PanoramaMilky must then have the previously launched app selected so that you can immediately &amp;quot;remove&amp;quot; or keep it.&lt;br /&gt;
&lt;br /&gt;
: Already planned, though I'll probably fork MilkyTest to create a more fleshed out UI under a different name. MilkyTest was always about testing milky-plugin. I'll post more on this to panorama's beta thread.'' -- B-ZaR 2011-10-10 05:41Z&lt;br /&gt;
&lt;br /&gt;
:: I propose to make &amp;quot;Panorama in UI mode MilkyTest&amp;quot; a standalone PND. -- porg 2011-10-10 17:00 UTC&lt;br /&gt;
&lt;br /&gt;
=== Launch + overview ===&lt;br /&gt;
&lt;br /&gt;
Currently MiniMenu allows a filesystem like browsing with metaphors like tabs as categories / subcategories as subfolders within that tabs, and some generated meta categories like &amp;quot;All&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
These additional display modes would help:&lt;br /&gt;
&lt;br /&gt;
==== New meta category &amp;quot;Fresh&amp;quot;, &amp;quot;By Date Added&amp;quot;, &amp;quot;By Date Published&amp;quot; ====&lt;br /&gt;
&lt;br /&gt;
This is for aiding the &amp;quot;test&amp;quot; process, particularly showing yet untested or fresh apps.&lt;br /&gt;
&lt;br /&gt;
Implementation could be hard: As the PND has no central registry, but rather &amp;quot;certain files at certain places&amp;quot;, which are scanned to then provide a &amp;quot;certain basis for certain launchers&amp;quot;, the tracking of this dates or usage amounts must happen within that scanners/launchers, which must either have the &amp;quot;test&amp;quot; and &amp;quot;tag&amp;quot; abilities themselves, or must make that data available to those applications. Does anyone know what according data is tracked within MiniMenu?&lt;br /&gt;
&lt;br /&gt;
==== Rating and/or favorite system. ====&lt;br /&gt;
&lt;br /&gt;
Date source for &amp;quot;favorite&amp;quot; and/or &amp;quot;sorting&amp;quot; is provided by from your &amp;quot;tagging&amp;quot; (overrides). In addition the &amp;quot;launch&amp;quot; application may have its own methods to &amp;quot;rate&amp;quot; or &amp;quot;favor&amp;quot; applications. (Again this would be good for the approach: &amp;quot;Run app, test app, tag it&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show a tab &amp;quot;Favorites&amp;quot;, which contains all apps, which are flagged as &amp;quot;favorite&amp;quot; or which have a rating above a certain treshold (i.e. on a scale from 1-5, all which are equal or higher than 4).&lt;br /&gt;
&lt;br /&gt;
MiniMenu should show one tab &amp;quot;By rating&amp;quot;, which contains all apps, sorted by rating (as sort key 1, and by alphabet as sort key 2).&lt;br /&gt;
&lt;br /&gt;
If you navigate within the categories and sub-categories folders/tabs, a certain hotkey or menu command, should trigger the &amp;quot;favorite display&amp;quot; or &amp;quot;sorted display&amp;quot;, which filters/sorts the contained items accordingly.&lt;br /&gt;
&lt;br /&gt;
Pressing favorite hotkey first: Shows only favorites.&lt;br /&gt;
&lt;br /&gt;
MiniMenu: Flawed tab display of sub-categories if they have a common string beginning&lt;br /&gt;
Pressing favorite hotkey again: Shows favorites on top of others.&lt;br /&gt;
Pressing favorite hotkey again: Disables favorite view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
Pressing sort hotkey first: Sorted from best to worst&lt;br /&gt;
Pressing sort hotkey again: Sorted from worst to best&lt;br /&gt;
Pressing sort hotkey again: Disables sort view mode, normal view again.&lt;br /&gt;
&lt;br /&gt;
==== MiniMenu - Improvements of existing functionality ====&lt;br /&gt;
&lt;br /&gt;
There are many MiniMenu related bugs to be resolved!&lt;br /&gt;
Just search the [http://bugs.openpandora.org/?string=MiniMenu bugtracker for MiniMenu]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Multisite_username_check&amp;diff=9611</id>
		<title>Multisite username check</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Multisite_username_check&amp;diff=9611"/>
		<updated>2012-01-15T23:52:13Z</updated>

		<summary type="html">&lt;p&gt;Porg: Category:Ideas and proposals&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a suggestion by [[User:Porg|Porg]]. Participation is welcome!&lt;br /&gt;
&lt;br /&gt;
In the user registration process at the various Open Pandora related sites (board, wiki, repo, bugtracker, …) [[User:Porg|Porg]] suggests to display the following hint:&lt;br /&gt;
----&lt;br /&gt;
'''Before registering your username''' here, you can run the [http://usernames.openpandora.org/check Pandora sphere username checker], which tests whether the username already exists within any other OpenPandora [http://usernames.openpandora.org/sites related sites]:&lt;br /&gt;
* '''As a courtesy to other users''', in order to not take their name away on other sites.&lt;br /&gt;
* '''For your own convenience''', to achieve a uniform nickname on all the OpenPandora sites, as a new arriving community member.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
&lt;br /&gt;
# Which Open Pandora relates websites (with user registration) are there? '''Anyone''' please add the URLs to the list below.&lt;br /&gt;
# Which site operators are willing to cooperate? '''Site operators''', please confirm your readiness, by writing your name plus short note next to the URL. Requirements for participating site operators:&lt;br /&gt;
## Offer a software interface (API) for testing whether a username exists at your site.&lt;br /&gt;
## Display the hint and link to or embed the checking service (iframe) into the registration page/process of your site.&lt;br /&gt;
# We need a web developer to create that multisite username checking service. '''Developer volunteers''', please participate in the [http://boards.openpandora.org/index.php?/topic/6068-suggestion-open-pandora-scene-multisite-username-checker/ discussion process], or enlist your dedication right below.&lt;br /&gt;
&lt;br /&gt;
== Sites ==&lt;br /&gt;
&lt;br /&gt;
URL of a Open Pandora related website which uses user registrations/logins + site operator(s) (nick)name and confirmation of participation + optional remarks:&lt;br /&gt;
&lt;br /&gt;
===== Official Sites: =====&lt;br /&gt;
&lt;br /&gt;
http://boards.openpandora.org/&lt;br /&gt;
&lt;br /&gt;
http://repo.openpandora.org/&lt;br /&gt;
&lt;br /&gt;
http://apps.openpandora.org/&lt;br /&gt;
&lt;br /&gt;
===== Unofficial Sites: =====&lt;br /&gt;
&lt;br /&gt;
http://pandorawiki.org/&lt;br /&gt;
&lt;br /&gt;
http://gp32x.com/board/&lt;br /&gt;
&lt;br /&gt;
http://pandorapress.net/&lt;br /&gt;
&lt;br /&gt;
http://openhandhelds.org/&lt;br /&gt;
&lt;br /&gt;
===== Alternate Language Sites: =====&lt;br /&gt;
&lt;br /&gt;
http://wiki.openpandora.de/ (German)&lt;br /&gt;
&lt;br /&gt;
http://forum.gp2x.de/ (German)&lt;br /&gt;
&lt;br /&gt;
http://openpandora.jp/ (Japenese)&lt;br /&gt;
&lt;br /&gt;
http://openpandora.info/ (russian)&lt;br /&gt;
&lt;br /&gt;
http://www.opgaming.com/ (Italian)&lt;br /&gt;
&lt;br /&gt;
http://openpandora-france.forumactif.net/ (French)&lt;br /&gt;
&lt;br /&gt;
http://forum.gp2xtr.com/ (Turkish)&lt;br /&gt;
&lt;br /&gt;
== Developers ==&lt;br /&gt;
&lt;br /&gt;
Developers, who are willing to realize the multisite username checking service, please enlist your (nick)name and confirmation of participation plus optional remarks here:&lt;br /&gt;
&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Libpnd_hub&amp;diff=9610</id>
		<title>Libpnd hub</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Libpnd_hub&amp;diff=9610"/>
		<updated>2012-01-15T23:21:08Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Recommended layout of a pnd directory structure, ie: how to make a well behaved pnd file */ Link to Wikipedia about Zenity GUI. Small typo corrections. Reordering related list items.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Basic users will be more interested in the page [[Introduction to PNDs]]''&lt;br /&gt;
&lt;br /&gt;
{{TOC limit|limit=3}}&lt;br /&gt;
&lt;br /&gt;
{{split section|To much text, a lot of things could be outsourced to dedicated shorter articles}}&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
&lt;br /&gt;
[[libpnd]] is a basic collection of functions and tools to make working Pandora-specific operations easier; to wit, it is hoped multiple applications will make use of this library rather than re-implement similar functionality and lead to problems down the road. (Instead we can run into problems together and thus clobberize them.)&lt;br /&gt;
&lt;br /&gt;
[[libpnd]] thus is a collection of:&lt;br /&gt;
&lt;br /&gt;
* handy system code that hopefully is reusable - IO functions, CPU clock setting, etc.&lt;br /&gt;
* applications for supporting the Pandora's unique features, such as ''pndnotifyd'' for auto-discovery of PXML and .pnd applicatons&lt;br /&gt;
* libraries for support of the .pnd and PXML systems; i.e.: for locating, executable, mounting and unmounting PXML-directory and .pnd applications, loading PXML and handling overrides&lt;br /&gt;
* hopefully reusable code for support of these things; i.e.: a rudimentary but useful config-file parser, rudimentary singly-linked-list container, etc.&lt;br /&gt;
&lt;br /&gt;
It will also include utility functions for setting the CPU clock, reading GPIO inputs without depending on SDL, and other handy bits.&lt;br /&gt;
&lt;br /&gt;
'''You can, nay, are required to - contribute to libpnd!'''&lt;br /&gt;
&lt;br /&gt;
==Design considerations and philosophy==&lt;br /&gt;
&lt;br /&gt;
While much of [[libpnd]] is obvious, some decisions had to be made and it may help to know the guiding principle behind it; the Pandora device will be a handheld '''computer''', but libpnd is designed to facilitate certain operations with goals towards..&lt;br /&gt;
&lt;br /&gt;
* simplicity - just work right, configuration not generally needed&lt;br /&gt;
* obviousness - work as one would expect for this sort of device; i.e.: the user assumes something will work a certain way, and it does&lt;br /&gt;
* like other guys - as an extension of the prior point, we have tried to follow UNIX spirit and provide reusable small tools to do the work those bits can be leveraged, but further tried to follow the spirit of other consoles. So while the device is a powerful little computer, it is probably going to be used by gaming and retro enthusiasts and so we color some of our decisions that way. (i.e.: consider that a PS2/xbox/PSP/etc will have save-game or data management as a separate application, for instance. If thats the best multi-million dollar companies can come up with over decades, well, its not so bad for us to fall back on!)&lt;br /&gt;
* not over-defined; libpnd and PXML try to define a bunch of things, but we also do not _over define_; we try to lead by providing examples and styles, and while we have designed ahead for many things, we have also not nailed a lot of that down too early. It is better to be simple and shipped, then complex and a mess.. adaptable rather than scary.&lt;br /&gt;
&lt;br /&gt;
The library is of course broken into parts:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Part!!Comment&lt;br /&gt;
|-&lt;br /&gt;
|include||include these files to make use of the lib&lt;br /&gt;
|-&lt;br /&gt;
|lib||the code that produces the lib&lt;br /&gt;
|-&lt;br /&gt;
|test||mini tools to test various pieces of the lib in isolation&lt;br /&gt;
|-&lt;br /&gt;
|bin||test tools - tools for testing the lib as it is developed, not anticipated to be used by many&lt;br /&gt;
|-&lt;br /&gt;
|testdata/||for testing /etc/pandora; will contain 'conf' dir, for example&lt;br /&gt;
|-&lt;br /&gt;
|apps/||actual applications people may use, such as [[pndnotifyd]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For now though, here are a couple notes about the design.&lt;br /&gt;
* it is straight C code, to be maximumly re-usable (perhaps C++ and other language bindings will tie back to it). I have gone out of my way to limit external references so that bindings are easier to make. &lt;br /&gt;
* contrary to the previous comment, we've used a bit of C++ for the tinyxml parser .. hopefully this is not an issue.&lt;br /&gt;
* I have tried to keep the API relatively simple and am faking some OO like data hiding to try to keep dev noses out of structures that are subject to change. i.e.: functions for list management and node access are provided, don't dig into the void* cast structs, or you could get burnt.&lt;br /&gt;
* the API should be pretty stable; so far very few user-code changes have ever been needed.. lib internal changes should be binary compatible.&lt;br /&gt;
* As a result of that decision, 'handles' are used; a handle is a 'black box' type, something you cannot just use 'handle h; h -&amp;gt; foo = 5' type code for. Instead, internally the library will cast the handle to the actual useful type (which may involve pointer arith etc). This way the user can be returned a handle, and pass the handle to various access functions to get useful data/operations.. but the user is not encouraged to look inside the data objects himself&lt;br /&gt;
* As another implication, access functions are available aplenty; it is a little unwieldy perhaps, but its all about keeping the API good without the user peeking inside and risking being broken down the road. (By example, consider.. you use ftell() on a FILE object; you don't go looking in FILE for the 'position' member, since it might be platform specific, etc.)&lt;br /&gt;
* The lib works pretty well, but there is room for improvement internally; it won't hurt my feelings for you to suggest improvements, and I'm sure we would all be grateful for any patches you provide. We've _started_ this library, but by no means wish to carry it alone!&lt;br /&gt;
&lt;br /&gt;
==Opportunities for improvement==&lt;br /&gt;
&lt;br /&gt;
Certainly nothing is perfect, especially when chasing moving targets.  Some aspects of the library are less efficient, or missing, or buggy, and a few things are noted here should someone have time. The API was designed to be pretty stable so the internal code could be altered without breaking the API interface.&lt;br /&gt;
&lt;br /&gt;
* Better ISO lang handling ... due to shift from original PXML spec to new PXML spec with better lang support I've not updated some of the internal code, API uses etc to handle it. (even .desktop files could include all iso-lang titles, and let the WM pick through as the spec suggests.)&lt;br /&gt;
* Validation of files when they're loaded&lt;br /&gt;
* An actual parser of PXML metadata&lt;br /&gt;
&lt;br /&gt;
[[New PND format | This page describes a proposed new PND format.]]&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
&lt;br /&gt;
libpnd (including all the apps etc) are released under the LGPL (ie: so there should be no encumbrances that prevent linking to commercial applications.):&lt;br /&gt;
&lt;br /&gt;
GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999&lt;br /&gt;
&lt;br /&gt;
==Obtaining the library==&lt;br /&gt;
&lt;br /&gt;
libpnd is in the Official Pandora GIT repo: [http://git.openpandora.org/cgi-bin/gitweb.cgi]&lt;br /&gt;
To obtain yourself a copy, use something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git://git.openpandora.org/pandora-libraries.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thats all you normally need. For copy-paste from the private Wiki sake, heres what I had before:&lt;br /&gt;
Without going into how to set up a GIT, the summary that I (as a registered dev in the repo) used was:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir libpnd&lt;br /&gt;
cd libpnd&lt;br /&gt;
git init&lt;br /&gt;
git remote add libpnd ssh://foo@git.openpandora.org/srv/git/pandora-libraries.git&lt;br /&gt;
git push libpnd master&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building the library==&lt;br /&gt;
&lt;br /&gt;
Standard 'make' should be sufficient here; pull down the directory from the GIT, cd into it, and run make. Thats it.&lt;br /&gt;
&lt;br /&gt;
Note that the make default target is 'everything', which will emit:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
libpnd.a - the static linked version of the lib&lt;br /&gt;
libpnd.so.1.0.1 - the dynlinked version &lt;br /&gt;
libpnd.so.1 - the stub for the shared lib; i.e.: apps should link against libpnd.so.1 and not the 1.0.1 over-specific version&lt;br /&gt;
bin/* - the 'test' dir and the 'apps' dir builds will end up in bin&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few additional make targets, however.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Target!!Description&lt;br /&gt;
|-&lt;br /&gt;
|make clean||wipes out the object files, the bin files, and *~* (emacs backup files), empties some of the deploy stuff, etc. Do this before committing to GIT or we will beat you with sticks.&lt;br /&gt;
|-&lt;br /&gt;
|make deploy||populates the deploy/ directory, which is what is used inthe shipping images; i.e.: testdata/conf includes test configs, while deploy/etc/pandora/conf includes the configs we ship with. This &lt;br /&gt;
|-&lt;br /&gt;
|make||will copy over some of the libs and binaries and such.&lt;br /&gt;
|-&lt;br /&gt;
|make pnd||create a few sample pnd files for testing the lib on an x86 machine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Included Applications==&lt;br /&gt;
&lt;br /&gt;
===pndnotifyd===&lt;br /&gt;
&lt;br /&gt;
Manages the auto-discovery mechanism and integrating PXML.xml dir-apps and [[.pnd]] files into the FreeDesktop standard system (.desktop files). A dedicated libpnd-aware menu could leverage libpnd directly and not need [[pndnotifyd]], though pndnotifyd does offer some handy bits such as HUPping apps to suggest to them that applications may have been added/removed (libpnd includes all the necessary functions for this as well.)&lt;br /&gt;
&lt;br /&gt;
===pndvalidator===&lt;br /&gt;
&lt;br /&gt;
Is mostly a skeleton right now; in the future, it is hoped it will inspect a PXML.xml and then check to ensure the referenced assets are present; the goal to validate the PXML.xml is spec compliant, and the resulting application would be useful.&lt;br /&gt;
&lt;br /&gt;
===discotest===&lt;br /&gt;
&lt;br /&gt;
One of the test tools; it essentially runs an auto-discovery to list off the found apps (be they PXML.xml dir apps or .pnd files), and can dump various data or invoke one or other little tasks; used to test lots of&lt;br /&gt;
bits of [[libpnd]] as it was developed.&lt;br /&gt;
&lt;br /&gt;
===rawpxmltest===&lt;br /&gt;
&lt;br /&gt;
Reads a given PXML.xml and spits out some of the fields found within.&lt;br /&gt;
&lt;br /&gt;
===Test tools===&lt;br /&gt;
&lt;br /&gt;
See the test/ dir in the libpnd source for assorted goofy little test apps used for testing bits of libpnd over time. They also may serve as source examples for using some of the APIs. They're old and shoddy probably too.&lt;br /&gt;
&lt;br /&gt;
==How does it work?==&lt;br /&gt;
&lt;br /&gt;
This is just a quick summary to save you guessing by reading [[PXML_specification|this whole document]].&lt;br /&gt;
&lt;br /&gt;
In essence, libpnd includes lots of real code, but in many places it passes heavy lifting off to shellscripts. This is both handy because the scripts are easily modified without recompilation, and further extends our design goals of making the library bindable to any other language.&lt;br /&gt;
&lt;br /&gt;
Remember, PXML.xml directories are just as executable/mountable as .pnd apps.&lt;br /&gt;
&lt;br /&gt;
So while libpnd is mostly straight-C and so easily bound to python or perl or whatever, libpnd itself invokes many scripts. Those scripts can be directly used by other applications, including other shellscripts.. so libnd functionality can even have bindings in other scripts. This is very flexible and powerful, and handy during debugging or SSHing into the Pandora, etc.&lt;br /&gt;
&lt;br /&gt;
The application lifecycle goes like this:&lt;br /&gt;
&lt;br /&gt;
* device is turned on&lt;br /&gt;
* during init, pndnotifyd is brought up and inhales the config giles&lt;br /&gt;
* pndnotidyd will attempt to auto-discover what PXML.xml directory apps and .pnd-file apps are in the configured searchpaths&lt;br /&gt;
* pndnotifyd will set up filesystem watches on the directories in the notify searchpath; if any of those directories are touched, pndnotifyd will wake up and re-auto-discover .. possibly removing .desktop entries or creating new ones. (i.e.: you drop a new app into the app searchpath, or remove one, or mount an SD card, etc. This is how appications immediately show up or vanish from the window manager desktops.)&lt;br /&gt;
* a libpnd aware launcher can execute applications direct (using libpnd)&lt;br /&gt;
* a libpnd unaware launcher can execute applications via the .desktop standard system; pndnotidyd will emit .desktop files as needed.&lt;br /&gt;
* when libpnd or a .desktop file need to execute an application, they do it via pnd_run.sh (which may be leveraged by other applications, but they hould use libpnd if they can instead, for utmost compatiblity down the road.) pnd_run.sh does the mount of the ISO, runs the actual execable and so on, as directed by libpnd or the command-line args from the .desktop. pnd_run.sh will clean up after everything as well.&lt;br /&gt;
&lt;br /&gt;
So it all works like magic, but it is not that complex a system once you've got the hang of what all is going on.&lt;br /&gt;
&lt;br /&gt;
application → libpnd → shellscripts → system&lt;br /&gt;
&lt;br /&gt;
==FAQ: IF you want to make files visible to the apps, do you have to modify the pnd?==&lt;br /&gt;
&lt;br /&gt;
No. When apps write back to themselves, the writes go to their /pandora/appdata on the SD that houses them. The next time the app reads a file in its directory, the OS will ensure they get the newer file, which is the one in the appdata.&lt;br /&gt;
&lt;br /&gt;
Likewise, you can just drop a file into the appdata and the app will see it.&lt;br /&gt;
&lt;br /&gt;
The app doesn't know about appdata and its pnd file.. the OS and libpnd take care of all the magic.. the app sees one directory, but the reality is there is magic merging going on behind the scenes.&lt;br /&gt;
&lt;br /&gt;
==Assumptions about the filesystem and Configuration==&lt;br /&gt;
&lt;br /&gt;
Note that for libpnd to work, it makes certain assumptions about the filesystem and config files. Since libpnd was developed with the images it should work for the Pandora .. but just dropping libpnd onto another Linux distribution and it won't likely 'work out of the box'. Certain config files will need to be set, and certain conventions followed.&lt;br /&gt;
&lt;br /&gt;
===Searchpaths===&lt;br /&gt;
&lt;br /&gt;
libpnd was designed so that most everything is configured in files, and that these files should be easily hackable and easily overriden, without compromising the machine. It should be feasible to add a config file to an SD card, have it take over if available when required, and then 'undo' those configs simply by removal of the SD card and rebooting.&lt;br /&gt;
&lt;br /&gt;
To facilitate this design goal, all config files are 'sought' using a search-path system.&lt;br /&gt;
&lt;br /&gt;
Developers should be mindful of using the libpnd APIs so this behaviour is inherited to interested applications; developers could also reuse the logic for searching for files, if they find it useful.&lt;br /&gt;
&lt;br /&gt;
Searchpaths are colon-delimited list of paths, searched left to right.&lt;br /&gt;
&lt;br /&gt;
ex: foo:bar:/my/baz means to look for a given file in 'foo', then in 'bar', then in '/my/baz'.&lt;br /&gt;
&lt;br /&gt;
The standard config files have a default searchpath, and those config files will define further searchpaths for scripts and such the system uses. This makes the system highly flexible -- default scripts are included, but can be overridden by dropping the right named script on an SD card, or by altering a config file.&lt;br /&gt;
&lt;br /&gt;
See the example config files below for example searchpaths -- i.e.: how pndnotifyd searches for pnd_run, etc.&lt;br /&gt;
&lt;br /&gt;
===Notification paths===&lt;br /&gt;
&lt;br /&gt;
The 'apps' config includes a searchpath that specifies the sub-paths to be 'watched'. Various watch mechanisms exist for various filesystem types, but over the course of Pandora development (various kernels, various k-modules, various DM and WM's, I found the included system most stable, though not most current. After a final device image is settled on, it might be time to alter the notification system, but it should not impact the libpnd API.)&lt;br /&gt;
&lt;br /&gt;
Anyway, watches are placed upon the paths defined, and if anything in those paths changes, the auto-discovery code is kicked off to seek our PXML.xml and .pnd type applications in the search paths.&lt;br /&gt;
&lt;br /&gt;
Note that searchpath and notifypaths are different (and usually very similar, but have the option to be very different.)&lt;br /&gt;
&lt;br /&gt;
===Config files===&lt;br /&gt;
&lt;br /&gt;
libpnd includes a generic simple config file parser and assumes the presence of a few config files. It also includes defaults&lt;br /&gt;
so if a config is missing or broken things should work.&lt;br /&gt;
&lt;br /&gt;
In general, Pandora specific config files should be located in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/pandora/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The config files are:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!!File!!Description&lt;br /&gt;
|-&lt;br /&gt;
|conf||this file is generally _not_ included with the Pandora and left to default; its job is to define the basic default searchpath for config files, so should you wish to override things entirely, you may need to alter this file. i.e.: If you wish to switch to test config files on SD or in /tmp, instead of using any other conf files .. you can create this guy. This provides a mechanism to short circuit the entire conf system.&lt;br /&gt;
|-&lt;br /&gt;
|apps||this config file defines auto-discovery and other application bundle parameters&lt;br /&gt;
|-&lt;br /&gt;
|desktop||this config defines &amp;quot;dotdesktop&amp;quot; .desktop and FreeDesktop integration paramters -- example is where to spit out icons or .desktop files from discovered PXML.xml or pnd applications&lt;br /&gt;
|-&lt;br /&gt;
|categories||this config maps PXML.xml spec based categories to FreeDesktop standard categories; in this way a PXML based applicatoin can show up in the appropriate categories of a WM that does not use libpnd&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====conf File====&lt;br /&gt;
&lt;br /&gt;
No default is included with the distribution.&lt;br /&gt;
&lt;br /&gt;
The default search path is reasonable and assumes we want the official /etc/pandora/conf near the end, with checks to the SD cards for overrides first. (Likely most people will not override, so the canonical location will be used 99.9% of the time.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PND_CONF_SEARCHPATH &amp;quot;/media/mmcblk0p1/pandora/conf:/media/mmcblk1p1/pandora/conf:/etc/pandora/conf:./testdata/conf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The key for override is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PND_CONF_KEY        &amp;quot;conf.searchpath&amp;quot; /* if not found, use PND_CONF_SEARCHPATH */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which suggests using something like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[conf]&lt;br /&gt;
searchpath   /foo/bar:/baz/bing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====desktop File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# Desktop configuration&lt;br /&gt;
&lt;br /&gt;
[dotfiles]&lt;br /&gt;
#(~/Desktop for xfce, /usr/share/applications for WMs that actually follow spec)&lt;br /&gt;
dotdesktoppath  ~/Desktop/      # path for pndnotifyd to spit .desktop files into (run as root)&lt;br /&gt;
iconpath        /tmp    # path for pndnotifyd to drop icons into (can be same as .desktop if WM permits)&lt;br /&gt;
&lt;br /&gt;
[launcher]&lt;br /&gt;
# if hupscript is commented out entirely, pndnotifyd will not try to find/run the hup&lt;br /&gt;
# if it is uncommented, pndnotifyd will attempt to invoke the hupscript after emitting .desktop files&lt;br /&gt;
# (the hupscript exists to hup the WMs to redisplay .desktop apps)&lt;br /&gt;
#hupscript      pnd_hup.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====apps File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# Application configuration&lt;br /&gt;
&lt;br /&gt;
[autodiscovery]&lt;br /&gt;
# searchpath is a list of paths (colon separated) in which to look for PXML.xml or .pnd-file applications&lt;br /&gt;
searchpath      /media/*/pandora/apps:/usr/pandora/apps&lt;br /&gt;
# notifypath is a list of paths to monitor; if anything in those paths changes, the searchpath is rescanned&lt;br /&gt;
# note that for each path chunk, all current subdirs of that path are also watched)&lt;br /&gt;
notifypath      /media:/media/*/pandora/apps:/usr/pandora/apps:./testdata/app?&lt;br /&gt;
&lt;br /&gt;
# PXMLs may be overridden .. i.e.: overrides are a subset of PXML, where the values are copied over the full PXML&lt;br /&gt;
[overrides]&lt;br /&gt;
# searchpath to look for PXML overrides (which are named by the unique-id)&lt;br /&gt;
searchpath      ~/pxml-overrides&lt;br /&gt;
&lt;br /&gt;
# [pnd] defines where to locate the pnd support scripts, so the user may override pnd_run.sh without clobbering built in&lt;br /&gt;
[pnd]&lt;br /&gt;
searchpath      /media/*/pandora/scripts:/usr/pandora/scripts&lt;br /&gt;
runscript       pnd_run.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====categories File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# dotdesktop configuration&lt;br /&gt;
&lt;br /&gt;
# this config file maps 'PXML' categories to free-desktop standard categories&lt;br /&gt;
# i.e.: category 'Foo' could map to more standard 'Utility', thus making .desktop file&lt;br /&gt;
# emitting a more useful thing&lt;br /&gt;
&lt;br /&gt;
# the standard listing of categories is:&lt;br /&gt;
# http://standards.freedesktop.org/menu-spec/latest/apa.html&lt;br /&gt;
&lt;br /&gt;
# note that 'map' section in the config is _required_ for a match to be found; this&lt;br /&gt;
# is done to separate categories from (future) top-level directives&lt;br /&gt;
&lt;br /&gt;
default Application;Utility;Network;&lt;br /&gt;
&lt;br /&gt;
[map]&lt;br /&gt;
Development     Development&lt;br /&gt;
Education       Education&lt;br /&gt;
Games   Game&lt;br /&gt;
Graphics        Graphics&lt;br /&gt;
Internet        Network&lt;br /&gt;
Multimedia      AudioVideo&lt;br /&gt;
Office  Office&lt;br /&gt;
Settings        Settings&lt;br /&gt;
System  System&lt;br /&gt;
Utilities       Utility&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SD card layout===&lt;br /&gt;
&lt;br /&gt;
libpnd concerns itself with things in the 'pandora' root folder on SD. We agonized over this decision, but settled on this to avoid cases where someone with a 16GB SDHC card puts 50-million files with &amp;quot;.pnd&amp;quot; on them, and expects reasonable performance. Instead, applications for instance would have to be in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/menu -&amp;gt; apps that will go to /usr/share/applications and should show up in xfce menu by category&lt;br /&gt;
/pandora/desktop -&amp;gt; apps that will go to ~/Desktop and show up on user desktop as icons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following location is used by pmenu (and may get deprecated, but I've not discussed it with cpasjuste yet.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/apps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i.e.: the searchpath for autodiscovery includes /media/*/pandora/apps (and desktop and menu now)&lt;br /&gt;
&lt;br /&gt;
Also in the /pandora/ folder is a magic 'appdata' folder:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/appdata&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a .pndfile or PXML.xml dir get mounted, any writes back to the mounted area are put into appdata, with a subdir by the unique-id. i.e.: With the hypothetical MAME.pnd, it might update its config files after a user changes something, or create new files, or store hiscores or whatever. If it doesn't write them to [[NAND]], and doesn't want ot write them to /mame/some/dir, but instead record it to itself for whatever reason, it would go to /pandora/appdata/MAMEs-ID/ instead. The pnd or PXML.xml app area is never modified during a run, only the appdata. (But when an application reads its own path, it will pick up the appdata version of the file instead of the actual file. Then magic of union-type filesystems!)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
If Myapp with unique-id foo.123 is mounted, then any write-backs are directed to..&lt;br /&gt;
&lt;br /&gt;
/pandora/appdata/foo.123/&lt;br /&gt;
&lt;br /&gt;
On the SD that hosts the application.&lt;br /&gt;
&lt;br /&gt;
===NAND layout===&lt;br /&gt;
&lt;br /&gt;
In addition to seeking applications in [[SD cards]], /usr/pandora/apps is included in the default searchpath, so that 'built in' apps can be listed, or users can drop them there.&lt;br /&gt;
&lt;br /&gt;
It might be a cool addition to put a user homedir into the searchpath as well, so [[NAND]] but user-homedir (for on-device browser downloads, say.)&lt;br /&gt;
&lt;br /&gt;
==Command line tools and testing==&lt;br /&gt;
&lt;br /&gt;
A number of scripts and tools are included or built with libpnd, to facilitate testing of the lib as its being developed and to assist in making .pnd files and PXML.xml files.&lt;br /&gt;
&lt;br /&gt;
==PXML.xml and .pnd files==&lt;br /&gt;
&lt;br /&gt;
On most platforms, applications are distributed as an executable and optional datafiles and likely an installer. The installers job is to integrate the application into the filesystem, as the transport mechanism itself is not executable and is considered temporary. In Windows an application might be installed into Program Files, while in Unix an application might be dropped into /usr/local/bin .. data files in various other places.&lt;br /&gt;
&lt;br /&gt;
For the Pandora platform we wanted a very easy to use workflow -- download and run -- and also have a very different operating environment. With multiple SD cards available for expansion (and that space being highly desirable due to a smaller internal store) it is desirable to install applications to SD, and yet SD cards are by definition something users will wish to carry multiple of. With two slots, it could be quite a chore to install an application to SD1, its data to SD2, and then say have only one of them plugged in at a time, or switch which slot they're in, or any number of scenarios. i.e.: Installing onto a medium which may be present or not at any time is very different to how most operating systems work. So we made something new and awesome.&lt;br /&gt;
&lt;br /&gt;
The PXML.xml and .pnd-file approach we came up with attempts to address these issues.&lt;br /&gt;
&lt;br /&gt;
The goals:&lt;br /&gt;
* for the user, an application can be a single file download&lt;br /&gt;
* furthermore, there is no installation whatsoever, beyond dropping that single file into the right place on the SD card&lt;br /&gt;
* using the application should be easy -- stick in the SD card, and tap/launch on the icon.&lt;br /&gt;
* for uninstallation, delete the single file. Thats it, no fuss.&lt;br /&gt;
* for the developer, creating that single file should be easy to do&lt;br /&gt;
* for the system, performance should be high&lt;br /&gt;
&lt;br /&gt;
Remember, an application can be a .pnd 'bundle' (single file containing all the sub-files), or a PXML.xml 'dir application' (an unpacked .pnd esentially.) '''BOTH PXML.xml-dirs and .pnd's ARE EXECUTABLE.'''&lt;br /&gt;
&lt;br /&gt;
pndnotifyd will auto-discover PXML.xml in a directory and consider that an application, emitting a .desktop file, just as well as a .pnd file. i.e.: This can be hand for development or users. Remember that a mounted PXML.xml dir still redirect write-backs to the /pandora/appdata directory, just like a full .pnd application. They are treated the same!&lt;br /&gt;
&lt;br /&gt;
===What are PXML.xml and .pnd files?===&lt;br /&gt;
&lt;br /&gt;
PXML.xml is a file describing an application&lt;br /&gt;
A directory containing a PXML.xml _is executable_&lt;br /&gt;
A .pnd file is the packaged up version of the directory that is executable.&lt;br /&gt;
i.e.: a PXML.xml in a directory is just as executable as a .pnd representation of that directory.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir OutcaST&lt;br /&gt;
cp outcast.bin OutcaST/&lt;br /&gt;
cp PXML.xml OutcaST/&lt;br /&gt;
# at this point, the OutcaST directory is now discoverable and executable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pnd_make.sh -this -that OutcaST outcast.pnd&lt;br /&gt;
# at this point, outcast.pnd is executable (as is the OutcaST directory), so upload outcast.pnd to the Open Handhelds Archive and let people enjoy!&lt;br /&gt;
&lt;br /&gt;
===A note on including shared libs===&lt;br /&gt;
A philsophy for packaging that I am advocating is to 'just make applications work' -- avoid dependancy trees.&lt;br /&gt;
&lt;br /&gt;
Some guidelines:&lt;br /&gt;
&lt;br /&gt;
1) you can depend on shared libs included with the firmware to always be there&lt;br /&gt;
&lt;br /&gt;
2 you should include any shared libs you need for your app, that are not in the firmware (yes, this increases app size a little bit, and potentially makes for duplication among apps that use the same shared libs)&lt;br /&gt;
&lt;br /&gt;
3) if a shared lib becomes desirable in the firmware, it can be added there as a firmware patch easily (this has the advantage of gradulaly updating the entire user based, and apps easily saying 'we depend in firmware version X', rather than making for pnd-dependnacies and the equivilent of 'dll hell'&lt;br /&gt;
&lt;br /&gt;
4) You'll have to be careful in linking your application to ensure that the shared libs you are including in the pnd/PXML-dir are to be locatable by your binaries. ie: stick them in a 'lib/' dir in your bundle, and stamp your binary with a library-path './dir/' so they can be found, say. More later.&lt;br /&gt;
&lt;br /&gt;
===Future idea: pnd's for containing system-wide shared libs===&lt;br /&gt;
&lt;br /&gt;
This is something we've bounced around for quite awhile, but not committed to. As it keeps coming up I thought I'd put some notes here in public.&lt;br /&gt;
&lt;br /&gt;
It is possibly desirable to make a special searchpath that is discovered during machine boot, and any pnd's found there are automatically mounted (and left mounted) into a special path (say /usr/local/pandora/lib or somesuch.) This way, collections of handy utilities or shared libraries could be distributed as a pnd, and become available in consistent locations. If 10 applications need a shared lib, and don't want to duplciate it in each of their pnd files, this could be an approach.&lt;br /&gt;
&lt;br /&gt;
I tend to think it is best avoided, however, since it complicates the user experience -- we end up with pnd depandancies, and apps nolonger about to 'just work', and apps that did work and 'suddenly break' when other files are altered. The philosphy we're going for with pnd files is 'drag and drop' -- user downloads a pnd file, and it works.. a self contained application, nice and easy. We start complicating the dependancies, and it turns into 'dll hell' as seen on other platforms.&lt;br /&gt;
&lt;br /&gt;
That said, it is _not_ difficult to add into the existing system and design; we've been mulling it over, but it is best avoided for now. rather than complicate the system up front, let us try to get a functional and as lightweight-as-possible system on the uptake, gather some usage data points and then worry about upgrades :)&lt;br /&gt;
&lt;br /&gt;
===File format - PXML.xml / PXML Specification===&lt;br /&gt;
See the [[PXML_specification|PXML specification]]&lt;br /&gt;
&lt;br /&gt;
Alternatively the spec is included in the docs/ directory of the libpnd distribution, though the wiki version linked above should be considered cannon.&lt;br /&gt;
&lt;br /&gt;
A note on history; the PXML spec was originally created by EvilDragon, and went through a number of revisions as suggestions came in; as these things are wont to do, the target was ever moving and the scope and meaning of PXML changed so at some point a more strategic approach was needed. dflemstr took it upon himself to help recode some of the parse and re-evaluate many of the PXML decisions and hence was born the PXML-version-2 spec.&lt;br /&gt;
&lt;br /&gt;
===File format - .pnd files===&lt;br /&gt;
The pnd file format is pretty straight forward, though most will interact with it through the included (or community supplied) tools.&lt;br /&gt;
&lt;br /&gt;
Basically its just an ISO file (or other filesystem type) with a PXML.xml and an optional PNG icon appended. (example: cat appfolder.iso app.pxml icon.png &amp;gt; app.pnd) For ease of discussion, I refer to ISO but in fact you coudl be using squashfs or other types.&lt;br /&gt;
&lt;br /&gt;
The ISO filesystem portion of the file can include anything the developer wishes, as long as it includes a PXML.xml in its root file and an executable somewhere in there. It can also include images, audio files, data files of any kind. It can be small or large.&lt;br /&gt;
&lt;br /&gt;
Yes, the PXML.xml is included in the ISO portion (in the root directory), and also appended to the end of the .pnd file (for _convenience_ .. it is very easy and fast to locate in this position; we can backseek into the ISO to find the PXML, but if its a 500MB ISO it could take awhile. Hence, we append it and can find it in one seek.)&lt;br /&gt;
&lt;br /&gt;
'''NOTE: The naming of the PXML.xml file is important! The name is case sensitive and must be &amp;quot;PXML.xml&amp;quot;, nothing else!'''&lt;br /&gt;
&lt;br /&gt;
This simple format makes it possible to easily create .pnd files with the default utility's of most operating systems. Further, it is a fairly fail-safe system -- the PXML is appended, but is also included within the ISO image part of the file so if the appended-PXML is ever lost (unpack and repack poorly, say) the system will still work (the PXML inside the ISO can be found easily, even without mounting the ISO _as_ an ISO, since it is a plaintext uncompressed image format.) &lt;br /&gt;
&lt;br /&gt;
Manually creating a .pnd (or even a PXML) is a pain so there will be a few helper scripts or maybe even a gui app out when we launch.&lt;br /&gt;
&lt;br /&gt;
Included with libpnd are some scripts to create PXML and pndfiles, though it is expected people will create handier utilities. See the tool section of this wiki for some details.&lt;br /&gt;
&lt;br /&gt;
Question from the gp32x forum regarding confusion of PXML location -- remember that in general most developers will keep a directory that represents the .pnd or PXML-dir application. Their makefile/build-process will drop the executable(s) into that directory, which inludes a PXML.xml description of the application, and possibly an icon (and whatever all else they wish.) To build the .pnd file, a script (say) is used which compresses all this into the pnd format (including appending the PXML.) So yes, the PXML is in two places in the .pnd file and one place in the source directory. You'll get used to it ;)&lt;br /&gt;
&lt;br /&gt;
Rationale --&lt;br /&gt;
&lt;br /&gt;
Several iterations of pnd files have been considered, from zipfiles to cramfs to other formats, to putting in a key/value set of information tags in the file, to table-of-contents indexes, to any number of options to help performance, and so on. In the end we went for a good overall and simple solution and dropped getting fancy -- PXML.xml can be extended to define the type of the file if it cannot be magic'd, so we could using other filesystem types in the future (and this is why people should use libpnd rather than rolling their own solution.) For now however, pnd files are ISO files with the PXML.xml appended and an optional icon. This keeps the PXML and icon easy to locate, and yet a easy file format.&lt;br /&gt;
&lt;br /&gt;
====Recommended layout of a pnd directory structure, ie: how to make a well behaved pnd file====&lt;br /&gt;
&lt;br /&gt;
These are guidelines to make pnd-files 'well behaved', and to help move towards a consistent pnd structure.&lt;br /&gt;
&lt;br /&gt;
* Always include your icon png-file and PXML.xml file in the _Root_ of the pnd-file; this is for reasons that folks may well unpack the pnd-file, and then repack it; in doing so, if the icon and PXML.xml (normally appended to the .iso to become a .pnd) will be lost, unless the user or tool is being careful. Thus, it is wise to include them within the .iso, to make things so the iso is the entire pnd application, in unpacked form.&lt;br /&gt;
&lt;br /&gt;
* Use a 'reasonably unique' unique-id of course (to identify your application.) This is used for many internal uses, so uniqueness is pretty wise.&lt;br /&gt;
&lt;br /&gt;
* Use an 'application relevant' appdata name; make it as unique as you have to, but consider being less unique; a random example could be .. possibly there may be several quake1 ports; they could all share the same appdata (same config files, same data files), but if you intend on having different config or data files than other quake1's, make your appdata named differently. &lt;br /&gt;
&lt;br /&gt;
* Always Always Always write your 'state info' to current-working-directory (ie: ./foo, and not ~/foo). The pnd-system will redirect this to the users appdata of course, keeping things clean and predictable. If you're just porting an app, that has ~ all over the darned place, and you don't want to muck up the code.. just have your 'runscript' do something like 'set $HOME=.' and you're good to go!&lt;br /&gt;
&lt;br /&gt;
* Try using rudimentary [http://en.wikipedia.org/wiki/Zenity Zenity] scripts to pop up imporant pre-run information to the user via the GUI, if the application can't do so; ie: Hatari itself has a very fine GUI in it, but if the Atari ST TOS image is not present, it just exits and fails to run, so the GUI doesn't have time to do anything useful. In this case, it could be wise to use a 1 line Zenity script that checks before the emu runs for the file in question, then pop up a dialog box saying 'put this file /here', so the user knows what the heck happened&lt;br /&gt;
&lt;br /&gt;
* Runscripts; the PXML.xml can specify to run your binary, or you can run a .sh script that in turn runs your binary, say. This lets you do various tests, set up LD_LIBRARY_PATH, or other mischief before your binary gets run. Very handy. I often have PXML.xml run 'runfoo.sh', and runfoo.sh in turn runs ./foo after setting things up, making directories, etc.&lt;br /&gt;
&lt;br /&gt;
* Always include a documentation 'info' link, if your app has any setup requirements, has popup help screens that the user needs to know a key to pop up, or other essential trivia; feel free to make the doc link as complete as you like, since its all within the pnd file. (ie: Include the full DosBox documentation if you want to, in your DosBox pnd :)&lt;br /&gt;
&lt;br /&gt;
* Try to set up the appdata directory for the user; if you need a 'roms' or 'image' directory in the appdata (such as in the case of an Atari ST emulator needing a location to house the TOS OS image, say), then do a 'mkdir' in your 'runscript', to create it. Thus the user will find a (example) Hatari appdata directory, and within, any directories he needs (possibly empty.) This just makes it obvious for the user where to put stuff.&lt;br /&gt;
&lt;br /&gt;
* For data that is not kept in your appdata directory, try to keep it local to the current SD _or_ better still, search both SD. ie: libpnd uses a basic but really handy system for iterating across a list of directories (including glob type expansion); so you can tell it something like /media/*/foo:/tmp and it'll check every mounted device (including both SD slots) in the 'foo' directory, as well as /tmp; you can have it call your code as it looks through, or you can ask libpnd to find a file for you and report where it was found, across all your searchpaths; you don't have to use libpnd's code to do it, you coudl write oyur own (using libpnd as an example if you need the help), as its pretty easy to build (20 lines of code maybe?) Anyway, the trick is to be multi-SD aware, and bonus marks for handling if theres a USB mounted drive etc as well. (Example; I coded minimenu so that when it caches out a preview picture, it checks for free space first, and tries first on the same SD that the pnd is mounting from, and then across a searchpath of alternate locations to cache to; this way the user can customize the caching, and it can be on various devices.)&lt;br /&gt;
&lt;br /&gt;
====What filesystem types can be contained within a pnd-file?====&lt;br /&gt;
&lt;br /&gt;
The pnd container can really contain a large variety of filesystem types; day-zero we're aiming for ISO since it is simple, easy build across every major OS, and fast to use. But it is not the only supported filesystem type, and more should be added all the time. (Possibly '-auto' can be added to pnd-run and it'll &amp;quot;just work&amp;quot; for dozens of types!)&lt;br /&gt;
&lt;br /&gt;
A compressed filesystem type has always been desirable for file sizing reasons, though it potentially impacts performance (depending on the application operation really.)&lt;br /&gt;
&lt;br /&gt;
Supported types (not an exhaustive list!):&lt;br /&gt;
&lt;br /&gt;
* ISO&lt;br /&gt;
* squashfs&lt;br /&gt;
&lt;br /&gt;
===Creating pnd files===&lt;br /&gt;
&lt;br /&gt;
The [[PND quickstart]] page contains this information.&lt;br /&gt;
&lt;br /&gt;
===PXML overrides===&lt;br /&gt;
&lt;br /&gt;
There are a couple of ways to effect an override of the PXML, without modifying a pnd-file.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;In-path&amp;quot; override files: .ovr====&lt;br /&gt;
&lt;br /&gt;
The library automatically imports a limited number of overrides from a conf file that can be located in the same location as its matching .pnd file is.&lt;br /&gt;
&lt;br /&gt;
For instance, if /pandora/desktop/awesomegame.pnd exists, then libpnd will automatically also search for /pandora/desktop/awesomegame.ovr&lt;br /&gt;
&lt;br /&gt;
Some menu systems will also be smart enough to watch for an icon override -- /pandora/desktop/awesomegame.png -- and if present, to use it; 'minimenu' (mmenu) is aware of that, as is pndnotifyd daemon when emitting .desktop files. Likely pmenu will also be updated. In effect, the user can override the icon, category and other attributes of the pnd, without needing special tools or to alter the system.&lt;br /&gt;
&lt;br /&gt;
An .ovr file must be named identically to the pnd-file, excepting the 3 character file extension.&lt;br /&gt;
&lt;br /&gt;
NOTE: Given that a pnd may emit multiple applications from its PXML.xml, the ovr will have to be aware of this so it can override the correct application(s) within the pnd. Some menus and information tools will display the application list with 'subapp number' to assist identification. minimenu shows the subapp number in the detail panel, for example. In the case where a pnd-file has only one contained application, that is subapp-number zero. For any additional subapplications, increment by one .. but it can be tricky to know which app is which subapp number. (A careful eye will notice the .desktop filename includes the subapp-number after the pound sign .. foo#3.desktop is subapp_number 3.)&lt;br /&gt;
&lt;br /&gt;
The ovr file may (at this time) override the icon title, the CPU clock speed to set on launch, the main category, and the first subcategory for the main category. Additional fields will become overridable.&lt;br /&gt;
&lt;br /&gt;
Minimenu honors up to 3 lines of 'notes', pulled from the .ovr file. (Make sure they are in the right subapp group). note-1, note-2, note-3, see example below. The notes in minimenu are shown at the bottom of the detail text panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
[Application-0]&lt;br /&gt;
title                   HatariHack0&lt;br /&gt;
maincategory            Audio&lt;br /&gt;
maincategorysub1        Emulator&lt;br /&gt;
[Application-1]&lt;br /&gt;
title                   HatariHack1&lt;br /&gt;
clockspeed              200&lt;br /&gt;
note-1                  My note text line 1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PXML override file -- currently unsupported====&lt;br /&gt;
&lt;br /&gt;
PXML.xml files can have any number of their elements over-ridden by user preferences. &lt;br /&gt;
&lt;br /&gt;
The design goal here was to make it so user-preferences could alter the impact of the PXML.xml in any way, but without requiring the actual PXML.xml in the .pnd (and within the ISO therein) to be altered (could be a 500MB ISO after all!), and further, for these changes to persist. Consider than an SD card could be removed and inserted into the other slot, or the app could be removed entirely and come back another day, or other scenarios.&lt;br /&gt;
&lt;br /&gt;
As such, the PXML-overrides are kept in NAND in the user homedirectory (See the config files to find out where.)&lt;br /&gt;
&lt;br /&gt;
libpnd includes functions to pull in PXML, and also functions to then look for and merge in overrides. It is not always done since you may wish to inspect the PXML or the overrides, so the developers job is to do as they see fit -- pull the XML, and likely also pull in the overrides.&lt;br /&gt;
&lt;br /&gt;
At this time I'm not sure if people will ever use overrides, but the system has been built in should it be needed.&lt;br /&gt;
&lt;br /&gt;
===Included shellscripts to generate files and other sundry duties===&lt;br /&gt;
&lt;br /&gt;
====genpxml====&lt;br /&gt;
&lt;br /&gt;
This tool can spit out a basic but correct PXML.xml, faking up a halfway-useful unique-id in the process. It might be handy in saving you writing up a PXML.xml from scratch.&lt;br /&gt;
&lt;br /&gt;
====pnd_hup.sh====&lt;br /&gt;
&lt;br /&gt;
pndnotifyd will attempt to locate this script and invoke it after an auto-discovery run, if the pnd_hup entry is present (and uncommented) in the config files. It is expected to be commented out in release images, as xfce watches directories for .desktop files and does not need a HUP; some desktop managers need to be HUPped to rescan for .desktop files in a timely fashion, so the pnd_hup config entry can be uncommented and this script will attempt to figure out whom to HUP.&lt;br /&gt;
&lt;br /&gt;
====pnd_make.sh====&lt;br /&gt;
&lt;br /&gt;
This is one of the great ones :)&lt;br /&gt;
&lt;br /&gt;
Given a directory with a PXML.xml (see genpxml above) and an executable and any other goo you want in there, this script will spit out a .pnd file you can execute or distribute as an application.&lt;br /&gt;
&lt;br /&gt;
====pnd_run.sh====&lt;br /&gt;
&lt;br /&gt;
This job does a lot of the heavy lifting for libpnd, including setting up the 'union filesystems', doing .pnd and PXML.xml-app-dir execution and mounting, and so on. Generally you will talk to it via libpnd or .desktop files, but you can invoke it dorectly from your apps if you wish to circumvent libpnd or mount .pnd files within a shellscript/perlscript/etc.&lt;br /&gt;
&lt;br /&gt;
==Auto-discovery of applications==&lt;br /&gt;
&lt;br /&gt;
TBD.&lt;br /&gt;
&lt;br /&gt;
==Integration with FreeDesktop .desktop systems==&lt;br /&gt;
&lt;br /&gt;
===dotdesktop (.desktop) files===&lt;br /&gt;
&lt;br /&gt;
===Icons===&lt;br /&gt;
&lt;br /&gt;
There are some rules for Icons in PXML.xml and pnd/directory bundles&lt;br /&gt;
&lt;br /&gt;
- An Icon should be in the root of the directory or .pnd bundle&lt;br /&gt;
&lt;br /&gt;
- An Icon must be specified in the PXML.xml if you expect it to work&lt;br /&gt;
&lt;br /&gt;
- As the PXML.xml is parsed, the icon is sought; if the icon is specified, but not found, it is assumed to be a system default icon and the filename will be placed into the .desktop Icon= line verbatim (ex: Icon=foo.png), and the window manager presumably will know how to locate it. If the icon is specified, and is found, then it will be copied into the configured IconPath, and the full path to it will be used for the Icon= line in the .desktop file ex: Icon=/tmp/myicon.png). If no icon is specified in the PXML file, then no Icon= line will be entered into the .desktop and the WM will presumably apply a default icon based on category or whatever.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==APIs==&lt;br /&gt;
&lt;br /&gt;
Feel free to just go read the .h files; I have tried to comment liberally :)&lt;br /&gt;
&lt;br /&gt;
===Setting and Getting the CPU clock speed===&lt;br /&gt;
&lt;br /&gt;
===Device paramaters - brightness, etc===&lt;br /&gt;
&lt;br /&gt;
===PND files, exec and mount===&lt;br /&gt;
&lt;br /&gt;
===Application discovery===&lt;br /&gt;
&lt;br /&gt;
===Config file parsing===&lt;br /&gt;
&lt;br /&gt;
===Boxing, the singly-linked list container===&lt;br /&gt;
&lt;br /&gt;
===Directory watching===&lt;br /&gt;
&lt;br /&gt;
===Logging api===&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:PND]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Libpnd_hub&amp;diff=9609</id>
		<title>Libpnd hub</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Libpnd_hub&amp;diff=9609"/>
		<updated>2012-01-15T23:09:06Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* Creating pnd files */ Corrected erroneous wiki markup of headline&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Basic users will be more interested in the page [[Introduction to PNDs]]''&lt;br /&gt;
&lt;br /&gt;
{{TOC limit|limit=3}}&lt;br /&gt;
&lt;br /&gt;
{{split section|To much text, a lot of things could be outsourced to dedicated shorter articles}}&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
&lt;br /&gt;
[[libpnd]] is a basic collection of functions and tools to make working Pandora-specific operations easier; to wit, it is hoped multiple applications will make use of this library rather than re-implement similar functionality and lead to problems down the road. (Instead we can run into problems together and thus clobberize them.)&lt;br /&gt;
&lt;br /&gt;
[[libpnd]] thus is a collection of:&lt;br /&gt;
&lt;br /&gt;
* handy system code that hopefully is reusable - IO functions, CPU clock setting, etc.&lt;br /&gt;
* applications for supporting the Pandora's unique features, such as ''pndnotifyd'' for auto-discovery of PXML and .pnd applicatons&lt;br /&gt;
* libraries for support of the .pnd and PXML systems; i.e.: for locating, executable, mounting and unmounting PXML-directory and .pnd applications, loading PXML and handling overrides&lt;br /&gt;
* hopefully reusable code for support of these things; i.e.: a rudimentary but useful config-file parser, rudimentary singly-linked-list container, etc.&lt;br /&gt;
&lt;br /&gt;
It will also include utility functions for setting the CPU clock, reading GPIO inputs without depending on SDL, and other handy bits.&lt;br /&gt;
&lt;br /&gt;
'''You can, nay, are required to - contribute to libpnd!'''&lt;br /&gt;
&lt;br /&gt;
==Design considerations and philosophy==&lt;br /&gt;
&lt;br /&gt;
While much of [[libpnd]] is obvious, some decisions had to be made and it may help to know the guiding principle behind it; the Pandora device will be a handheld '''computer''', but libpnd is designed to facilitate certain operations with goals towards..&lt;br /&gt;
&lt;br /&gt;
* simplicity - just work right, configuration not generally needed&lt;br /&gt;
* obviousness - work as one would expect for this sort of device; i.e.: the user assumes something will work a certain way, and it does&lt;br /&gt;
* like other guys - as an extension of the prior point, we have tried to follow UNIX spirit and provide reusable small tools to do the work those bits can be leveraged, but further tried to follow the spirit of other consoles. So while the device is a powerful little computer, it is probably going to be used by gaming and retro enthusiasts and so we color some of our decisions that way. (i.e.: consider that a PS2/xbox/PSP/etc will have save-game or data management as a separate application, for instance. If thats the best multi-million dollar companies can come up with over decades, well, its not so bad for us to fall back on!)&lt;br /&gt;
* not over-defined; libpnd and PXML try to define a bunch of things, but we also do not _over define_; we try to lead by providing examples and styles, and while we have designed ahead for many things, we have also not nailed a lot of that down too early. It is better to be simple and shipped, then complex and a mess.. adaptable rather than scary.&lt;br /&gt;
&lt;br /&gt;
The library is of course broken into parts:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Part!!Comment&lt;br /&gt;
|-&lt;br /&gt;
|include||include these files to make use of the lib&lt;br /&gt;
|-&lt;br /&gt;
|lib||the code that produces the lib&lt;br /&gt;
|-&lt;br /&gt;
|test||mini tools to test various pieces of the lib in isolation&lt;br /&gt;
|-&lt;br /&gt;
|bin||test tools - tools for testing the lib as it is developed, not anticipated to be used by many&lt;br /&gt;
|-&lt;br /&gt;
|testdata/||for testing /etc/pandora; will contain 'conf' dir, for example&lt;br /&gt;
|-&lt;br /&gt;
|apps/||actual applications people may use, such as [[pndnotifyd]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For now though, here are a couple notes about the design.&lt;br /&gt;
* it is straight C code, to be maximumly re-usable (perhaps C++ and other language bindings will tie back to it). I have gone out of my way to limit external references so that bindings are easier to make. &lt;br /&gt;
* contrary to the previous comment, we've used a bit of C++ for the tinyxml parser .. hopefully this is not an issue.&lt;br /&gt;
* I have tried to keep the API relatively simple and am faking some OO like data hiding to try to keep dev noses out of structures that are subject to change. i.e.: functions for list management and node access are provided, don't dig into the void* cast structs, or you could get burnt.&lt;br /&gt;
* the API should be pretty stable; so far very few user-code changes have ever been needed.. lib internal changes should be binary compatible.&lt;br /&gt;
* As a result of that decision, 'handles' are used; a handle is a 'black box' type, something you cannot just use 'handle h; h -&amp;gt; foo = 5' type code for. Instead, internally the library will cast the handle to the actual useful type (which may involve pointer arith etc). This way the user can be returned a handle, and pass the handle to various access functions to get useful data/operations.. but the user is not encouraged to look inside the data objects himself&lt;br /&gt;
* As another implication, access functions are available aplenty; it is a little unwieldy perhaps, but its all about keeping the API good without the user peeking inside and risking being broken down the road. (By example, consider.. you use ftell() on a FILE object; you don't go looking in FILE for the 'position' member, since it might be platform specific, etc.)&lt;br /&gt;
* The lib works pretty well, but there is room for improvement internally; it won't hurt my feelings for you to suggest improvements, and I'm sure we would all be grateful for any patches you provide. We've _started_ this library, but by no means wish to carry it alone!&lt;br /&gt;
&lt;br /&gt;
==Opportunities for improvement==&lt;br /&gt;
&lt;br /&gt;
Certainly nothing is perfect, especially when chasing moving targets.  Some aspects of the library are less efficient, or missing, or buggy, and a few things are noted here should someone have time. The API was designed to be pretty stable so the internal code could be altered without breaking the API interface.&lt;br /&gt;
&lt;br /&gt;
* Better ISO lang handling ... due to shift from original PXML spec to new PXML spec with better lang support I've not updated some of the internal code, API uses etc to handle it. (even .desktop files could include all iso-lang titles, and let the WM pick through as the spec suggests.)&lt;br /&gt;
* Validation of files when they're loaded&lt;br /&gt;
* An actual parser of PXML metadata&lt;br /&gt;
&lt;br /&gt;
[[New PND format | This page describes a proposed new PND format.]]&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
&lt;br /&gt;
libpnd (including all the apps etc) are released under the LGPL (ie: so there should be no encumbrances that prevent linking to commercial applications.):&lt;br /&gt;
&lt;br /&gt;
GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999&lt;br /&gt;
&lt;br /&gt;
==Obtaining the library==&lt;br /&gt;
&lt;br /&gt;
libpnd is in the Official Pandora GIT repo: [http://git.openpandora.org/cgi-bin/gitweb.cgi]&lt;br /&gt;
To obtain yourself a copy, use something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git://git.openpandora.org/pandora-libraries.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thats all you normally need. For copy-paste from the private Wiki sake, heres what I had before:&lt;br /&gt;
Without going into how to set up a GIT, the summary that I (as a registered dev in the repo) used was:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir libpnd&lt;br /&gt;
cd libpnd&lt;br /&gt;
git init&lt;br /&gt;
git remote add libpnd ssh://foo@git.openpandora.org/srv/git/pandora-libraries.git&lt;br /&gt;
git push libpnd master&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building the library==&lt;br /&gt;
&lt;br /&gt;
Standard 'make' should be sufficient here; pull down the directory from the GIT, cd into it, and run make. Thats it.&lt;br /&gt;
&lt;br /&gt;
Note that the make default target is 'everything', which will emit:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
libpnd.a - the static linked version of the lib&lt;br /&gt;
libpnd.so.1.0.1 - the dynlinked version &lt;br /&gt;
libpnd.so.1 - the stub for the shared lib; i.e.: apps should link against libpnd.so.1 and not the 1.0.1 over-specific version&lt;br /&gt;
bin/* - the 'test' dir and the 'apps' dir builds will end up in bin&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few additional make targets, however.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Target!!Description&lt;br /&gt;
|-&lt;br /&gt;
|make clean||wipes out the object files, the bin files, and *~* (emacs backup files), empties some of the deploy stuff, etc. Do this before committing to GIT or we will beat you with sticks.&lt;br /&gt;
|-&lt;br /&gt;
|make deploy||populates the deploy/ directory, which is what is used inthe shipping images; i.e.: testdata/conf includes test configs, while deploy/etc/pandora/conf includes the configs we ship with. This &lt;br /&gt;
|-&lt;br /&gt;
|make||will copy over some of the libs and binaries and such.&lt;br /&gt;
|-&lt;br /&gt;
|make pnd||create a few sample pnd files for testing the lib on an x86 machine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Included Applications==&lt;br /&gt;
&lt;br /&gt;
===pndnotifyd===&lt;br /&gt;
&lt;br /&gt;
Manages the auto-discovery mechanism and integrating PXML.xml dir-apps and [[.pnd]] files into the FreeDesktop standard system (.desktop files). A dedicated libpnd-aware menu could leverage libpnd directly and not need [[pndnotifyd]], though pndnotifyd does offer some handy bits such as HUPping apps to suggest to them that applications may have been added/removed (libpnd includes all the necessary functions for this as well.)&lt;br /&gt;
&lt;br /&gt;
===pndvalidator===&lt;br /&gt;
&lt;br /&gt;
Is mostly a skeleton right now; in the future, it is hoped it will inspect a PXML.xml and then check to ensure the referenced assets are present; the goal to validate the PXML.xml is spec compliant, and the resulting application would be useful.&lt;br /&gt;
&lt;br /&gt;
===discotest===&lt;br /&gt;
&lt;br /&gt;
One of the test tools; it essentially runs an auto-discovery to list off the found apps (be they PXML.xml dir apps or .pnd files), and can dump various data or invoke one or other little tasks; used to test lots of&lt;br /&gt;
bits of [[libpnd]] as it was developed.&lt;br /&gt;
&lt;br /&gt;
===rawpxmltest===&lt;br /&gt;
&lt;br /&gt;
Reads a given PXML.xml and spits out some of the fields found within.&lt;br /&gt;
&lt;br /&gt;
===Test tools===&lt;br /&gt;
&lt;br /&gt;
See the test/ dir in the libpnd source for assorted goofy little test apps used for testing bits of libpnd over time. They also may serve as source examples for using some of the APIs. They're old and shoddy probably too.&lt;br /&gt;
&lt;br /&gt;
==How does it work?==&lt;br /&gt;
&lt;br /&gt;
This is just a quick summary to save you guessing by reading [[PXML_specification|this whole document]].&lt;br /&gt;
&lt;br /&gt;
In essence, libpnd includes lots of real code, but in many places it passes heavy lifting off to shellscripts. This is both handy because the scripts are easily modified without recompilation, and further extends our design goals of making the library bindable to any other language.&lt;br /&gt;
&lt;br /&gt;
Remember, PXML.xml directories are just as executable/mountable as .pnd apps.&lt;br /&gt;
&lt;br /&gt;
So while libpnd is mostly straight-C and so easily bound to python or perl or whatever, libpnd itself invokes many scripts. Those scripts can be directly used by other applications, including other shellscripts.. so libnd functionality can even have bindings in other scripts. This is very flexible and powerful, and handy during debugging or SSHing into the Pandora, etc.&lt;br /&gt;
&lt;br /&gt;
The application lifecycle goes like this:&lt;br /&gt;
&lt;br /&gt;
* device is turned on&lt;br /&gt;
* during init, pndnotifyd is brought up and inhales the config giles&lt;br /&gt;
* pndnotidyd will attempt to auto-discover what PXML.xml directory apps and .pnd-file apps are in the configured searchpaths&lt;br /&gt;
* pndnotifyd will set up filesystem watches on the directories in the notify searchpath; if any of those directories are touched, pndnotifyd will wake up and re-auto-discover .. possibly removing .desktop entries or creating new ones. (i.e.: you drop a new app into the app searchpath, or remove one, or mount an SD card, etc. This is how appications immediately show up or vanish from the window manager desktops.)&lt;br /&gt;
* a libpnd aware launcher can execute applications direct (using libpnd)&lt;br /&gt;
* a libpnd unaware launcher can execute applications via the .desktop standard system; pndnotidyd will emit .desktop files as needed.&lt;br /&gt;
* when libpnd or a .desktop file need to execute an application, they do it via pnd_run.sh (which may be leveraged by other applications, but they hould use libpnd if they can instead, for utmost compatiblity down the road.) pnd_run.sh does the mount of the ISO, runs the actual execable and so on, as directed by libpnd or the command-line args from the .desktop. pnd_run.sh will clean up after everything as well.&lt;br /&gt;
&lt;br /&gt;
So it all works like magic, but it is not that complex a system once you've got the hang of what all is going on.&lt;br /&gt;
&lt;br /&gt;
application → libpnd → shellscripts → system&lt;br /&gt;
&lt;br /&gt;
==FAQ: IF you want to make files visible to the apps, do you have to modify the pnd?==&lt;br /&gt;
&lt;br /&gt;
No. When apps write back to themselves, the writes go to their /pandora/appdata on the SD that houses them. The next time the app reads a file in its directory, the OS will ensure they get the newer file, which is the one in the appdata.&lt;br /&gt;
&lt;br /&gt;
Likewise, you can just drop a file into the appdata and the app will see it.&lt;br /&gt;
&lt;br /&gt;
The app doesn't know about appdata and its pnd file.. the OS and libpnd take care of all the magic.. the app sees one directory, but the reality is there is magic merging going on behind the scenes.&lt;br /&gt;
&lt;br /&gt;
==Assumptions about the filesystem and Configuration==&lt;br /&gt;
&lt;br /&gt;
Note that for libpnd to work, it makes certain assumptions about the filesystem and config files. Since libpnd was developed with the images it should work for the Pandora .. but just dropping libpnd onto another Linux distribution and it won't likely 'work out of the box'. Certain config files will need to be set, and certain conventions followed.&lt;br /&gt;
&lt;br /&gt;
===Searchpaths===&lt;br /&gt;
&lt;br /&gt;
libpnd was designed so that most everything is configured in files, and that these files should be easily hackable and easily overriden, without compromising the machine. It should be feasible to add a config file to an SD card, have it take over if available when required, and then 'undo' those configs simply by removal of the SD card and rebooting.&lt;br /&gt;
&lt;br /&gt;
To facilitate this design goal, all config files are 'sought' using a search-path system.&lt;br /&gt;
&lt;br /&gt;
Developers should be mindful of using the libpnd APIs so this behaviour is inherited to interested applications; developers could also reuse the logic for searching for files, if they find it useful.&lt;br /&gt;
&lt;br /&gt;
Searchpaths are colon-delimited list of paths, searched left to right.&lt;br /&gt;
&lt;br /&gt;
ex: foo:bar:/my/baz means to look for a given file in 'foo', then in 'bar', then in '/my/baz'.&lt;br /&gt;
&lt;br /&gt;
The standard config files have a default searchpath, and those config files will define further searchpaths for scripts and such the system uses. This makes the system highly flexible -- default scripts are included, but can be overridden by dropping the right named script on an SD card, or by altering a config file.&lt;br /&gt;
&lt;br /&gt;
See the example config files below for example searchpaths -- i.e.: how pndnotifyd searches for pnd_run, etc.&lt;br /&gt;
&lt;br /&gt;
===Notification paths===&lt;br /&gt;
&lt;br /&gt;
The 'apps' config includes a searchpath that specifies the sub-paths to be 'watched'. Various watch mechanisms exist for various filesystem types, but over the course of Pandora development (various kernels, various k-modules, various DM and WM's, I found the included system most stable, though not most current. After a final device image is settled on, it might be time to alter the notification system, but it should not impact the libpnd API.)&lt;br /&gt;
&lt;br /&gt;
Anyway, watches are placed upon the paths defined, and if anything in those paths changes, the auto-discovery code is kicked off to seek our PXML.xml and .pnd type applications in the search paths.&lt;br /&gt;
&lt;br /&gt;
Note that searchpath and notifypaths are different (and usually very similar, but have the option to be very different.)&lt;br /&gt;
&lt;br /&gt;
===Config files===&lt;br /&gt;
&lt;br /&gt;
libpnd includes a generic simple config file parser and assumes the presence of a few config files. It also includes defaults&lt;br /&gt;
so if a config is missing or broken things should work.&lt;br /&gt;
&lt;br /&gt;
In general, Pandora specific config files should be located in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/pandora/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The config files are:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!!File!!Description&lt;br /&gt;
|-&lt;br /&gt;
|conf||this file is generally _not_ included with the Pandora and left to default; its job is to define the basic default searchpath for config files, so should you wish to override things entirely, you may need to alter this file. i.e.: If you wish to switch to test config files on SD or in /tmp, instead of using any other conf files .. you can create this guy. This provides a mechanism to short circuit the entire conf system.&lt;br /&gt;
|-&lt;br /&gt;
|apps||this config file defines auto-discovery and other application bundle parameters&lt;br /&gt;
|-&lt;br /&gt;
|desktop||this config defines &amp;quot;dotdesktop&amp;quot; .desktop and FreeDesktop integration paramters -- example is where to spit out icons or .desktop files from discovered PXML.xml or pnd applications&lt;br /&gt;
|-&lt;br /&gt;
|categories||this config maps PXML.xml spec based categories to FreeDesktop standard categories; in this way a PXML based applicatoin can show up in the appropriate categories of a WM that does not use libpnd&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====conf File====&lt;br /&gt;
&lt;br /&gt;
No default is included with the distribution.&lt;br /&gt;
&lt;br /&gt;
The default search path is reasonable and assumes we want the official /etc/pandora/conf near the end, with checks to the SD cards for overrides first. (Likely most people will not override, so the canonical location will be used 99.9% of the time.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PND_CONF_SEARCHPATH &amp;quot;/media/mmcblk0p1/pandora/conf:/media/mmcblk1p1/pandora/conf:/etc/pandora/conf:./testdata/conf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The key for override is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PND_CONF_KEY        &amp;quot;conf.searchpath&amp;quot; /* if not found, use PND_CONF_SEARCHPATH */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which suggests using something like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[conf]&lt;br /&gt;
searchpath   /foo/bar:/baz/bing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====desktop File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# Desktop configuration&lt;br /&gt;
&lt;br /&gt;
[dotfiles]&lt;br /&gt;
#(~/Desktop for xfce, /usr/share/applications for WMs that actually follow spec)&lt;br /&gt;
dotdesktoppath  ~/Desktop/      # path for pndnotifyd to spit .desktop files into (run as root)&lt;br /&gt;
iconpath        /tmp    # path for pndnotifyd to drop icons into (can be same as .desktop if WM permits)&lt;br /&gt;
&lt;br /&gt;
[launcher]&lt;br /&gt;
# if hupscript is commented out entirely, pndnotifyd will not try to find/run the hup&lt;br /&gt;
# if it is uncommented, pndnotifyd will attempt to invoke the hupscript after emitting .desktop files&lt;br /&gt;
# (the hupscript exists to hup the WMs to redisplay .desktop apps)&lt;br /&gt;
#hupscript      pnd_hup.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====apps File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# Application configuration&lt;br /&gt;
&lt;br /&gt;
[autodiscovery]&lt;br /&gt;
# searchpath is a list of paths (colon separated) in which to look for PXML.xml or .pnd-file applications&lt;br /&gt;
searchpath      /media/*/pandora/apps:/usr/pandora/apps&lt;br /&gt;
# notifypath is a list of paths to monitor; if anything in those paths changes, the searchpath is rescanned&lt;br /&gt;
# note that for each path chunk, all current subdirs of that path are also watched)&lt;br /&gt;
notifypath      /media:/media/*/pandora/apps:/usr/pandora/apps:./testdata/app?&lt;br /&gt;
&lt;br /&gt;
# PXMLs may be overridden .. i.e.: overrides are a subset of PXML, where the values are copied over the full PXML&lt;br /&gt;
[overrides]&lt;br /&gt;
# searchpath to look for PXML overrides (which are named by the unique-id)&lt;br /&gt;
searchpath      ~/pxml-overrides&lt;br /&gt;
&lt;br /&gt;
# [pnd] defines where to locate the pnd support scripts, so the user may override pnd_run.sh without clobbering built in&lt;br /&gt;
[pnd]&lt;br /&gt;
searchpath      /media/*/pandora/scripts:/usr/pandora/scripts&lt;br /&gt;
runscript       pnd_run.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====categories File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# dotdesktop configuration&lt;br /&gt;
&lt;br /&gt;
# this config file maps 'PXML' categories to free-desktop standard categories&lt;br /&gt;
# i.e.: category 'Foo' could map to more standard 'Utility', thus making .desktop file&lt;br /&gt;
# emitting a more useful thing&lt;br /&gt;
&lt;br /&gt;
# the standard listing of categories is:&lt;br /&gt;
# http://standards.freedesktop.org/menu-spec/latest/apa.html&lt;br /&gt;
&lt;br /&gt;
# note that 'map' section in the config is _required_ for a match to be found; this&lt;br /&gt;
# is done to separate categories from (future) top-level directives&lt;br /&gt;
&lt;br /&gt;
default Application;Utility;Network;&lt;br /&gt;
&lt;br /&gt;
[map]&lt;br /&gt;
Development     Development&lt;br /&gt;
Education       Education&lt;br /&gt;
Games   Game&lt;br /&gt;
Graphics        Graphics&lt;br /&gt;
Internet        Network&lt;br /&gt;
Multimedia      AudioVideo&lt;br /&gt;
Office  Office&lt;br /&gt;
Settings        Settings&lt;br /&gt;
System  System&lt;br /&gt;
Utilities       Utility&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SD card layout===&lt;br /&gt;
&lt;br /&gt;
libpnd concerns itself with things in the 'pandora' root folder on SD. We agonized over this decision, but settled on this to avoid cases where someone with a 16GB SDHC card puts 50-million files with &amp;quot;.pnd&amp;quot; on them, and expects reasonable performance. Instead, applications for instance would have to be in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/menu -&amp;gt; apps that will go to /usr/share/applications and should show up in xfce menu by category&lt;br /&gt;
/pandora/desktop -&amp;gt; apps that will go to ~/Desktop and show up on user desktop as icons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following location is used by pmenu (and may get deprecated, but I've not discussed it with cpasjuste yet.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/apps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i.e.: the searchpath for autodiscovery includes /media/*/pandora/apps (and desktop and menu now)&lt;br /&gt;
&lt;br /&gt;
Also in the /pandora/ folder is a magic 'appdata' folder:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/appdata&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a .pndfile or PXML.xml dir get mounted, any writes back to the mounted area are put into appdata, with a subdir by the unique-id. i.e.: With the hypothetical MAME.pnd, it might update its config files after a user changes something, or create new files, or store hiscores or whatever. If it doesn't write them to [[NAND]], and doesn't want ot write them to /mame/some/dir, but instead record it to itself for whatever reason, it would go to /pandora/appdata/MAMEs-ID/ instead. The pnd or PXML.xml app area is never modified during a run, only the appdata. (But when an application reads its own path, it will pick up the appdata version of the file instead of the actual file. Then magic of union-type filesystems!)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
If Myapp with unique-id foo.123 is mounted, then any write-backs are directed to..&lt;br /&gt;
&lt;br /&gt;
/pandora/appdata/foo.123/&lt;br /&gt;
&lt;br /&gt;
On the SD that hosts the application.&lt;br /&gt;
&lt;br /&gt;
===NAND layout===&lt;br /&gt;
&lt;br /&gt;
In addition to seeking applications in [[SD cards]], /usr/pandora/apps is included in the default searchpath, so that 'built in' apps can be listed, or users can drop them there.&lt;br /&gt;
&lt;br /&gt;
It might be a cool addition to put a user homedir into the searchpath as well, so [[NAND]] but user-homedir (for on-device browser downloads, say.)&lt;br /&gt;
&lt;br /&gt;
==Command line tools and testing==&lt;br /&gt;
&lt;br /&gt;
A number of scripts and tools are included or built with libpnd, to facilitate testing of the lib as its being developed and to assist in making .pnd files and PXML.xml files.&lt;br /&gt;
&lt;br /&gt;
==PXML.xml and .pnd files==&lt;br /&gt;
&lt;br /&gt;
On most platforms, applications are distributed as an executable and optional datafiles and likely an installer. The installers job is to integrate the application into the filesystem, as the transport mechanism itself is not executable and is considered temporary. In Windows an application might be installed into Program Files, while in Unix an application might be dropped into /usr/local/bin .. data files in various other places.&lt;br /&gt;
&lt;br /&gt;
For the Pandora platform we wanted a very easy to use workflow -- download and run -- and also have a very different operating environment. With multiple SD cards available for expansion (and that space being highly desirable due to a smaller internal store) it is desirable to install applications to SD, and yet SD cards are by definition something users will wish to carry multiple of. With two slots, it could be quite a chore to install an application to SD1, its data to SD2, and then say have only one of them plugged in at a time, or switch which slot they're in, or any number of scenarios. i.e.: Installing onto a medium which may be present or not at any time is very different to how most operating systems work. So we made something new and awesome.&lt;br /&gt;
&lt;br /&gt;
The PXML.xml and .pnd-file approach we came up with attempts to address these issues.&lt;br /&gt;
&lt;br /&gt;
The goals:&lt;br /&gt;
* for the user, an application can be a single file download&lt;br /&gt;
* furthermore, there is no installation whatsoever, beyond dropping that single file into the right place on the SD card&lt;br /&gt;
* using the application should be easy -- stick in the SD card, and tap/launch on the icon.&lt;br /&gt;
* for uninstallation, delete the single file. Thats it, no fuss.&lt;br /&gt;
* for the developer, creating that single file should be easy to do&lt;br /&gt;
* for the system, performance should be high&lt;br /&gt;
&lt;br /&gt;
Remember, an application can be a .pnd 'bundle' (single file containing all the sub-files), or a PXML.xml 'dir application' (an unpacked .pnd esentially.) '''BOTH PXML.xml-dirs and .pnd's ARE EXECUTABLE.'''&lt;br /&gt;
&lt;br /&gt;
pndnotifyd will auto-discover PXML.xml in a directory and consider that an application, emitting a .desktop file, just as well as a .pnd file. i.e.: This can be hand for development or users. Remember that a mounted PXML.xml dir still redirect write-backs to the /pandora/appdata directory, just like a full .pnd application. They are treated the same!&lt;br /&gt;
&lt;br /&gt;
===What are PXML.xml and .pnd files?===&lt;br /&gt;
&lt;br /&gt;
PXML.xml is a file describing an application&lt;br /&gt;
A directory containing a PXML.xml _is executable_&lt;br /&gt;
A .pnd file is the packaged up version of the directory that is executable.&lt;br /&gt;
i.e.: a PXML.xml in a directory is just as executable as a .pnd representation of that directory.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir OutcaST&lt;br /&gt;
cp outcast.bin OutcaST/&lt;br /&gt;
cp PXML.xml OutcaST/&lt;br /&gt;
# at this point, the OutcaST directory is now discoverable and executable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pnd_make.sh -this -that OutcaST outcast.pnd&lt;br /&gt;
# at this point, outcast.pnd is executable (as is the OutcaST directory), so upload outcast.pnd to the Open Handhelds Archive and let people enjoy!&lt;br /&gt;
&lt;br /&gt;
===A note on including shared libs===&lt;br /&gt;
A philsophy for packaging that I am advocating is to 'just make applications work' -- avoid dependancy trees.&lt;br /&gt;
&lt;br /&gt;
Some guidelines:&lt;br /&gt;
&lt;br /&gt;
1) you can depend on shared libs included with the firmware to always be there&lt;br /&gt;
&lt;br /&gt;
2 you should include any shared libs you need for your app, that are not in the firmware (yes, this increases app size a little bit, and potentially makes for duplication among apps that use the same shared libs)&lt;br /&gt;
&lt;br /&gt;
3) if a shared lib becomes desirable in the firmware, it can be added there as a firmware patch easily (this has the advantage of gradulaly updating the entire user based, and apps easily saying 'we depend in firmware version X', rather than making for pnd-dependnacies and the equivilent of 'dll hell'&lt;br /&gt;
&lt;br /&gt;
4) You'll have to be careful in linking your application to ensure that the shared libs you are including in the pnd/PXML-dir are to be locatable by your binaries. ie: stick them in a 'lib/' dir in your bundle, and stamp your binary with a library-path './dir/' so they can be found, say. More later.&lt;br /&gt;
&lt;br /&gt;
===Future idea: pnd's for containing system-wide shared libs===&lt;br /&gt;
&lt;br /&gt;
This is something we've bounced around for quite awhile, but not committed to. As it keeps coming up I thought I'd put some notes here in public.&lt;br /&gt;
&lt;br /&gt;
It is possibly desirable to make a special searchpath that is discovered during machine boot, and any pnd's found there are automatically mounted (and left mounted) into a special path (say /usr/local/pandora/lib or somesuch.) This way, collections of handy utilities or shared libraries could be distributed as a pnd, and become available in consistent locations. If 10 applications need a shared lib, and don't want to duplciate it in each of their pnd files, this could be an approach.&lt;br /&gt;
&lt;br /&gt;
I tend to think it is best avoided, however, since it complicates the user experience -- we end up with pnd depandancies, and apps nolonger about to 'just work', and apps that did work and 'suddenly break' when other files are altered. The philosphy we're going for with pnd files is 'drag and drop' -- user downloads a pnd file, and it works.. a self contained application, nice and easy. We start complicating the dependancies, and it turns into 'dll hell' as seen on other platforms.&lt;br /&gt;
&lt;br /&gt;
That said, it is _not_ difficult to add into the existing system and design; we've been mulling it over, but it is best avoided for now. rather than complicate the system up front, let us try to get a functional and as lightweight-as-possible system on the uptake, gather some usage data points and then worry about upgrades :)&lt;br /&gt;
&lt;br /&gt;
===File format - PXML.xml / PXML Specification===&lt;br /&gt;
See the [[PXML_specification|PXML specification]]&lt;br /&gt;
&lt;br /&gt;
Alternatively the spec is included in the docs/ directory of the libpnd distribution, though the wiki version linked above should be considered cannon.&lt;br /&gt;
&lt;br /&gt;
A note on history; the PXML spec was originally created by EvilDragon, and went through a number of revisions as suggestions came in; as these things are wont to do, the target was ever moving and the scope and meaning of PXML changed so at some point a more strategic approach was needed. dflemstr took it upon himself to help recode some of the parse and re-evaluate many of the PXML decisions and hence was born the PXML-version-2 spec.&lt;br /&gt;
&lt;br /&gt;
===File format - .pnd files===&lt;br /&gt;
The pnd file format is pretty straight forward, though most will interact with it through the included (or community supplied) tools.&lt;br /&gt;
&lt;br /&gt;
Basically its just an ISO file (or other filesystem type) with a PXML.xml and an optional PNG icon appended. (example: cat appfolder.iso app.pxml icon.png &amp;gt; app.pnd) For ease of discussion, I refer to ISO but in fact you coudl be using squashfs or other types.&lt;br /&gt;
&lt;br /&gt;
The ISO filesystem portion of the file can include anything the developer wishes, as long as it includes a PXML.xml in its root file and an executable somewhere in there. It can also include images, audio files, data files of any kind. It can be small or large.&lt;br /&gt;
&lt;br /&gt;
Yes, the PXML.xml is included in the ISO portion (in the root directory), and also appended to the end of the .pnd file (for _convenience_ .. it is very easy and fast to locate in this position; we can backseek into the ISO to find the PXML, but if its a 500MB ISO it could take awhile. Hence, we append it and can find it in one seek.)&lt;br /&gt;
&lt;br /&gt;
'''NOTE: The naming of the PXML.xml file is important! The name is case sensitive and must be &amp;quot;PXML.xml&amp;quot;, nothing else!'''&lt;br /&gt;
&lt;br /&gt;
This simple format makes it possible to easily create .pnd files with the default utility's of most operating systems. Further, it is a fairly fail-safe system -- the PXML is appended, but is also included within the ISO image part of the file so if the appended-PXML is ever lost (unpack and repack poorly, say) the system will still work (the PXML inside the ISO can be found easily, even without mounting the ISO _as_ an ISO, since it is a plaintext uncompressed image format.) &lt;br /&gt;
&lt;br /&gt;
Manually creating a .pnd (or even a PXML) is a pain so there will be a few helper scripts or maybe even a gui app out when we launch.&lt;br /&gt;
&lt;br /&gt;
Included with libpnd are some scripts to create PXML and pndfiles, though it is expected people will create handier utilities. See the tool section of this wiki for some details.&lt;br /&gt;
&lt;br /&gt;
Question from the gp32x forum regarding confusion of PXML location -- remember that in general most developers will keep a directory that represents the .pnd or PXML-dir application. Their makefile/build-process will drop the executable(s) into that directory, which inludes a PXML.xml description of the application, and possibly an icon (and whatever all else they wish.) To build the .pnd file, a script (say) is used which compresses all this into the pnd format (including appending the PXML.) So yes, the PXML is in two places in the .pnd file and one place in the source directory. You'll get used to it ;)&lt;br /&gt;
&lt;br /&gt;
Rationale --&lt;br /&gt;
&lt;br /&gt;
Several iterations of pnd files have been considered, from zipfiles to cramfs to other formats, to putting in a key/value set of information tags in the file, to table-of-contents indexes, to any number of options to help performance, and so on. In the end we went for a good overall and simple solution and dropped getting fancy -- PXML.xml can be extended to define the type of the file if it cannot be magic'd, so we could using other filesystem types in the future (and this is why people should use libpnd rather than rolling their own solution.) For now however, pnd files are ISO files with the PXML.xml appended and an optional icon. This keeps the PXML and icon easy to locate, and yet a easy file format.&lt;br /&gt;
&lt;br /&gt;
====Recommended layout of a pnd directory structure, ie: how to make a well behaved pnd file====&lt;br /&gt;
&lt;br /&gt;
These are guidelines to make pnd-files 'well behaved', and to help move towards a consistent pnd structure.&lt;br /&gt;
&lt;br /&gt;
* Always include your icon png-file and PXML.xml file in the _Root_ of the pnd-file; this is for reasons that folks may well unpack the pnd-file, and then repack it; in doing so, if the icon and PXML.xml (normally appended to the .iso to become a .pnd) will be lost, unless the user or tool is being careful. Thus, it is wise to include them within the .iso, to make things so the iso is the entire pnd application, in unpacked form.&lt;br /&gt;
&lt;br /&gt;
* Use a 'reasonably unique' unique-id of course (to identify your application.) This is used for many internal uses, so uniqueness is pretty wise.&lt;br /&gt;
&lt;br /&gt;
* Use an 'application relevent' appdata name; make it as unique as you have to, but consider being less unique; a random example could be .. possibly there may be several quake1 ports; they could all share the same appdata (same config files, same data files), but if you intend on having different config or data files than other quake1's, make your appdata named differently. &lt;br /&gt;
&lt;br /&gt;
* Always include a documentation 'info' link, if your app has any setup requirements, has popup help screens that the user needs to know a key to pop up, or other essential trivia; feel free to make the doc link as complete as you like, since its all within the pnd file. (ie: Include the full DosBox documentation if you want to, in your DosBox pnd :)&lt;br /&gt;
&lt;br /&gt;
* Try to set up the appdata directory for the user; if you need a 'roms' or 'image' directory in the appdata (such as in the case of an Atari ST emulator needing a location to house the TOS OS image, say), then do a 'mkdir' in your 'runscript', to create it. Thus the user will find a (example) Hatari appdata directory, and within, any directories he needs (possibly empty.) This just makes it obvious for the user where to put stuff.&lt;br /&gt;
&lt;br /&gt;
* Try using rudimentary zenity scripts to pop up imporant pre-run information, if the application can't do so; ie: Hatari itself has a very fine GUI in it, but if the Atari ST TOS image is not present, it just exits and fails to run, so the GUI doesn't have time to do anything useful. In this case, it could be wise to use a 1 line zenity script that checks before the emu runs for the file in question, then pop up a dialog box saying 'put this file /here', so the user knows what the heck happened&lt;br /&gt;
&lt;br /&gt;
* Always Always Always write your 'state info' to current-working-directory (ie: ./foo, and not ~/foo). The pnd-system will redirect this to the users appdata of course, keeping things clean and predictable. If you're just porting an app, that has ~ all over the darned place, and you don't want to muck up the code.. just have your 'runscript' do something like 'set $HOME=.' and you're good to go!&lt;br /&gt;
&lt;br /&gt;
* Runscripts; the PXML.xml can specify to run your binary, or you can run a .sh script that in turn runs your binary, say. This lets you do various tests, set up LD_LIBRARY_PATH, or other mischief before your binary gets run. Very handy. I often have PXML.xml run 'runfoo.sh', and runfoo.sh in turn runs ./foo after setting things up, making directories, etc.&lt;br /&gt;
&lt;br /&gt;
* For data that is not kept in your appdata directory, try to keep it local to the current SD _or_ better still, search both SD. ie: libpnd uses a basic but really handy system for iterating across a list of directories (including glob type expansion); so you can tell it something like /media/*/foo:/tmp and it'll check every mounted device (including both SD slots) in the 'foo' directory, as well as /tmp; you can have it call your code as it looks through, or you can ask libpnd to find a file for you and report where it was found, across all your searchpaths; you don't have to use libpnd's code to do it, you coudl write oyur own (using libpnd as an example if you need the help), as its pretty easy to build (20 lines of code maybe?) Anyway, the trick is to be multi-SD aware, and bonus marks for handling if theres a USB mounted drive etc as well. (Example; I coded minimenu so that when it caches out a preview picture, it checks for free space first, and tries first on the same SD that the pnd is mounting from, and then across a searchpath of alternate locations to cache to; this way the user can customize the caching, and it can be on various devices.)&lt;br /&gt;
&lt;br /&gt;
====What filesystem types can be contained within a pnd-file?====&lt;br /&gt;
&lt;br /&gt;
The pnd container can really contain a large variety of filesystem types; day-zero we're aiming for ISO since it is simple, easy build across every major OS, and fast to use. But it is not the only supported filesystem type, and more should be added all the time. (Possibly '-auto' can be added to pnd-run and it'll &amp;quot;just work&amp;quot; for dozens of types!)&lt;br /&gt;
&lt;br /&gt;
A compressed filesystem type has always been desirable for file sizing reasons, though it potentially impacts performance (depending on the application operation really.)&lt;br /&gt;
&lt;br /&gt;
Supported types (not an exhaustive list!):&lt;br /&gt;
&lt;br /&gt;
* ISO&lt;br /&gt;
* squashfs&lt;br /&gt;
&lt;br /&gt;
===Creating pnd files===&lt;br /&gt;
&lt;br /&gt;
The [[PND quickstart]] page contains this information.&lt;br /&gt;
&lt;br /&gt;
===PXML overrides===&lt;br /&gt;
&lt;br /&gt;
There are a couple of ways to effect an override of the PXML, without modifying a pnd-file.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;In-path&amp;quot; override files: .ovr====&lt;br /&gt;
&lt;br /&gt;
The library automatically imports a limited number of overrides from a conf file that can be located in the same location as its matching .pnd file is.&lt;br /&gt;
&lt;br /&gt;
For instance, if /pandora/desktop/awesomegame.pnd exists, then libpnd will automatically also search for /pandora/desktop/awesomegame.ovr&lt;br /&gt;
&lt;br /&gt;
Some menu systems will also be smart enough to watch for an icon override -- /pandora/desktop/awesomegame.png -- and if present, to use it; 'minimenu' (mmenu) is aware of that, as is pndnotifyd daemon when emitting .desktop files. Likely pmenu will also be updated. In effect, the user can override the icon, category and other attributes of the pnd, without needing special tools or to alter the system.&lt;br /&gt;
&lt;br /&gt;
An .ovr file must be named identically to the pnd-file, excepting the 3 character file extension.&lt;br /&gt;
&lt;br /&gt;
NOTE: Given that a pnd may emit multiple applications from its PXML.xml, the ovr will have to be aware of this so it can override the correct application(s) within the pnd. Some menus and information tools will display the application list with 'subapp number' to assist identification. minimenu shows the subapp number in the detail panel, for example. In the case where a pnd-file has only one contained application, that is subapp-number zero. For any additional subapplications, increment by one .. but it can be tricky to know which app is which subapp number. (A careful eye will notice the .desktop filename includes the subapp-number after the pound sign .. foo#3.desktop is subapp_number 3.)&lt;br /&gt;
&lt;br /&gt;
The ovr file may (at this time) override the icon title, the CPU clock speed to set on launch, the main category, and the first subcategory for the main category. Additional fields will become overridable.&lt;br /&gt;
&lt;br /&gt;
Minimenu honors up to 3 lines of 'notes', pulled from the .ovr file. (Make sure they are in the right subapp group). note-1, note-2, note-3, see example below. The notes in minimenu are shown at the bottom of the detail text panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
[Application-0]&lt;br /&gt;
title                   HatariHack0&lt;br /&gt;
maincategory            Audio&lt;br /&gt;
maincategorysub1        Emulator&lt;br /&gt;
[Application-1]&lt;br /&gt;
title                   HatariHack1&lt;br /&gt;
clockspeed              200&lt;br /&gt;
note-1                  My note text line 1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PXML override file -- currently unsupported====&lt;br /&gt;
&lt;br /&gt;
PXML.xml files can have any number of their elements over-ridden by user preferences. &lt;br /&gt;
&lt;br /&gt;
The design goal here was to make it so user-preferences could alter the impact of the PXML.xml in any way, but without requiring the actual PXML.xml in the .pnd (and within the ISO therein) to be altered (could be a 500MB ISO after all!), and further, for these changes to persist. Consider than an SD card could be removed and inserted into the other slot, or the app could be removed entirely and come back another day, or other scenarios.&lt;br /&gt;
&lt;br /&gt;
As such, the PXML-overrides are kept in NAND in the user homedirectory (See the config files to find out where.)&lt;br /&gt;
&lt;br /&gt;
libpnd includes functions to pull in PXML, and also functions to then look for and merge in overrides. It is not always done since you may wish to inspect the PXML or the overrides, so the developers job is to do as they see fit -- pull the XML, and likely also pull in the overrides.&lt;br /&gt;
&lt;br /&gt;
At this time I'm not sure if people will ever use overrides, but the system has been built in should it be needed.&lt;br /&gt;
&lt;br /&gt;
===Included shellscripts to generate files and other sundry duties===&lt;br /&gt;
&lt;br /&gt;
====genpxml====&lt;br /&gt;
&lt;br /&gt;
This tool can spit out a basic but correct PXML.xml, faking up a halfway-useful unique-id in the process. It might be handy in saving you writing up a PXML.xml from scratch.&lt;br /&gt;
&lt;br /&gt;
====pnd_hup.sh====&lt;br /&gt;
&lt;br /&gt;
pndnotifyd will attempt to locate this script and invoke it after an auto-discovery run, if the pnd_hup entry is present (and uncommented) in the config files. It is expected to be commented out in release images, as xfce watches directories for .desktop files and does not need a HUP; some desktop managers need to be HUPped to rescan for .desktop files in a timely fashion, so the pnd_hup config entry can be uncommented and this script will attempt to figure out whom to HUP.&lt;br /&gt;
&lt;br /&gt;
====pnd_make.sh====&lt;br /&gt;
&lt;br /&gt;
This is one of the great ones :)&lt;br /&gt;
&lt;br /&gt;
Given a directory with a PXML.xml (see genpxml above) and an executable and any other goo you want in there, this script will spit out a .pnd file you can execute or distribute as an application.&lt;br /&gt;
&lt;br /&gt;
====pnd_run.sh====&lt;br /&gt;
&lt;br /&gt;
This job does a lot of the heavy lifting for libpnd, including setting up the 'union filesystems', doing .pnd and PXML.xml-app-dir execution and mounting, and so on. Generally you will talk to it via libpnd or .desktop files, but you can invoke it dorectly from your apps if you wish to circumvent libpnd or mount .pnd files within a shellscript/perlscript/etc.&lt;br /&gt;
&lt;br /&gt;
==Auto-discovery of applications==&lt;br /&gt;
&lt;br /&gt;
TBD.&lt;br /&gt;
&lt;br /&gt;
==Integration with FreeDesktop .desktop systems==&lt;br /&gt;
&lt;br /&gt;
===dotdesktop (.desktop) files===&lt;br /&gt;
&lt;br /&gt;
===Icons===&lt;br /&gt;
&lt;br /&gt;
There are some rules for Icons in PXML.xml and pnd/directory bundles&lt;br /&gt;
&lt;br /&gt;
- An Icon should be in the root of the directory or .pnd bundle&lt;br /&gt;
&lt;br /&gt;
- An Icon must be specified in the PXML.xml if you expect it to work&lt;br /&gt;
&lt;br /&gt;
- As the PXML.xml is parsed, the icon is sought; if the icon is specified, but not found, it is assumed to be a system default icon and the filename will be placed into the .desktop Icon= line verbatim (ex: Icon=foo.png), and the window manager presumably will know how to locate it. If the icon is specified, and is found, then it will be copied into the configured IconPath, and the full path to it will be used for the Icon= line in the .desktop file ex: Icon=/tmp/myicon.png). If no icon is specified in the PXML file, then no Icon= line will be entered into the .desktop and the WM will presumably apply a default icon based on category or whatever.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==APIs==&lt;br /&gt;
&lt;br /&gt;
Feel free to just go read the .h files; I have tried to comment liberally :)&lt;br /&gt;
&lt;br /&gt;
===Setting and Getting the CPU clock speed===&lt;br /&gt;
&lt;br /&gt;
===Device paramaters - brightness, etc===&lt;br /&gt;
&lt;br /&gt;
===PND files, exec and mount===&lt;br /&gt;
&lt;br /&gt;
===Application discovery===&lt;br /&gt;
&lt;br /&gt;
===Config file parsing===&lt;br /&gt;
&lt;br /&gt;
===Boxing, the singly-linked list container===&lt;br /&gt;
&lt;br /&gt;
===Directory watching===&lt;br /&gt;
&lt;br /&gt;
===Logging api===&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:PND]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Libpnd_hub&amp;diff=9608</id>
		<title>Libpnd hub</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Libpnd_hub&amp;diff=9608"/>
		<updated>2012-01-15T23:07:37Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* pnd_hup.sh */ Grammar: &amp;quot;whom&amp;quot; as this pronoun addresses an object!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Basic users will be more interested in the page [[Introduction to PNDs]]''&lt;br /&gt;
&lt;br /&gt;
{{TOC limit|limit=3}}&lt;br /&gt;
&lt;br /&gt;
{{split section|To much text, a lot of things could be outsourced to dedicated shorter articles}}&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
&lt;br /&gt;
[[libpnd]] is a basic collection of functions and tools to make working Pandora-specific operations easier; to wit, it is hoped multiple applications will make use of this library rather than re-implement similar functionality and lead to problems down the road. (Instead we can run into problems together and thus clobberize them.)&lt;br /&gt;
&lt;br /&gt;
[[libpnd]] thus is a collection of:&lt;br /&gt;
&lt;br /&gt;
* handy system code that hopefully is reusable - IO functions, CPU clock setting, etc.&lt;br /&gt;
* applications for supporting the Pandora's unique features, such as ''pndnotifyd'' for auto-discovery of PXML and .pnd applicatons&lt;br /&gt;
* libraries for support of the .pnd and PXML systems; i.e.: for locating, executable, mounting and unmounting PXML-directory and .pnd applications, loading PXML and handling overrides&lt;br /&gt;
* hopefully reusable code for support of these things; i.e.: a rudimentary but useful config-file parser, rudimentary singly-linked-list container, etc.&lt;br /&gt;
&lt;br /&gt;
It will also include utility functions for setting the CPU clock, reading GPIO inputs without depending on SDL, and other handy bits.&lt;br /&gt;
&lt;br /&gt;
'''You can, nay, are required to - contribute to libpnd!'''&lt;br /&gt;
&lt;br /&gt;
==Design considerations and philosophy==&lt;br /&gt;
&lt;br /&gt;
While much of [[libpnd]] is obvious, some decisions had to be made and it may help to know the guiding principle behind it; the Pandora device will be a handheld '''computer''', but libpnd is designed to facilitate certain operations with goals towards..&lt;br /&gt;
&lt;br /&gt;
* simplicity - just work right, configuration not generally needed&lt;br /&gt;
* obviousness - work as one would expect for this sort of device; i.e.: the user assumes something will work a certain way, and it does&lt;br /&gt;
* like other guys - as an extension of the prior point, we have tried to follow UNIX spirit and provide reusable small tools to do the work those bits can be leveraged, but further tried to follow the spirit of other consoles. So while the device is a powerful little computer, it is probably going to be used by gaming and retro enthusiasts and so we color some of our decisions that way. (i.e.: consider that a PS2/xbox/PSP/etc will have save-game or data management as a separate application, for instance. If thats the best multi-million dollar companies can come up with over decades, well, its not so bad for us to fall back on!)&lt;br /&gt;
* not over-defined; libpnd and PXML try to define a bunch of things, but we also do not _over define_; we try to lead by providing examples and styles, and while we have designed ahead for many things, we have also not nailed a lot of that down too early. It is better to be simple and shipped, then complex and a mess.. adaptable rather than scary.&lt;br /&gt;
&lt;br /&gt;
The library is of course broken into parts:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Part!!Comment&lt;br /&gt;
|-&lt;br /&gt;
|include||include these files to make use of the lib&lt;br /&gt;
|-&lt;br /&gt;
|lib||the code that produces the lib&lt;br /&gt;
|-&lt;br /&gt;
|test||mini tools to test various pieces of the lib in isolation&lt;br /&gt;
|-&lt;br /&gt;
|bin||test tools - tools for testing the lib as it is developed, not anticipated to be used by many&lt;br /&gt;
|-&lt;br /&gt;
|testdata/||for testing /etc/pandora; will contain 'conf' dir, for example&lt;br /&gt;
|-&lt;br /&gt;
|apps/||actual applications people may use, such as [[pndnotifyd]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For now though, here are a couple notes about the design.&lt;br /&gt;
* it is straight C code, to be maximumly re-usable (perhaps C++ and other language bindings will tie back to it). I have gone out of my way to limit external references so that bindings are easier to make. &lt;br /&gt;
* contrary to the previous comment, we've used a bit of C++ for the tinyxml parser .. hopefully this is not an issue.&lt;br /&gt;
* I have tried to keep the API relatively simple and am faking some OO like data hiding to try to keep dev noses out of structures that are subject to change. i.e.: functions for list management and node access are provided, don't dig into the void* cast structs, or you could get burnt.&lt;br /&gt;
* the API should be pretty stable; so far very few user-code changes have ever been needed.. lib internal changes should be binary compatible.&lt;br /&gt;
* As a result of that decision, 'handles' are used; a handle is a 'black box' type, something you cannot just use 'handle h; h -&amp;gt; foo = 5' type code for. Instead, internally the library will cast the handle to the actual useful type (which may involve pointer arith etc). This way the user can be returned a handle, and pass the handle to various access functions to get useful data/operations.. but the user is not encouraged to look inside the data objects himself&lt;br /&gt;
* As another implication, access functions are available aplenty; it is a little unwieldy perhaps, but its all about keeping the API good without the user peeking inside and risking being broken down the road. (By example, consider.. you use ftell() on a FILE object; you don't go looking in FILE for the 'position' member, since it might be platform specific, etc.)&lt;br /&gt;
* The lib works pretty well, but there is room for improvement internally; it won't hurt my feelings for you to suggest improvements, and I'm sure we would all be grateful for any patches you provide. We've _started_ this library, but by no means wish to carry it alone!&lt;br /&gt;
&lt;br /&gt;
==Opportunities for improvement==&lt;br /&gt;
&lt;br /&gt;
Certainly nothing is perfect, especially when chasing moving targets.  Some aspects of the library are less efficient, or missing, or buggy, and a few things are noted here should someone have time. The API was designed to be pretty stable so the internal code could be altered without breaking the API interface.&lt;br /&gt;
&lt;br /&gt;
* Better ISO lang handling ... due to shift from original PXML spec to new PXML spec with better lang support I've not updated some of the internal code, API uses etc to handle it. (even .desktop files could include all iso-lang titles, and let the WM pick through as the spec suggests.)&lt;br /&gt;
* Validation of files when they're loaded&lt;br /&gt;
* An actual parser of PXML metadata&lt;br /&gt;
&lt;br /&gt;
[[New PND format | This page describes a proposed new PND format.]]&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
&lt;br /&gt;
libpnd (including all the apps etc) are released under the LGPL (ie: so there should be no encumbrances that prevent linking to commercial applications.):&lt;br /&gt;
&lt;br /&gt;
GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999&lt;br /&gt;
&lt;br /&gt;
==Obtaining the library==&lt;br /&gt;
&lt;br /&gt;
libpnd is in the Official Pandora GIT repo: [http://git.openpandora.org/cgi-bin/gitweb.cgi]&lt;br /&gt;
To obtain yourself a copy, use something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git://git.openpandora.org/pandora-libraries.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Thats all you normally need. For copy-paste from the private Wiki sake, heres what I had before:&lt;br /&gt;
Without going into how to set up a GIT, the summary that I (as a registered dev in the repo) used was:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir libpnd&lt;br /&gt;
cd libpnd&lt;br /&gt;
git init&lt;br /&gt;
git remote add libpnd ssh://foo@git.openpandora.org/srv/git/pandora-libraries.git&lt;br /&gt;
git push libpnd master&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Building the library==&lt;br /&gt;
&lt;br /&gt;
Standard 'make' should be sufficient here; pull down the directory from the GIT, cd into it, and run make. Thats it.&lt;br /&gt;
&lt;br /&gt;
Note that the make default target is 'everything', which will emit:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
libpnd.a - the static linked version of the lib&lt;br /&gt;
libpnd.so.1.0.1 - the dynlinked version &lt;br /&gt;
libpnd.so.1 - the stub for the shared lib; i.e.: apps should link against libpnd.so.1 and not the 1.0.1 over-specific version&lt;br /&gt;
bin/* - the 'test' dir and the 'apps' dir builds will end up in bin&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a few additional make targets, however.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Target!!Description&lt;br /&gt;
|-&lt;br /&gt;
|make clean||wipes out the object files, the bin files, and *~* (emacs backup files), empties some of the deploy stuff, etc. Do this before committing to GIT or we will beat you with sticks.&lt;br /&gt;
|-&lt;br /&gt;
|make deploy||populates the deploy/ directory, which is what is used inthe shipping images; i.e.: testdata/conf includes test configs, while deploy/etc/pandora/conf includes the configs we ship with. This &lt;br /&gt;
|-&lt;br /&gt;
|make||will copy over some of the libs and binaries and such.&lt;br /&gt;
|-&lt;br /&gt;
|make pnd||create a few sample pnd files for testing the lib on an x86 machine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Included Applications==&lt;br /&gt;
&lt;br /&gt;
===pndnotifyd===&lt;br /&gt;
&lt;br /&gt;
Manages the auto-discovery mechanism and integrating PXML.xml dir-apps and [[.pnd]] files into the FreeDesktop standard system (.desktop files). A dedicated libpnd-aware menu could leverage libpnd directly and not need [[pndnotifyd]], though pndnotifyd does offer some handy bits such as HUPping apps to suggest to them that applications may have been added/removed (libpnd includes all the necessary functions for this as well.)&lt;br /&gt;
&lt;br /&gt;
===pndvalidator===&lt;br /&gt;
&lt;br /&gt;
Is mostly a skeleton right now; in the future, it is hoped it will inspect a PXML.xml and then check to ensure the referenced assets are present; the goal to validate the PXML.xml is spec compliant, and the resulting application would be useful.&lt;br /&gt;
&lt;br /&gt;
===discotest===&lt;br /&gt;
&lt;br /&gt;
One of the test tools; it essentially runs an auto-discovery to list off the found apps (be they PXML.xml dir apps or .pnd files), and can dump various data or invoke one or other little tasks; used to test lots of&lt;br /&gt;
bits of [[libpnd]] as it was developed.&lt;br /&gt;
&lt;br /&gt;
===rawpxmltest===&lt;br /&gt;
&lt;br /&gt;
Reads a given PXML.xml and spits out some of the fields found within.&lt;br /&gt;
&lt;br /&gt;
===Test tools===&lt;br /&gt;
&lt;br /&gt;
See the test/ dir in the libpnd source for assorted goofy little test apps used for testing bits of libpnd over time. They also may serve as source examples for using some of the APIs. They're old and shoddy probably too.&lt;br /&gt;
&lt;br /&gt;
==How does it work?==&lt;br /&gt;
&lt;br /&gt;
This is just a quick summary to save you guessing by reading [[PXML_specification|this whole document]].&lt;br /&gt;
&lt;br /&gt;
In essence, libpnd includes lots of real code, but in many places it passes heavy lifting off to shellscripts. This is both handy because the scripts are easily modified without recompilation, and further extends our design goals of making the library bindable to any other language.&lt;br /&gt;
&lt;br /&gt;
Remember, PXML.xml directories are just as executable/mountable as .pnd apps.&lt;br /&gt;
&lt;br /&gt;
So while libpnd is mostly straight-C and so easily bound to python or perl or whatever, libpnd itself invokes many scripts. Those scripts can be directly used by other applications, including other shellscripts.. so libnd functionality can even have bindings in other scripts. This is very flexible and powerful, and handy during debugging or SSHing into the Pandora, etc.&lt;br /&gt;
&lt;br /&gt;
The application lifecycle goes like this:&lt;br /&gt;
&lt;br /&gt;
* device is turned on&lt;br /&gt;
* during init, pndnotifyd is brought up and inhales the config giles&lt;br /&gt;
* pndnotidyd will attempt to auto-discover what PXML.xml directory apps and .pnd-file apps are in the configured searchpaths&lt;br /&gt;
* pndnotifyd will set up filesystem watches on the directories in the notify searchpath; if any of those directories are touched, pndnotifyd will wake up and re-auto-discover .. possibly removing .desktop entries or creating new ones. (i.e.: you drop a new app into the app searchpath, or remove one, or mount an SD card, etc. This is how appications immediately show up or vanish from the window manager desktops.)&lt;br /&gt;
* a libpnd aware launcher can execute applications direct (using libpnd)&lt;br /&gt;
* a libpnd unaware launcher can execute applications via the .desktop standard system; pndnotidyd will emit .desktop files as needed.&lt;br /&gt;
* when libpnd or a .desktop file need to execute an application, they do it via pnd_run.sh (which may be leveraged by other applications, but they hould use libpnd if they can instead, for utmost compatiblity down the road.) pnd_run.sh does the mount of the ISO, runs the actual execable and so on, as directed by libpnd or the command-line args from the .desktop. pnd_run.sh will clean up after everything as well.&lt;br /&gt;
&lt;br /&gt;
So it all works like magic, but it is not that complex a system once you've got the hang of what all is going on.&lt;br /&gt;
&lt;br /&gt;
application → libpnd → shellscripts → system&lt;br /&gt;
&lt;br /&gt;
==FAQ: IF you want to make files visible to the apps, do you have to modify the pnd?==&lt;br /&gt;
&lt;br /&gt;
No. When apps write back to themselves, the writes go to their /pandora/appdata on the SD that houses them. The next time the app reads a file in its directory, the OS will ensure they get the newer file, which is the one in the appdata.&lt;br /&gt;
&lt;br /&gt;
Likewise, you can just drop a file into the appdata and the app will see it.&lt;br /&gt;
&lt;br /&gt;
The app doesn't know about appdata and its pnd file.. the OS and libpnd take care of all the magic.. the app sees one directory, but the reality is there is magic merging going on behind the scenes.&lt;br /&gt;
&lt;br /&gt;
==Assumptions about the filesystem and Configuration==&lt;br /&gt;
&lt;br /&gt;
Note that for libpnd to work, it makes certain assumptions about the filesystem and config files. Since libpnd was developed with the images it should work for the Pandora .. but just dropping libpnd onto another Linux distribution and it won't likely 'work out of the box'. Certain config files will need to be set, and certain conventions followed.&lt;br /&gt;
&lt;br /&gt;
===Searchpaths===&lt;br /&gt;
&lt;br /&gt;
libpnd was designed so that most everything is configured in files, and that these files should be easily hackable and easily overriden, without compromising the machine. It should be feasible to add a config file to an SD card, have it take over if available when required, and then 'undo' those configs simply by removal of the SD card and rebooting.&lt;br /&gt;
&lt;br /&gt;
To facilitate this design goal, all config files are 'sought' using a search-path system.&lt;br /&gt;
&lt;br /&gt;
Developers should be mindful of using the libpnd APIs so this behaviour is inherited to interested applications; developers could also reuse the logic for searching for files, if they find it useful.&lt;br /&gt;
&lt;br /&gt;
Searchpaths are colon-delimited list of paths, searched left to right.&lt;br /&gt;
&lt;br /&gt;
ex: foo:bar:/my/baz means to look for a given file in 'foo', then in 'bar', then in '/my/baz'.&lt;br /&gt;
&lt;br /&gt;
The standard config files have a default searchpath, and those config files will define further searchpaths for scripts and such the system uses. This makes the system highly flexible -- default scripts are included, but can be overridden by dropping the right named script on an SD card, or by altering a config file.&lt;br /&gt;
&lt;br /&gt;
See the example config files below for example searchpaths -- i.e.: how pndnotifyd searches for pnd_run, etc.&lt;br /&gt;
&lt;br /&gt;
===Notification paths===&lt;br /&gt;
&lt;br /&gt;
The 'apps' config includes a searchpath that specifies the sub-paths to be 'watched'. Various watch mechanisms exist for various filesystem types, but over the course of Pandora development (various kernels, various k-modules, various DM and WM's, I found the included system most stable, though not most current. After a final device image is settled on, it might be time to alter the notification system, but it should not impact the libpnd API.)&lt;br /&gt;
&lt;br /&gt;
Anyway, watches are placed upon the paths defined, and if anything in those paths changes, the auto-discovery code is kicked off to seek our PXML.xml and .pnd type applications in the search paths.&lt;br /&gt;
&lt;br /&gt;
Note that searchpath and notifypaths are different (and usually very similar, but have the option to be very different.)&lt;br /&gt;
&lt;br /&gt;
===Config files===&lt;br /&gt;
&lt;br /&gt;
libpnd includes a generic simple config file parser and assumes the presence of a few config files. It also includes defaults&lt;br /&gt;
so if a config is missing or broken things should work.&lt;br /&gt;
&lt;br /&gt;
In general, Pandora specific config files should be located in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/pandora/conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The config files are:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!!File!!Description&lt;br /&gt;
|-&lt;br /&gt;
|conf||this file is generally _not_ included with the Pandora and left to default; its job is to define the basic default searchpath for config files, so should you wish to override things entirely, you may need to alter this file. i.e.: If you wish to switch to test config files on SD or in /tmp, instead of using any other conf files .. you can create this guy. This provides a mechanism to short circuit the entire conf system.&lt;br /&gt;
|-&lt;br /&gt;
|apps||this config file defines auto-discovery and other application bundle parameters&lt;br /&gt;
|-&lt;br /&gt;
|desktop||this config defines &amp;quot;dotdesktop&amp;quot; .desktop and FreeDesktop integration paramters -- example is where to spit out icons or .desktop files from discovered PXML.xml or pnd applications&lt;br /&gt;
|-&lt;br /&gt;
|categories||this config maps PXML.xml spec based categories to FreeDesktop standard categories; in this way a PXML based applicatoin can show up in the appropriate categories of a WM that does not use libpnd&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====conf File====&lt;br /&gt;
&lt;br /&gt;
No default is included with the distribution.&lt;br /&gt;
&lt;br /&gt;
The default search path is reasonable and assumes we want the official /etc/pandora/conf near the end, with checks to the SD cards for overrides first. (Likely most people will not override, so the canonical location will be used 99.9% of the time.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PND_CONF_SEARCHPATH &amp;quot;/media/mmcblk0p1/pandora/conf:/media/mmcblk1p1/pandora/conf:/etc/pandora/conf:./testdata/conf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The key for override is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define PND_CONF_KEY        &amp;quot;conf.searchpath&amp;quot; /* if not found, use PND_CONF_SEARCHPATH */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which suggests using something like this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[conf]&lt;br /&gt;
searchpath   /foo/bar:/baz/bing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====desktop File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# Desktop configuration&lt;br /&gt;
&lt;br /&gt;
[dotfiles]&lt;br /&gt;
#(~/Desktop for xfce, /usr/share/applications for WMs that actually follow spec)&lt;br /&gt;
dotdesktoppath  ~/Desktop/      # path for pndnotifyd to spit .desktop files into (run as root)&lt;br /&gt;
iconpath        /tmp    # path for pndnotifyd to drop icons into (can be same as .desktop if WM permits)&lt;br /&gt;
&lt;br /&gt;
[launcher]&lt;br /&gt;
# if hupscript is commented out entirely, pndnotifyd will not try to find/run the hup&lt;br /&gt;
# if it is uncommented, pndnotifyd will attempt to invoke the hupscript after emitting .desktop files&lt;br /&gt;
# (the hupscript exists to hup the WMs to redisplay .desktop apps)&lt;br /&gt;
#hupscript      pnd_hup.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====apps File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# Application configuration&lt;br /&gt;
&lt;br /&gt;
[autodiscovery]&lt;br /&gt;
# searchpath is a list of paths (colon separated) in which to look for PXML.xml or .pnd-file applications&lt;br /&gt;
searchpath      /media/*/pandora/apps:/usr/pandora/apps&lt;br /&gt;
# notifypath is a list of paths to monitor; if anything in those paths changes, the searchpath is rescanned&lt;br /&gt;
# note that for each path chunk, all current subdirs of that path are also watched)&lt;br /&gt;
notifypath      /media:/media/*/pandora/apps:/usr/pandora/apps:./testdata/app?&lt;br /&gt;
&lt;br /&gt;
# PXMLs may be overridden .. i.e.: overrides are a subset of PXML, where the values are copied over the full PXML&lt;br /&gt;
[overrides]&lt;br /&gt;
# searchpath to look for PXML overrides (which are named by the unique-id)&lt;br /&gt;
searchpath      ~/pxml-overrides&lt;br /&gt;
&lt;br /&gt;
# [pnd] defines where to locate the pnd support scripts, so the user may override pnd_run.sh without clobbering built in&lt;br /&gt;
[pnd]&lt;br /&gt;
searchpath      /media/*/pandora/scripts:/usr/pandora/scripts&lt;br /&gt;
runscript       pnd_run.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====categories File====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Open Pandora&lt;br /&gt;
# dotdesktop configuration&lt;br /&gt;
&lt;br /&gt;
# this config file maps 'PXML' categories to free-desktop standard categories&lt;br /&gt;
# i.e.: category 'Foo' could map to more standard 'Utility', thus making .desktop file&lt;br /&gt;
# emitting a more useful thing&lt;br /&gt;
&lt;br /&gt;
# the standard listing of categories is:&lt;br /&gt;
# http://standards.freedesktop.org/menu-spec/latest/apa.html&lt;br /&gt;
&lt;br /&gt;
# note that 'map' section in the config is _required_ for a match to be found; this&lt;br /&gt;
# is done to separate categories from (future) top-level directives&lt;br /&gt;
&lt;br /&gt;
default Application;Utility;Network;&lt;br /&gt;
&lt;br /&gt;
[map]&lt;br /&gt;
Development     Development&lt;br /&gt;
Education       Education&lt;br /&gt;
Games   Game&lt;br /&gt;
Graphics        Graphics&lt;br /&gt;
Internet        Network&lt;br /&gt;
Multimedia      AudioVideo&lt;br /&gt;
Office  Office&lt;br /&gt;
Settings        Settings&lt;br /&gt;
System  System&lt;br /&gt;
Utilities       Utility&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SD card layout===&lt;br /&gt;
&lt;br /&gt;
libpnd concerns itself with things in the 'pandora' root folder on SD. We agonized over this decision, but settled on this to avoid cases where someone with a 16GB SDHC card puts 50-million files with &amp;quot;.pnd&amp;quot; on them, and expects reasonable performance. Instead, applications for instance would have to be in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/menu -&amp;gt; apps that will go to /usr/share/applications and should show up in xfce menu by category&lt;br /&gt;
/pandora/desktop -&amp;gt; apps that will go to ~/Desktop and show up on user desktop as icons&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following location is used by pmenu (and may get deprecated, but I've not discussed it with cpasjuste yet.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/apps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i.e.: the searchpath for autodiscovery includes /media/*/pandora/apps (and desktop and menu now)&lt;br /&gt;
&lt;br /&gt;
Also in the /pandora/ folder is a magic 'appdata' folder:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/pandora/appdata&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a .pndfile or PXML.xml dir get mounted, any writes back to the mounted area are put into appdata, with a subdir by the unique-id. i.e.: With the hypothetical MAME.pnd, it might update its config files after a user changes something, or create new files, or store hiscores or whatever. If it doesn't write them to [[NAND]], and doesn't want ot write them to /mame/some/dir, but instead record it to itself for whatever reason, it would go to /pandora/appdata/MAMEs-ID/ instead. The pnd or PXML.xml app area is never modified during a run, only the appdata. (But when an application reads its own path, it will pick up the appdata version of the file instead of the actual file. Then magic of union-type filesystems!)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
If Myapp with unique-id foo.123 is mounted, then any write-backs are directed to..&lt;br /&gt;
&lt;br /&gt;
/pandora/appdata/foo.123/&lt;br /&gt;
&lt;br /&gt;
On the SD that hosts the application.&lt;br /&gt;
&lt;br /&gt;
===NAND layout===&lt;br /&gt;
&lt;br /&gt;
In addition to seeking applications in [[SD cards]], /usr/pandora/apps is included in the default searchpath, so that 'built in' apps can be listed, or users can drop them there.&lt;br /&gt;
&lt;br /&gt;
It might be a cool addition to put a user homedir into the searchpath as well, so [[NAND]] but user-homedir (for on-device browser downloads, say.)&lt;br /&gt;
&lt;br /&gt;
==Command line tools and testing==&lt;br /&gt;
&lt;br /&gt;
A number of scripts and tools are included or built with libpnd, to facilitate testing of the lib as its being developed and to assist in making .pnd files and PXML.xml files.&lt;br /&gt;
&lt;br /&gt;
==PXML.xml and .pnd files==&lt;br /&gt;
&lt;br /&gt;
On most platforms, applications are distributed as an executable and optional datafiles and likely an installer. The installers job is to integrate the application into the filesystem, as the transport mechanism itself is not executable and is considered temporary. In Windows an application might be installed into Program Files, while in Unix an application might be dropped into /usr/local/bin .. data files in various other places.&lt;br /&gt;
&lt;br /&gt;
For the Pandora platform we wanted a very easy to use workflow -- download and run -- and also have a very different operating environment. With multiple SD cards available for expansion (and that space being highly desirable due to a smaller internal store) it is desirable to install applications to SD, and yet SD cards are by definition something users will wish to carry multiple of. With two slots, it could be quite a chore to install an application to SD1, its data to SD2, and then say have only one of them plugged in at a time, or switch which slot they're in, or any number of scenarios. i.e.: Installing onto a medium which may be present or not at any time is very different to how most operating systems work. So we made something new and awesome.&lt;br /&gt;
&lt;br /&gt;
The PXML.xml and .pnd-file approach we came up with attempts to address these issues.&lt;br /&gt;
&lt;br /&gt;
The goals:&lt;br /&gt;
* for the user, an application can be a single file download&lt;br /&gt;
* furthermore, there is no installation whatsoever, beyond dropping that single file into the right place on the SD card&lt;br /&gt;
* using the application should be easy -- stick in the SD card, and tap/launch on the icon.&lt;br /&gt;
* for uninstallation, delete the single file. Thats it, no fuss.&lt;br /&gt;
* for the developer, creating that single file should be easy to do&lt;br /&gt;
* for the system, performance should be high&lt;br /&gt;
&lt;br /&gt;
Remember, an application can be a .pnd 'bundle' (single file containing all the sub-files), or a PXML.xml 'dir application' (an unpacked .pnd esentially.) '''BOTH PXML.xml-dirs and .pnd's ARE EXECUTABLE.'''&lt;br /&gt;
&lt;br /&gt;
pndnotifyd will auto-discover PXML.xml in a directory and consider that an application, emitting a .desktop file, just as well as a .pnd file. i.e.: This can be hand for development or users. Remember that a mounted PXML.xml dir still redirect write-backs to the /pandora/appdata directory, just like a full .pnd application. They are treated the same!&lt;br /&gt;
&lt;br /&gt;
===What are PXML.xml and .pnd files?===&lt;br /&gt;
&lt;br /&gt;
PXML.xml is a file describing an application&lt;br /&gt;
A directory containing a PXML.xml _is executable_&lt;br /&gt;
A .pnd file is the packaged up version of the directory that is executable.&lt;br /&gt;
i.e.: a PXML.xml in a directory is just as executable as a .pnd representation of that directory.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir OutcaST&lt;br /&gt;
cp outcast.bin OutcaST/&lt;br /&gt;
cp PXML.xml OutcaST/&lt;br /&gt;
# at this point, the OutcaST directory is now discoverable and executable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pnd_make.sh -this -that OutcaST outcast.pnd&lt;br /&gt;
# at this point, outcast.pnd is executable (as is the OutcaST directory), so upload outcast.pnd to the Open Handhelds Archive and let people enjoy!&lt;br /&gt;
&lt;br /&gt;
===A note on including shared libs===&lt;br /&gt;
A philsophy for packaging that I am advocating is to 'just make applications work' -- avoid dependancy trees.&lt;br /&gt;
&lt;br /&gt;
Some guidelines:&lt;br /&gt;
&lt;br /&gt;
1) you can depend on shared libs included with the firmware to always be there&lt;br /&gt;
&lt;br /&gt;
2 you should include any shared libs you need for your app, that are not in the firmware (yes, this increases app size a little bit, and potentially makes for duplication among apps that use the same shared libs)&lt;br /&gt;
&lt;br /&gt;
3) if a shared lib becomes desirable in the firmware, it can be added there as a firmware patch easily (this has the advantage of gradulaly updating the entire user based, and apps easily saying 'we depend in firmware version X', rather than making for pnd-dependnacies and the equivilent of 'dll hell'&lt;br /&gt;
&lt;br /&gt;
4) You'll have to be careful in linking your application to ensure that the shared libs you are including in the pnd/PXML-dir are to be locatable by your binaries. ie: stick them in a 'lib/' dir in your bundle, and stamp your binary with a library-path './dir/' so they can be found, say. More later.&lt;br /&gt;
&lt;br /&gt;
===Future idea: pnd's for containing system-wide shared libs===&lt;br /&gt;
&lt;br /&gt;
This is something we've bounced around for quite awhile, but not committed to. As it keeps coming up I thought I'd put some notes here in public.&lt;br /&gt;
&lt;br /&gt;
It is possibly desirable to make a special searchpath that is discovered during machine boot, and any pnd's found there are automatically mounted (and left mounted) into a special path (say /usr/local/pandora/lib or somesuch.) This way, collections of handy utilities or shared libraries could be distributed as a pnd, and become available in consistent locations. If 10 applications need a shared lib, and don't want to duplciate it in each of their pnd files, this could be an approach.&lt;br /&gt;
&lt;br /&gt;
I tend to think it is best avoided, however, since it complicates the user experience -- we end up with pnd depandancies, and apps nolonger about to 'just work', and apps that did work and 'suddenly break' when other files are altered. The philosphy we're going for with pnd files is 'drag and drop' -- user downloads a pnd file, and it works.. a self contained application, nice and easy. We start complicating the dependancies, and it turns into 'dll hell' as seen on other platforms.&lt;br /&gt;
&lt;br /&gt;
That said, it is _not_ difficult to add into the existing system and design; we've been mulling it over, but it is best avoided for now. rather than complicate the system up front, let us try to get a functional and as lightweight-as-possible system on the uptake, gather some usage data points and then worry about upgrades :)&lt;br /&gt;
&lt;br /&gt;
===File format - PXML.xml / PXML Specification===&lt;br /&gt;
See the [[PXML_specification|PXML specification]]&lt;br /&gt;
&lt;br /&gt;
Alternatively the spec is included in the docs/ directory of the libpnd distribution, though the wiki version linked above should be considered cannon.&lt;br /&gt;
&lt;br /&gt;
A note on history; the PXML spec was originally created by EvilDragon, and went through a number of revisions as suggestions came in; as these things are wont to do, the target was ever moving and the scope and meaning of PXML changed so at some point a more strategic approach was needed. dflemstr took it upon himself to help recode some of the parse and re-evaluate many of the PXML decisions and hence was born the PXML-version-2 spec.&lt;br /&gt;
&lt;br /&gt;
===File format - .pnd files===&lt;br /&gt;
The pnd file format is pretty straight forward, though most will interact with it through the included (or community supplied) tools.&lt;br /&gt;
&lt;br /&gt;
Basically its just an ISO file (or other filesystem type) with a PXML.xml and an optional PNG icon appended. (example: cat appfolder.iso app.pxml icon.png &amp;gt; app.pnd) For ease of discussion, I refer to ISO but in fact you coudl be using squashfs or other types.&lt;br /&gt;
&lt;br /&gt;
The ISO filesystem portion of the file can include anything the developer wishes, as long as it includes a PXML.xml in its root file and an executable somewhere in there. It can also include images, audio files, data files of any kind. It can be small or large.&lt;br /&gt;
&lt;br /&gt;
Yes, the PXML.xml is included in the ISO portion (in the root directory), and also appended to the end of the .pnd file (for _convenience_ .. it is very easy and fast to locate in this position; we can backseek into the ISO to find the PXML, but if its a 500MB ISO it could take awhile. Hence, we append it and can find it in one seek.)&lt;br /&gt;
&lt;br /&gt;
'''NOTE: The naming of the PXML.xml file is important! The name is case sensitive and must be &amp;quot;PXML.xml&amp;quot;, nothing else!'''&lt;br /&gt;
&lt;br /&gt;
This simple format makes it possible to easily create .pnd files with the default utility's of most operating systems. Further, it is a fairly fail-safe system -- the PXML is appended, but is also included within the ISO image part of the file so if the appended-PXML is ever lost (unpack and repack poorly, say) the system will still work (the PXML inside the ISO can be found easily, even without mounting the ISO _as_ an ISO, since it is a plaintext uncompressed image format.) &lt;br /&gt;
&lt;br /&gt;
Manually creating a .pnd (or even a PXML) is a pain so there will be a few helper scripts or maybe even a gui app out when we launch.&lt;br /&gt;
&lt;br /&gt;
Included with libpnd are some scripts to create PXML and pndfiles, though it is expected people will create handier utilities. See the tool section of this wiki for some details.&lt;br /&gt;
&lt;br /&gt;
Question from the gp32x forum regarding confusion of PXML location -- remember that in general most developers will keep a directory that represents the .pnd or PXML-dir application. Their makefile/build-process will drop the executable(s) into that directory, which inludes a PXML.xml description of the application, and possibly an icon (and whatever all else they wish.) To build the .pnd file, a script (say) is used which compresses all this into the pnd format (including appending the PXML.) So yes, the PXML is in two places in the .pnd file and one place in the source directory. You'll get used to it ;)&lt;br /&gt;
&lt;br /&gt;
Rationale --&lt;br /&gt;
&lt;br /&gt;
Several iterations of pnd files have been considered, from zipfiles to cramfs to other formats, to putting in a key/value set of information tags in the file, to table-of-contents indexes, to any number of options to help performance, and so on. In the end we went for a good overall and simple solution and dropped getting fancy -- PXML.xml can be extended to define the type of the file if it cannot be magic'd, so we could using other filesystem types in the future (and this is why people should use libpnd rather than rolling their own solution.) For now however, pnd files are ISO files with the PXML.xml appended and an optional icon. This keeps the PXML and icon easy to locate, and yet a easy file format.&lt;br /&gt;
&lt;br /&gt;
====Recommended layout of a pnd directory structure, ie: how to make a well behaved pnd file====&lt;br /&gt;
&lt;br /&gt;
These are guidelines to make pnd-files 'well behaved', and to help move towards a consistent pnd structure.&lt;br /&gt;
&lt;br /&gt;
* Always include your icon png-file and PXML.xml file in the _Root_ of the pnd-file; this is for reasons that folks may well unpack the pnd-file, and then repack it; in doing so, if the icon and PXML.xml (normally appended to the .iso to become a .pnd) will be lost, unless the user or tool is being careful. Thus, it is wise to include them within the .iso, to make things so the iso is the entire pnd application, in unpacked form.&lt;br /&gt;
&lt;br /&gt;
* Use a 'reasonably unique' unique-id of course (to identify your application.) This is used for many internal uses, so uniqueness is pretty wise.&lt;br /&gt;
&lt;br /&gt;
* Use an 'application relevent' appdata name; make it as unique as you have to, but consider being less unique; a random example could be .. possibly there may be several quake1 ports; they could all share the same appdata (same config files, same data files), but if you intend on having different config or data files than other quake1's, make your appdata named differently. &lt;br /&gt;
&lt;br /&gt;
* Always include a documentation 'info' link, if your app has any setup requirements, has popup help screens that the user needs to know a key to pop up, or other essential trivia; feel free to make the doc link as complete as you like, since its all within the pnd file. (ie: Include the full DosBox documentation if you want to, in your DosBox pnd :)&lt;br /&gt;
&lt;br /&gt;
* Try to set up the appdata directory for the user; if you need a 'roms' or 'image' directory in the appdata (such as in the case of an Atari ST emulator needing a location to house the TOS OS image, say), then do a 'mkdir' in your 'runscript', to create it. Thus the user will find a (example) Hatari appdata directory, and within, any directories he needs (possibly empty.) This just makes it obvious for the user where to put stuff.&lt;br /&gt;
&lt;br /&gt;
* Try using rudimentary zenity scripts to pop up imporant pre-run information, if the application can't do so; ie: Hatari itself has a very fine GUI in it, but if the Atari ST TOS image is not present, it just exits and fails to run, so the GUI doesn't have time to do anything useful. In this case, it could be wise to use a 1 line zenity script that checks before the emu runs for the file in question, then pop up a dialog box saying 'put this file /here', so the user knows what the heck happened&lt;br /&gt;
&lt;br /&gt;
* Always Always Always write your 'state info' to current-working-directory (ie: ./foo, and not ~/foo). The pnd-system will redirect this to the users appdata of course, keeping things clean and predictable. If you're just porting an app, that has ~ all over the darned place, and you don't want to muck up the code.. just have your 'runscript' do something like 'set $HOME=.' and you're good to go!&lt;br /&gt;
&lt;br /&gt;
* Runscripts; the PXML.xml can specify to run your binary, or you can run a .sh script that in turn runs your binary, say. This lets you do various tests, set up LD_LIBRARY_PATH, or other mischief before your binary gets run. Very handy. I often have PXML.xml run 'runfoo.sh', and runfoo.sh in turn runs ./foo after setting things up, making directories, etc.&lt;br /&gt;
&lt;br /&gt;
* For data that is not kept in your appdata directory, try to keep it local to the current SD _or_ better still, search both SD. ie: libpnd uses a basic but really handy system for iterating across a list of directories (including glob type expansion); so you can tell it something like /media/*/foo:/tmp and it'll check every mounted device (including both SD slots) in the 'foo' directory, as well as /tmp; you can have it call your code as it looks through, or you can ask libpnd to find a file for you and report where it was found, across all your searchpaths; you don't have to use libpnd's code to do it, you coudl write oyur own (using libpnd as an example if you need the help), as its pretty easy to build (20 lines of code maybe?) Anyway, the trick is to be multi-SD aware, and bonus marks for handling if theres a USB mounted drive etc as well. (Example; I coded minimenu so that when it caches out a preview picture, it checks for free space first, and tries first on the same SD that the pnd is mounting from, and then across a searchpath of alternate locations to cache to; this way the user can customize the caching, and it can be on various devices.)&lt;br /&gt;
&lt;br /&gt;
====What filesystem types can be contained within a pnd-file?====&lt;br /&gt;
&lt;br /&gt;
The pnd container can really contain a large variety of filesystem types; day-zero we're aiming for ISO since it is simple, easy build across every major OS, and fast to use. But it is not the only supported filesystem type, and more should be added all the time. (Possibly '-auto' can be added to pnd-run and it'll &amp;quot;just work&amp;quot; for dozens of types!)&lt;br /&gt;
&lt;br /&gt;
A compressed filesystem type has always been desirable for file sizing reasons, though it potentially impacts performance (depending on the application operation really.)&lt;br /&gt;
&lt;br /&gt;
Supported types (not an exhaustive list!):&lt;br /&gt;
&lt;br /&gt;
* ISO&lt;br /&gt;
* squashfs&lt;br /&gt;
&lt;br /&gt;
====Creating pnd files===&lt;br /&gt;
&lt;br /&gt;
The [[PND quickstart]] page contains this information.&lt;br /&gt;
&lt;br /&gt;
===PXML overrides===&lt;br /&gt;
&lt;br /&gt;
There are a couple of ways to effect an override of the PXML, without modifying a pnd-file.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;In-path&amp;quot; override files: .ovr====&lt;br /&gt;
&lt;br /&gt;
The library automatically imports a limited number of overrides from a conf file that can be located in the same location as its matching .pnd file is.&lt;br /&gt;
&lt;br /&gt;
For instance, if /pandora/desktop/awesomegame.pnd exists, then libpnd will automatically also search for /pandora/desktop/awesomegame.ovr&lt;br /&gt;
&lt;br /&gt;
Some menu systems will also be smart enough to watch for an icon override -- /pandora/desktop/awesomegame.png -- and if present, to use it; 'minimenu' (mmenu) is aware of that, as is pndnotifyd daemon when emitting .desktop files. Likely pmenu will also be updated. In effect, the user can override the icon, category and other attributes of the pnd, without needing special tools or to alter the system.&lt;br /&gt;
&lt;br /&gt;
An .ovr file must be named identically to the pnd-file, excepting the 3 character file extension.&lt;br /&gt;
&lt;br /&gt;
NOTE: Given that a pnd may emit multiple applications from its PXML.xml, the ovr will have to be aware of this so it can override the correct application(s) within the pnd. Some menus and information tools will display the application list with 'subapp number' to assist identification. minimenu shows the subapp number in the detail panel, for example. In the case where a pnd-file has only one contained application, that is subapp-number zero. For any additional subapplications, increment by one .. but it can be tricky to know which app is which subapp number. (A careful eye will notice the .desktop filename includes the subapp-number after the pound sign .. foo#3.desktop is subapp_number 3.)&lt;br /&gt;
&lt;br /&gt;
The ovr file may (at this time) override the icon title, the CPU clock speed to set on launch, the main category, and the first subcategory for the main category. Additional fields will become overridable.&lt;br /&gt;
&lt;br /&gt;
Minimenu honors up to 3 lines of 'notes', pulled from the .ovr file. (Make sure they are in the right subapp group). note-1, note-2, note-3, see example below. The notes in minimenu are shown at the bottom of the detail text panel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
[Application-0]&lt;br /&gt;
title                   HatariHack0&lt;br /&gt;
maincategory            Audio&lt;br /&gt;
maincategorysub1        Emulator&lt;br /&gt;
[Application-1]&lt;br /&gt;
title                   HatariHack1&lt;br /&gt;
clockspeed              200&lt;br /&gt;
note-1                  My note text line 1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====PXML override file -- currently unsupported====&lt;br /&gt;
&lt;br /&gt;
PXML.xml files can have any number of their elements over-ridden by user preferences. &lt;br /&gt;
&lt;br /&gt;
The design goal here was to make it so user-preferences could alter the impact of the PXML.xml in any way, but without requiring the actual PXML.xml in the .pnd (and within the ISO therein) to be altered (could be a 500MB ISO after all!), and further, for these changes to persist. Consider than an SD card could be removed and inserted into the other slot, or the app could be removed entirely and come back another day, or other scenarios.&lt;br /&gt;
&lt;br /&gt;
As such, the PXML-overrides are kept in NAND in the user homedirectory (See the config files to find out where.)&lt;br /&gt;
&lt;br /&gt;
libpnd includes functions to pull in PXML, and also functions to then look for and merge in overrides. It is not always done since you may wish to inspect the PXML or the overrides, so the developers job is to do as they see fit -- pull the XML, and likely also pull in the overrides.&lt;br /&gt;
&lt;br /&gt;
At this time I'm not sure if people will ever use overrides, but the system has been built in should it be needed.&lt;br /&gt;
&lt;br /&gt;
===Included shellscripts to generate files and other sundry duties===&lt;br /&gt;
&lt;br /&gt;
====genpxml====&lt;br /&gt;
&lt;br /&gt;
This tool can spit out a basic but correct PXML.xml, faking up a halfway-useful unique-id in the process. It might be handy in saving you writing up a PXML.xml from scratch.&lt;br /&gt;
&lt;br /&gt;
====pnd_hup.sh====&lt;br /&gt;
&lt;br /&gt;
pndnotifyd will attempt to locate this script and invoke it after an auto-discovery run, if the pnd_hup entry is present (and uncommented) in the config files. It is expected to be commented out in release images, as xfce watches directories for .desktop files and does not need a HUP; some desktop managers need to be HUPped to rescan for .desktop files in a timely fashion, so the pnd_hup config entry can be uncommented and this script will attempt to figure out whom to HUP.&lt;br /&gt;
&lt;br /&gt;
====pnd_make.sh====&lt;br /&gt;
&lt;br /&gt;
This is one of the great ones :)&lt;br /&gt;
&lt;br /&gt;
Given a directory with a PXML.xml (see genpxml above) and an executable and any other goo you want in there, this script will spit out a .pnd file you can execute or distribute as an application.&lt;br /&gt;
&lt;br /&gt;
====pnd_run.sh====&lt;br /&gt;
&lt;br /&gt;
This job does a lot of the heavy lifting for libpnd, including setting up the 'union filesystems', doing .pnd and PXML.xml-app-dir execution and mounting, and so on. Generally you will talk to it via libpnd or .desktop files, but you can invoke it dorectly from your apps if you wish to circumvent libpnd or mount .pnd files within a shellscript/perlscript/etc.&lt;br /&gt;
&lt;br /&gt;
==Auto-discovery of applications==&lt;br /&gt;
&lt;br /&gt;
TBD.&lt;br /&gt;
&lt;br /&gt;
==Integration with FreeDesktop .desktop systems==&lt;br /&gt;
&lt;br /&gt;
===dotdesktop (.desktop) files===&lt;br /&gt;
&lt;br /&gt;
===Icons===&lt;br /&gt;
&lt;br /&gt;
There are some rules for Icons in PXML.xml and pnd/directory bundles&lt;br /&gt;
&lt;br /&gt;
- An Icon should be in the root of the directory or .pnd bundle&lt;br /&gt;
&lt;br /&gt;
- An Icon must be specified in the PXML.xml if you expect it to work&lt;br /&gt;
&lt;br /&gt;
- As the PXML.xml is parsed, the icon is sought; if the icon is specified, but not found, it is assumed to be a system default icon and the filename will be placed into the .desktop Icon= line verbatim (ex: Icon=foo.png), and the window manager presumably will know how to locate it. If the icon is specified, and is found, then it will be copied into the configured IconPath, and the full path to it will be used for the Icon= line in the .desktop file ex: Icon=/tmp/myicon.png). If no icon is specified in the PXML file, then no Icon= line will be entered into the .desktop and the WM will presumably apply a default icon based on category or whatever.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==APIs==&lt;br /&gt;
&lt;br /&gt;
Feel free to just go read the .h files; I have tried to comment liberally :)&lt;br /&gt;
&lt;br /&gt;
===Setting and Getting the CPU clock speed===&lt;br /&gt;
&lt;br /&gt;
===Device paramaters - brightness, etc===&lt;br /&gt;
&lt;br /&gt;
===PND files, exec and mount===&lt;br /&gt;
&lt;br /&gt;
===Application discovery===&lt;br /&gt;
&lt;br /&gt;
===Config file parsing===&lt;br /&gt;
&lt;br /&gt;
===Boxing, the singly-linked list container===&lt;br /&gt;
&lt;br /&gt;
===Directory watching===&lt;br /&gt;
&lt;br /&gt;
===Logging api===&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:PND]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=PCSX-ReARMed&amp;diff=9487</id>
		<title>PCSX-ReARMed</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=PCSX-ReARMed&amp;diff=9487"/>
		<updated>2011-11-19T18:39:02Z</updated>

		<summary type="html">&lt;p&gt;Porg: /* ROM Images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{warning|The information here is for version '''r8.''' Things may change in later versions as the emulator is updated.}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Emulator|title=PCSX-ReARMed&lt;br /&gt;
|image=[[Image:Playstation-console.png|center|Playstation console]]&lt;br /&gt;
|download=[http://notaz.gp2x.de/releases/pcsxr/pcsx_rearmed_r8.pnd version r8]&lt;br /&gt;
|developer=[[Notaz]]&lt;br /&gt;
|porter=&lt;br /&gt;
|webpage=&lt;br /&gt;
|version=R8 (2011-03-21)&lt;br /&gt;
|status=Public Beta&lt;br /&gt;
|compatibility=[https://spreadsheets.google.com/ccc?key=0ArSWWAWRjErldHZVZlFxY0tBVnRRNXM5U3ZqWFNuN0E&amp;amp;hl=en#gid=0 Compatibility List (Google docs)]&lt;br /&gt;
}}&lt;br /&gt;
PCSX-ReARMed is a PlayStation 1 Emulator. A better alternative to [[PSX4Pandora]].&lt;br /&gt;
&lt;br /&gt;
==Emulator Information==&lt;br /&gt;
===Development Status ===&lt;br /&gt;
In development with a beta version available.&lt;br /&gt;
&lt;br /&gt;
===Compatibility===&lt;br /&gt;
A compatibility list is maintained as Google spreadsheet doc: [https://spreadsheets.google.com/ccc?key=0ArSWWAWRjErldHZVZlFxY0tBVnRRNXM5U3ZqWFNuN0E&amp;amp;hl=en#gid=0 PSX compatibility list]&lt;br /&gt;
&lt;br /&gt;
=== Related Links ===&lt;br /&gt;
*[http://www.gp32x.com/board/index.php?/topic/57973-pcsx-rearmed/ Development Thread &amp;amp; Discussion (GP32X)]&lt;br /&gt;
*[http://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git Source code (GIT)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installation Instructions==&lt;br /&gt;
===Installation===&lt;br /&gt;
Download the latest version of the emulator from the repo ([http://repo.openpandora.org/?page=detail&amp;amp;app=package.pcsx_rearmed.notaz.r8 here]) and place it in one of the folders on your SD card according to the [[Introduction_to_PNDs#Where_do_.PNDs_Go.3F |PND guide]] (This guide will assume that you put the PND in /pandora/menu). In XFCE, the icon to the emulator should appear in the menu under 'menu -&amp;gt; Emulators -&amp;gt; PCSX-ReARMed' (if you put the PND in /pandora/menu), or on the desktop (if you put the PND in /pandora/desktop or /pandora/apps).&lt;br /&gt;
&lt;br /&gt;
===ROM Images===&lt;br /&gt;
ROM files (Disc images) come in a range of formats, most commonly .iso, .img, .bin/.cue or .mdf/.mds. This emulator cannot handle compressed ROM files.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
While it does not matter where the ROM files are placed, it is often easiest to put them somewhere that makes sense in relation to the PND for easy browsing. A good place to put them would be either in a clearly-named folder in the root of the SD card (e.g. /PS1) or in the same folder as the emulator PND (e.g. /pandora/menu/PS1). It does not matter how many ROM files are in the folder, or what directory structure is used.&lt;br /&gt;
&lt;br /&gt;
Some images come as a .ecm file. These will not work in this emuator, but can be 'un-ECMed' by using the utility software [http://www.neillcorlett.com/ecm/ unecm], available at the linked website both as source code and as executable program files (=precompiled binaries, both 32 and 64 bit) for Windows, DOS, Mac OS X; on various Unix systems available through package managers as the package named &amp;quot;ecm&amp;quot;; and meanwhile also as a [http://notaz.gp2x.de/misc/pnd/unecm PND application by notaz].&lt;br /&gt;
&lt;br /&gt;
=== BIOS ===&lt;br /&gt;
PCSX-ReARMed supports loading BIOSes. A minimum of one BIOS should be copied to [sd card]/pandora/appdata/pcsx_rearmed/bios/ ..and then selected in options-&amp;gt;bios/plugins menu.&lt;br /&gt;
Loading a BIOS can potentially fix tons of bugs. It is highly recommended to activate it. A BIOS file is not strictly necessary, but not all games will work correctly without one.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
[[Overclocking]] is often necessary to achieve acceptable emulation. See the [https://spreadsheets.google.com/ccc?key=0ArSWWAWRjErldHZVZlFxY0tBVnRRNXM5U3ZqWFNuN0E&amp;amp;hl=en#gid=0 Compatibility List] for each game's tested speed.&lt;br /&gt;
&lt;br /&gt;
===Nub Control===&lt;br /&gt;
Nub control is disabled by default (left joystick is mapped to the D-Pad). To enable it, select 'Controls-&amp;gt;Nubs as Buttons' in the menu.&lt;br /&gt;
&lt;br /&gt;
===Loading a Game===&lt;br /&gt;
Upon staring the emulator, you will be presented with a GUI. Select (with B) 'Load CD Image', then navigate to the folder where you keep your image files. If you cannot find them, try selecting '/..' until the directory at the top of the list (in white) shows '/', then select '/media' then '/SD_CARD' where SD_CARD is the name of your card, then navigate to the folder where you placed the files. '''NOTE: Only select files highlightes as either blue or white. Grey files will not work.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
At any time during gameplay, you can press the spacebar to return to the menu, pausing the game session. You can select 'Resume Game' to continue playing.&lt;br /&gt;
&lt;br /&gt;
===Default Controls===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 35%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! PS1 Controller Button&lt;br /&gt;
! Pandora Button&lt;br /&gt;
|-&lt;br /&gt;
|Triangle (Green)&lt;br /&gt;
|Y (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|Circle (Red)&lt;br /&gt;
|B (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|Square (Pink)&lt;br /&gt;
|A (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|X (Blue)&lt;br /&gt;
|X (Gamepad)&lt;br /&gt;
|-&lt;br /&gt;
|Start&lt;br /&gt;
|Start&lt;br /&gt;
|-&lt;br /&gt;
|Select&lt;br /&gt;
|Select&lt;br /&gt;
|-&lt;br /&gt;
|R&lt;br /&gt;
|Right Shoulder&lt;br /&gt;
|-&lt;br /&gt;
|L&lt;br /&gt;
|Left Shoulder&lt;br /&gt;
|-&lt;br /&gt;
|D-Pad (Up, Down, Left, Right)&lt;br /&gt;
|D-Pad (Up, Down, Left, Right)&lt;br /&gt;
|-&lt;br /&gt;
|Left Analog Stick (Up, Down, Left, Right)&lt;br /&gt;
|Left Nub (Up, Down, Left, Right)&lt;br /&gt;
|-&lt;br /&gt;
|Right Analog Stick (Up, Down, Left, Right)&lt;br /&gt;
|Right nub (Up, Down, Left, Right)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Creating images of Games ==&lt;br /&gt;
A short how-to for doing this on Linux is available: [[Creating images of PSX games using Linux]]. On Windows you can probably rely on the common tools for creating disc images, like for example Alcohol or the likes. There were some reports in the forums that using Nero for creating images does not work.&lt;br /&gt;
&lt;br /&gt;
[[Category:Emulators]]&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Multisite_username_check&amp;diff=9464</id>
		<title>Multisite username check</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Multisite_username_check&amp;diff=9464"/>
		<updated>2011-11-10T18:26:59Z</updated>

		<summary type="html">&lt;p&gt;Porg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a suggestion by [[User:Porg|Porg]]. Participation is welcome!&lt;br /&gt;
&lt;br /&gt;
In the user registration process at the various Open Pandora related sites (board, wiki, repo, bugtracker, …) [[User:Porg|Porg]] suggests to display the following hint:&lt;br /&gt;
----&lt;br /&gt;
'''Before registering your username''' here, you can run the [http://usernames.openpandora.org/check Pandora sphere username checker], which tests whether the username already exists within any other OpenPandora [http://usernames.openpandora.org/sites related sites]:&lt;br /&gt;
* '''As a courtesy to other users''', in order to not take their name away on other sites.&lt;br /&gt;
* '''For your own convenience''', to achieve a uniform nickname on all the OpenPandora sites, as a new arriving community member.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
&lt;br /&gt;
# Which Open Pandora relates websites (with user registration) are there? '''Anyone''' please add the URLs to the list below.&lt;br /&gt;
# Which site operators are willing to cooperate? '''Site operators''', please confirm your readiness, by writing your name plus short note next to the URL. Requirements for participating site operators:&lt;br /&gt;
## Offer a software interface (API) for testing whether a username exists at your site.&lt;br /&gt;
## Display the hint and link to or embed the checking service (iframe) into the registration page/process of your site.&lt;br /&gt;
# We need a web developer to create that multisite username checking service. '''Developer volunteers''', please participate in the [http://boards.openpandora.org/index.php?/topic/6068-suggestion-open-pandora-scene-multisite-username-checker/ discussion process], or enlist your dedication right below.&lt;br /&gt;
&lt;br /&gt;
== Sites ==&lt;br /&gt;
&lt;br /&gt;
URL of a Open Pandora related website which uses user registrations/logins + site operator(s) (nick)name and confirmation of participation + optional remarks:&lt;br /&gt;
&lt;br /&gt;
http://boards.openpandora.org/&lt;br /&gt;
&lt;br /&gt;
http://repo.openpandora.org/&lt;br /&gt;
&lt;br /&gt;
http://apps.openpandora.org/&lt;br /&gt;
&lt;br /&gt;
http://pandorawiki.org/&lt;br /&gt;
&lt;br /&gt;
== Developers ==&lt;br /&gt;
&lt;br /&gt;
Developers, who are willing to realize the multisite username checking service, please enlist your (nick)name and confirmation of participation plus optional remarks here:&lt;/div&gt;</summary>
		<author><name>Porg</name></author>
		
	</entry>
</feed>