My company wants to make it easy for retailers to sell their merchandise
locally over the internet. There is a problem: HTML is horrible for building
interfaces that make a user at ease for purchasing products (What I'm about
to suggest requires you to agree with me
It would be cool if you could write a client-side wxPython script that makes
a really attractive GUI that, in turn, posts variables to a server-side
python script. That server script could then generate new wxPython scripts or
normal HTML(etc), depending on the need.
This could be done by combining wxPython, wxWindows, Python and utilizing the
restricted execution module
(http://www.python.org/doc/howto/rexec/rexec.html). By stripping down Python,
wxWindows and wxPython to the bare essentials and bundling them as one
browser plug-in, it would create a whole new way to publish on the net
(combining the ease and small learning curve of both Python and wxWindows).
By building an XML DTD that would be used to describe the layout of the GUI
(not much unlike HTML) and areas in the DTD to write functions and other code
to describe the behavior (not much unlike javascript in HTML pages) , it
would be really easy, with the help of a small set of powerful classes, to
make really powerful, really attractive GUIs that run on all major platforms
(thanks to Python and wxWindows)
The problem with python scripts being run from the net on a user's machine is
that python is a very powerful language with a lot of powerful features that
would be dangerous in the wrong hands. The restricted execution module
provided with python can be used to solve that problem by disabling all OS
level and other dangerous features, making them inaccessible to the script
programmer.
I said above that a small set of powerful classes is required to make this
whole idea work. I've thought of a few:
Class 1 : Text fetching URL parser
Internationalization (i18n) is a pretty big issue in my company, and I think
it is in the computer industry in general... There should be a class that
accepts a URL as a parameter, fetches unicode (or localized) text from the
web server with the purpose of displaying it to the user. This could be used
to easily translate text by removing user-visible text from the layout code
and placing it in a database (or file) on a web server that would be easier
for a non-programmer translator to work on...
Class 2 : Multiple Image fetching URL parser
A class that takes multiple URLs as parameters, that fetches those images and
places them in an array could be used for animation (think mouseOvers,
dancing actors on the screen, or whatever)
Class 3 : CGI variable collector and poster
a class that collects and organizes CGI POST variables that, on command
(event), would send those variables to a web server somewhere.
Class 4 : ogg vorbis player (exists)
a class that downloads ogg vorbis audio files (http://vorbis.com) and then
plays them on the host's computer
I'm sure other classes could be added here to aid in the design and
interactivity of the applet.
Additionally, wxWindows has wonderful layout control classes that make
building the XML interpreter a breeze and would keep the same 'feel' of HTML
+ Javascript, but with added power and ease of wxWindows and Python.
Has somebody already started this? I've seen the wxHTML in demo, but I think
it is still too restrictive. We could remove the wx prefix on all the
controls making it that much easier and intuitive to code the XML as well...
So, any comments/suggestions?
(I sent this to the wxwindows, wxpython and python mailing lists. I'm sorry
if you see it three times)
···
_______________________________________________
wxPython-users mailing list
wxPython-users@lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/wxpython-users