I'm for libraries for developing small GUIs for small touchpanel screens (in the 6"-8" range, 640x480, 256 color). The primary concern is that the interfaces look really pretty, with anti-aliased vector drawing and fonts (sub-pixel rendering would be excellent), 8-bit alpha blending, nice gradients, dithering to compensate for having only 8-bit color, etc. Given that the interface will be touchscreen rather than mouse, the GUI lib should be able to create oversized buttons. Multi-window capability is neither required nor particularly desired -- titlebars just waste space, and multitasking is not an issue in this application.
The screen will be driven by embedded hardware -- something like a
75MHz ARM with 16MB RAM. The good news is that this CPU doesn't need to run anything other than the interface and a TCP/IP stack. I can either run the UI app itself locally, or use an X server with remote display of an app running on another machine on the network. The UI app itself can be pretty slim; by far the most resource-intensive part will be anti-aliasing, alpha blending, etc, so moving this off the embedded device onto a full-powered machine and just leaving a slim X server on the panel makes some sense. But for better responsiveness, I'd rather cram as much of it locally as possible, without slowing the thing down even more than the network would.Python is my favorite language, but if necessary I'll do it in C/C++ to save resources. There are quite a few things out there, none of which I've ever used: PicoGUI, TinyX, FLTK, etc. Some libs take the X model of separating display server from window manager from application, and some combine these things together. To save myself weeks of learning the features and quirks of each one, I'd love to hear from anybody who's actually used some of these toolkits and can offer some advice.
TIA,
Randall Nortman