# goal

The goal is to ship a (subjectively ergonomic) software for reading feeds.
*yarr* is not designed/intended to be used as an archiving tool.

The initial goal was to serve the author's needs:
a desktop application accessible via web browser
(because keeping 2 apps running, feed reader & browser, was annoying).

# interface

The UI aesthetics were inspired by the works of:

- Antoine Plu
  https://dribbble.com/antoineplu
- Pawel Kuna
  https://github.com/codecalm
  https://github.com/tabler/tabler
- Pawel Kadysz
  https://dribbble.com/pawelkadysz
- Palantir
  https://github.com/palantir/blueprint
- Yan Zhu
  https://github.com/picturepan2/spectre

The 3-column layout (feeds + items + read) & certain UI/navigation
elements were based on & largely inspired by `Reeder 3`, `NetNewsWire` & `Feedbin`.

Alternative layouts *might* be introduced in the future, but are not guaranteed.

Ideas for 1-column layout:
- stringer
  https://github.com/swanson/stringer
- headline
  https://github.com/zserge/headline
- miniflux
  https://miniflux.app/

Ideas for 2-column layout:
- feedly
  https://feedly.com/
- vienna (classic `|-` shaped layout)
  https://github.com/ViennaRSS/vienna-rss

# frontend

ES5 is preferred over ES6 until js transpilers (babeljs)
become a thing of the past.

The project won't introduce node/npm ecosystem,
3rd party js code is directly included into the project.

# backend

The reasons for Go:
- single binary compilation
- availability of 3rd party libraries
- the author's excuse to learn go

The reasons for SQLite:
- lack of need for db setup (huge plus for desktop)
- SQL is boring & practical
