Before releasing an ipk the following list of items should be checked over and made sure that they are all met. Sharp currently doesn't have a certification program in place, but this checklist is a good list of items to make any application better and more user friendly. When Sharp does create a certification program it will probably be similar to
- The ipk properly installs into Memory, SD, and CF with no errors.
- Only one entry shows up in the uninstall list after the application is installed.
- The ipk can completely uninstall cleanly.
- The control file in the ipk has the correct name, category etc.
- In the control file "Section" has the best selection of: admin, base, comm, editors, extras, graphics, libs, misc, net, text, web, x11 settings.
- Any requirements (other ipk's) need to be listed in the control file.
- The ipk shouldn't create a new tab unless that tab is a category (i.e. Users don't care what programming language it is written in so a Jeod, Python, etc tab shouldn't be created. But Multimedia can be). If the user can't figure out why an application is in a tab then the tab shouldn't be there.
- A help file needs to be installed if the application supports it. (little ? in the upper right of the dialog)
- Gui applications shouldn't install command line applications, but should require them ( A frontend for fdisk for example would require an fdisk package.)
- Mimetypes are set/unset by a install/uninstall script if needed/required.
- Any binary should be stripped to reduce size.
- If the application isn't that intensive (like most gui applications) compile the binaries with -Os (optimize for size) as apposed to -O2.
- The Source is available for any application(s) that are under GPL or similar license.
- If the application has a gpl or similar license the source should be availble somewhere online (or at least a contact name/e-mail to get the source).
- Any install script needs to be in UNIX format and not in DOS format.
- The package can't have symlinks for it would fail on installing to Fat devices.
- Doesn't require any command line usage to get the application up and running. (i.e. no need to install man pages, readme, etc that should be in the user docs on the computer)
- If it is a command line app that is ment for the user and not the programmer it should have a frontend applications (even if very basic) Example: samba client, simple web servers, etc. (i.e. The boa package is ok, because the server manager package is a frontend for it)
- The application doesn't allow for system navigation to be presented to the user (can't browse to /usr/bin for example.)
- The application doesn't try to create its own color scheme/theme (games are the only real exception).
- Any dialogs with the "OK" button should reject the new settings when the "X" is clicked.
- Applications works on both the 5000D and the 5500 (i.e. doesn't require 30MB of memory...)
- Use the QPEMenu so the menu button will work.