Go to file
Öppen 1a3fc1083a full screen dialog... for add bookmark 2020-09-10 17:33:10 +01:00
.idea full screen dialog... for add bookmark 2020-09-10 17:33:10 +01:00
app full screen dialog... for add bookmark 2020-09-10 17:33:10 +01:00
gradle/wrapper ::: 2020-08-15 15:52:27 +01:00
.gitignore ::: 2020-08-15 15:52:27 +01:00
LICENSE add license 2020-09-03 20:51:53 +01:00
README.md readme notes 2020-09-06 21:23:51 +01:00
build.gradle bookmarks wip 2020-09-07 22:15:18 +01:00
gradle.properties ::: 2020-08-15 15:52:27 +01:00
gradlew ::: 2020-08-15 15:52:27 +01:00
gradlew.bat ::: 2020-08-15 15:52:27 +01:00
settings.gradle ::: 2020-08-15 15:52:27 +01:00

README.md

Två

A Gemini protocol browser for Android based OS (Två = Swedish: two)

Releases

See the project page on Öppenlab.net for latest download: oppenlab.net/pr/tva

Future Development

Bookmarks

Två needs bookmarks, requirements:

  • All fields fully editable
  • Title should be inferred from the bookmarked page (from first header line: #, ##, or ###) but user can override when saving
  • User should be able to specify and organise folders (1 levels only, keep it simple)
  • Allow reordering via simple 'move up' and 'move down' overflow options.
  • 'Move to' option to move to top-level or a folder

Certificates

//todo

Aggregation

See below for initial thoughts on aggregation. A simpler approach is to allow the user to follow any page, store a cache of the page, poll periodically, and display any change delta. This approach will work for both common Gemlog formats (links to separate pages, or journal single page logs):

State when user chooses to follow a page:

=> bar/ link to a gemlog page
=> foo/ my first post

3rd party updates their blog:

=> baz/ new post!
=> bar/ link to a gemlog page
=> foo/ my first post

Delta displayed in app feed:

=> baz/ new post!

Aggregation (Original Notes)

There's a lot of good 'Gemlog' content in Geminispace but no easy way to follow other users. Rather than use Atom/RSS which requires users to manually edit xml files, or use some other software it'd be good if a defacto standard emerged. Två will attempt to infer a Gemlog index from the contents of a page and display a 'follow' option to add the Gemlog to an aggregated in-app feed:

Inferred

  • Presence of various words in the first few lines of content AND:
  • A series of links that include a date (where a gemlog links to other pages) OR:
  • A series of dates in the page (more difficult to get right, but some microblogs are just a series of entries separated by dates)

Specification A

To guarantee an option to follow content: first header (any of the 3 sizes) in a page includes the words: gemlog, feed, log, blog, μlog AND links on adjacent lines that include dates in the link title.

Date formats:

  • yyyy-mm-dd ISO 8601
  • dd-mm-yyyy Reverse ISO 8601
  • Either of above with other common delimiters, eg. 01/05/2020

Example:

# My Gemlog

=> /more dd/mm/yyyy optional
=> /another dd/mm/yyyy
=> /first dd/mm/yyyy hello, World!

Questions/Notes

  • American 'freedom' date format mm/dd/yyyy should be rejected if possible (what were they thinking?)
  • Two digit years should be ignored: dd/mm/yy - no way to safely infer date
  • Other date formats? I've seen dd-MMM-yy, ddMMMyy, yyyy-mm-dd
  • Some gemlogs have no dates at all