This document is in work, I'll finish it in several days. This version is publihed for discussions with people who helped me work on the project.
Create system that turns usual device (i.e. x86 notebook, ARM smartphone, MID etc) into the wearable system. This system can implements existing third-party desktop applications providing wearable interface (and other uncommon interfaces) between said application, other applications, and user.
Linux, MS Windows, MAC OS, Android
AdVegam kernel is the environment for running specialized plugins. Kernel loads user-defined set of plugins and gives them ability to exchange messages with other plugins and interact with hardware. That permits to build flexible system for the user's needs. More detailed this will be viewed in USE CASES section.
One plugins can provide some functionality itself, other plugins provides interface between the AdVegam system and third-party standalone applications (i.e. compilers, VoIP clients etc).
Third kind of plugins realize "operational space" - space in which user can choose and execute wanted operation. These plugins used for creation of screen menus, command line interfaces, audio-menus etc.
Fourth sort of plugins is transport plugins. It permits to send and/or receive data via various ways - from USB-joystick, wireless bluetooth keyboard, from/to bluetooth or TCP client.
AdVegam kernel is licensed under GPLv2. AdVegam framework is licensed under LGPLv2. Authors of the plugins for AdVegam System ARE NOT LIMITED by *GPL* licenses. Vendors can distribute plugins on which they have copyrights under ANY CONVENIENT LICENSING.
Below I briefly describe several AdVegam plugins that already exists or planned to be developed.
1. Commander Reads user input from Interface class plugin; executes user tasks interating with hardware, AdVegam kernel and other plugins; send output data to Interface class plugin. That permits to build various user interfaces for various AdVegam System hardware configuration - for the most convenient user-device interaction in most uncommon situations (uncommon for working on the computer - but very common for everyday life, i.e. use computer while running, hiking, swimming etc).
2. Interface class These plugins realise concrete interface models. I.e. hierarchical menu (like in automatized phone call centers - "Press 1 to enter Personal Settings, press 2 to shutdown the system, press # to return in previous menu")
3. SysInfo class Retrieves the actual information about the hardware on which AdVegam kernel is running - accumulator batteries state, memory and disk usage etc. Using SysInfo plugin developed for specified hardware platform or OS permits other plugins to get the info system by system-independent way.
4. Transport class Reads user input from, and send data (messages, files, streams) to selected channel - bluetooth (input from bluetooth keyboard, bluetooth mouse, wii-remote, client application running on communicator or smartphone etc.; send data to bluetooth devices - client application running on smartphone/communicator, bluetooth earphones etc.), read from usb-connected joystick, write to headphones, head-mounted display and so on.
1. Mobile workbench for software developer. Function: receive source files via Bluetooth or TCP-IP connection from remote device (smartphone, PDA etc), compile it, then send the result back. State: ready. Plugins:
Smartphone with text editor and client aplication
2. Audioplayer. Function: use notebook as the media player while walking. State: in development. Plugins:
USB-joystick and headphones or bluetooth earphones
3. VoIP Communicator. Function: use notebook for VoIP calls while walkink. State: in development. Plugins:
Mobile phone/PDA/smartphone/communicator with bluetooth and bluetooth hands-free
4. Personal safety system. Function: monitoring user's biological parameters (heart rate, blood pressure, temperature etc.). Store collected data in format suitable for personal doctor. Send messages to approved persons if biological parameters becomes un-normal. State: Development not started.
5. Video registrar. Function: store and broadcast video from head-mounted camera. State: Development not started.
6. Wearable GPS. Function: use head-mounted display for map output and geo-positionned augmented reality. State: Development not started.
Developed for Linux (Eeebuntu Base 2.0 - b ut easily ported to another Linux OS - i.e. Fedora 9) Kernel - ready to use, but not all functions are implemented. Commander plugin - ready, but it implements bluetooth transport and hierarchical menu interface - must be splitted to several plugins SysInfo - ready, but retrieves the only info: battery state. Framework - ready to use.