Platform Choice
Having created a simple test of the XUL + Python + SVG platform I want to take a breather and review if it is the best way forward.
Platform/tool Requirements for Jambu
In rough priority order:
* Flexible access to all input devices - gestures across devices
* Good access to any application including via a11y APIS
* Good graphics support, eg SVG
* Good support for user customisation
* Good development tools leading to fast development with good architecture
* Interpreted interactive, Python or Javascript, some C++ OK
* Cross platform - Windows first, then Linux, then Mac
* Easy deployment
* Use common dev skills - attract developers
* Stable and well supported - mature
* use open standards
An existing developer community to tap into would be useful
XULRunner with Python
++ Cross platform
++ supports many open standards
+ supports declarative + scripting RAD web style
+ large community, basic infrastructure fully supported but focused on Firefox needs
+ reasonable graphics support via DOM, XBL gives good architecture
-- no python debugger
-- Python not really supported, is bleeding edge and non main stream, and unstable
-- not strict and poor error feedback
- XULRunner not fully supported quite yet (but better than Python)
- Python deployment situation unknown
- SVG not fully supported in XBL (defs and url())
- large learning curve
- unreliable access to Python dev team i.e Mark Hammond
- big, complex and hard to modify core
- existing event structure may not fit my needs
XULRunner sans Python
As Python is mainly used for easy MSAA/IA2 access via COMtypes so an alternative would be to create a C++ XPCOM component and develop in Javascript. That would lose many of the problems listed above. The XPCOM component would probably really just be a thin Proxy.
LSR
++ Python
+ Fairly stable and mature
+ Good access to dev team but dev tam is v. small i.e 1
+ Easy changes to core
+ is now being positioned well for AT needs at least in theory even if not reality (need review)
--- Linux only so need to port to Windows first
- Complex (need review)?
- non declarative (but could add that as required - even XML as python has good support)
? unknown support/commitment from IBM
? unknown graphics support (review)
OnBoard?
* Early days so not much to go on, could be better than raw start if code good. (revisit)
Start from scratch
Gives me ultimate control but life is probably too short even with Python and wxWindows etc
