Update after the talk
MacOS/iPadOS version of Sora has been submitted for review on October 31st. Also, it supports multiple windows and has a brand new side bar layout.
Tell us a bit about yourself and your background. How did you get into developing apps? We see that you worked at Apple, that is exciting can you speak about that experience?
- Currently based on Osaka and Kyoto area of Japan.
- At around 6 years old, I remember my parents bought me a PC. I broke it so often. But I learned how to use a software to backup and restore the entire disk (I remember the backup/restore system has a ghost icon).
- In primary school, when I was making class presentations, I tried various scripts I found online to add animations to my PowerPoint. It was Office 2003 in Windows XP system. I also tried Office FrontPage and made my first personal website. I remember saving my made website versions onto CDs (I still hold these, I have like 100 CDs for my website projects). I eventually bought a 2nd hand server and run at home (it was so noisy I had to run it when my parents were out working during the summer break).
- In high school, I started iOS programming. I published my first iOS app to help my grandparents monitor glucose values.
- I have a long journey with Apple. I was invited to join WWDC 2017 and 2018 as a scholarship winner. Had the honor to work on some AR related projects at Apple in 2019 and 2020.
- I always love developing apps and creating a start up. So I chose this branch of the universe where I am developing apps myself.
Outside of programming, what other hobbies or interests do you have?
Besides some hobbits like diving and jogging, I love watching the stars. I watched a movie called the Contact when I was young. I even took down my family’s satellite dish in primary school to build a mini electrical telescope to listen to the stars. Looking for the stars also gave me the idea of the name of this app.
What does Sora mean?
Sora (空) means "sky" in Japanese. It is often used as a metaphor for freedom, hope, and endless possibilities. I think it has 2 meanings.
- At daytime, sky is open. Openness to different voices, different people, different cultures, different groups
- At nighttime, there are many stars. It means discovery. Each star can symbolize instance or person on the Fediverse. Each star has its own unique voice (just like when I use my family’s satellite dish to listen to the stars)
What inspired you to create Sora? What need or problem were you looking to address with this project?
- Discover: When I signed up for the Mastodon a few years ago as a new user, I was created with an empty timeline. I had to search online for interesting accounts to follow.
- After sign up, I only see posts from following. It was worse when you follow some news bots and your entire timeline has been filled with their posts. I had to go online again to find new follows. Also, since the timeline is not algorithmic, it is entirely based on time, so I can miss some popular posts.
- Federation is great, but sometimes there are empty profiles, zero like count, or incomplete replies.
- Features are not the same for different Fediverse softwares (for example, Bluesky does not have bookmark support, Mastodon does not have bookmark folders)
- Multiple apps are needed for different platforms
How did you solve the above issues in Sora?
- For discovery, new users are asked to select some interested keywords when first logging into Sora. Sora has a smart local prediction model that picks potential posts you like (from across the Fediverse) and insert them into your timeline. It improves as you interact with each post.
- Although it is algorithmic, the data is stored locally and the prediction runs locally.
- Users can like the post, click open the image, or follow the account, and the model treats it as a positive interaction. User can also dismiss a post, which tells the prediction system to show fewer posts about such topic.
- The prediction system automatically tries to group similar keywords together (for example, photography and nature).
- Sora automatically reaches out to different instances to fetch the complete information of profiles and posts.
- Sora implements many features like bookmark and bookmark folders. It tries to provide a unified experience for all users.
What are some design details in Sora?
- Almost all popular apps pause your music even if you scroll through the timeline and not clicking on the video. Sora lowers the volume so it does not disturb the user.
- Sora’s notifications come with profile avatars
- Sora uses haptic feedback to notify user (2 short taps on success and 3 on error.
What has been the most challenging aspect of developing and maintaining SoraSNS? What has been the most rewarding?
- Each Fediverse platform has different APIs, I need to have one UI only but it should work for all logged accounts.
What are your thoughts on centralised social networking platforms? What has your personal experience been like?
- Opinion of the owner of the platform shapes the platform
- Some voices can be hidden if it goes against the opinion of the owner of the platform
- Identity leak and privacy concern
Can you provide us with your thoughts regarding the Fediverse? How long have you been a part of it? What are your thoughts about its long term future?
- The future of Fediverse if bright, with more and more big companies (like BBC) and government bodies (like the EU) joining it.
- However, the cost of running servers can be high and I see instances going down because of that cost. Maybe there should a solution for this.
What are some areas of opportunity for the Fediverse? Do you plan on making any more Fediverse apps?
- Phone calls. Video calls.
- I plan to add many more features and support more types of instances for Sora.
It is unique that Sora also supports Bluesky accounts what influenced this? What are your thoughts on Bluesy and their ATProto?
- A lot of users are using Bluesky (me included), but some features (like bookmarks) are so essential for me and it is not available in the At protocol.
- Bluesky has a very interesting protocol. It allows domain name as the user handle, which could lead to better portability.
- Hope official bluesky instance go into federation.
What are some of the ethical considerations you keep in mind when developing SoraSNS?* How do you ensure that SoraSNS is a safe and inclusive space for all users?
- Always put user first. Value user feedbacks. Reply to every user.
- Developers should always put their app on the first screen and use it everyday. If you do not use it, you do not know what can be improved. Using it helps you discover potential features to add and improve.
- Help people stay positive! (I put positive quotes; AI system to score posts based on positivity score) SNS today makes people sad.
What advice would you give to others looking to develop Fediverse apps?
- Always consider Federation. Typically, apps only connect to the servers user logged into. But for the Fediverse, I think the app should also contact other federation servers to get a complete picture of information.
What plans or hopes do you have for the future of SoraSNS? Are there new features or integrations you'd like to add?
- Voice broadcast
- Voice call
- Video call
- Mac app (already submitted)
- Better discovery of users