Toolbox reunification
Guide target £2,950
The User Interface Toolbox comprises a set of modules to help write Style Guide compliant applications, built up from gadgets arranged into classes, with the minimum of effort using high level languages. These modules are built into the main RISC OS ROM or provided on disc for older versions, making them as universally available as BBC BASIC. However, the operating system’s history includes a fork at RISC OS 3.80 (codenamed Ursula) with new features and fixes being added to what became the Toolbox that RISC OS 5 uses, and different new features and fixes being added to what became RISC OS Select.
Having two divergent copies undermines one of its primary goals – to have a universally available Toolbox for applications to work with – meaning that only the lowest common denominator set of features can be used.
Details
This bounty produces a definitive set of modules containing the superset of both branches.
The recent open sourcing of RISC OS has opened a new line of dialogue with 3QD, the owners of the former RISCOS Ltd intellectual property. With that, it may now be possible to approach them to get the internal details of how their version of the Toolbox worked in order to help with this bounty. An alternative approach is to study the published documented changes and to use these to ‘clean room’ reimplement the missing features. Comparing 20+ year divergent modules will require similar time and skill regardless of the method involved, so the following activity list doesn’t focus on any particular approach.
- Gather the list of deltas between versions
- New SWIs and Toolbox events
- New gadget types
- New documention, for example in text files, with references to where the information came from
- Integrate the differences found
- Updating the modules
- Adding to the gadget palette known by ResEd and ResTest
- Adding to the Toolbox libraries and corresponding C header files for developers to use
- Testing with a simple demonstration Wimp application to exercise fixes and new features
Deliverables
- Updated C source code to the modules
- Updated C source code to ResEd and ResTest where applicable
- Component ‘Common’ converted to use the shared Makefiles
The resulting modules will be integrated into RISC OS 5 and included in the PlingSystem download for the same set of earlier ROM releases as the ROOL set are currently provided for today. In other words, it is not expected that a new version of the RISC OS 4 (or 6) ROMs will be produced, nor would they be loaded there, but since the APIs are now provided that shouldn’t be necessary.
No new Toolbox object modules are thought to be needed in addition to those already managed by ROOL.
On completion of this bounty ROOL will commence editing of a revised User Interface Toolbox manual to reflect the reunified set, making it available as an Adobe PDF for all programmers to reference, and also to purchase in printed form as part of our range of books.
Donations | 51 |
---|---|
Guide target | £2,950.00 |
Total | £2,950.00 (100%) |
State | Underway |
Help |
More information about the bounty scheme Bounty scheme discussion forum |