CHM format alternatives?
Asked Answered
H

3

14

Microsoft CHM format is great as provide such facilities:

  • Table of contends with tree view.
  • Index.
  • Indexed search.
  • Based on HTML source.

    But this format is outdated and have many drawbacks:

  • Have security issues (allow execute JavaScript code).
  • Don't know about new HTML formats.
  • Not documented.
  • Can not properly handle different character codings (like UTF-8).

    Are there any alternatives for CHM which have reader and compiler for all desctop OSes?

    PS. I hear that QT come this something like, KDE, NetBeans also use own help format. How about non-vendor specific?

    PPS. Some related:

  • http://live.gnome.org/devhelp and
    DevHelp is a GNOME based online help system aimed toward developers
  • http://en.wikipedia.org/wiki/MHTML MHTML, short for MIME HTML
  • http://en.wikipedia.org/wiki/EPUB free and open e-book standard by the International Digital Publishing Forum
  • http://en.wikipedia.org/wiki/Mobipocket also e-book proprietary format

    PPS. As state page http://en.wikipedia.org/wiki/Comparison_of_e-book_formats most closed to CHM is EPUB and Mobipocket format. But this format internally use XHTML so existing html page may not properly rendered by EPUB/mobi readers. Also as new to this format I don't know if they have TOC, index and search as in CHM.

  • Horary answered 14/8, 2011 at 11:9 Comment(2)
    What do you mean by vendor-specific? Every technology has been developed by someone, in CHM case it's Microsoft.Onetoone
    @Eugene Homyakov. Every technology has been developed by someone, but for general use used a few one outside of vendor products because of closed format and platform limited reader/compiler.Horary
    T
    6

    No there is nothing. Even on Windows, Vista+ has a new helpsystem but it is not used much and that will probably remain the same till XP is dead to the corporate world. Visual Studio helpsystems have been decoupled from the system helpsystem.

    The opensource world has played a bit, but usually on the basis of loose html files, and never very extensible (e.g. that an user could install new apps and that its helpcontent would integrate with the existing helpsystem). IOW more html manuals than helpsystems.

    The few attempts that have been made were connected to either GNome or KDE, and thus only worked for the apps that were delivered with those systems. (and not for e.g. third party GTK and QT apps). They were not very nice either (again often loose HTML, slow), and not very stable in time. Often they change every major version. It is one of the places that could do with a little bit of opendesktop standarization, but as always, that stumbles on at least one have to give up his current help system.

    There are tons of CHM readers for the various (non-windows) platforms though, and recently also one portable compiler. The fact that both KDE and Gnome have both their own chm reader (resp. kchmviewer and gnochm) says enough.

    Twum answered 15/8, 2011 at 7:28 Comment(0)
    T
    5

    The modern evolution of the Microsoft help solutions appears to go like this:

    1. WinHelp (.hlp) 1990-2015
    2. Microsoft Compiled HTML Help (.chm) 1996-2021
    3. Microsoft Help 2 (.hxs) 2001-2009
    4. Microsoft Help Viewer (.mshc) 2010-2022+

    Microsoft Help 2 was never released as it got cancelled in 2009. This led to .chm files being the standard until it was announced in 2021 that .chm files are deprecated.

    The newest format, .mshc, was released with Visual Studio 2010 and has been supported natively in the OS since Windows 8. This question was asked in 2011 so this answer could have been provided back then.

    Microsoft never made a Help Authoring Tool (HAT) so you need 3rd party solutions like HelpWare

    None of those Microsoft solutions are recommended at this point. Modern methods are:

    1. EPUB File
    2. HTML File with everything inlined
    3. MarkDown File
    Thoroughgoing answered 2/9, 2022 at 20:19 Comment(8)
    Great list! I stopped building .chm files long ago, still there is a need for a format that packs HTML/CSS/JS into a single archive. I've heard that browsers could open ZIP files but never explored this option. While CHM is ubiquitous it lacks proper UTF-8 / HTML 5 support. We could say it is a dead format. EPUB (or FB2?) could be an option, it looks like EPUB lacks a glossary, only TOC is supported...Horary
    @gavenkoa, you can inline your CSS/JS in your HTML file and distribute a single help file. No need to archive. This is the modern way to make documentation. If you don't need it to be fancy then I recommend using the markdown format, .MD, commonly seen in Git repositories.Thoroughgoing
    Plain HTML without compression and inlining images as BASE64 is a space eater,,, EPUB allows to pack resources / compress HTML,,,Horary
    @gavenkoa, is this a proper answer now? Can we close it out?Thoroughgoing
    MSHC supported natively in the OS since Windows 8? My Windows 10 cannot open .mshc files. The extension is shown as unrecognized.Twelfth
    @PetroK, use Edge to view the file. "The user experience for Microsoft Help Viewer is that topics can be viewed in any installed web browser – a separate application, such as the Microsoft Document Explorer included with Microsoft Help 2, is not necessary. "Thoroughgoing
    @Thoroughgoing Thank you. But when I am trying to open it by Edge, it asks "What do you want to do with help.mshc?" and suggests either to open it or save. When I choose 'Open', it just downloads the file.Twelfth
    @PetroK, it looks like the real world may not match the documentation. It seems that you can build a viewer into your application using the system DLLs but there is no independent viewer. I found a project that we created to fill this gap: 10tec.com/help-viewerThoroughgoing
    O
    2

    Qt Assistant is the closest I know, it can be used to display custom help collections. However, it is not pre-installed on any of the OSes.

    Onetoone answered 15/8, 2011 at 7:40 Comment(0)

    © 2022 - 2024 — McMap. All rights reserved.