RISC World

A Secret History of DrawWorks Part 2


Last issue the DrawWorks story had reached the point where work was being undertaken on DrawWorks Designer, which was similar to DrawWorks2 but had a much improved user interface.

DrawWorks Designer

DrawWorks Designer took the idea, from the PC application I mentioned last time, of having two rows of tools, with the tools being shown on the bottom row determined by which tool was selected from the top row.

DrawWorks Designer

DrawWorks Designer provided a much simpler and more elegant user interface, and also presented the opportunity to fix a number of long standing issues with DrawWorks2. It also solved the problem of how to add new features to DrawWorks, as now there could be as many buttons as I liked. Among the new features were the PureTint colour pickers, which allowed the user to select from hundreds of in-built colours and to be sure that if they chose the same colour for two different objects they would match. At this point I approached Pantone about licensing the Pantone colour library, they were certainly interested, but I wasn't, mainly due to the massive licensing fees involved. So in the end we found a freely available colour system that was similar to the Pantone colours, but not quite the same.

At this time the idea of adding named colours also arrived. I was working on a number of designs for a customer and they all had the same basic colour scheme, and it wasn't in the PureTint range. So I decided that the best idea would be to allow DrawWorks to store a set of named colours so the user could choose them easily and quickly, but how to add the colour in the first place? The eventual solution was to take an existing draw object, in my case one of the logos I was working on, and get DrawWorks to extract the correct colour from the object and then store it.

This threw up another problem, how could you tell what named colour, or indeed PureTint colour matched the object? If you have a similar range of shades trying to guess on screen from a non colour calibrated monitor would be next to useless. So I also wrote code that could extract an existing draw object, and compare the colours in it to the named or PureTint colours and tell the user which one it was. DrawWorks Designer was starting to get quite complex and was ending up being a lot more than a visual overhaul of DrawWorks2.

Lots more new features were added over the coming weeks with an eventual release date decided by the date of the Acorn World Show. At the same time we were also working on other DTP related applicationsand one day I had a clever idea. Why not link the applications together? We were considering writing a simple clip art manager for DrawWorks, but we already had a full clip art manager by the name of Mr Clippy. Why not simply add a button to DrawWorks that allowed it to interface with clips stored in Mr Clippy. This line of thinking would greatly influence DrawWorks development in the future.

With Acorn World fast approaching a problem started to appear, the new DrawWorks was too big! It had to be usable on old RISC OS 3.1 machines, and so had to fit on an 800K floppy disc. We tried various different routines to pack the data, but it still wouldn't fit. In the end each file was gone through by hand removing any extra data that could be got rid of, then the whole application, with it's new on-line manual (based on our InformED manual generator) was compressed as heavily as possible. In the end we got it to fit in 799,186 bytes, which is a pretty full 800K disc!

So with Acorn World 97 upon us it was time to launch DrawWorks Designer. We took out full page, full colour adverts in the Acorn press in the hope we would get a few upgrades at the show, that was a bit of an underestimate. Within minutes of the show opening we were swamped with DrawWorks2 discs being returned for an upgrade. So far so good. DrawWorks Designer was on constant demo, until it crashed! Argh! Even though it had been through 3 months of beta testing with dozens of users a semi-fatal bug was still in place. It was quickly found after the show and an updated issued on the iSV products website, but it still really annoyed me.

As is often the case more minor problems started appearing and required fixing. Whilst digging around my old work files during the writing of this article I came upon the list of bug fixes and changes made up until the final DrawWorks Designer version 1.13:

Bugs fixed in version 1.11
Problem of extra copies of main toolbar appearing on screen tracked down to loaddwd_prefs
It re-loads a new template file and the old window gets stuck on screen - patched by closing old window first!
New mould finally added for 3DDesktop - used for DWD box cover drawing of the drawing board

Bugs fixed in version 1.12
Nasty bug - syntax error in filter library : caused by missing : ! - only effects some objects!
Problem of pressing cursor keys in path moulder fixed - pressing cursor caused moulder to start
Now only loads one copy of Draw with DrawWorks
Doesn't try and re-load templates after cancel in DWD prefs window - gets rid of "Not enough memory to create window"
Show print borders from prefs window now works correctly (button wasn't even checked!)
Grid lock button now works correctly (lock actually works but button did not come on)!
Floating tool bar no longer jumps in front of menus

Bugs fixed in version 1.13
Removing kerning from text with no kerning no longer causes text to vanish
pptr_menu strings added to toolbar buttons on all three user levels
ptr_menu sprites added to !sprites and !sprites22 files
No longer get black line at bottom of anti-aliased sprites/Giffs - problem was height being an odd number!
Font used menu from draw info now doesn't crash at odd times - fault was because the newfile% data block was getting discarded after opening the window!
Spelling mistakes removed from manual
Shared tools save box altered so text doesn't overlap using outline fonts
iKick application changed because logo got left on screen due to new window manager now the window is shut and a force_redraw is issued to clear the area.

Which only goes to prove that no matter how much work and testing you do, the only way some bugs surface is when a customer actually gets a product in their hands.

Work was started on a new version of DrawWorks Designer called Version 1.40, but I kept adding more and more features and making more and more changes. At the same time work was taking place on Typography 2100, our new font CD, and on a new copy of Mr Clippy, as well as on other DTP related applications. In the end so much had been changed that I decided that the only sensible thing was to release a new version of DrawWorks. This would no longer be on floppy discs but would be on CD, with lots of extras, the name would be DrawWorks Millennium. We had good reason for wanting a CD version with everything included, we knew that Vantage was being developed and wanted to make sure we could complete. I will cover DrawWorks Millennium development next time.

I have dug out a version of DrawWorks Designer V 1.13 and put it in the software directory in this issue, so you can see how DrawWorks had progressed from the DrawWorks2 we included last issue.