Mastodon normalizer: Difference between revisions

Adamw (talk | contribs)
Undo revision 170 by Adamw (talk): nah
Tag: Undo
Adamw (talk | contribs)
 
Line 4: Line 4:


== Experimenting with normalization ==
== Experimenting with normalization ==
[[File:Preferences for normalizer v0.2.7.png|thumb|Preferences pane]]When @futurebird@sauropods.win mentioned the fun idea of a [https://sauropods.win/@futurebird/109971101661561998 customizable timeline] allowing us to check in on our friends' latest posts, I was excited to see how it might be applied.  I'm happy with the results so far!  You can login to the [https://normalizer.webflux.us/ demo service] using your own Mastodon account and instance.
[[File:Preferences for normalizer v0.2.7.png|thumb|Preferences pane]]When @futurebird@sauropods.win mentioned the fun idea of a [https://sauropods.win/@futurebird/109971101661561998 customizable timeline] allowing us to check in on our friends' latest posts, I was excited to see how it might be applied.  I'm happy with the results so far!  You can login to the [https://normalizer.webflux.us/ demo service] using your own Mastodon account and instance, or try out the [https://normalizer.webflux.us/help guided tour] as a guest.


Preferences currently look this this.  Expect to see many more options here, since customizability is the main point.<div style="clear: both;"></div>
Preferences currently look this this.<div style="clear: both;"></div>
[[File:Equal height.png|right|thumb|Equal height for each author]]
[[File:Equal height.png|right|thumb|Equal height for each author]]


The default view is called the "orthogonal" view, which gives each author '''equal vertical space''' in your timeline regardless of how many posts they write.
The default view is called the "orthogonal" view, which gives each author '''equal vertical space''' in your timeline regardless of how many posts they write or how big their attachments.


A more extreme version of this view is the "Check in" mode which shows exactly one recent post from each account you've subscribed to, in other words normalizing both the vertical and horizontal space to a single square for each person.
A more extreme version of this view is the "Check in" mode which shows only one post from each account.  This can be seen as a normalization of both vertical and horizontal space.


<div style="clear: both;"></div>
<div style="clear: both;"></div>


[[File:Normalizer with focused row.png|thumb|Focused and expanded row]]
[[File:Normalizer with focused row.png|thumb|Focused and expanded row]]
Since the messages might be any length, it's necessary to make them expandableFocused (clicked) rows are expanded, and you can expand every row at once using by using the "natural" row height preference.
Clicking on a row of posts will expand and focusTo expand all posts by default, choose the "natural" row height preference.


<div style="clear: both;"></div>
<div style="clear: both;"></div>
Line 22: Line 22:
== Time dimension ==
== Time dimension ==
[[File:Time axis.png|right|thumb|Time axis]]
[[File:Time axis.png|right|thumb|Time axis]]
It's possible to reintroduce time, but at 90 degrees running left to right.  We're showing all the same cards as a regular timeline view, but rearranged on a grid.
If we reintroduce the timeline but with its axis tipped by 90 degrees, we can list all of each author's posts as an isolated strip running from left to right.
<div style="clear: both;"></div>
<div style="clear: both;"></div>


Line 28: Line 28:
So far, this software is the labor of one unpaid person acting on friendly suggestions.  Contributions, suggestions or other resources are welcome!
So far, this software is the labor of one unpaid person acting on friendly suggestions.  Contributions, suggestions or other resources are welcome!


Its architecture is a server-side, Elixir [https://hexdocs.pm/phoenix_live_view/welcome.html Phoenix Live View] application authenticated temporarily to act as the user.  Posts and tokens are kept in server memory for each session, then forgotten.
Its architecture is a server-side, Elixir [https://hexdocs.pm/phoenix_live_view/welcome.html Phoenix Live View] application which updates the user's browser by sending HTML over a websocket.  It's authenticated temporarily to act as the user.  Posts and tokens are kept in server memory and kept as state for the session, then forgotten on close.


In the long term, the algorithm should be fully flexible and visually-programmable, and there would be a library for sharing your algorithms with others, by local code, coprocess, or remotely-hosted.
In the long term, user algorithms will ideally be visually- and script-programmable, and shareable.


== Resources ==
== Resources ==