Skip to content

ceres707/D3sktop_3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

D3sktop-3, a computer system for intuitive interaction between processes

(N.B: I don't know if it's possible to make an industrial patent out of something like this; it turned out some patents do surprisingly exist because they have an real world impact, or real world resonance e.g. 1-Click from Amazon, so I don't know what qualifies for something like that. I don't want the idea to be stolen and so the specification is ALREADY registered in the electronic Copyright EU via blockchain Timestamp, and also in the US Copyright Office via an opened case)

prooft

Having said that... moving on!!!

Specification.

The system acts like an app, software or software services launcher; and distribute what is in execution (once launched) over two antagonistic points.

Each application or service that is launched is executed in one of each antagonistic in an alternating fashion, unless is marked as determined for one of the two beforehand. By being assigned to on side, each is recognized thru a pattern or priority based on hierarchy of patterns. Even can be pre-assigned to specific spaced inside each side, or slot.

Each endpoint, in this system is synonym of side (right, left), monitor, display (right, left), point (1 current; 2 target, selected antagonist).

At a given moment one program or service is selected as active and also, is active at a given moment one or zero for each side, so you can do contextual operations that are required to the current process and are executed towards the process of the other endpoint. The selected process on the other side is just the former.

The representation of this is a computational display environment with traditional windows in which there is an internal communications protocol that identifies each process and its capability, as well as the opposing (or previous) process and its capability. There is a handshaking or response to the request that indicates whether it is compatible and the result of the operation with the source data.

Thus, a protocol message contains an application UUID, which negotiates capabilities and operation compatibility; an operation, which defines it; and some data, which can be a list (of one or more), the contents of the standard clipboard of the system on which it is used, or abstract data (BLOB) with a structure that the recipient understands according to the compatibility table, or even a hierarchy. hierarchy: For example, the receiver cannot process a .sql file with inserts but can use it as plain text

Foundations on which this system improves effectiveness in prolonged human interactions.

Most operations are performed on two operands. This is true in assembly and traditional computational theory, where an accumulator is often used. The idea is to overview this accumulator, as a process, the one intuitively used just before during interaction with the computer; or it can also be seen as the second operand.

Most of the operations we perform on a computer are performed in pairs. In human-computer interaction, pairwise comparisons reduce long-term stress and also naturally serve as a means of corroboration (see diff tools, version controls, etc.), which further reduces stress.

In this system, there is a natural process of stacking (push) and unstacking (pop) for each side or endpoint, so that the mind works like a stack of functions, in which you complete the work by releasing each one from the top; or, in this case, from each position (or slot) already learned through repeated use.

In this sense (the previous one), it can be said that all possible tasks can be performed in pairs, alternating between sets of pairs.

If there are really two sides, why not use them thoughtfully?

Let's see a real example in assembler (https://github.com/octobanana/hexana/blob/master/src/main.asm#L280 under MIT License Copyright (c) 2019 Brett Robinson), it is very natural to see it working on operations between applications —the most common use in everyday office.

  ; copy the template line into the format buffer
  mov rdx, line_len
  mov rsi, line
  mov rdi, buf_fmt
  call memcpy

; write the offset count to the format buffer
offset:
  ; store pointer to the start of the format/offset buffer
  lea rbp, [buf_fmt + begin_offset]
  ; the index used to write into the buffer
  mov rbx, 7h
  ; the index used to shift the number by 4 each loop
  xor rcx, rcx

On the other hand, we love multitasking: We naturally combine levels of abstraction and concentration during long workdays. We place tasks with different levels of attention, validation, service, and enjoyment on one side, and differentiate them from the other. At the same time, we promote integration between these two levels. We always do this, but here we have the advantage of utilizing both sides differently.

Details and material aspects as a sample of implementation

01

  1. The figure shows the environment startup, with nothing launched. As we can see, it's quite clear. The much-desired symmetry is achieved, as good for both state of expectation and marketing; and the upper part is also completely freed, representing a natural horizon. These are some kind of advantages. The two side squares at the bottom mark a special slot and can be a bit clogging, so their appearance can also be postponed until an application is using them. The two lower bars are indicators, that you can swipe in from outside or left-click on them. The middle button is the menu and/or launcher. The two horizontal bars are the pointers for the current side, display, or point. In addition, there should be a small indicator of the current application on each side, which doesn't appear in the diagram for simplicity.

01b

The system respects all key configurations and only adds some navigation keys using the Super key, sometimes also called Meta.

The first side selected by default can be the left or the first depending on the typing direction.

A display can have both sides assigned, in which case it is a single-monitor configuration; or only one, in which case it is a dual-monitor configuration. Only the assigned sides appear on each monitor in the horizontal indicators. If there are two monitors, the other side does not appear, but an arrow pointing to the physical location of the other side may appear. This is configurable. There is no other type of configuration with more monitors in this system, since the complexity of such an approach would overwhelm all the advantages of being so intuitive.

The bars at the bottom and sides are visible but minimal so as not to hinder the traditional windows and their functionality.

02

  1. First launched application, with the corresponding side newly selected. This is because there is no predefined zone or slot for that application or service, or a running application pattern detected; either it corresponds to that side or that specific slot. In any case, the system starts with those closest to the home button since it is the most intuitive.

From a traditional perspective, the applications behave completely normally; the only thing is that in each run, one is marked as active on each side, or on a monitor (defined as one side).

The main thing is that they can be freely moved from side to side or slot, etc. This is very good for integration.

A program can be pinned to a slot, and then it will only occupy the free space. This way, a user can already have in mind the process areas background: music, etc., services, remote connections, emails and data entries... in a customized way, and now it can be intuitive from one session to the next. There is the option to save each session configuration so that everything appears exactly as wanted. In each recording, you can ask about the changes since the previous recording and whether you are happy with them or not; although it is not saved by default to increase capacity and freedom of movement in front of the computer without fear of losing what you have set as pinned.

trivial-pursuit-commodore-64

Trivial Pursuit for  Commodore-64, image captured by _mobygame_

This further opens the experience to a customizable desktop, with photos and diagrams in the central menu, which we'll discuss as an extension of the idea. Similarly, and following the same logic of natural spatial separation developed here, we can think of the central menu and recall a certain historical degree of skeuomorphism.

03

  1. Several applications or processes are running and side 2 is selected. The stack on side 2 is also open. There is another stack on the other side, containing slots to be filled when the others are used or when processes have been predestined there. Each slot in the stack has a number; 0 is the first or used slot, and the rest up are from 1 to n. The currently used slot is also visible on the stack (duplicated) for easy visual location.
  2. In addition to the lower side areas that can be moved with your finger or the primary mouse button, which are used to display the stacks, the image also shows the intermediate side areas or areas for changing sides or monitors, etc., which are not visible to improve ergonomics and are used with touch scrolling. There is a very convenient keyboard shortcut for this, Super + Tab, so no further mode of operation is needed here. As an extra feature, you can scroll further toward the already selected side, but taking the scrolling to a position deep within the screen... and the system configuration menu or screen would then exist there or any other convenient screen, but the movement for this must be greater than simply changing sides.
  3. At the top of the selected side is an area whose scrolling or secondary click activates the current application's sending or interaction context. The opposite position of the screen is left unused to avoid overloading the functionality and to make it as intuitive as possible.

Pressing on the secondary action or long-pressing the touchscreen on each app running in a slot shows whether it is pinned to the slot and whether it is pre-docked to a side. After this, a menu is displayed to do so, whether docking to a slot or a side, or even assigning a number to the stack position, which will be remembered for the duration of the session; or if saved, for subsequent sessions.

  • Super + Tab: Switches the side. Classic Alt + Tab can be the same.
  • Super + Enter: Changes the current slot to the selected slot (0) on the current side of the stack. Remember that changing the current slot changes the process on the screen. This is why it's necessary to mark (within a box) the selected slot on the stack to facilitate the equivalence with this keyboard shortcut...
  • Super + 0: Same as Super + Enter above. The numbers on the keyboard and calculator zone should work always, regardless of the current Num Lock option.
  • Super + n: Changes the selected item in the stack to 0, after which it selects 0.
  • Super + Up, Down: Same as above, but the selection is not made until the Super is released.
  • Super + Left, Right: Moves through the sockets in that direction and selects them.
  • Super + Shift + []: Pressing Shift does not select the socket, but rather moves the current one and works for all of the above. But to move to the other side it is better not to use Super + Shift + Tab since the ergonomics are not good in this, it is better Super + Start / End or synonym Super + Page Up / Page Down, where you can even omit Shift

There is also a button to swap filling half of the screen with each selected process, or the full screen, in the case of a single-monitor setup.

Appendix: Additional Ideas for the central menu and other considerations and achievements

The original D3stop-3 concept!!

D3sktop-3 because it's the third iteration in the desktop world. Also because there are three distinct regions: center and sides.

The internal menu

04

The activity launcher is a piece to be placed within the menu. Activities can be entire saved environments, as we've seen.

The menu screen has the following sizes and components:

  • 3x2: (which allows an icon and full text, better than the normally used 2x2, 4x4, …).

  • 2x2: An icon.

  • Large sizes like 3x4 with vertical info: weather, etc.

  • Customizable decorative photos, better from 3x3 and bigger: family photos, small tracking diagrams, small vision boards (it's your desktop!)

    What matters is the icon and text, not the border of the tile, which is hidden by the background.

The menu can have multiple tabs, listed side by side in the bottom, with panels that include the above elements and JSON-based Canvas specific panels (https://jsoncanvas.org/ JSON Canvas is open source under the MIT license).

Small elements: No tapping on small elements: minimized application icons, the time, calendar, etc. are accessed through the menu. Even notifications should appear within the menu.

Design Advantages and Achievements:

  • Stable pinned elements. The menu is always in the same position.

  • There's no need for icons without text, since this is not good practice.

  • It's completely symmetrical. Total symmetry. Peace (and a long-awaited marketing milestone).

  • It leverages one-handed task management.

  • It plays with spatial relevance to ease eye searching.

  • The wide buttons are suitable for touchscreens.

  • The borders are also suitable for touchscreens; you get good use of your monitor's edges and swipe gestures without overloading or overcomplicating it.

  • Easy access to scenarios: The activity history is intrinsically retrieved for what is considered relevant.

About

D3sktop-3, a computer system for intuitive interaction between processes

Resources

Stars

Watchers

Forks

Packages

No packages published