cute70.jpg
CuteStudio Ltd.
madeonamac.png
Products

Glass
Wraith
Audio
Electronic
Graphics
Web Tools

CuteStudio Graphics

Cutestudio's graphics software goes beyond regular graphics software and touches on areas that .Net and Java claim to rule.

Run anywhere

There is a lot written about portable programs that can be written once and run anywhere, or at least there was a few years ago.
Pretty soon the 'run anywhere' became limited by speed and screen resolution and the programs are not truly portable. There was also another factor - the inability of these programs to migrate to different platforms while still running.

For instance a Java program is stuck to running in one place - it cannot 'hop' like an Inferno (Plan/9) program, so once we accept a program being 'bound' like that the 'run anywhere' property becomes somewhat less useful. Java however also has security in its favour, which is bound by a trust model - trusting the VM (virtual machine) can contain the program, but not by having to trust the app - which makes it useful in a practical way.
For something like Qualcomm's Brew the slowness is traded for a model that required review and certification.
Both models work will in their repective places but neither is particularly scalable.

The terminal model

The 'terminal' model is one simply that recognises the user may not always be sitting next to the computer he is using, and has been used for decades for many computing tasks. The most common terminal was the Dec VT100, a text only 25 line terminal.
Obviously today text doesn't cut it, but the concept is alive and well with the applications that use X windows and VNC. In fact the GAIL library uses X windows itself for Apple and Linux programs, so you can run that from anywhere.
X windows however is not a rich graphics environment and is non-persistent, once the link is broken the session ends and the program quits.
VNC is persistent but relies upon the updating of the picture the user sees, therefore it is rather less efficient than X windows. It does however allow mixing of Windows and Linux as the VNC protocol is constant.

Re-assignable I/O

The CuteStudio model is simple but flexible beyond appearances. Basically the GAIL graphics system and the OSL event system means that the internal GAIL context architecture can split the client and server sides down the middle, with a transmission medium to join them.

For instance with a single app on a local machine it behaves as one app. If you launch a special GAIL canvas somewhere however you can hook into the other side via the internet. This concept allows one to run a program on a machine in the office, and run it from a different location on another PC, PDA or similar device. Then if you want to switch to another place you just redirect the I/O channels to another machine, as required.


Graphics software for embedded, mobile and fixed devices

Our software stack consists of a number of modules that sit one on top of the other in a 'stack'. These then work together via well defined APIs to create the final application. This method allows our applications to run anywhere and indeed from anywhere, with a consistent look, feel and performance.

Stack structure

Stack structures can be shown from the software perspective (where the app sits on top) or the user perspective, both are shown below

Software view
LayerPurpose
AppThe application
WRAITHMenu system
GLASSWindow system
GAILThe drawing core server side
GAIL/OSLThe drawing and event layers client side
Client deviceThe machine(s) in use
User view
LayerPurpose
UserThe chap using the program
Client deviceThe machine(s) in use
GAIL/OSLThe drawing and event layers client side
GAILThe drawing core server side
GLASSEvent and drawing coordination, windowing
WRAITHMenu system
AppThe application

  • OSL: Operating System Layer. Contains a device abstraction layer and serious queue and FIFO management routines, coupled with an integrated error messaging system.
  • GAIL: Graphical Advanced Interface Library. A very neat, small and fast scalable graphics library. This has a very flexible API system that can be expanded and exported at will. The event system means it fits easily onto Linux X windows, Microsoft Windows or native or even network devices, which the option of allowing graphics, keyboard and mouse to be routed via TCP/IP. This means GAIL can provide graphical services on everything from local PCs, PDAs right through the internet to clients thousands of miles away.
  • Glass: Glass Windows System A complete windows system in less than 3000 lines of code. The worlds fastest and smallest windows system? Perhaps!
  • Wraith: Menu system with intuitive event driven principles, lean-cuisine menu control principles coupled with a simple and effective API that isolates the application from its interface. Generally driven from simple text files but the files can be hidden in the internal application at build time. Makes for very fast and consistent application development.


Copyright © 2007-2008, CuteStudio Ltd.
Page generated in 0.363s, Powered by Silk from Cutestudio