ref: 1e241be92435f56f775e82faba0afb3ae5ca4fac
parent: 812d4b1bae980e7b3c996574eb8278b92956870f
author: sirjofri <sirjofri@sirjofri.de>
date: Sun Oct 29 11:32:35 EDT 2023
adds more text
--- a/touchuichal.txt
+++ b/touchuichal.txt
@@ -73,7 +73,12 @@
Since the scope of a paper is way too small, and the scope of designing and implementing user interfaces are way too big, this paper will focus on the design challenges only.
To do that properly we'll have to take a look at what Plan 9 users experience when interacting with the operating system.
-To gather more insight, a survey was done to ask users about their habits and how important various features of Plan 9 are. [Meyer]
+To gather more insight, a survey was done to ask users about their habits and how important various features of Plan 9 are². [Meyer]
+[[[ms
+.FS
+² The survey received around 20 responses, so it can't be counted as fully representative. However, it gives some insight on how users use the system.
+.FE
+]]]
But before we do that, we'll quickly remind ourselves about general challenges of touch interfaces.
@@ -83,25 +88,100 @@
## Well-known touch user interface challenges
-- Different screen sizes (phone, tablet, much bigger differences than on PC).
-- Touch challenges (thumb size, multi touch, ...).
-- Probably nothing new, refer to existing documents.
+Many challenges arise when designing touch user interfaces in general.
+Most of them are very well known today and big development houses like Apple and Google found good solutions to those problems.
+The first big challenge that comes to mind is a large variety of different devices.
+Big devices like tablets or multimedia screens as well as very small devices like smartphones or even smart watches provide touch hardware interfaces, which demands for a solution for varying screen sizes.
+
+If we compare the size of a smart watch screen with the size of a smartphone, we immediately see the big difference.
+While we can fit a page of text on the smartphone and still have enough space to add a few buttons, it is impossible to do that on a smart watch.
+If we move over to a tablet device, we can often fit a whole DIN A4 page on it, plus a few buttons for interaction.
+
+Speaking of buttons, this reminds us of the next common challenge: The button size.
+With a standard mouse and keyboard computer setup we can often live with very small buttons for interaction.
+Touch screens have no mouse for interaction, but the hand of the user.
+Therefore we must consider the size of their fingers, since that's what they use to interact, so we basically have two options:
+
+(1) We provide a stylus for smaller buttons.
+This method is well established, but often has other implications.
+For example, the user usually only has one stylus, which can also be lost easily.
+Many people use a stylus or any other form of pen to interact with their computer devices, but usually just on (at least) tablet sized devices.
+Smaller devices like touch screens or even smart watches usually aren't used with a stylus.
+
+(2) We make the buttons bigger.
+This is the most common method for handheld devices such as smartphones and smart watches.
+Due to familiarity, most tablet devices also come with bigger buttons (for example, compare the iPhone with the iPad).
+Even some laptops have some kind of touch screen mode with bigger buttons, like Windows 8.
+
+In addition to those challenges we also get more options when thinking about touch screen devices.
+Most notable, capacitive touch screens often allow multiple fingers to interact at the same time.
+This multitouch feature gives us many new possibilities to overcome the mentioned and also other challenges, but are also a challenge in itself:
+What would the user interface react to multitouch input?
+
+Most modern touch systems tried to master this challenge and they also established some `de facto' standard; most users learned to interact with that.
+It is almost common knowledge that you can zoom in and out of images using two fingers, for example.
+
+This paper should not discuss these and many more challenges and possible solutions.
+I believe many people already did that with varying focus on specific topics.
+
## Three pillars of user interfaces on Plan 9
+Plan 9 provides a few important aspects of user interfaces.
+Unlike its predecessor UNIX it tries to find a perfect mix of text interfaces, graphics as well as input devices like mice.
+
+This paper describes these three `pillars' in more detail.
+We'll also take a smaller look at the results from the survey. [Meyer]
+
### Text interface
-- shell interface
-- rio/window
+The text interface in this context means any type of text-based shell-like user interaction.
+In this regards, Plan 9 is very much like UNIX:
+It provides a text-based shell interpreter and lots of interaction with the system is supposed to be done using this shell.
+However, Plan 9 not only provides the shell itself, but also another graphical shell called `rio'.
+This `rectangle multiplexor' gives the user the option to open multiple shells inside windows, which provides some type of multi tasking for the user.
+
+[[[ms
+.\" Using rio windows to handle graphical applications will be discussed in the next pillar.
+]]]
+
+The survey shows that users consider the text interfaces as a very important part of Plan 9.
+The feature scored more than 4.5 out of 5 points.
+
### Graphics
-- devdraw
+As mentioned before, rio is a graphical application that also allows to run other graphical applications inside its windows.
+It is worth mentioning that Plan 9 ships with both rio and a bigger set of graphical applications.
+Plan 9 also comes with a few different libraries for developing graphical applications, though some of them are more often used than others.
+The survey shows that the GUI is important for Plan 9 systems, however there are users who only use the text-based input methods.
+The feature scored 3.3 out of 5 points.
+
### Mouse interaction
-- mouse chording
-- rio/window integration
+Standard computer systems usually come with a mouse and keyboard setup, which is often needed for interaction with graphical systems.
+Usage of the keyboard is often very simple if you forget about special keys and shortcuts.
+The mouse however often faces `philosophical input behavior'.
+While the `standard' behavior describes a single mouse button to behave as a simple click-pointer, mice often have more than one button and it's up to the system to decide how these extra buttons should be used.
+
+Plan 9 has a very unique style of using these extra buttons:
+Clicking with any button shows a different behavior depending on the context and the button used.
+While this is very common among different operating systems, modern operating systems mostly agreed on a single standard, which Plan 9 slightly deviates from, but that's not too different to discuss in more detail in this paper.
+
+What Plan 9 does completely different is mouse chording:
+By clicking multiple buttons at the same time the user can describe another input behavior the system uses to control other forms of interaction.
+While it first seems weird to do that, it quickly becomes a natural behavior.
+
+It is very important to mention that mouse chording is very consistent across the whole system.
+Using chording, the user can copy and paste text from text editors to browsers or to rio shell windows.
+
+Some applications extend this behavior even further.
+For example, in acme it is possible to execute commands using the middle mouse button.
+
+Mouse interaction on Plan 9 scored 2.9 out of 5 points in the survey.
+It is noticeable that some users clearly don't like to use the mouse or to chord.
+A few users pointed out that nowadays true three-button-mice are rare.
## Integrated system components