2

Unplugged: Optimize KDE for Long-Term Offline Computing

 1 year ago
source link: https://phabricator.kde.org/T15624
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Tokens
"Dislike" token, awarded by niccolove.
Assigned To
None
Authored By
cignatov, Jun 22 2022

Description

Motivation

Computers are not really a communications medium. From how we talk about them today, that statement might come as a surprise. It is the letter-post, the telegraph, the radio, television, telephones, fax machines etc. which have connected people across the globe. What the computer has done, as a "logic amplifier" which has grown into "fantasy amplifier" and simulator, is virtualize these communications media as content, or applications. Most of our computers are connected to the internet all the time now, constantly communicating. But why should they be?

Nobody will deny that privacy and the security of personal information are a primary concern today. Of the billions of "smartphone" "owners" today, many have never had a primary computing device which was not connected to the internet. For as long as they've known, their data has been stored and processed remotely, in "the cloud." Yet, before the normalization of broadband in the 21st century, being offline was the standard for computer owners. The processing of one's personal information was performed locally, and its storage and backing-up was entirely the responsibility of the owner of such a "personal computer." I'd like to emphasize two things. First of all, this totally-localized computation was clearly the most supremely private and secure that one could ever hope to achieve. Second, being offline is precisely what made the PC personal.

I propose that the KDE community focus on achieving the goal of ensuring the full-ensemble of their software is adapted toward ease-of-use for an entire-offline personal computing ecosystem. I acknowledge immediately the vast majority of users may not ever desire or implement an entirely-offline personal computer ecosystem for themselves. However, the effects of optimizing toward that radical use-case will nevertheless benefit all KDE users in many ways. Let's begin by describing the benefits of such a focus for users who do desire a primarily-offline personal computer ecosystem, before moving on to the general benefits for the total community.

  1. The Benefits of Being Offline

One major psychological "selling point" for Free Software is the peace of mind offered by source-code availability and community auditing for security vulnerability. To use free software is, of course, to actually own one's computer. Nevertheless, computing technology is never perfect. Security vulnerabilities are found every day at every level of the computer stack from hardware and CPU microcode up to exploits of social engineering. Air-gaping—the disabling of both wired-Ethernet or wireless NICs—is the ideal setup for an "offline" machine. No amount or quality of assurances of security coming from a remote, 3rd party service cloud or internet service can approach the feeling of security and privacy which being offline—being air-gaped—engenders. And access to the feeling of refuge, security, or temporary isolation from the world which is sometimes necessary for feeling secure or private is had today only by foregoing computers and technology entirely—by leaving one's phone at home, or by hand-writing in paper notebooks, for instance. The desire to use a computer and feel secure all-too-often means familiarizing one's self with encryption, highly technical "hacker distros" affiliated with "dark nets" and other such subversive-feeling approaches. Why must it be this way? Why do we stigmatize the feeling of being safely disconnected?

Privacy, however, might not be the reason one wants to go entirely-offline. The commercialized internet and world of smartphone "apps" are in a marketing war for your attention. It's called the "attention economy," and no trick is too dirty to be tried by some of the biggest names. Our computers have become like casinos: designed to keep us distracted and lost, forever chasing after whatever is made to feel novel and exciting. Our limbic centers have been hijacked by algorithms which are optimized to keep us paying attention to whomever pays these companies the most money. Being offline offers a refuge from this world of distractions which doesn't rely on the exertion of self-control. The feeling of personal failure when one "gives in to temptation" and checks social media—along with all its negative psychological effects—can be entirely avoided simply by being offline. Even someone not worried about privacy or cloud-services can experience great increases in productivity by owning a single "always-offline" machine for focusing on their work. Take your "offline laptop" into your office, or out on your deck, and start typing without any hope of wandering off onto the internet to follow the lure of its many siren calls.

  1. Benefits for Everyone

For many people, the web-browser has become the computer, encumbering a great deal of unnecessary latency and performance issues for tasks which can be performed instantly when done locally. The answer is not a faster internet connection, or javascript engine! Consider the user who searches a for a simple dictionary definition. A dictionary database of a few megabytes can be polled instantly, compared to a DNS look-up and the loading of two-pages worth of 3rd party javascript which accompanies any dictionary consultation done through a web-based search engine.

While most KDE users will still continue to remain connected to the internet, their user experience will improve vastly when everything that can be done offline is done offline.

KDE Marble might include offline-routing which is easily exportable to a pocket device. A Plasma Mobile-optimized version might allow for the easy import of city-specific General Transit Feed Specification (GTFS) .zip files for offline bus-route/train timetables in one's pocket. Complex analysis of music preferences which are more-typically performed remotely on "scrobbled" track listings were once a feature of Amarok 1.4—bring that sort of local preference-learning back! Offer such local-analyses for other personal information which are today processed by commercial services, such as calorie counting or exercise stats or biometrics. Offer an offline-Wiki reader, offline dictionary. Create a workflow for one-click saving and backing-up of smartphone photos and screenshots, and a second-click to fill a USB key with photos to have professionally printed. Remember physical photo albums?

The focus on facilitating "entirely-offline" workflows will ensure that all KDE software allows, to the best of its ability, the user to take full-control and responsibility of their data. With that feeling of control comes the feeling of empowerment and ownership—given the choice between allowing a cloud-service to process your personal data and locally-executed software, many users would choose local! Optimizing for purely-local, offline workflows will ensure that those options are robust enough to compete with remote commercial services even for users who choose to remain always online.

And, of course, network and service outages are always possible. What better future-proofing can there be than always knowing your device is as useful as it can be when a remote server or the internet goes down?

Finally, the stewardship of an offline machine necessitates learning how your computer works. There are concerns today that many people whose first computer has been a modern smart-device are unfamiliar with basic filesystem metaphor. That's right... there are millions of people out there who have no experience saving, copying or moving files within computer folders! As more and more people come to know only commercial "apps," there must also be new users in the world learning to actually reach deeper down the stack, taking control of their machine. By making the personal computer as personal as possible, and optimizing KDE for personal ownership of one's computer, one is ensuring that users can always stay grounded within the culture of UI metaphors which keep them close to the metal, helping to keep computer literacy alive.

Yes, the internet age is here. Of course the internet is not going away. Nevertheless, offline computing must be made a first-class user experience. It must be maintained and normalized as a regular, unexceptional pro-social activity. The personal computer must be reclaimed from the category of mass-communication medium, as the universally-programmable device it is when standing alone.

The KDE community has the leverage to tip the balance toward privacy and ownership liberated from all the security concerns and psychological effects of ubiqitous, necessary internet connection.

In order to be useful, a modern computer must of course have many applications to facilitate productivity and living. Luckily, history provides us with the many of the targets necessary for creating a useful offline computer. In the '80s and '90s billions of dollars were poured into researching many various offline software designs which competed for market success. The simple observation of the winning strategies from that era will point point to the models to be emulated.

A thorough inventory ought to be made of every major, popular application which made personal computers useful and marketable in the '80s and '90s. All such applications for which KDE already offers an implementation should then be considered for testing/refactoring for usefulness in totally-offline usage.

For example:

Personal Information Management (PIM) was a major, popular application for offline computers. Consider the market success of the Palm corporation's pocket digital assistant, (PDA). It was a PIM solution containing a calendar, address book, todo list, and simple note application, directly syncable to a PC by wired connection. The owner's personal information never left that tightly-coupled, localized network of two devices (the PDA and the PC).

Therefore, consider KDE's implementation. While the KDE PIM suite today offers CalDAV server solutions to pair with cloud-service providers like NextCloud, where is the option for directly localized synchronization and storage? How has this—the simplest of all use-cases—been overlooked?? Why should users who forego commercial cloud services be burdened with maintaining and updating and paying for any private web service just to have their calendar on their desktop and in their pocket? The implementation of an Akonadi plugin for completely localized phone sync of PIM data is a logical first step. Accompanying phone-side software might be implemented through KDE Connect, or other standalone service.

So the option for an offline pocket computer, synced through wired serial connection (or other suitable protocol) should also eventually be implemented.

This process could be repeated indefinitely for every application.

One necessary consideration will be how to manage the "sneakernet" interface between online computers with the offline-ecosystem. Obviously software updates, transfer of files, etc. will still entail some connection to the internet down-the-line. So-called "offline package managers" already point to feasible implementation of such interfaces.

As well, granular file-sync between two or more networked machines—such as an offline desktop and an off-line laptop or Plasma Mobile device—must be implemented with all the conflict-resolution features of any cloud-sync software.

In the long-term, a suitable milestone would entail the matching of features of a typical always-offline desktop computer from the era of CD-ROM software. Given ample hard-drive capacities today, an offline computer ought to be able to do what any '90s PC could do with a library of the best-selling CD-ROM software. Encyclopedia software and other offline-reference material are an obvious hole in the offerings of the contemporary Free Software world, as is offline documentation and software tutorials. We make the apps "easy", but the content, being always-online, is slapdash and permanently incompete.

You had to do a book right before you printed it. Offline computing offers the same constructive challange.

Community

Obviously the KDE and Free Software communities can provide many suggestions and ideas for particular optimizations which are necessary to bring their lifestyle and workflows "offline."

Beyond that, however, there are many ways specific to "offline computing" which would require a community effort to achieve.

The major tasks for creating a useful, enjoyable, and productive offline desktop environment would be the curation of application data and content. If I want to write a book without being distracted, then I'd still like to have a dictionary, an encyclopedia, and perhaps many other books at my fingertips, complete with all the affordances of modern computer software like word-search, hyperlinks, multi-media content and the like. Hard-drives and bandwidth may be ample today, but they are not infinite, so much discretion and careful selection must be made. Offline data must be selected and developed with the professionalism and careful selection modelled after the popular CD-ROM based encyclopedias of the '90s, which were then limited to 750mb. The very work of selection and curation—whcih amounts to playing "what would I bring with me to a desert island?"—will help give direction and focus to any collection of media, be it Creative Commons stories, music, learning materials, or anything else.

Furthermore, offline computing requires the selection of particular protocols, formats, and standards which are optimized toward "sneakernet", or filesystem-based synchronization and storage, rather than network transmission. The synchronization of iCal and vCards wouldn't be done with CalDAV, for instance. Time-stamp comparisons and diffs would likely be used to raise conflicts for manual user resolution. Workflows and schedules for regular backups would need to be emphasized and performed diligently. When offline, printing to paper can become a more-regular practice for sharing information, or "emails" might be written to USB-key to then be sent-off at once with an "online" computer. All of these niche cases will require many different expertise and UX studies to consider, drawing on the skills and creativity of the whole community.

Retro-computer enthusiasts might likely find this proposal extremely enticing for potentially revitalizing their old gadgets. An always-offline ecosystem practically begs to be adapted to support retro hardware and software from the '80s and '90s! The primary reasons for abandoning old technology are the lack of modern software-support and software-vulnerabilities when connected to the internet. But with the normalization of offline-computing that could be achieved by this goal would foster the development of a functional, modern computing environment which would be safe for these insecure devices to participate in as fully-fledged members.

Risks and needs

In the long term, fragmentation of the KDE software eco-system across temporal scales is a likely inevitable outcome. At some point, offline computers will stop being updated. As development of KDE software continues, incompatibilities may arise between differently-arrested personal set-ups—especially across larger time-scales.

By sticking to long-established standards, focusing on implementations which work on the most basic, universal levels, such as file-based setups and human-readable files, the problems arrising from this fragmentation can be largely mitigated.

Champion

My name is Clinton, and I've been running GNU/Linux as my primary desktop since 2013, when I first installed a Debian derived distro called Mepis Linux. The next year, I spent an entire three weeks installing Gentoo from scratch, learning my computer inside-and-out in the process. In high-school, my life was organized on my Palm PDA, synchronized with Kontact through KPilot—digital life was never that good again. My current NextCloud setup messes up at least once every few months in some new, exciting way—that is far, far, far too frequent. I do not need hundreds of megabytes of Enterprise-level software operating on a remote server across the planet in order to have my calendar on my phone, and likely neither do you!

In the past few years, my interests have turned toward various post-modern theories in the humanities involving embodiment and media effects. Many theories discussed in Universities and academic journals today involve our nature as we turn into "cyborgs" or experience our identity or bodies as "porous," susceptible to "ruptures" and "flows." It is my own personal belief that the cultural reconstruction of a strict division of computers as offline-media away-and-apart from mass communications media would be extremely helpful for further exploration of these avenues of theoretical exploration. I've been independently researching the work of Canadian media theorist Marshall McLuhan, and his ideas of technology as "extensions" of our mind and body. I think that if my technology is actually an extension of my own being, I'd prefer that my as much of my body and mind as possible not be leaking out into the world much farther than the walls of my house. I may be weird for taking such considerations more seriously than most, but life on the internet has assured me that I'm certainly I'm not alone in indulging in strange notions from time to time!

And, most importantly: I have terrible impulse-control on my computer. When I write, I like to do so without distractions, but also without losing all the great ways computers make the writing process easier!

Oh, and this year I presented to the LibrePlanet about the intersection of "media ecology" with Free Software! Find that, and my writings about McLuhan and media ecology at ConcernedNetizen.com.

As champion of this goal, I will invest time and effort clarifying the vision and scope of "offline computing", taking part in discussions to arrange and prioritize milestones and levels of implementation. I will write publicity and produce any media which raises awareness. I am happy to do out-reach to any groups who might be interested in helping or taking part in the initiative, such as retro-computer enthusiasts, privacy enthusiasts, etc.

Interest

This section is intended for people other than the Champion to sign up and show support for the Goal.
If you are interested to actively join the effort and do the work, add your name below (this does not count as voting for the Goal):


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK