Chris,
Also, if we are to encourage developers to build solutions that will
work on the PDA, I think distribution is a problem. The environment is
workable as a hacker, but if we want to simply the deployment and
actually ship applications, at this point it seems a bit complex. It
would be nice if there was a Py2App, or even, something along the
lines where the solution could be bundled into a directory (not as an
EXE, just as Python and your application files) for easy distribution.
I do agree the distribution is problematic especially for end-users having no
experience of python.
The problem I see with a py2exe-like solution, is that if each application should hold ~4Mb
(which is approximatively the size of python.dll+python.exe+standard library) this limits the number of apps
you can install on a handheld device. In my opinion, the separation of interpreter and source files is a more
viable option on PDA, even if flash memory is getting cheaper and cheaper.
What I really like to start implementing is a web-based approach of programs distribution,
a bit like apt-get on debian linux (with a graphical frontend of course) or like the Installer.app on jailbreaked
iphones.
This way it would allow us to search/install/uninstall python programs and libs
from a common online source, in a few clicks,
directly on pda/smartphone, or by transferring the package with traditional
methods if the first option is not possible.
Uploading new applications should be made easy too.
To do that we need:
* Choose a package format for storage/description of application files.
We could use .cab or design a format specific for PythonCE applications.
Some times ago, we made some brainstorming with Jared Forsyth on a .ppyp
format (Pocket Python Package),
which is a distutils-like way of defining packages.
* Create the Installer application itself, with it's logic and gui,
and ship it by default in the PythonCE distribution.
* Make a desktop application for easy cross installation of packages, when
there's no direct web access on the
pda. I've seen there are already existing RAPI bindings, this may help a lot,
and seems the most 'universal' way
to transfer files (i.e. by usb)
* Set up a web service for uploading and hosting packages, managing versions,
...
I think Django web framework could really help here, but no problem if it's
another framework or not even in python
While a such project won't be achieved in one day, I definitely think it is
worth the effort and will make PythonCE
superior to .NET regarding distribution user experience.
Regards,
Alexandre
_______________________________________________
PythonCE mailing list
PythonCE@python.org
http://mail.python.org/mailman/listinfo/pythonce