User Interface - noware/cyborg GitHub Wiki

Environment

Problems

  • ability to easily access source code
  • ability to easily execute programs
  • ability to easily access the shell
  • unified simple interface that works well on desktop and hand held device alike.

Current state of affairs

  • accessing application source code

Many hand held devices have poor interfaces with source code. The conventional way of creating applications for hand held devices is via software development kits running in Integrated development environments running on desktops.

  • executing programs

Hand held devices today have have refined this aspect of the interface. Simply clicking an icon will open the program. Though many hand helds only allow for one process to run at a time. This approach is inhibiting as it doesnt allow for an ecosystem of cooperating applications to function well. Each application is a single silo with all dependencies bundled together.

  • access to the shell

Handheld devices need to install 3rd party applications that will give access to shell commands. In many cases these devices need to be rooted.

  • unified interface

Handheld devices have a particular type of use. Large easily clickable buttons seem to be current way of doing things. This interface doesnt work well for desktop computers. Failures, for example the Unity interface, tried to unify the two interfaces. It didn’t work. Microsoft went a step further with Surface device by supplying two user interfaces. One, a desktop mode to be used with a keyboard, the other a hand held mode, with all the large buttons.

Possible solution

  • accessing application source code

a button for opening files in edit mode is displayed. Simply moving the cursor over the file name then clicking this button which is bound to button 1 on the mouse will open the file for editing in another column.

  • executing programs

a button for executing programs is displayed. So moving the cursor over the icon/work then pressing this button executes the program. This button is bound to mouse button 2. A column will be used to display the executed program.

  • access to the shell

simply typing a command in any place then button 2 clicking on it will executed the shell command.

  • unified interface

This unified interface emulates the Plan9 operating systems main IDE called ACME, written by Rob Pike. ACME is well designed program written in typical Unix style. The depth and scope it covers is quite astounding. It I add will be a fine interface for the advanced user to interact with the Cyborg platform. Please read [this](http://doc.cat-v.org/plan_9/4th_edition/papers/acme/)

⚠️ **GitHub.com Fallback** ⚠️