Digital Garden

Small Web

Marloes de Valk in A pluriverse of local worlds: a review of Computing within Limits related terminology and practice identified a wide discourse around radical computing practices focused around responding to the climate crisis, capitalist excess, and the creation of diverse hacker practices for low-powered, distributed, and computing. On Mastodon, they polled for a common term to cover this with "[[permacomputing]]" and "small tech" each splitting a third of the vote. Many of these solutions are also relevant to [[solarpunk]].

A literary review conducted my Marloes identified several other historic terms.

Liberatory technology
From Murray Bookchin. Described an environmentally-friendly radical technology that envisioned small communities integrated into the naturla environment and using small-scale technologies to achieve autonomy. This greatly resembles Solarpunk
Appropriate Technology
Technology designed for the environmental, ethical, cultural, social, political and economic aspects of the community it is inteded for. Emphasized robustness of software.
Convival Computing
Software that can be changed by the user, simple and moduler in order to avoid being opinionated about user needs. Sounds similar ot the Unix philosophy
Emphasizing achieving greater computation results from existing computing resources. Instead of counting on Moore's law to compoensate for software bloat, it encourages developers to write efficient software with the resources at hand.
Revisiting pre-industrial and industrial scale technologies and practices with an emphasis on low environmental impact. Rejects technological solutionism, planneed obsolecence and conusmer capitalism. Creating technologies that respect the limits of the planet by living better with less.

Aral Balkan, The Small Web within the Context of Engineering

The "Small Web" is a term coined by Aral Balkan in his essay What is the Small Web. It encompasses several behaviors that lay in contrast the existing "Big" Web.

The Big Web is:

The small web in contrast is:

  • Decentralized (single tenant servers)
  • For and built by people

Furthermore, Aral posits, but doesn't fully explore the architectural implications that Big Web trusts servers and distrusts clients; but small web distrusts servers and trusts clients.

Ben Hoyt in The Small Web is Beautiful further explores the concept of the Small Web by categorizing it as both the efforts of small teams and companies, but also small websites and architectural decisions. This gives you less moving parts and a faster application with reduced processing resources

A small architecture he argues rejects microservices for monoliths. Monolingual development, transactional requests (since there is only one database or even just a filesystem or SQLite), and limits orchestrational and networking problems.

A small architecture limits external dependencies in favor of standard libraries. Cares about the size of the application and resource requirements (CPU, memory, etc.), reduces the overall feature set, uses progressive enhancement on the front end and compiled languages on the back-end (Rust, Go).

The rise of the Big Web had more than economic factors in play. Jarred Sumner in his exploration of why the web turned out so serious and dour posits that creativity on the web has become somewhat of a privilige afforded to an elect few willing to put the efforts into mastering modern web development. Web 1.0 invited everyone to express their creativity. Allowing custom CSS for profile pages (MySpace), and free webhosts (Geocities, Tripod etc.). This door has closed largely due to security limitations. Allowing embedding of arbitrary HTML, CSS, and Javascript as inputs are difficult to properly sanitize. Stripping all of this out, and the creativity that it allowed, is a much more secure solution.

As creativity on the web declines, we see the rise of the bureaucrat under the heavy-handed tooling of Web 2.0 Social Media. The best internet is a community engaged in communication. In particular, a community of artists, David Schmudde says in On the Internet, We are Either Artists or Bureaucrats, who invites others to respond in kind. A bureaucrat, however, is a slave to the machine. They opine because it is required -- favorite, retweet, boost and register their engagement in the most formal and banal of processes. Shouting into the void is not the basis for a community.

A webpage is structured documents of HTML, styled with CSS and then endowed with behavior through Javascript. In his essay HTML is the Web, Pete Lambert lays out that it is fundamental to understand HTML in order to create well structured documents instead of a semantic soup of div and span elements.

Tinius Hugo, in On Being a Front-end Engineer, further expands by pointing out that good front-end engineering, born from an attention to detail, requires sound HTML, CSS, accessiblity, UX, and semantic correctness. In 2020, we overalue the skills associated with Javascript development. Native front-end engineering, he points out, has always worked with turing complete languages when developing UI. His thesis, is that it is not too much to expect the front-end web engineer to embrace both development with modern language tooling while attending to semantic document structure and accessiblity.

The App as a Home Cooked Meal

Robin Sloan relates a story of a commercial messaging app that his family used until the company running that application went under. Instead of searching for an alternative messaging service, he resolved to create a messenging application just ofr his family.

By building the application as a personal service from inception he was able to do away with many of the complications that a commercial application requires. It can forgo a complicated authentication service or user management. The infrastructure for the back end remained very simple since it only managed messages for four users.

He relates this exeperience to the difference between the production of a commerical kitchen and a home cooked meal. Furthermore, he relates that learning to cook does not imply that one intends upon becoming a chef; and learning to code should not imply that you intend upon becoming a software engineer.

Situated Software

Sloan cites an early work related to the home cooked app: Clay Shirky's Situated Software.

Situated software is software designed within a particular social situation or context. It contrasts with commercial web software designed for scalibity, generaltiy, and completeness. This is softweare designed loosely for small groups typically to meet their particular social needs versus development for a large set of generic users. It is much easier to develope an application for a small group than it is at scale.

The N-squared problem is only a problem if N is large, and in social situations, N is usually not large.

Such software is vastly cheaper and faster to build. It doesn't suffer scalability issues and will likely satisfy it's users much better. On the downside, if expanded beyond it's initial group, it may need to be rewritten using enterprise designs.

Issues of trust can be resolved out-of-band because the body of users is small, localized, and socially interconnected. Thisgreatly simplifies the feature set of situated software.

External References

  1. Balkan, Aral. What is the Small Web?. Aral Balkan. Retrieved 2021-03-03.
  2. Hoyt, Ben. The small web is beautiful. Ben Hoyt Technical Writing. Retrieved 2021-03-03.
  3. Sumner, Jarred. Why isn't the internet more fun and wird?. Jarred. Retrieved 2021-03-09.
  4. Schmudde, David. On the Internet, We Are Either Arists or Bureaucrats. Beyond the Frame. Retrieved 2021-03-09.
  5. Lambert, Pete. HTML is the Web. Pete Lambert. Retrieved 2021-03-09.
  6. Tunius, Hugo. On Being a Front-End Engineer. Hugo Tunius. Retrieved 2021-03-09.
  7. Nuthalapati, Joseph. [SmallTech]. Knowledgebase. Retrieved 2021-09-10.
  8. Sloan, Robin. An App can be a home-cooked meal. Retrieved 2022-04-01.
  9. Shirky, Clay. Situated Software. Clay Shirky's Writings About the Internet. Retrieved 2022-04-01.
  10. Valk, Marloes de. A pluriverse of local worlds: a review of Computing within Limits related terminology and practice. Computing within Limits. Retrieved 2022-04-02.

Linked References