/pollyanna

Community spaces, consent, privacy, transparency, online.

Primary LanguagePerlGNU Affero General Public License v3.0AGPL-3.0

 ,ggggggggggg,
dP"""88""""""Y8,      ,dPYb, ,dPYb,
Yb,  88      `8b      IP'`Yb IP'`Yb
 `"  88      ,8P      I8  8I I8  8I
     88aaaad8P"       I8  8' I8  8'
     88""""",ggggg,   I8 dP  I8 dP  gg     gg    ,gggg,gg   ,ggg,,ggg,    ,ggg,,ggg,     ,gggg,gg
     88    dP"  "Y8gggI8dP   I8dP   I8     8I   dP"  "Y8I  ,8" "8P" "8,  ,8" "8P" "8,   dP"  "Y8I
     88   i8'    ,8I  I8P    I8P    I8,   ,8I  i8'    ,8I  I8   8I   8I  I8   8I   8I  i8'    ,8I
     88  ,d8,   ,d8' ,d8b,_ ,d8b,_ ,d8b, ,d8I ,d8,   ,d8b,,dP   8I   Yb,,dP   8I   Yb,,d8,   ,d8b,
     88  P"Y8888P"   8P'"Y888P'"Y88P""Y88P"888P"Y8888P"`Y88P'   8I   `Y88P'   8I   `Y8P"Y8888P"`Y8
                                         ,d8I'
                                       ,dP'8I
                                      ,8"  8I
                                      I8   8I
                                      `8, ,8I
                                       `Y8P"

Pollyanna is a web framework for online social spaces that prioritizes consent and accessibility. It is designed to be respectful of user content, empowering to users, provable in its reliability, portable, customizable, durable, accessible, secure, and convenient to install.

Reasons to use Pollyanna:

  • Respectful: Pollyanna aims to display your content as close to your intention as possible. It will not clip it, remove line breaks, or alter spacing unless you ask.

  • Empowering: User accounts are private keys that remain in the user's possession and control. Identity can be used across multiple servers without "federation". Registration is not required, and registering does not require email. Pollyanna is designed to allow the user to know who is operating the site, and users can easily export their own contributions in comfortable formats.

  • Provable: Pollyanna offers provable reliability of information integrity with digital signatures, provable consensus and voting results, and provable privacy by allowing end users to control physical access to data.

  • Portable: All forum text is stored as text files, improving the ability to archive. Data is housed by the service provider without lock-down and is always exportable.

  • Customizable: Custom themes and appearance can be created using simple commands, similar to Myspace or Tumblr. Appearance, layout, and features can be customized by the user, and the user can choose to use a different server.

  • Durable/Decentralized: All data can be downloaded and replicated, in entirety or in segments. Pollyanna can be cloned and re-hosted, with portable user accounts usable across all copies.

  • Accessible: Pollyanna tries very hard to accommodate every known and testable client, and has been tested with hundreds of different browsers, devices, and configurations. It offers full support for text-mode, no-JS, screen-readers, mouse-free, etc. Registration can be made optional, if the operator wants to allow it. Pollyanna is easier to access via telnet or text-mode than most websites, and attempts universal accessibility for all anticipated scenarios.

  • Securable: Pollyanna can be operated as static HTML for a smaller attack surface. JavaScript is also an optional module and optional for clients.

  • Convenient Installation: Pollyanna uses the most stable technologies, and is compatible with most web servers. Optional PHP and SSI modules are available for more convenient usage, and an optional client-side JS module is available for easier client signatures.

  • Friendly, Compatible, Accessible: Pollyanna has a modular interface that shows only the basics for beginners, with more options available later. It has been tested thoroughly by many devices, configurations, platforms, browsers, and users. Pollyanna has also been tested for accessibility by vision, mobility, and connectivity impaired users, and with a variety of browsers and devices, including Mosaic, Netscape, IE, Opera, iOS, Android, Lynx, w3m, and more. Pollyanna supports all web servers which can write standard access.log format.

  • Art-Friendly: Text-art is accommodated with a monospace font and preserving whitespace layout. Pollyanna is also compatible with historic browsers to allow time-period-accurate installations.

  • Transparent: Everything posted to a Pollyanna community is viewable and verifiable. Voting logs are transparent, auditable, and trustable. Meta-moderation is possible by voting and commenting on votes, and so on. The best content (and friends) for each user can be found with vote comparison. Ballot stuffing and other abuse is detectable with data analysis. A validation chain prevents tampering with item posting timestamps. Items can be deleted by the operator, but a trace remains in the timestamp log.

  • Resilient: Pollyanna can avoid being a spam target by fine-tuning access, and avoid advertising by avoiding community over-growth. Its user-centric operation allows easy migration in case of instance changes.

Tested and supported browsers and clients: The list below is by no means extensive, and is growing often. In no particular order:

  • Safari 1.0+ (iOS, Mac, and Windows)
  • Netscape 2.0+
  • Internet Explorer 3.0+
  • Mozilla SeaMonkey 1.0+
  • Firefox 1.0+
  • Lynx
  • Links (GUI and console)
  • w3m
  • qutebrowser
  • Luakit
  • LibreWolf
  • Pale Moon
  • Waterfox
  • Waterfox Classic
  • Microsoft Edge
  • Dillo
  • Liferea
  • OffByOne
  • Brave
  • Falkon
  • Camino
  • Beacon
  • Vivaldi
  • Opera 2.0+
  • Samsung Internet (Android)
  • Samsung TV (name unknown)
  • Kindle
  • Google Translate (requires skilled operator for some features)
  • Tor Browser
  • Chromium
  • wget
  • curl
  • NCSA Mosaic (requires accommodations)
  • QuiteRSS

Example instances: