Subject: Re: appliance-based business models
From: Rich Morin <rdm@cfcl.com>
Date: Sat, 22 Oct 2005 10:00:14 -0700

At 4:59 PM -0400 10/19/05, Joe Corneli wrote:
>Please provide a bit more detail about the appliance, otherwise I'm not
>sure what you're talking about & can't give solid feedback.

Sorry for the terse description; I didn't want to get lost in the details.
I may also have been nervous about getting into disputes over my choices.
But, since you ask, here's a precis of what I have in mind:

*  For a number of reasons (breadth of applications, ease of maintenance
    and administration, OS interoperability, font/printer support, etc.),
    I'm planning to base the appliance on Mac OS X.  The "Mac mini" is a
    tidy way to package up a low-end system, but other configurations are,
    of course, reasonable to consider.

    From my perspective, OSX is basically a nicely configured and supported
    version of FreeBSD.  Although it has its own UI, it also supports X11.
    It also has all the usual scripting languages, a full set of C/++/...
    development tools, a copy of Apache, etc.  In short, most of the things
    my BSD-trained fingers tend to reach for.

    Although DarwinPorts and Fink aren't as well populated as the FreeBSD
    Ports collection, they have most of the common packages (and readily
    support the addition of others).  So, adding Unixish applications isn't
    likely to pose any real challenges.

*  As hinted in my initial note, the appliance performs three functions:

      extraction    - pulling data out of documents, databases, etc.
      analysis      - making explicit that which was implicit
      presentation  - document and web page generation, graphics, etc.

    The extraction and analysis functions are very analogous to the notions
    of Data Warehousing and Data Mining.  The idea is to get (snapshots of)
    the data into a single repository, in a consistent format, etc.  Then,
    using assorted tools (e.g., indexing, OLAP, statistics), ascertain the
    characteristics and relationships that are "implicit" in the data.

    Finally, the presentation function turns the collected and inferred data
    into charts, graphs, tables, text, etc.  Basically, a cross between web
    site creation, report generation, etc.

*  One problem with trying to build an appliance for this sort of work is
    that different customers may require very different tools.  For example,
    software development efforts can benefit from documentation generators.
    Other customers might need OLAP or data mining tools.  Some might need
    arcana such as computer algebra or volumetric data visualization tools.

    Nonetheless, certain types of tools should be generally useful, as:

      data mining and OLAP            - Mondrian, Weka
      databases                       - MySQL, PostgreSQL
      diagram generation              - Dia, Graphviz
      image processing                - GIMP, ImageMagick
      numerical analysis and display  - gnuplot, Octave, R
      typesetting                     - DocBook, Groff, TeX
      web site infrastructure         - Apache, Rails, Swish-e

    I have been assembling a table of candidate tools, for inclusion with a
    series of articles on "Model-based Documentation".  It is available at
    http://www.cfcl.com/rdm/mbd_series_drafts/MBD_Tool_Table.html.  Comments
    and suggestions are, as always, solicited...

I hope that this gives enough detail.  Please note that, as I haven't built
an instance of the appliance, many specifics are, erm, highly speculative.

-r
-- 
email: rdm@cfcl.com; phone: +1 650-873-7841
http://www.cfcl.com        - Canta Forda Computer Laboratory
http://www.cfcl.com/Meta   - The FreeBSD Browser, Meta Project, etc.