SLOGO: A Vector Graphic Application Prototyping Language

This study case describes a software framework designed to aid in the development of rapid-prototypes of vector graphic applications as part of a larger Web browser-based educational publishing environment. SLOGO is the intermediate mini-language between the graphic application and the SVG engine. SLOGO is a very simple, compact, and coherent subset of SVG, CSS and SMIL. SLOGO syntax is simple: an image is a collection of attributes and objects. In contrast with SVG, SLOGO state machine has global attributes; one attribute may affect more than one object. SLOGO attributes has only one syntactical rule ignoring if it is an SVG, CSS or SMIL attribute. SLOGO objects include SVG rectangles, circles, lines, paths, images and groups of objects. Server-side SLOGO parsers implemented in PHP and Ruby are simple, efficient and small. In contrast, each graphic application define its own application language, and its corresponding parser implementation its easier, less error-prone and faster to be developed from an application to SLOGO rather than directly from an application to SVG. The paper describes the SLOGO architecture: the font-end and back-end virtual machine, the SLOGO formal language definition, and exposes different graphic applications running atop of SLOGO server-side framework. We also describe how within an undergraduate programming course the students using diverse programming languages (PHP, Java, Ruby, C#, C++) developed an editor and interpreter for a SLOGO graphic application. With SLOGO graphic application front-ends, all webizens by example, could easily create a Gantt chart, Pareto chart, histogram, pie chart, spider chart, block diagram, flowchart, timeline, topic map, Rube-Goldberg machine animation, among other learning and teaching materials. Finally, we present diverse project conclusions from the diverse perspectives of designers, developers and community users of this framework in order to improve it.

Valid XHTML 1.1