[Lazarus] Help System with Chromium Embedded component

classic Classic list List threaded Threaded
56 messages Options
123
Reply | Threaded
Open this post in threaded view
|

[Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
Hi, I have been experimenting with chromium embedded and the power is
endless.  It's like being able to write CGI programs but on the desktop
with no server needing to be installed.

I was thinking documentation for software could benefit from having a
chromium embedded (or firefox embedded) system.

The issue with static plain html documents is that they aren't really
powerful like a full fledged .CHM system or .hlp system. But even chm and
.hlp files are primitive, they are just basic, and 1990's technology.

With chromium embedded it seems you can literally do anything you want:
combine lazarus widgets with a web server like program, but without
requiring a web server. I.e. you can output to the web browser just like a
cgi program can, but no server side needed, it's all done on the client.

To me this seems like the perfect help system tool as you'll get something
far more powerful than a PDF file... you can highlight text using lazarus
code and callback back to the browser, whereas PDF files are not so
programmable and controllable with code. I don't even know if pdf is
scriptable.

The biggest issue with help documents is they are usually either static
PDF files that are not in any way searchable like an online documentation
on a web server.... or they are static html files without any power added
to them, or they are chm files which are simple but not so powerful.

It seems there is almost a mismatch where people want a PDF file but also
want to use google for help. This leads to the help files not really being
integrated into the app and people just end up using google to find help
on their program. The way I see it is if there was a chromium embedded or
firefox embedded help system you wouldn't need google as much, as you
would have the documents on your client like in the old days with Delphi 5
and 6 when you just pressed F1 and it took you to the page. F1 local
client help just like delphi could in fact be automated with chromium
embedded the same way delphi had it with the old documentation system from
the 1990's... but with chromium embedded, you get rich html help
documents, not old html document style from 1990's..

As much as I love CHM/HLP file systems from Ms Winblows it seems that one
could even develop a more powerful one with chromium embedded and
callbacks back and forth to the component....

Now I haven't much looked into the current Lazarus help system or what
people use for help systems in popular lazarus apps, but I'm posting this
to the mailing list as an idea for anyone who wants to make a rich help
system with a rich integrated help system.

The issue with opening an html file in a browser for help, is that the
person has to leave their application and then alt tab back to it, whereas
a chromium embedded help system could be put right into the software
itself not a separate browser application.  And the issue with chm files
as I see it, is they are a simple format from the 1990's with limitations
(As much as I respect simple formats from long ago.. some help systems
need to be richer)

PDF files are indeed very rich documents but they lack programmability.
For example F1 online (or rather offline local client) help like in Delphi
5 seems not possible, even though delphi 5 help is 1990's technology and
pdf files are modern.

There seems to be a mismatch here where you have fragmented help systems
on modern software, and people end up basically abandoning help systems
and instead just go on google and search. Maybe the old delphi 5 style F1
help system could be brought back, but with a modern flare: chromium html
pages, with javascript possible too if absolutely necessary, to make them
richer. But the cool thing about chromium embedded is you can avoid
javascript by using fpc/lazarus code as callbacks instead of relying just
on clunky javascript.. i.e. you can mix modern pascal code in with HTML to
render, search, display, etc.

So I'm not talking about just a help system for lazarus (the current one
may be just fine) but a help system architecture for all software apps
released in the future! Apps developed with lazarus, not just lazarus
itself.. and apps developed with delphi and other tools.


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On 2016-10-21 08:04, Lars via Lazarus wrote:
> powerful like a full fledged .CHM system or .hlp system. But even chm and
> .hlp files are primitive, they are just basic, and 1990's technology.

One thing you are overlooking is that most help authors don't use any of
the advanced features of the existing help systems.

For example:
  OS/2 INF/HLP help system has by default 2-way communication support.
This is an excellent way to incorporate step-by-step tutorial help. In
all my years of using OS/2, I've *never* seen anybody use that feature -
except IBM. IBM did it very well, in where the help window tells the use
what to do, a overlay appeared over the application window highlighting
what the help is referring too. The user does what was instructed, and
the help window automatically updates to the next step so so forth.
Brilliantly useful, but nobody used it.


> With chromium embedded it seems you can literally do anything you want:

The down side being you need to have a 80-250MB application (full
Firefox or Chrome or Chromium browsers and all dependencies) installed
just to view some help contents.

Also what happens if you don't use Firefox or Chrome?

Also starting up those web browsers, even in an embedded environment is
a slow process and they are huge and memory hungly!

A decade ago I researched all of these things for a client of mine. We
wanted offline help, must be searchable, help must load instantly (even
a 1 second loading time is too slow), the help contents must be easy to
author and no large supporting libraries/runtimes etc. My client also
wanted context sensitive help down to the widget on a form level. It is
atrocious that applications don't supply good offline help (if any help
is even supplied) these days.

It was surprisingly hard to find a solution, especially something
cross-platform. In the end I researched help formats with the goal to
implement our own help viewer. We looked at Microsoft's HLP, CHM
formats, IBM's INF, OpenOffice's help, Gnome's help sytem and a few others.

Long story short, in the end we decided on the IBM created INF help
format, and I implemented a cross-platform help viewer that ticks all
the requirements listed above and more.

fpGUI's DocView help viewer was born. A 1MB help viewer that can load
and parse not just one, but multiple INF files, and display the
requested help topic in under a second. If multiple INF files were
loaded their TOC get merged into a single TOC treeview. If they supply
Index details, those too get get merged into a single Index view, or a
Index can be auto-generated at runtime. It has advanced search features,
hyperlink support, the usual rich text display features, bookmark
support, user defined inline annotation support and DocView includes its
own help file describing all its features (help on help).

The INF help file format is impressively efficient in speed and size
(help topic contents are indexed lookups to a global word dictionary -
reducing size, allows for full-text searching etc). The INF help
compiler I use is a cross-platform open source implementation from the
OpenWatcom Compiler project. A single small executable with no external
dependencies. FPC's fpdoc also supports generating IPF output which can
then be compiled into binary INF help files.

DocView can also be integrated with LCL or fpGUI application.
If you log into the Lazarus Forum and view the following link, there is
an attached source code of a LCL application, showing exactly how to
integrate DocView with LCL applications to give you context sensitive help.


http://forum.lazarus.freepascal.org/index.php/topic,27864.msg173887.html#msg173887

It can also be integrated into Lazarus IDE, Delphi IDE or any programmer
editor that supports "external tools" functionality - without needing to
compile and install IDE add-ons, yet still gives context sensitive help
per keyword.

  http://fpgui.sourceforge.net/docview_ide_integration.shtml


> they are static html files without any power added
> to them, or they are chm files which are simple but not so powerful.

What I also don't want from a help file is a Telly Tubbies like looking
help text. By that I mean, some idiot with no flare for typography and
design, being allowed to author and "customise" help content to death -
making my eyes bleed just looking at it. And yes, I've seem many such
CHM help files.

That's why I like more minimalist help text (think OSX). It gets the
point (help) across without making my eyes bleed, and no ugly
distractions. DocView does allows for some end-user customisation though
- changing the proportional and mono fonts used, font size, page
background color and search highlighting color. The help content author
doesn't need to stress about those "customisations" as it is not up to
them to force their (possibly ugly) design onto the end user.

The idea of help text is to help the end-user as efficiently as
possible. It is not an excused for the help author to say "oh, look what
I can do with colors, fonts and terrible design skills".

As far as I'm concerned HTML is not a good choice for a help format.
It's way to verbose and gives too much "design power" to the help author
- without allowing end-user customisation. Adding JavaScript and such to
the mix will make the problem even worse. Also, not all HTML viewer
components are created equals. Just compare LHelp output so say
kCHMViewer or Firefox.


> to the mailing list as an idea for anyone who wants to make a rich help
> system with a rich integrated help system.

And I posted my personal opinions, which I know others might not agree
with - but there you go. ;-)



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On Fri, 21 Oct 2016 09:58:47 +0100
Graeme Geldenhuys via Lazarus <[hidden email]> wrote:

>[...]
> http://forum.lazarus.freepascal.org/index.php/topic,27864.msg173887.html#msg173887
>
> It can also be integrated into Lazarus IDE, Delphi IDE or any programmer
> editor that supports "external tools" functionality - without needing to
> compile and install IDE add-ons, yet still gives context sensitive help
> per keyword.
>
>   http://fpgui.sourceforge.net/docview_ide_integration.shtml

Can the content of the wiki and FPC's guides be shown/searched with it
too?

Mattias
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On 2016-10-21 10:13, Mattias Gaertner via Lazarus wrote:
> Can the content of the wiki and FPC's guides be shown/searched with it
> too?

Wiki no, FPC guides yes.


I believe somebody was working on a "wiki exporter" tool at some point,
so the Wiki content could be made available offline. I assume it would
result in offline HTML files. That could then be converted (with another
tool) to INF in there was a need.


ps:
  Don't knock my obsession with offline help. :) Just 3 weeks ago, I was
  stuck with no Internet for 7 days. Thank goodness for all my
  offline INF help files. ;-)


Regards,
  Graeme

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On Fri, 21 Oct 2016 10:34:51 +0100
Graeme Geldenhuys via Lazarus <[hidden email]> wrote:

> On 2016-10-21 10:13, Mattias Gaertner via Lazarus wrote:
> > Can the content of the wiki and FPC's guides be shown/searched with it
> > too?  
>
> Wiki no, FPC guides yes.

I would like to test that. Can you give me a link or hint?

 
> I believe somebody was working on a "wiki exporter" tool at some point,
> so the Wiki content could be made available offline.

There is one in lazarus/components/wiki. wikiget downloads the wiki
sources. And there is wikiconvert which outputs html, chm or xhtml.
Some elements are not yet converted correctly.


> I assume it would
> result in offline HTML files. That could then be converted (with another
> tool) to INF in there was a need.

... or add a direct converter from wiki to inf.


Mattias
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On 2016-10-21 11:05, Mattias Gaertner via Lazarus wrote:
>> Wiki no, FPC guides yes.
>
> I would like to test that. Can you give me a link or hint?

Regarding the FPC guides. I consider the FPC Language Reference the most
important one, so I manually converted it (and keep it in sync with FPC
releases when I can), and also added my own additions to take advantage
of the INF format. See attached screenshot.

As for the others guides, I wrote a tool that does LaTex to IPF
conversions (that was hard). I also did a HTML to IPF tool. But in both
cases some elements are not yet converted, and generally the formatting
is not nearly as good as it should be (my standards are high when it
comes to help formatting). So I don't publicise what I don't think is of
high enough quality yet.

Take the Free Pascal CHM help as an example - it is horrific looking.
The fpdoc's HTML output writer was clearly designed for online HTML
usage with popup browser windows and decent CSS support etc. The CHM
conversion of that gives broken links, unsupported features and bad
formatting. It just gives the documentation a bad wrap. fpdoc should
have a dedicated CHM output writer. The same can be said for an ePub
HTML output writer (if that ever materializes).


> There is one in lazarus/components/wiki. wikiget downloads the wiki
> sources. And there is wikiconvert which outputs html, chm or xhtml.

Ah, thanks. I'll take a look at that when I have a moment.


> ... or add a direct converter from wiki to inf.

Yes, that would be the best solution.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus

Screenshot.png (53K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On Fri, 21 Oct 2016 12:13:32 +0100
Graeme Geldenhuys via Lazarus <[hidden email]> wrote:

>[...]
> Take the Free Pascal CHM help as an example - it is horrific looking.
> The fpdoc's HTML output writer was clearly designed for online HTML
> usage with popup browser windows and decent CSS support etc. The CHM
> conversion of that gives broken links, unsupported features and bad
> formatting.

Is this a problem of the CHM producer or the CHM viewer?

> It just gives the documentation a bad wrap. fpdoc should
> have a dedicated CHM output writer. The same can be said for an ePub
> HTML output writer (if that ever materializes).

Mattias
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On 2016-10-22 22:36, Mattias Gaertner via Lazarus wrote:
> Is this a problem of the CHM producer or the CHM viewer?

Both. The LaTeX-to-HTML conversion is definitely not great. Michael
would agree on this one. Then taking that already bad HTML and
converting in to CHM, makes the end result even worse. That doesn't do
any justices for Michael's hard work in writing the documentation and
having it beautifully presented (like the official PDF versions).

fpdoc's HTML output is designed for online viewing with a web browser.
What it generates and how it generates it is not always appropriate for
offline viewing, and doesn't take into account CHM viewers and how they
differ from web browsers like Firefox or Chrome. Hence my suggestion
that a dedicated CHM output writer is needed for fpdoc.

Viewing CHM files are also not equal with all CHM viewers. Although
LHelp's HTML component has improved much, it is not a match to
KCHMViewer, Microsoft's Help viewer or the likes - which use full blown
embedded web browser components. For example, take a look at how
Delphi's CHM help looks when viewed with KCHMViewer vs LHelp (1).

LHelp has other flaws too... slow loading times (though that has
improved), flaky search results, incomplete or missing TOC entries
(compared to what other CHM viewers show for the same CHM file), toolbar
arrow navigation that sometimes don't work, broken rendering of images
(2). Then there are also useful features missing that every dedicated
help viewer should have: ability for some user customisation like
adjusting the font size or page background colour, user annotations
(inline or otherwise), bookmarks, advanced search (match this but not
that, match phrases etc).

Many of LHelp's issues can be addressed, but LHelp doesn't receive much
love. I guess the major problem is that CHM is widely considered a
Windows-only file format, thus the default viewer is mostly Microsoft's
built-in help viewer (when Windows is the platform). Considering that
Lazarus promotes multi-platform support, other platforms need to live
with the failures of LHelp, or look elsewhere like KCHMViewer - but the
latter pulls in its own huge list of 3rd party dependencies.

[1] http://geldenhuys.co.uk/~graemeg/temp/kchmviewer_vs_lhelp.png
[2] http://geldenhuys.co.uk/~graemeg/temp/kchmviewer_vs_lhelp_2.png


This discussion is nothing new. I remember mentioning these same issues
some years ago.


Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
Now that I think about my post about using chromium embedded for a help
engine, the issue I see is that it's a large dependency .. so for small
applications that are say 1MB large, and you want to supply a help system
with it... all of a sudden the 1mb exe has to be shipped with a gazillion
other files that wouldn't be needed with a more simple format.

Still, I think I will try to release a help system for powtils using
chromium embedded, as an offline experiment with CGI (no web server
needed). However this will take time, and I almost feel like I posted that
chromium idea drunk, even though I was not drinking.

On Sat, October 22, 2016 5:24 pm, Graeme Geldenhuys via Lazarus wrote:

> On 2016-10-22 22:36, Mattias Gaertner via Lazarus wrote:
>
>> Is this a problem of the CHM producer or the CHM viewer?
>>
>
> Both. The LaTeX-to-HTML conversion is definitely not great. Michael
> would agree on this one. Then taking that already bad HTML and converting
> in to CHM, makes the end result even worse. That doesn't do any justices
> for Michael's hard work in writing the documentation and having it
> beautifully presented (like the official PDF versions).
....
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list


On 24 October 2016 at 00:34, Lars via Lazarus <[hidden email]> wrote:
Now that I think about my post about using chromium embedded for a help
engine, the issue I see is that it's a large dependency .. so for small
applications that are say 1MB large, and you want to supply a help system
with it... all of a sudden the 1mb exe has to be shipped with a gazillion
other files that wouldn't be needed with a more simple format.

Still, I think I will try to release a help system for powtils using
chromium embedded, as an offline experiment with CGI (no web server
needed). However this will take time, and I almost feel like I posted that
chromium idea drunk, even though I was not drinking.

On Sat, October 22, 2016 5:24 pm, Graeme Geldenhuys via Lazarus wrote:
> On 2016-10-22 22:36, Mattias Gaertner via Lazarus wrote:
>
>> Is this a problem of the CHM producer or the CHM viewer?
>>
>
> Both. The LaTeX-to-HTML conversion is definitely not great. Michael
> would agree on this one. Then taking that already bad HTML and converting
> in to CHM, makes the end result even worse. That doesn't do any justices
> for Michael's hard work in writing the documentation and having it
> beautifully presented (like the official PDF versions).
....
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus


I think using CEF is fine as there don't seem to be any other realistic options. That is the situation as it is. Something which is likely to get more support is "more better" than a perfect but little used and little known system. A Lazarus installation currently takes over 1 Gb, so what difference does another 300Mb make to it when it is something as critical as help? INF files and viewers may be fine, but besides Graeme who is willing to make the time and effort to learn it well enough to support Graeme to develop it further?
It may sound cynical but that is the state of contemporary systems development where the idea is to settle for less than ideal systems and hope that by throwing enough people at these sub par systems the flaws will be worked out, or made "good enough".


--
Frank Church

=======================
http://devblog.brahmancreations.com

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On 2016-11-06 11:35, vfclists . via Lazarus wrote:
> I think using CEF is fine as there don't seem to be any other realistic
> options. That is the situation as it is.

No it's not! If you have a login for Lazarus Forum's, check out this
post with a fully functional application with context sensitive help.
That's an application (small), help contents and a help viewer - all
under 2MB in size.

http://forum.lazarus.freepascal.org/index.php/topic,30421.msg193651.html#msg193651


> known system. A Lazarus installation currently takes over 1 Gb, so what
> difference does another 300Mb make to it when it is something as critical
> as help?

If anybody things installing 300MB just to get some lousy help for a
small 1MB application is acceptable, then you need to seriously
re-evaluate your career as a software developer. Also, my clients don't
have Lazarus installed, so 300MB 3rd party files for a 1-10MB
application is a MAJOR issue!

For online distribution and online updates, size does matter.


> INF files and viewers may be fine, but besides Graeme who is
> willing to make the time and effort to learn it well enough to support
> Graeme to develop it further?

I'm more than willing to implement any new feature I deem worthy or
beneficial for a help system. IBM did a stellar job designing the INF
help system, and it was also used for eBooks - 10+ years ahead of the
likes of ePub, AZW etc.

I've said it a million times before, HTML is the worst markup for a help
system. It's just to verbose, and the HTML Viewers are too inconsistent
with features they support.

Read my previous posts on all the features that INF and DocView
supports. I'm not bothered about popularity contests, so if nobody else
uses INF, there loss. I can say that I've used it for years in my own
applications and 4 of my past clients use it in commercial software too.


> hope that by throwing enough people at these sub par systems the flaws will
> be worked out, or made "good enough".

I welcome your thoughts on why you think INF or DocView would be sub par?

ps:
Did you see the sub par user experience is these CHM files?

 http://geldenhuys.co.uk/~graemeg/temp/kchmviewer_vs_lhelp.png
 http://geldenhuys.co.uk/~graemeg/temp/kchmviewer_vs_lhelp_2.png




Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On 2016-10-21 09:58, Graeme Geldenhuys via Lazarus wrote:
> It was surprisingly hard to find a solution, especially something
> cross-platform. In the end I researched help formats with the goal to
> implement our own help viewer. We looked at Microsoft's HLP, CHM
> formats, IBM's INF, OpenOffice's help, Gnome's help sytem and a few others.

I thought I should elaborate on this process a bit, after reading
Frank's last message - in case somebody else gets the wrong impression.
The research wasn't a quick search on the Internet one afternoon.
Cross-Platform Help was very important to my employer. We spent 3 months
researching and evaluating help viewers and help formats. We did
extensive testing and looking at all aspects around help - from ease of
authoring help, efficiency of file formats, file sizes and help viewers.

After all that, I think we came up with a very good choice, and a
solution that ticked all our requirements. My employer was also kind
enough to donate back all the work that was put into it, hoping others
would benefit from this. After all, they benefited hugely from all the
effort others put into Free Pascal and Lazarus.

Regards,
  Graeme

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list


On 6 November 2016 at 23:20, Graeme Geldenhuys via Lazarus <[hidden email]> wrote:
On 2016-10-21 09:58, Graeme Geldenhuys via Lazarus wrote:
> It was surprisingly hard to find a solution, especially something
> cross-platform. In the end I researched help formats with the goal to
> implement our own help viewer. We looked at Microsoft's HLP, CHM
> formats, IBM's INF, OpenOffice's help, Gnome's help sytem and a few others.

I thought I should elaborate on this process a bit, after reading
Frank's last message - in case somebody else gets the wrong impression.
The research wasn't a quick search on the Internet one afternoon.
Cross-Platform Help was very important to my employer. We spent 3 months
researching and evaluating help viewers and help formats. We did
extensive testing and looking at all aspects around help - from ease of
authoring help, efficiency of file formats, file sizes and help viewers.

After all that, I think we came up with a very good choice, and a
solution that ticked all our requirements. My employer was also kind
enough to donate back all the work that was put into it, hoping others
would benefit from this. After all, they benefited hugely from all the
effort others put into Free Pascal and Lazarus.

Regards,
  Graeme

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus


I am not questioning the value of the INF format, DocView and other associated utilities. I am just trying to say that this is the current state of affairs today, and for the last 20 years as well, where the computing industry has been try to shoehorn every da*n thing into Javascript and HTML, and who knows what the industry "leaders" will come up in their bid to fit square pegs into round holes and channel users into their increasingly restricted systems? I mean the latest thing now is WebAssembly which shows how ridiculous the whole business has become. It is not a fault on Lars end that he sees CEF as the best way to provide help. It is just the way things are. Computing environments have gone full retard in service of the browser and the web.

BTW, is there an INF to HTML convertor that would enable documentation to be developed in INF then translated to HTML for those who want dumbed down display systems?
--
Frank Church

=======================
http://devblog.brahmancreations.com

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
On 2016-11-07 19:25, vfclists . via Lazarus wrote:
> computing industry has been try to shoehorn every da*n thing into
> Javascript and HTML, and who knows what the industry "leaders" will come up
> in their bid to fit square pegs into round holes and channel users into

Exactly, and there is no reason to follow those idiots - I know I don't.
INF (by IBM) and HLP (by Microsoft) was designed from the ground up as
help file formats. The are very good at what they do. Having studied
both in depth, I think IBM did a much better job, and has more features
than HLP had. The only mistake IBM made was that the developed a crappy
INF viewer. That's were DocView fills the gap - much more modern and
user friendly INF viewer.


> BTW, is there an INF to HTML convertor that would enable documentation to
> be developed in INF then translated to HTML for those who want dumbed down
> display systems?

That totally defeats the point of a descent and useful help viewer.
Saying that, I have implemented an export option for DocView where you
can export selected help topics to plain text. I'm also busy writing a
new exporter using the new fcl-pdf package, so DocView can export
selected topics to PDF.

The idea of this export functionality is to easily print or collate
information (help topics) of interest in one condensed file. I don't
really use this too much these days, as DocView also supports Bookmarks,
which is simply faster.

Creating a exporter for HTML shouldn't be hard either, but I think the
PDF format will be much more useful, and like INF, everything (text and
images) are contained in a single file.

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Sun, November 6, 2016 4:35 am, vfclists . via Lazarus wrote:

> On 24 October 2016 at 00:34, Lars via Lazarus
> <[hidden email]
>
>> wrote:
>>
>
>> Now that I think about my post about using chromium embedded for a help
>>  engine, the issue I see is that it's a large dependency .. so for
>> small applications that are say 1MB large, and you want to supply a help
>> system with it... all of a sudden the 1mb exe has to be shipped with a
>> gazillion other files that wouldn't be needed with a more simple format.
>>
>>
>> Still, I think I will try to release a help system for powtils using
>> chromium embedded, as an offline experiment with CGI (no web server
>> needed). However this will take time, and I almost feel like I posted
>> that chromium idea drunk, even though I was not drinking.
>>
>> On Sat, October 22, 2016 5:24 pm, Graeme Geldenhuys via Lazarus wrote:
>>
>>> On 2016-10-22 22:36, Mattias Gaertner via Lazarus wrote:
>>>
>>>
>>>> Is this a problem of the CHM producer or the CHM viewer?
>>>>
>>>>
>>>
>>> Both. The LaTeX-to-HTML conversion is definitely not great. Michael
>>> would agree on this one. Then taking that already bad HTML and
>>> converting in to CHM, makes the end result even worse. That doesn't do
>>> any justices for Michael's hard work in writing the documentation and
>>> having it beautifully presented (like the official PDF versions).
>> ....
>> --
>> _______________________________________________
>> Lazarus mailing list
>> [hidden email]
>> http://lists.lazarus-ide.org/listinfo/lazarus
>>
>>
>
>
> I think using CEF is fine as there don't seem to be any other realistic
> options. That is the situation as it is. Something which is likely to get
> more support is "more better" than a perfect but little used and little
> known system. A Lazarus installation currently takes over 1 Gb, so what
> difference does another 300Mb make to it when it is something as critical
>  as help?

I was speaking of a help system for any application, not just lazarus
alone... i.e. you build a 2mb exe and ship it to your customer (not
lazarus.exe but another exe built with lazarus)...

So now your elf/exe has to include a huge dependency... Chromium is not
just one dll. It would be ideal if it was only one dll, like mysqlite.

So if you build a 2-6mb app, now you have to ship yet more files
increasing the size further.

Maybe not a huge issue with todays high speed internet connections, but it
still is another dependency.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Sun, November 6, 2016 4:35 am, vfclists . via Lazarus wrote:
> Something which is likely to get
> more support is "more better" than a perfect but little used and little
> known system.

One issue is firefox has a track record of not supporting embedded browser
for very long without abandoning it, or changing the api to make it
incompatible with old code... so who says this isn't also going to happen
with chromium (CEF) at some point... Hopefully chromium will not go down
the same path as firefox embedded. I do know, that CEF1 has some features
that are incompatible with CEF3 so they've already broken some things...
hopefully cef3 stays stable api for a long time and there is no cef4 that
comes out which breaks old cef3 code.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Sun, November 6, 2016 1:18 pm, Graeme Geldenhuys via Lazarus wrote:
> If anybody things installing 300MB just to get some lousy help for a
> small 1MB application is acceptable,

Maybe CEF needs a lite version.  I am guessing that chromium embedded
pulls in a lot of unused code that is not needed for most cef embededded
browser apps.

Would be nice if there was a CEF (chromium embedded) lite which was only,
maybe 10MB. Obviously, I'd prefer a 100KB option over even a 10MB
option....

300MB seems awfully like bloatware to me..  is it really 300MB to ship the
latest CEF 3? I haven't checked.  Even if it was 110MB that's still too
large.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On Mon, November 7, 2016 12:25 pm, vfclists . via Lazarus wrote:
> I mean the latest thing now is
> WebAssembly which shows how ridiculous the whole business has become.


Web assembly, if designed properly, might actually get rid of some
problems. Javascript is a large mammoth, or ugly beast. Web assembly may
allow one to for example compile freepascal code directly to byte code
that runs in the browser, instead of people using ugly obfuscated bloated
javascript "hacks".

It's sort of like a JVM bytecode, but for the web browser. Or a .net
bytecode. I don't fully know what web assembly intends to be, as it's not
completed yet fully, but, it may actually get rid of some of the
javascript bloated crap out there.

Lots of people may in fact ignore webassembly and continue to use
javascript. God forbid.

> It
> is not a fault on Lars end that he sees CEF as the best way to provide
> help. It is just the way things are.

Not necessarily the best, because of the large dependency..

If CEF (chromium embedded) offered a lite version that was only 2MB to
ship with an exe, or 500KB then it may in fact be a good solution for
help..

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On 2016-11-08 02:27, Lars via Lazarus wrote:
> Maybe not a huge issue with todays high speed internet connections, but it
> still is another dependency.

Not all internet connections are equal in all countries. In the UK,
8Mbps is currently the average speed. In South Africa the average speed
would be 256-512Kbps (yes, that's with a K). The highest "reliable"
speed (take that with a huge pinch of salt - as you never get close to
that speed in reality) in South Africa is 4Mbps. A stark contrast to the
UK's affordable and reliable 75-200Mbps. And apparently the UK is
lagging behind other countries too.

So an additional 10MB download can make a huge difference, depending
where in the world you live. Adding a 100-300MB for each application
download is simply absurd.

Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Help System with Chromium Embedded component

Free Pascal - Lazarus mailing list
In reply to this post by Free Pascal - Lazarus mailing list
On 2016-11-08 02:31, Lars via Lazarus wrote:
> One issue is firefox has a track record of not supporting embedded browser
> for very long without abandoning it, or changing the api to make it
> incompatible with old code... so who says this isn't also going to happen
> with chromium (CEF) at some point...

My point is, for a help system you really don't need the latest and
greatest HTML5 features. It's simply not needed. What you do want in
well formatted text, images and some basic rich text styles. Good help
is more about the contents and the speed of getting to that contents,
that about the presentation.  But some people are more obsessed about
presentation with rubbish or near zero content.

Regards,
  Graeme

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus-ide.org/listinfo/lazarus
123