Neil's News

+ 2010
+ 2009
+ 2008
+ 2007
+ 2006
+ 2005
- 2004
 Silence
 Snowflakes
 Paranoia Pays
 Microsoft Help
 Polyglot 11: More C
 Polyglot 11: C
 Polyglot 10: Smalltalk
 Toronto Wisdom
 Exterminated
 The Last Straw
 BT Broadband Trap
 Polyglot 9: Moo
 Polyglot 8: SVG
 Polyglot 7: POV-Ray
 Polyglot 6: Python
 Polyglot 5: PHP
 Polyglot 4: Euphoria
 Polyglot 3: JavaScript
 Polyglot 2: Java
 Polyglot 1: VB
 POV-Ray
 Etch A Sketch
 Slashdotting
 Flashy Lies
 Scientific Illiteracy
 Creeping Featurism
 VidScope
 Saturn V
 Perspectives
 Slide Rule
 eBay Sale
 Iron Filings
 Gimble
 VBA Security
 Random Morsels
 Exact Change
 Easter Egg
 Diametral Pitch
 mod_deflete
 Ethical Spam?
 Deadlines
 CPU Power
 Fosdem 2004
 Academic Reversal
 Mars Memorial
 Culture Clash
 Watching the Users
+ 2003
+ 2002

Microsoft Help

4 December 2004

Microsoft's help compiler used to be based around an RTF document marked up with various bizarre codes and footers. It was fragile, difficult to use, and extremely buggy. I built Recog's help system with it in 1996, then shunned it for the next eight years. However, it seems that during Microsoft's great Internet U-turn they replaced their weird RTF-based system with an HTML-based system. The new help system is actually quite good.

What made me revisit Microsoft's help system was that the two easiest to learn programming languages from the recent 'Polyglot' series used MS Help. POV-Ray and PHP both offer help as compiled CHM files -- in addition to the usual HTML, PostScript, TeX, and PDF formats. This made a significant difference. CHM is very quick to load, allows any-word searches through the entire content, handles Boolean and iterative searches, provides good navigation with two-way synchronisation between the tree frame and the content frame, is distributed as a single file instead of an entire directory, uses compression to keep the file size down, and best of all uses (almost) standard HTML&CSS content. The compiled file format is well documented, which means there are viewers for Linux and MacOS. It's not every day that I'm impressed with something from Redmond.

[Note that I'm praising the compiled help files themselves. The application that actually does the compiling is a buggy piece of garbage that can be crashed in four clicks (New > Index > OK > Sort A-Z). But the general public doesn't see that.]

In order to explore the new system, I took Recog's old RTF help and converted it into the new HTML help [src]. There was an automated tool to do this, but that would have defeated the purpose of it. Besides, I don't trust computers to write HTML. Recog was built in VB 3 and doesn't have the APIs to call the new help, so this was purely a learning exercise. But I'm sure it won't be too long before I encounter an application which needs its help system upgraded.

Update: A frightening thought just occured to me. I could probably recode Recog from VB to JavaScript and embed it within its own help file...

< Previous | Next >

 
-------------------------------------