Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The State of Mastodon iOS Clients #107

Open
extratone opened this issue Apr 22, 2021 · 25 comments
Open

The State of Mastodon iOS Clients #107

extratone opened this issue Apr 22, 2021 · 25 comments
Assignees
Labels
curation Curatorial efforts/projects. documentation Improvements or additions to documentation i On iOS & iPhone. (Subject) social The Social Web (Subject) time-sensitive Content which must be published by a certain time.

Comments

@extratone
Copy link
Owner

extratone commented Apr 22, 2021

Shortlink - https://bit.ly/imastodon

image

@extratone extratone added the legacy The oldest content. label Apr 22, 2021
@extratone extratone self-assigned this Apr 22, 2021
@extratone extratone added documentation Improvements or additions to documentation time-sensitive Content which must be published by a certain time. and removed legacy The oldest content. labels Apr 22, 2021
extratone added a commit that referenced this issue Apr 22, 2021
extratone added a commit that referenced this issue Apr 25, 2021
@extratone
Copy link
Owner Author

Thread on r/Mastodon

This thread on r/Mastodon is going to be important, especially considering I do not have easy access to an iPad.

extratone added a commit that referenced this issue Apr 25, 2021
extratone added a commit that referenced this issue Apr 25, 2021
extratone added a commit that referenced this issue Apr 26, 2021
extratone added a commit that referenced this issue May 22, 2021
extratone added a commit that referenced this issue May 22, 2021
extratone added a commit that referenced this issue May 22, 2021
extratone added a commit that referenced this issue May 23, 2021
extratone added a commit that referenced this issue May 23, 2021
extratone added a commit that referenced this issue May 24, 2021
@extratone
Copy link
Owner Author

Fedi proving quite interesting.

Upload.from.GitHub.for.iOS.MOV

image

image

image

@extratone
Copy link
Owner Author

mastodon ios apps - Google Search
https://www.google.com/search?q=mastodon+ios+apps&sxsrf=ALeKk00OI6BE-qcLf1j_S0YnNlR7xl1_mw:1621858355371&ei=M5irYJOLFtPLtQb9gLrYAQ&start=110&sa=N&ved=2ahUKEwjT8JaZpeLwAhXTZc0KHX2ADhs4ZBDy0wN6BAgBEEE&biw=2092&bih=1067

🎓 Dr. Freemo :jpf: 🇳🇱: "Holy crap, google is apparently taking down all/m…" - Qoto Mastodon
https://qoto.org/@freemo/104765288863293481

A Beginner’s Guide to Mastodon
https://lifehacker.com/a-beginner-s-guide-to-mastodon-1828503235

What I wish I knew before joining Mastodon | Hacker Noon
https://hackernoon.com/what-i-wish-i-knew-before-joining-mastodon-7a17e7f12a2b

openoms: "@Zlok Did you try the iOS apps listed here: https…" - Bitcoin Mastodon
https://bitcoinhackers.org/@openoms/104256746838301039

Mastodon Is Like Twitter Without Nazis, So Why Are We Not Using It?
https://www.vice.com/en/article/783akg/mastodon-is-like-twitter-without-nazis-so-why-are-we-not-using-it

Many Indians are moving to Mastodon from Twitter: Why, what is Mastodon and how it works
https://www.indiatoday.in/technology/news/story/indians-leaving-twitter-join-mastodon-what-is-it-how-does-it-work-1617030-2019-11-08

How Does Mastodon Work? - Kev Quirk
https://kevq.uk/how-does-mastodon-work/

The complete guide to using Mastodon, the Twitter (TWTR) alternative. — Quartz
https://qz.com/951078/the-complete-guide-to-using-mastodon-the-twitter-twtr-alternative/

Join me on Mastodon | Danny van Kooten
https://dannyvankooten.com/join-mastodon/

Introducing the new TWiT Mastodon - Announcements - TWiT.Community
https://www.twit.community/t/introducing-the-new-twit-mastodon/5073

Ella Black: "Is there an app for switter?" - Switter
https://switter.at/@missellablack/99790943174060896

Six reasons Mastodon won't survive
https://mashable.com/2017/04/05/mastodon-wont-survive/

An Incomplete Guide to Getting Started on Mastodon
https://davidwolfpaw.com/getting-started-on-mastodon/

Oyakodon for Mastodon for iPhone & iPad
https://appfelstrudel.com/id/1229174544/oyakodon-for-mastodon.html

‎Oyakodon for Mastodon on the App Store
https://apps.apple.com/us/app/oyakodon-for-mastodon/id1229174544#?platform=iphone

Ore2 for Twitter & Mastodon
1.99USD
https://appfelstrudel.com/id/1107176601/ore2-for-twitter-mastodon.html

Ore2 for Twitter & Mastodon
$1.99 - 4.7/5 stars
https://apps.apple.com/us/app/ore2-for-twitter-mastodon/id1107176601?ign-mpt=uo%3D4

Tootle (@[email protected]) - mastodon.cloud
https://mastodon.cloud/@tootleapp

‎「マストドンアプリ「Tootle for Mastodon」」をApp Storeで
https://apps.apple.com/jp/app/%E3%83%9E%E3%82%B9%E3%83%88%E3%83%89%E3%83%B3%E3%82%A2%E3%83%97%E3%83%AA-tootle-for-mastodon/id1236013466#?platform=iphone

Mercury for Mastodon
https://onmercury.app/

Tusk for iOS
http://tusk.webflow.io/

Toni Lampela: "Posting form my new favorite mastodon iOS app Met…" - mastodon.toni.im
https://mastodon.toni.im/@toni/105944191806274557

Apps · Mastodon Docs
https://bmann.gitbooks.io/mastodon-docs/content/Using-Mastodon/Apps.html

DavidLibeau/mastodon-tools: Useful tools for Mastodon users !
https://github.com/davidlibeau/mastodon-tools

Home | Open-Source iOS Apps
https://open-source-ios-apps.netlify.app/category/mastodon/

Mercury for Mastodon | AppleVis
https://www.applevis.com/apps/ios/social-networking/mercury-mastodon

extratone added a commit that referenced this issue May 24, 2021
extratone added a commit that referenced this issue May 24, 2021
@extratone
Copy link
Owner Author

Notifications

image

Upload.from.GitHub.for.iOS.MOV

@extratone
Copy link
Owner Author

Toot! gorgeous Share Sheet animation

https://imgur.com/gallery/xAXs95J

Upload.from.GitHub.for.iOS.MOV

extratone added a commit that referenced this issue May 27, 2021
@extratone
Copy link
Owner Author

extratone commented May 27, 2021

Toot!'s Custom Sounds

  • On Whyp.it - https://whyp.it/t/toot-ios-app-custom-sounds-92997
  • Audio file in this repository - https://github.com/extratone/bilge/raw/main/audio/Toot!%20Custom%20Sounds.mp3
  • App Store shortlink: http://bit.ly/tootappstore

Embed

<audio controls>
  <source src="https://github.com/extratone/bilge/raw/main/audio/Toot!%20Custom%20Sounds.mp3">
</audio>

@extratone
Copy link
Owner Author

wakest reply

https://social.wake.st/@liaizon/106309583561555349

there’s a few I see you haven’t mentioned. Here’s my folder of fediverse iOS apps I am trying

image

extratone added a commit that referenced this issue May 27, 2021
extratone added a commit that referenced this issue Jun 28, 2021
extratone added a commit that referenced this issue Jun 28, 2021
@extratone
Copy link
Owner Author

"Zhiyuan' Portfolio"

Zhiyuan

A passionate and experienced product designer with cross-cultural background of China 🇨🇳, the Netherlands 🇳🇱 and Sweden 🇸🇪. Constantly reaching out to experience cultural differences, and further reflecting upon the perception between human, human and machine.

Technologies advance in an effort to bridge people closer, reduce further workload. However, do people truly feel the connectedness among each other? How do I as a designer, when experiencing these rapid updates, propose what is actually beneficial for a societal transformation?

Let’s explore together! I will bring along my key competencies:

Cross-cultural design / Experience design / Design thinking / Product Development

Feel free to grab my résumé 😊.

-"Hej, I'm Zhiyuan! | Zhiyuan' Portfolio"

extratone added a commit that referenced this issue Jun 28, 2021
@extratone
Copy link
Owner Author

"Building my first app - tooot | Zhiyuan' Portfolio"

**By ****
''


📱 download

tooot.app

Source code

on GitHub

Background

2020, it was the year of breakout of Covid-19, that forced all of us to rely on digital platform no matter how critical some of us were towards digital addiction. We connect, we share, we emphaempathize with each other through various platforms on the digital world.

Still, censorship of content has been tightened unfortunately in mainland China. One of the social media platform named Douban which dedicates to discussions of movie, music, book, etc. also seen highly unpredictable taken down of user generated contents. This triggers a flow called Douban Refugee that many start to abandon social media platforms in mainland China, seeking alternative solutions to share freely.

This brings a boom of introduction of Mastodon, a decentralized social media platform that not only is free from censorship, but also maximize controlling of each’s data. Although a decentralized platform like Mastodon does require more involvement such as setting up own servers, many take the courage, following tutorials, some even without any technical background, setting up their own platforms to welcome Douban Refugees.

In light of this movement, it is evident back in 2020 that there are almost none user friendly mobile clients for Mastodon. There are few solutions with good designs but charges, and only exists within Apple’s ecosystem. With the aim of contributing to the community and to this movement, I decided to take my quarantine time to build an enjoyable mobile client for Douban Refugees.

Process

My spare time of building multiple web solutions for SMEs allows me to level up on using React and JavaScript based technologies. React Native thus becomes the top choice, after evaluating the benefits of other frameworks such as Flutter. In a mobile application environment where users’ tolerance of failures and glitches is much less compared with website environment, a familiar framework contributes to the stableness of the final outcome.

**De-**centralized platform

Over past years, several addictive centralized platforms stick with many users in various forms. Based on their dominance, users are forced to accept whatever information they provide even though this has always been a hot topic. I remember when LinkedIn joined Facebook-alike to make their timeline not “timeline” anymore but suggestion based, as a user, I have no choice but to continue using their service in professional settings.

Decentralized platforms, on the other end, take a different standpoint that data belongs to all users, and there is no more “recommendation” by harvesting user data. Technically, without centralized computing power, such recommendation service is also not that feasible. From users perspective, how can we adapt ourselves back to a no recommendation based digital workld? And how can I design information display that still invites users to explore inside a linear timeline?

Open API yet “closed”

Platforms like Mastodon are open source, and have existed for some years where many people continues to improve it. Though there is hardly one solution or design that satisfies everyone. In open source world, this easily leads to complicated service offerings, similar to a corporate environment.

To build an application that connects to an existing protocol, understanding how data is structured and shared is crucial. While exploring Mastodon’s API, difficult decisions need to be made on what data is essential to be included, and why are they meaningful. By trying out existing third party mobile apps, immersing myself in its ecosystem, observing how other users are using it, I aggregate my learnings into practice, setting up tooot’s foundation structure.

Where am I in the app

My previous experience of cleaning up H&M’s app sets a clear starting point to define tooot app’s structure. The core consits of 3 needs: 1) what I can read; 2) what I can write; 3) what I have done. Bottom tab navigation is by far the best navigation approach when above purposes can be defined clearly.

In tooot, 2 tabs on the left dedicates to different timelines that a decentralized platform normally offers: my timeline, timeline on this particular server, and federated timeline. During closed and open beta period currently, there are user feedbacks suggesting to open up customization possibility of these timelines. This is yet to be discovered further after MVP.

The main tab in the center is where users can post updates. Unlike centralized platform that encourages users to post in order to retain his/her connections, observation suggests that, at least within Chinese community, willingness of posting or sharing is high when you feel you can connect to others easier without the worry of being censored.

The last 2 tabs focus on what a user has act upon, such as notifications, bookmarks, etc.

Technically, there are many “pages” that are shared between all these tabs such as the page to view a specific post. When building it, I learn a lot about that most times, it is not as simple as saying “let’s build a new page”. In order not to break above core navigation principles, retaining the scalability as well as user needs, threads need to be connected among all these considerations; or translating into a corporate setting, it is the true sharing and connecting between business, technology and design.

Practice

Currently at open beta stage, aiming at releasing first production version in April. Bugs fixing and minor experience improvements are being focused.

Main user feedbacks during this stage suggest below 3 key points:

  1. Various browsing needs
  2. Timeline refreshing behaviour improvement
  3. Support of similar decentralized platforms

Mastodon has followed a similar approach to Twitter that offers customized listing views. Furthermore Mastodon’s API as well as its official web client offers much more freedom to define customized way of filtering a timeline, such as based on certain saved hashtags, excluding fediverse, etc. There is no motivation from my perspective to provide a “main timeline” where like Twitter that personalized feed as well as inserting advertisements, still, what kind of structure and interaction pattern that can support such highly dynamic need will be explored after version 1.0.

Stay tuned!

tooot image 1

tooot image 2

tooot image 3

tooot image 4

-"Building my first app - tooot | Zhiyuan' Portfolio"

extratone added a commit that referenced this issue Jun 28, 2021
Updates from Drafts/iPhone.
extratone added a commit that referenced this issue Jun 29, 2021
@extratone
Copy link
Owner Author

"Into the Fediverse"

29-06-2021 23:21

Social media apps should share the same social graph by implementing ActivityPub
A web consisting of Poparazzai, Dispo, Clubhouse, Snapchat, and Houseparty

I love joining new social apps! Last month, I signed up for Poparazzi as soon as it dropped. I was all for it! You could only post photos of others and not yourself? Sounds like a good antithesis to Instagram’s overcuration! I added contacts. I reacted to my friends’ Pop’s. I Pop’ed a friend.

And then I stopped using it.

It joined a host of other great apps—Dispo, Clubhouse, House Party, etc. All at one point promising to challenge Facebook’s Hegemony. All now deleted. What happened?

I believe new social apps’ growth stagnates because they don’t enjoy the network effects of Facebook. (I know this is not an original take.) However, I also believe you can circumvent this problem by implementing ActivityPub. It’s a decentralized social networking protocol standardized by the W3C. It allows you to tap into the networks of users from other apps that also implement the protocol. The user retention and discoverability benefits you’ll gain from the shared social graph just might outweigh the concerns around moat.

The Club of Abandoned Social Apps

Back to the great apps that I have uninstalled. I stopped using them because I couldn’t find enough friends there. It wasn’t meaningful to post about a friend when they weren’t on the platform. It was less rewarding knowing that few of our mutuals would see it. Even with all the hype it gathered, Poparazzi couldn’t match Facebook’s Network Effects. Let’s not even talk about social apps that never made it to public awareness.

Moreover, my brain didn’t have the capacity for yet another social app. The burnout from keeping up with multiple apps is real—it’s the reason that people are begging for a messaging solution that integrates messages from multiple social platforms. If we could easily support integrated feeds, trying out a new app transforms from a daily intention to a single-installation action.

I think these retention problems are solved if your users could interact with each other across apps. Make use of the same social graph.

It’s like E-mail. We take it for granted that any email user can send and receive emails from anyone else with an email address. That’s because their various servers (e.g. Outlook and Gmail) implement SMTP. They are built in different ways and have different properties (e.g. spam filters) but they are all compatible at the protocol layer.

Why can’t social media behave the same way? ActivityPub (along with Matrix) is the most popular open social network protocol. I use Mastodon—the ActivityPub version of Twitter. And within it, I can follow any user from PeerTube—the ActivityPub version of Youtube. Here’s what PeerTube posts look like on my Mastodon feed.

Screenshot of me viewing PeerTube from Mastodon

Facebook is never going to fully release their social graph. Right now if your app uses the Facebook Graph API, you can only see a user’s friends if they too install your app. It benefits Facebook to set constraints. And nothing’s stopping them from removing their Graph API completely.

On their own, new social apps and your walled gardens can’t rival the big forest that is Facebook; but combining your growth efforts onto a large enough social graph just might. Consumers may not have the headspace to download a host of new apps, but they’d be willing to download one app that gave them access to social media innovations.

In a world where all new apps implement ActivityPub, users are more likely to stick to your new apps.

  1. When I try posting from a Hot New App, I can now tag existing friends; my rewards for posting are high too, since I know my friends can see my posts.
  2. It’s also easier for me to keep up with content from the Hot New App. From my current app I’m used to, I just follow the users from the Hot New App. I can interact with their posts daily without having to visit a separate app.

You also get discoverability and virality benefits out of the box. Your new social app’s users can now be followed and “retweeted” across their friends in all other networks. If they like the content, you’d create accounts on your app. This is the kind of organic growth that companies heavily rely on—remember Andreesen Horowitz pushing Clubhouse content all over your Twitter feeds last year?

In fact, the only truly successful new social media app in the last decade has been TikTok and it was in part due to the aggressive crossposting of TikTok videos onto other platforms. What if that crossposting were automatic?

And all these benefits come with relatively low engineering overhead. No need to chase down each app and integrate with them. You just have to handle a few GET and POST request endpoints.

To allow users outside your app to direct-message users on your app, your server would have to accept the following JSON object as a POST request from other apps. Your client would then retrieve it to display it. JSON of DM Example 3 from ActivityPub specs

Here, Alyssa from Social App has sent a personal message to Ben from Chatty app. The fields are straight-forward: recipient, sender, note.

If she wanted to post that to her servers, her server would set the to field to "https://social.example/alyssa/followers/". If she wanted to post a different content type, her server could extend the object. For example, this is an object that’s a Markdown:

JSON of Markdown Example 8 from ActivityPub specs

Into the Fediverse

The tradeoff of adopting a shared open standard? You might lose your network moat.

But what’s the point of a network moat if it’s not big enough? SnapChat’s Stories idea was great but consumers preferred using the same feature on their much larger Instagram network. I don’t think consumers would’ve switched to Instagram if most of their network was already on Snap. You can build up moats in other ways, such as in building superior models of social media—be it in content type, curation, discovery, fact verification, or moderation.

Fighting a monopoly will require collective power. The Fediverse offers a way for social apps to band together to have a shot at winning. Shoutout to the ActivityPub team and all early adopters for showing us a way to build a world like this.

Yours sincerely,
Michelle
Your huge fan


==6142== Words

extratone added a commit that referenced this issue Jul 1, 2021
@extratone
Copy link
Owner Author

Upload.from.GitHub.for.iOS.MOV

YE STUBBORN DOUBTERS, at some point between now and FUNNY RAVE start at 5PM CST, I am going to demonstrate the Mastodon onboarding process (entirely on my phone) before authorizing the new account with 20 SEPARATE MASTODON APPS in LESS THAN 5 MINUTES. all live, https://twitch.tv/dieselgoth

extratone added a commit that referenced this issue Jul 7, 2021
extratone added a commit that referenced this issue Jul 7, 2021
Update from Jorts (LAST ONE??)
extratone added a commit that referenced this issue Jul 12, 2021
extratone added a commit that referenced this issue Jul 13, 2021
extratone added a commit that referenced this issue Jul 14, 2021
extratone added a commit that referenced this issue Jul 15, 2021
extratone added a commit that referenced this issue Jul 15, 2021
extratone added a commit that referenced this issue Jul 15, 2021
extratone added a commit that referenced this issue Jul 17, 2021
extratone added a commit that referenced this issue Jul 17, 2021
extratone added a commit that referenced this issue Jul 17, 2021
extratone added a commit that referenced this issue Jul 18, 2021
extratone added a commit that referenced this issue Jul 24, 2021
extratone added a commit that referenced this issue Jul 24, 2021
@extratone extratone moved this to Published in The Psalms Jun 17, 2022
extratone added a commit that referenced this issue Nov 18, 2022
extratone added a commit that referenced this issue May 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
curation Curatorial efforts/projects. documentation Improvements or additions to documentation i On iOS & iPhone. (Subject) social The Social Web (Subject) time-sensitive Content which must be published by a certain time.
Projects
Status: Published
Development

No branches or pull requests

1 participant