Saturday, April 29, 2017

iOS App: Oyakodon — A Mastodon Client for Swiping Through Multiple Instances

Mastodon was making the rounds, so I rode the wave and built a client app.
The name was also pure wordplay impulse: "Oyakodon".


What is Mastodon?

In short: Twitter-like servers (instances) popping up all over the place.
Each instance is independent with its own user accounts.

That said, you can follow users on other instances, and posts from external instances that someone you follow interacts with can appear in your timeline — so there's a loose connection between them.

Unlike Twitter or Facebook, there's no single company in control, and a single server going down doesn't take the whole service with it.

Mastodon Client App — Oyakodon

Feature 1: Swipe to switch between multiple instance timelines
Because instances are distributed, Mastodon users often end up with multiple accounts across several instances.
Most Mastodon apps handle account switching through a settings screen, which works fine for treating instances independently — but it's not great when you want to keep an eye on many timelines at once.

So I built an app focused on flicking through timelines as fast as possible.
To keep instance switching snappy, only one timeline per instance is shown at a time. Mastodon has multiple timeline types (Federated, Local, etc.), and switching between them is buried in settings — the reverse of most apps, where timeline type is upfront and instance switching is in settings.

Feature 2: Streaming timeline
One of the distinctive features of Mastodon's web interface is the streaming timeline, which updates in near real-time without any user action.
Many apps don't implement this because of the complications it introduces.

Oyakodon ignores those complications and does it anyway.
Battery drain will be noticeable, so use with care when out and about.
The streaming view is also somewhat forcibly embedded, so the display may occasionally glitch.
If you spot a broken case, let me know.

Known Issues

v1.0 has a few known issues.
Some are already fixed and submitted to App Store review, but review is taking a while.
If you find others, please let me know in the comments.
  • Login to certain instances (e.g., Pawoo) fails on some iOS versions.
  • Login via Pixiv, niconico, and similar account federation doesn't work.
  • The header title area is unnecessary.

Planned Features

Based on feedback from the App Store reviews, Twitter, mstdn.jp, and elsewhere, here's what I'm planning:

  • Timeline switching improvements
    - Reordering timelines
    - Option to remove ads
  • Passive display mode (prop up iPhone/iPad and let the timeline flow)
    - Landscape orientation
    - Option to hide the header entirely
    - Option to disable iOS sleep
  • Multi-instance management
    - Improved instance add screen
    - Discover and add other instances from the add screen

No comments:

Post a Comment