A Secret History of DrawWorks Part 6
At the end of the last issue work on DrawWorks Select had just been completed, then along came the Iyonix and RISC OS 5.
It quite quickly became clear that none of the existing versions of DrawWorks would function correctly on the Iyonix. It was possible, with a bit of hacking, to get some features to work, but this wasn't a task for the average user. Initially we had concerns about doing a 32bit version of DrawWorks. Firstly RISC OS 5 was undergoing rapid development and wasn't what we considered fixed enough. Secondly there was some initial concern over the status of RISC OS 5, although Castle's subsequent purchase of some parts of RISC OS from Pace did clear this up.
With the number of Iyonix machines slowly increasing, demand for a DrawWorks started building up. This may in part have been fuelled by one RISC OS magazine saying that DrawWorks Millennium did run on the Iyonix. This was, unfortunately, printed without being checked. The result was customers ringing up APDL asking why it didn't work! Answer, because DrawWorks Millennium wasn't 32 bit and didn't work on the Iyonix!
In the end it became clear that a 32 bit DrawWorks would have to be produced. One of the first problems was finding all the source code to the modules. Dave Holden thought I had it. I was sure I had given it all to him. In the end we discovered we were both right and we both had the code.
Who's doing what?
It was decided that the first job was to 32 bit the existing DrawWorks Select, since this didn't involve any changes to the main code, only to the modules or absolute code chunks. Luckily not all the modules or code chunks needed changing as not all of them would be needed on a modern version of RISC OS. In the end Dave Holden bravely undertook the task. This proved a relatively painless job with some of the third party modules already having 32 bit versions, such as the Artworks renderer. So after only a week or so a complete 32 bit DrawWorks Select was available for testing.
At this point we had to make a decision. Did we simply leave DrawWorks as it was, or did we add some more new features? In the end it was decided to go back through the suggestions list and see what could be sensibly added to what was already a very feature rich package. In the end the sensible suggestions boiled down to these:
The page dividing tool was relatively simply to add. Internally DrawWorks has a structure to add new routines without having to do any re-writing so it was simply a matter of placing a tool on the toolbar and linking it up to the new code, this would then use the existing OLE and editing code.
The custom toolbar proved more of a problem and involved a fair amount of hair pulling before it actually worked. The principle was simple, a new configuration window would be created that held copies if all the buttons, these could then be dragged to and from a new custom toolbar. This fell foul of the same problem as DrawWorks2, button overload. So it had to be split up into a series of "panes", one for each main DrawWorks Toolbar. In the end this worked out quite well and fitted the design ethos of the program. Well it was certainly better than a window with over 100 buttons in it!
The library feature was a bit more contentious. DrawWorks has in fact had a library system for ages - it's called MrClippy. Indeed this was how MrClippy started, as a clip art library tool, rather than a full application. The argument was made that MrClippy was simply overkill for many tasks and all users wanted was a little window they could drag files from, rather than the large MrClippy display window. In the end I had to agree, although MrClippy had started small it had grown into a fully featured clip art manager and was a bit unwieldy when all a user wanted to do was drag in a set of clips.
Dave Holden undertook the writing of the new tools, which was an odd experience for me. Previously I had coordinated all the development and added code myself, now I was reduced to the role of a beta tester. Ok a highly qualified beta tester, but a tester none the less.
Whilst this was happening work was also undertaken to convert the DrawWorks support applications, including Mr Clippy (who hadn't been totally replaced by the Library tool), Dr Fonty and Typography 2500 to full 32bit compatibility.
XE and XL
In parallel with the development of DrawWorksXL a new free demo version of DrawWorks was produced, this was called DrawWorksXE. It had a similar feature set to the old DrawWorksSE demo version, but was again fully 32bit compatible. In case you are wondering the X in the new DrawWorks names came from the letter x in the name Iyonix. The second letters stood for Large (L) and Entry (E), the entry coming from the idea that the free DrawWorks was an entry level package that people could use to experiment to see if they liked DrawWorks or not.
Over the years most new versions of DrawWorks had been released for the Wakefield show, and this was to be no exception. DrawWorksXL and DrawWorksXE underwent a lot of testing to prepare them for release at Wakefield 2004. A new printed manual was also produced covering the new features. In the end we decided the programs were ready, announcements went out and CDs were duplicated.
As well as having a tradition of releasing new products at Wakefield we also had a tradition of finding silly bugs about an hour into the show. This year was no disappointment as within an hour a silly fault had shown up on the Distort tool, saving custom toolbars would occasionally give a silly error and some of the colour buttons wouldn't work properly if placed on a custom toolbar.
Luckily Dave Holden was easily able to trace the problems and fixes were issued on the APDL/iSV website quite quickly.
Another problem also showed up, it wasn't possible to load directories full of draw files into the library tool properly. Again an upgrade was put on the website to address the problem. I have put copies of all these updates in the software directory of this issue of RISCWorld. I have also included a copy of DrawWorksXE for those that haven't used DrawWorks, to have a play with.
So that's it for the history of DrawWorks so far. I don't know what work will be undertaken in the future on the package, as far as we can tell it's now 99.9% bug free and users seem delighted with it. When we start work on the next version, once we have worked out what to add, I will keep RISCWorld readers updated.