title: Sakura HyperMedia Desktop
text: # Sakura HyperMedia Desktop
  
  Sakura HyperMedia Desktop is an open source desktop environment and knowledge navigator for Unix. It is written in scripting languages such as Python and Tcl, and therefore runs on a variety of platforms. The Sakura HyperMedia Desktop Project lists the main features as follows:
  
  * Hypermedia capabilities hard-coded into the interface
  * Knowledge Map for user interface elements for knowledge visualization
  * Speech synthesis and speech recognition user interfaces
  * Software agents
  * A Tcl console for reflexive user interface usage
  
  ## Subprojects
  
  The software from this project takes a few main forms:
  
  * Sakura-OS - a UNIX distribution containing all of the project software, based upon FreeBSD
  * Sakura - the main software suite, containing:
     * Aoi - the graphical shell (an application that serves as a main user interface to the suite, acts as the root window, and contains general purpose menus.)
     * LibSakura - the core software library necessary for almost all programs in the Sakura HyperMedia Desktop Project, containing the following sub-libraries:
        * Hyper - the hypermedia and networking library
        * Haiku - the error handling library
        * Futaba - the graphics and windowing library, containing widgets and themes.
        * Cognus - the remote network execution library (a Cognus server will run a Tcl program sends instructions to the client over a socket, which the client executes.
     * Sys - a package of command line interface applications, such as a program to look up definitions to words and a reminder utility. Also contains SPM (pronounced SPIM), which is the utility used to install packages in SakuraOS.
  * Pak - a library written in Python used for embedding hyperlinks into different types of digital media, such as video, audio, and text. (In fact, it doesn't matter what type of media it is, because the links are put into the container that holds the data, and they refer to individual slices, or contiguous groups of bytes. In this way, the datatype does not need to be known or Wiktionary:Grokked by the library.) It also has the capability to detect links in certain byte positions and return the data that was linked to.
  * Papyrus - a rudimentary graphical text editor that can output in its own format (UTF-8 with text formatting from the Tcl text widget), and thus be used as a simple word processor.
  * Fordice - an application termed by its developers as a knowledge manager (because it manages linked portions of files). A user interface for viewing the links between data, and for modifying said links and data. Uses a knowledge map as an interface, and implements search and link categorization using an algorithm similar to Google's PageRank algorithm.
  