Trianglix is an orthogonal multi-user secure self-hosting Triangle System written entirely from scratch! This is the realization of the vision for the Graphical User-Interface of my operating system, Sortix. This is the fruit of hard work since 2011, where the original design principles for Trianglix was proposed. The Trianglix Desktop Environment is literally a revolutionary new experience based on scientific data gathered from weekly testing sessions. It stands up against the awful Windows and OS X experiences that everyone are cloning and completely redefines the general-purpose computing environment with new superior concepts.
Implementation
Trianglix uses the paradigm that everything is a triangle, in stark contrast to the Unix principle that everything is a file. Each triangle has three edges (input, output and error) and represents a Turing-computable triangular function, expressed through well-formed Triscript written in Runes and senary digits. Triscript is a powerful and expressive language unlike anything ever developed before. It doesn't belong in the classic categories of programming languages such as imperative or functional, but is perhaps best described as angular flow-like esoteric programming. The system is implemented as a series of executable triangle servers wrapped around the all-powerful core Trinit root triangle, which is built upon the kernel angular virtual machine.
Security is provably correct and the system administrator sets forth the policy. The Trinit server (written in unverified Triscript) verifies its wrapping triangles to esnsure the angular descriptions uphold the triangle inequality and the various Pythagorean properties.
The system is self-documenting and display useful diagnostics targeted at the system administrator and average user. The current triangular state is constantly visualized as a revolving polygon of actions built from invisible triangles centered around the root triangle (keyboard), which also acts as a compatibility Unix command interpreter on filesystem triangles.
This 2014 prototype of Trianglix is constructed as a personality upon the Sortix operating system, in parallel to the traditional Unix experience that ships with Sortix. Indeed, the Unix environment is accessible and merges somewhat well with the Trianglix environment in the name of compatibility. This has allowed us to recycle the existing compiler infrastructure available on Sortix and the system is self-building.
Scientific Design
Trianglix has been systematically designed from the ground up as a novel user experience while disregarding all established and flawed existing knowledge on usability. The project originally began as a large number of prototype operating systems, each exploring user interface concepts completely orthogonal to existing experiences. These esoteric prototypes has polished and merged into what is now known as Trianglix, through the use of weekly testing sessions during all of 2013 and early 2014.
The current studies from late March 2014 shows that Trianglix delivers the intended user-experience. Remarkably, the metaphors and concepts employed tend to be so unfamiliar to the average computer user that they are stunned with indecision as they can apply none of their existing computer skills. Preliminary work has begun on a compatibility mode where the system trains unfamiliar users basic skills during the first few minutes. Research shows testers did not benefit from more than basic usage information. Indeed, users could not be told how Trianglix works, or even shown it, they had to try it for fifteen minutes themselves before discovering and becoming comfortable with the hidden features.
The system will eventually have a touch interface, but the work is incomplete, and instead navigation and computation is done using the keyboard. There is absolutely no mouse control because a mouse (with and even without scroll-wheel) cannot be accurately be represented as a triangle or angular unit without it being a leaky abstraction. The system is internationalized and starts in a linguistic compatibility mode until new users has had a chance to adapt to the new linguistic and alphabetical concepts that aid in triangular computation.
Entertainment
This prototype release ships with exciting games such as asteroids and quake. It even comes with C and C++ compilers and a full development environment. The more advanced users can benefit from doing their advanced computation through the special Trinit Core environment, where users has full and raw access into the Trianglix internals (not recommended for novice users as they can inadvertently cause massive system damage).
Future
This is still an early prototype, and while it is perfectly usable for office work or home entertainment, it is a very good representation of the design ideals that drive our ground-breaking user-interface work. Much of the effort has been spent on capturing the classic asteroids and quake games as triangular constructions, as opposed to being programs written in imperative C.
The Trinit Core is implemented as an emotional state engine and visualizes its stability as emotions expressed by the central root triangle object. Users can thus discern whether system administration is required by examining whether the root triangle seems happy or angry. The core also keeps track of user emotion by examining the user's typing speed, which allows it to determine the user's confidence. Advanced features are deliberately hidden from users that do not act with the sufficient confidence. This implements the What You Feel Is What You Get design principle. In the future we wish to enhance the experience and protect against false positives by deploying facial recognition from web-cam data.
This release only comes with a basic BGA video driver, which utilizes special virtual hardware only present in particular virtual machines such as Qemu and VirtualBox. You must use one of these two virtual machines (or compatible) to run this release of Trianglix. You will not be able to succeed in properly booting it on real hardware.
Installation and More Information
You can get more information about Trianglix at the official website:
http://sortix.org/trianglix/
You can download Sortix 0.8 for x86 or x86_64 from these locations:
https://cs.au.dk/~sortie/trianglix/rele ... 01/builds/
You can download the source code for this release (with or without included third party ports) at:
https://cs.au.dk/~sortie/trianglix/rele ... 01/source/
Be sure to consult the system requirements and the known problems above.
Thanks
This release was primarily developed by me, but we'd like to thank these people for their valuable contributions and testing of this release:
- Juhani Haverinen
- Shikhin Sethi
- SirCmpwn
- reavengrey
- zeitue
System Requirements
Trianglix has moderate system requirements.
- A virtual machine with BGA support, such as VirtualBox or Qemu.
- A 32-bit x86 (with SSE) or 64-bit x86_64 CPU.
- You likely need twice as much RAM as the size of the initrd, i.g. the size of the bootable disk. 1 GiB RAM is recommended.
- A harddisk or cdrom drive or support for booting from USB.
- A multiboot compliant bootloader if booting from harddisk.
There's a few important problems that you should know of:
- You must use Qemu or Virtualbox to access the required graphical interface.
- GRUB may simply lock up with no message if you don't provide enough memory.
- Quake save games doesn't work as printf doesn't support floating point numbers yet, you will be unable to load saved games.
- You cannot boot it in Qemu unless you pass -vga std and -m 1024 (or any suitable amount of memory, see above).
- Notice users may wish to go to |Root> |Administration> and |Disable Runes>.
You can easily run a bootable disk image with the qemu virtual machine. Depending on which CPU you wish to emulate, run something like:
unxz sortix_0.9dev_x86_64.iso.xz &&
qemu-system-x86_64 -enable-kvm -m 1024 -vga std -cdrom sortix_0.9dev_x86_64.iso
Or:
unxz sortix_0.9dev_i486.iso.xz &&
qemu-system-i386 -enable-kvm -m 1024 -vga std -cdrom sortix_0.9dev_i486.iso
License
Copyright(C) Jonas 'Sortie' Termansen and contributors 2011, 2012, 2013, 2014. Trianglix is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the COPYING-GPL and COPYING-LGPL files in the source code for more information.