[status] Reports and HTML display

Bill Gribble grib@gnumatic.com
Mon, 4 Dec 2000 10:11:45 -0600


I have been working on a major overhaul of gnucash's handling of HTML.
My goal was to get the html-handling infrastructure to the point that
we could implement a complex main window comparable to the one in
Quicken 2000.  I'm getting close to sending in a patch so I thought 
I'd post a status report to get feedback.

If you haven't seen Q2000, the "front page" is pretty impressive.
It's essentially a configurable set of reports and graphs, laid out
using what looks like HTML tables.  On one page, you will see a list
of your accounts, a graph summarizing your income and expenses, a
hotlink to more detail on your expenses, a graph or table summarizing
your budget, etc.  You can access your individual accounts, help,
detail reports, etc by clicking on underlined text that is pretty much
exactly like an HTML hotlink.  There are several "pages" of this type,
broken down by a rough grouping of information type: you have the
"bank accounts" page, which has balance, budget, and income and
expense information, and the "investments" page, which has stock
performance charts, capital gains, etc.

Basically the deal is that you have a set of different kinds of
information elements that can be put together on a "page", and 
several "pages". 

The major interface elements Quicken uses are:
  - textual/tabular summaries of your financial information.  this is
    pretty much what gnucash's existing reports are. 
  - graphs (pie, bar, and line).
  - hot links to reports and graphs
  - hot links to your account registers
  - hot links to help, and a help system that has search and various 
    different top-level indexing schemes (How do I, Troubleshooting, 
    straight table-of-contents).

I think the ability to lay out text, graphics, and tables together
thematically makes for an interface that's not just information-rich
but also rather good-looking and configurable.  So basically we're
trying to copy that functionality without trying to really "clone"
Quicken.  I think we have some elements that are better than theirs
and some that are not as polished yet.

Status: We can embed live Guppi pie charts, bar charts, and scatter
plots in HTML by using the <object> tag; we have invented some special
URL types for hotlinks to registers, help, and reports; I have
restructured the Help window to have a topic-browsing interface (a
tree-structured topic index like Quicken's).  Help has no search yet.

Robert Graham Merkel is working on the ability to configure and lay
out a "pane set" in the main window and is almost done.  I have been
working on the changes to the HTML display widget to support live
graphs and hotlinks to register windows, help windows, and detail
reports.

So between the two of these, we can at least hypothetically create a
main window that has the same kind of structure as Quicken's.
However, the big problem right now is that we haven't written any
reports that generate graphs and the reports we do have aren't all
appropriate for embedding in a big window.  We need some small summary
reports that generate some small summary graphs, and some reports that
generate things like just a list of accounts with hotlinks to their
registers.  These will be easy to write but they have to be written.

Robert is working on a revamp of the report definition system which
should make it easier to define good-looking reports, and I'm working
on a library of report mathematical tools that will make them simpler,
faster to run and write, and more consistent.  Both of these projects
are still pretty much in the talking stage.

b.g.