WIMPBasic v WimpWorks
Want to write WIMP programs using your skill in BASIC and aren't sure whether to choose WIMPBasic or WimpWorks? Garry Taylor has tried both.
Since my family bought our first computer (BBC B) I have always programmed in BASIC in preference to languages like C or PASCAL. But this early start began to work against me when I got my Archie. Like many other programmers, I did not know much about the WIMP system and experience on platforms such as the Macintosh did not help due to its very different interface and underlying technology.
Users, quite rightly, wanted attractive interfaces to make their work easier and the text interface largely died a quick death. This is where WIMPBasic (from Clares Micro Supplies) and WimpWorks (from relative newcomer Jaffa Software) come in handy. They allow programmers with little or no experience of the WIMP interface to use their BASIC skills in a more modern way.
WIMPBasic has a StrongHelp manual, and WimpWorks also has one as well as an excellent 100-page paper manual. It seems that Jaffa can afford to provide one but Clares, who get an extra £15 per purchase, cannot. Neither companies demand royalties, which is the norm on other platforms, so commercial developers should not fear.
When I received WimpWorks, the first thing I noticed was that it was riddled with big, hairy bugs. The program confused windows I had drawn with other windows, which made it useless for anything with windows in it although in Jaffa's defence the program was fixed and on my hard disk within 24 hours. But this made me search around for more bugs and I did not have to look far; buttons were confused with others and the window editor would save windows but sometimes not load them in. Have these bugs been ironed out? Yes and No.
How well do they work?
I have used WIMPBasic rather a lot over the last few months and WimpWorks over the past six weeks or so but it took only about an hour for the differences to become apparent. WIMPBasic is a simpler affair with the coding aspect very well bolted onto the interface designer. The designer is very nice to use, although maybe a little lacking in the features of WimpWorks. The code editor in WIMPBasic is well thought out with colouring of commands (PRINT, STR$ etc.), although it is prone to crashing if you have more than 100 or so lines in it. WimpWorks’s window designer is definitely more powerful with full font control (although this is a little buggy) amongst other things. Its code editor is basically !Edit, which is no bad thing, especially as it is far more stable than WIMPBasic. As far as their editors go, it's a dead heat.
How basic is BASIC?
WimpWorks uses normal BBC BASIC with some of its own, very useful and powerful, commands such as those for manipulating or moving icons. WIMPBasic on the other hand has some different commands and its brand of BASIC is definitely not as fast or as powerful as BBC Basic. Although the code editor of WimpWorks is quite separate to the window designer, its more powerful language and speed makes it the outright winner in this respect.
What are the results like?
WIMPBasic applications all require !WBModules to run, which at 60K would take a little time to download off the Internet, but otherwise it’s pretty hassle-free. It does seem to me to be a way to advertise their product free but if that product produces a good WIMP program, why shouldn’t people know? WimpWorks applications need no modules and seem very stable. WIMPBasic applications crashed on quitting occasionally, sometimes taking the whole system with them. This does not seem to happen on Risc PCs, though. There is little to choose between the applications they create, but WimpWorks’s stability, speed and lack of modules makes it the winner here.
WIMPBasic is easier to use, with a more intuitive way of attaching your code to your buttons and menus, and is probably the better buy for the absolute beginner who wants to make only little programs and where speed is not critical.
WimpWorks is cheaper by £15, much more powerful, and has a paper manual, but it is more difficult to use, simply because it has more on offer. Extensions to WimpWorks are available to add capabilities to an already feature-filled program, and allow creation and saving of Drawfiles to name but one.
It may be that you will buy WIMPBasic and outgrow it in several months but Jaffa do offer a cross- grade (politically correct way of saying “Mine’s better than yours!”) from WIMPBasic to their program for a very reasonable £15, although Jaffa does keep your discs, which is a little unusual and some will say unfair. But if you do want to keep WIMPBasic, you could just pay the full price. I talked to Jaffa about this and they said “It’ll stop unscrupulous people selling their copies of WB to get their money back.” I’m not sure what’s so bad about that but it does limit the amount of second-hand software on the market, therefore forcing people to buy new copies and hence support the market.
Programming software was never meant to be easy but WIMPBasic makes this task far easier as does WimpWorks to a lesser extent. WimpWorks’s debugging is nowhere near as complete as WIMPBasic (and often does not work at all) which is more hassle for the beginner and advanced user alike. Both take some time to compile. The largest program I wrote in WIMPBasic was a simple database, which took about 10 minutes to compile on my weedy A3010, whereas the largest program on WimpWorks is a relational database, far larger than the other database, and this takes 25 minutes to compile, Visual Basic on the PC (grr!) and HyperCard on the Mac don’t actually need to compile.
With the version I have, I feel that Jaffa may, in effect, be using its customers as beta-testers (maybe even alpha-testers!) which is OK if it’s made clear at the outset and this would not have put me off getting it. I took advantage of their upgrade offer from WIMPBasic and I found it worthwhile if fraught with sleepless nights.
If you are planning on writing a big, complex, application it’s possible WIMPBasic could not meet your needs. But for anything small and easy, WIMPBasic may be your best buy. However I prefer WimpWorks. It’s faster, I can live without debugging and it is more capable of letting me do what I want to do rather than work around limitations. But — and this is a big but — WimpWorks is very badly bugged. When it works, it works very, very well, but when it doesn’t, procedures don’t save, sometimes adding a window causes the whole program not to work, discarding changes made to windows hangs the computer most of the time, adding submenus often does not work and adding buttons to the standard save window will stop parts of the window not working, Commands often have no effect at all, I really could go on....
I have started to write ‘real’ software with WimpWorks and have lost reams of code through its bugs and had many scares of losing 20,000 words of BASIC. Using WimpWorks is scary. It does not feel anywhere near as solid as WIMPBASIC.
I cannot endorse WIMPBasic or WimpWorks but WimpWorks shows the potential of becoming a classy piece of software. I won’t write anything else with WimpWorks due to its ‘undocumented features’ and WIMPBasic just does not have the power. WIMPBASIC is less guilty of bugs, although it does have some. I think £50 for WIMPBasic is a bit steep especially considering it lacks a paper manual. Thirty-five pounds for WimpWorks may seem expensive considering all the bugs it has but if these are ironed out, £35 is a bargain. My search continues for the definitive RAD package for RISC OS. I hope to report back on what I find.
Context and Response
WimpWorks was at v2.22 when this review was published. Over the following months and years, there were numerous enhancements and bug fixes; covering:
- Many bug fixes
- Speed improvements
- Better integration for code editors through the use of OLE
- Improved multi-national support
- 32-bit support
The review highlights the salient differences between WimpWorks and WimpBASIC, but - ironically - the review itself is full of bugs, from basic editorial errors such as the names of the products; through to more technical faults (Visual Basic at the time did require a compilation step, and often a full rebuild). Describing the retention of competitors' disks in the "cross-upgrade" as "unfair" seems disingenuous given the significant discount over the list price.
Finally, WimpWorks is built, itself, using WimpWorks, providing a rich testing ground. The development also occurred on a A3010, providing a sensible baseline and test-bed for the package, and its performance. Although there were bugs in the version reviewed, there followed many bug fixes; producing a stable and mature software product. All software has bugs, especially one as large and complex as an integrated development environment, and it's the response to those bugs which distinguish software vendors.