git.s-ol.nu mmm / eb599a0
more write- and referencing s-ol 1 year, 11 months ago
13 changed file(s) with 146 addition(s) and 102 deletion(s). Raw diff Collapse all Expand all
00 abstract
11 ========
22
3 [tbd]
3 <div class="well well-warning">[section under construction]</div>
00 conclusion
11 ==========
22
3 [tbd]
3 <div class="well well-warning">[section under construction]</div>
00 motivation
11 ==========
22
3 The majority of users interacts with modern computing systems in the form of smartphones, laptops or desktop PCs,
3 application-centric design
4 --------------------------
5
6 The majority of users interact with modern computing systems in the form of smartphones, laptops or desktop PCs,
47 using the mainstream operating systems Apple iOS and Mac OS X, Microsoft Windows or Android.
58
6 All of these operating systems share the concept of *Applications* (or *Apps*) as one of the core pieces of their interaction model.
7 Functionality and capabilities of the digital devices are bundled in, marketed, sold and distributed as *Applications*.
9 All of these operating systems share the concept of *Applications* (or *Apps*) as one of the core pieces of their
10 interaction model. Functionality and capabilities of the digital devices are bundled in, marketed, sold and distributed
11 as applications.
812
9 In addition, a lot of functionality is nowadays delivered in the form of *Web Apps*, which are used inside a *Browser* (which is an *Application* itself).
10 *Web Apps* often offer similar functionality to other *Applications*, but are subject to some limitations:
13 In addition, a lot of functionality is nowadays delivered in the form of *Web Apps* or *Cloud Services*, which share the
14 limitations of native applications in addition to more specific issues that will be discussed in a separate section
15 below.
16
17 This focus on applications as the primary unit of systems can be seen as the root cause of multiple problems.
18
19 For one, since applications are the products companies produce, and software represents a market of users,
20 developers compete on features integrated into their applications. To stay relevant, monlithic software or software
21 suites tend to accrete features rather then modularise and delegate to other software<mmm-link
22 path="../references/appliances"></mmm-link>. This makes many software packages more complex and unintuitive than they
23 need to be, and also cripples interoperability between applications and data formats.
24
25 Because applications are incentivised to keep customers, they make use of network effects to keep customers locked-in.
26 This often means re-implementing services and functionality that is already available to users,
27 and integrating it directly in other applications or as a new product by the same organisation.
28 While this strategy helps big software companies retain customers, it harms the users, who have to navigate a complex
29 landscape of multiple incompatible, overlapping and competing software ecosystems.
30 Data of the same kind, a rich-text document for example, can be shared easily within the software systems of a certain
31 manufacturer, and with other users of the same, but sharing with users of a competing system, even if it has almost the
32 exact same capabilities, can often be problematic.
33
34 Another issue is that due to the technical challenges of building tools in this system, applications are designed and
35 developed by experts in application development, rather than experts in the domain of the tool. While developers may
36 solicit feedback, advice and ideas from domain experts, communication is a barrier. Additionally, domain experts are
37 generally unfamiliar with the technical possibilities, and may therefore not be able to express feedback that would lead
38 to more significant advances.
39 <div class="sidenote">Note that 'creative' here does not only mean 'artistic': this applies to any field, and limits
40 the ability of domain experts to push the boundaries of practice by using technology in innovative ways.</div>
41 As a result, creative use of computer technology is limited to programmers, since applications constrain their users to
42 the paths and abilities that the developers anticipated and deemed useful.
43
44 The application-centric computing metaphor treats applications as black boxes, and provides no means to understand,
45 customize or modify the behaviour of apps, intentionally obscuring the inner-workings of applications and
46 completely cutting users off from this type of ownership over their technology. While the trend seems to be to further
47 hide the way desktop operating systems work <mmm-link path="../references/osx-files"></mmm-link>, mobile systems like
48 Apple's *iOS* already started out as such so-called *walled gardens*.
49
50 cloud computing
51 ---------------
52
53 *Web Apps* often offer similar functionality to other *Applications*, but are subject to additional limitations:
1154 In most cases, they are only accessible or functional in the presence of a stable internet connection,
1255 and they have very limited access to the resources of the physical computer they are running on.
1356 For example, they usually cannot interact directly with the file system, hardware peripherals or other applications,
14 other than through a standardized set of interactions (e.g. selecting a file via a visual menu, capturing audio and video from a webcam, opening another website).
57 other than through a standardized set of interactions (e.g. selecting a file via a visual menu, capturing audio and
58 video from a webcam, opening another website).
1559
16 On the two Desktop Operating Systems (Mac OS X and Windows), file management and the concepts of *Documents* are still central
17 elements of interactions with the system. The two prevalent smartphone systems deemphasize this concept by only allowing access to the
18 data actually stored on the device through an app itself.
60 Cloud software, as well as subscription-model software with online-verification mechanisms, are additionally subject
61 to license changes, updates modifiying, restricting or simply removing past functionality etc. Additionally, many cloud
62 software solutions and ecosystems store the users' data in the cloud, often across national borders, where legal and
63 privacy concerns are intransparently handled by the companies. If a company, for any reason, is unable or unwanting to
64 continue servicing a customer, the users data may be irrecoverably lost (or access prevented). This can have serious
65 consequences<mmm-link path="../references/adobe"></mmm-link>, especially for professional users, for whom an inability
66 to access their tools or their cloud-stored data can pose an existential threat.
1967
20 This focus on *Applications* as the primary unit of systems can be seen as the root cause of multiple problems:
21 Because applications are the products companies produce, and software represents a market of users,
22 developers compete on features integrated into their applications.
68 inert data (formats)
69 --------------------
2370
24 However this lack of control over data access is not the only problem the application-centric approach induces:
25 A consequence of this is that interoperability between applications and data formats is rare.
26 To stay relevant, monlithic software or software suites are designed to
27 As a result applications tend to accrete features rather then modularise and delegate to other software [P Chiusano].
28 Because applications are incentivised to keep customers, they make use of network effects to keep customers locked-in.
29 This often means re-implementing services and functinality that is already available
30 and integrating it directly in other applications produced by the same organisation.
71 Cragg coins the term "inert data"<mmm-link path="../references/super-powers"></mmm-link> for the data created, and
72 left behind, by apps and applications in the computing model that is currently prevalent: Most data today is either
73 intrinsically linked to one specific application, that controls and limits access to the actual information, or even
74 worse, stored in the cloud where users have no direct access at all and depend soley on online tools that require a
75 stable network connection and a modern browser, and that could be modified, removed or otherwise negatively impacted
76 at any moment.
3177
32 This leads to massively complex file formats,
33 such as for example the .docx format commonly used for storing mostly
34 textual data enriched with images and videos on occasion.
35 The docx format is in fact an archive that can contain many virtual files internally,
36 such as the images and videos referenced before.
37 However this is completely unknown to the operating system,
38 and so users are unable to access the contents in this way.
39 As a result, editing an image contained in a word document is far from a trivial task:
40 first the document has to be opened in a word processing application,
41 then the image has to be exported from it and saved in its own, temporary file.
42 This file can then be edited and saved back to disk.
43 Once updated, the image may be reimported into the .docx document.
44 If the word-processing application supports this,
45 the old image may be replaced directly, otherwise the user may have to remove the old image,
46 insert the new one and carefully ensure that the positioning in the document remains intact.
78 Aside from being inaccesible to users, the resulting complex proprietary formats are also opaque and useless to other
79 applications and the operating system, which often is a huge missed opportunity:
80 The .docx format for example, commonly used for storing mostly textual data enriched with images and on occasion videos,
81 is in fact a type of archive that can contain many virtual files internally, such as the various media files contained
82 within. However this is completely unknown to the user and operating system, and so users are unable to access the
83 contents in this way. As a result, editing an image contained in a word document is far from a trivial task: first the
84 document has to be opened in a word processing application, then the image has to be exported from it and saved in its
85 own, temporary file. This file can then be edited and saved back to disk. Once updated, the image may be reimported
86 into the .docx document. If the word-processing application supports this, the old image may be replaced directly,
87 otherwise the user may have to remove the old image, insert the new one and carefully ensure that the positioning in
88 the document remains intact.
4789
48 Let us take as an example the simple task of collecting and arranging a mixed collection of images, videos
49 and texts in order to brainstorm. To create an assemblage of pictures and text, many might be tempted to open an
50 Application like Microsoft Word or Adobe Photoshop and create a new document there. Both photoshop files and
51 word documents are capable of containing texts and images, but when the files are saved, direct access to the
52 contained data is lost. It is for example a non-trivial and unenjoyable task to edit an image file contained
53 in a word document in another application and have the changes apply to the document. In the same way,
54 text contained in a photoshop document cannot be edited in a text editor of your choice.
90 disjointed filesystems
91 ----------------------
5592
93 The filesystems and file models used on modern computing devices generally operate on the assumption that every
94 individual file stands for itself. Grouping of files in folders is allowed as a convenience for users, but most
95 applications only ever concern themselves with a single file at a time, independent of the context the file is stored in
96 in the filesystem.
5697
57 https://www.theverge.com/2019/10/7/20904030/adobe-venezuela-photoshop-behance-us-sanctions
98 Data rarely really fits this metaphora of individual files very well, and even when it does, it is rarely exposed to
99 the user that way: The 'Contacts' app on a mobile phone for example does not store each contacts's information in a
100 separate 'file' (as the metaphora may suggest initially), but rather keeps all information in a single database file,
101 which is hidden away from the user. Consequently, access to the information contained in the database is only enabled
102 through the contacts application's graphical interface, and not through other applications that generically operate on
103 files.
58104
105 Another example illustrates how a more powerful file (organisation) system could render such formats and applications
106 obsolete: Given the simple task of collecting and arranging a mixed collection of images, videos and texts in order to
107 brainstorm, many might be tempted to open an application like *Microsoft Word* or *Adobe Photoshop* and create a new
108 document there. Both *Photoshop* files and *Word* documents are capable of containing texts and images, but when such
109 content is copied into them from external sources, such as other files on the same computer, or quotes and links from
110 the internet, these relationships are irrevocably lost. As illustrated above, additionally, it becomes a lot harder to
111 edit the content once it is aggregated as well. To choose an application for this task is a trade-off, because in
112 applications primarily designed for word processing, arranging content visually is harder and image editing and video
113 embedding options are limited, while tools better suited to these tasks lack nuance when working with text.
59114
60 The application-centric computing paradigm common today is harmful to users,
61 because it leaves behind "inert" data, as D. Cragg calls it:
115 Rather than face this dilemma, a more sensible system could leave the task of positioning and aggregating content of
116 different types to one software component, while multiple different software components can be responsible for editing
117 the individual pieces of content, so that the most appropriate one can be chosen for each element.
62118
63 [Cragg 2016]
64 D. Cragg coins the term "inert data" for the data created, and left behind, by apps and applications in the computing model that is currently prevalent:
65 Most data today is either intrinsically linked to one specific application, that controls and limits access to the actual information,
66 or even worse, stored in the cloud where users have no direct access at all and depend soley on online tools that require a stable network connection
67 and a modern browser, and that could be modified, removed or otherwise negatively impacted at any moment.
68
69 This issue is worsened by the fact that the a lot of software we use today is deployed through the cloud computing and SaaS paradigms,
70 which are far less reliable than earlier means of distributing software:
71 Software that runs in the cloud is subject to outages due to network problems,
72 pricing or availability changes etc. at the whim of the company providing it, as well as ISPs involved in the distribution.
73 Cloud software, as well as subscription-model software with online-verification mechanisms are additionally subject
74 to license changes, updates modifiying, restricting or simply removing past functionality etc.
75 Additionally, many cloud software solutions and ecosystems store the users' data in the cloud,
76 where they are subject to foreign laws and privacy concerns are intransparently handled by the companies.
77 Should the company, for any reason, be unable or unwanting to continue servicing a customer,
78 the data may be irrecoverably lost (or access prevented).
79
80 Data rarely really fits the metaphora of files very well,
81 and even when it does it is rarely exposed to the user that way:
82 The 'Contacts' app on a mobile phone or laptop for example does not store each contacts's information
83 in a separate 'file' (as the metaphora may have initially suggested),
84 but rather keeps this database hidden away from the user.
85 Consequently, access to the information contained in the database is only enabled through the contacts applications GUI.
86
87 <div class="sidenote">Note that 'creative' here does not only mean 'artistic': this applies to any field, and it limits the
88 ability of domain experts to push the boundaries of practice by using technology in innovative ways.</div>
89 Creative use of computer technology is limited to programmers, since applications constrain their users to the
90 paths and abilities that the developers anticipated and deemed useful.
91
92 --
93
119 <!--
94120 Chiusano blames these issues on the metaphor of the *machine*, and likens apps and applications to appliances.
95121 According to him, what should really be provided are *tools*:
96122 composable pieces of software that naturally lend themselves to, or outrightly call for,
97123 integration into the users' other systems and customization,
98124 rather than lure into the walled-gardens of corporate ecosystems using network-effects.
99
100 Data is inert [Cragg 2016]
101
102 Key points:
103 - data ownership
104 data needs to be freely accessible (without depending on a 3rd party) and unconditionally accessible
105 - data compatibility
106 data needs to be usable outside the context of it's past use (in the worst case)
107 - functionality
108 user needs many, complex needs met
109
110
111 Today, computer users are losing more and more control over their data. Between web and cloud
112 applications holding customer data hostage for providing the services, unappealing and limited mobile file
113 browsing experiences and the non-interoperable, proprietary file formats holding on to their own data has
114 become infeasible for many users. mmmfs is an attempt at rethinking file-systems and the computer user
115 experience to give control back to and empower users.
116
117 mmmfs tries to provide a filesystem that is powerful enough to let you use it as your canvas for thinking,
118 and working at the computer. mmmfs is made for more than just storing information. Files in mmmfs can interact
119 and morph to create complex behaviours.
125 -->
0 appliances
1 osx-files
2 ios-files
3 super-powers
4 adobe
05 xerox-star
16 memex
27 hypercard
0 @web{acm-dl,
0 @online{acm-dl,
11 title = {ACM Digital Library},
22 url = {https://dl.acm.org},
33 }
0 @online{adobe,
1 title = {Adobe is cutting off users in Venezuela due to US sanctions},
2 url = {https://www.theverge.com/2019/10/7/20904030/adobe-venezuela-photoshop-behance-us-sanctions},
3 publisher = {The Verge},
4 year = {2019},
5 visited = {2019-12-18},
6 }
0 @online{appliances,
1 title = {The future of software, the end of apps, and why UX designers should care about type theory},
2 url = {http://pchiusano.github.io/2013-05-22/future-of-software.html},
3 author = {Chiusano, Paul},
4 year = {2013},
5 visited = {2019-12-18},
6 }
0 @web{inkandswitch,
0 @online{inkandswitch,
11 title = {End-user Programming},
22 url = {https://inkandswitch.com/end-user-programming.html},
33 publisher = {Ink & Switch},
0 @online{ios:files,
1 title = {Use the Files app on your iPhone, iPad, or iPod touch},
2 url = {https://support.apple.com/en-us/HT206481},
3 publisher = {Apple},
4 visited = {2019-12-27},
5 }
0 @web{linux:exec,
0 @online{linux:exec,
11 title = {How does Linux execute a file?},
22 url = {https://stackoverflow.com/a/23295724/1598293},
33 publisher = {stackoverflow.com},
0 @online{osx:files,
1 title = {Where is "Show Package Contents"},
2 url = {https://discussions.apple.com/thread/6740790},
3 publisher = {Apple Communities},
4 visited = {2019-12-27},
5 }
0 @online{super:powers,
1 title = {Super-powers, but not yours},
2 url = {http://object.network/manifesto-negative.html},
3 author = {Cragg, Duncan},
4 year = {2016},
5 visited = {2019-12-18},
6 }
0 @web{wikipedia,
0 @online{wikipedia,
11 title = {Hyperlink - Wikis},
22 url = {https://en.wikipedia.org/wiki/Hyperlink#Wikis},
33 publisher = {wikipedia.org},