Forem's Approach to Decentralized Social Media on Mobile
Tags: meta, forem, ios, mobile
Published: 2021-06-03 16:40:53

We’re excited to let you know that **the Forem iOS app is now live in the App Store**. I want to get into all the details that will be interesting and relevant to devs, but before reading further, please [download the app here](https://apps.apple.com/us/app/forem/id1536933197#?platform=iphone) or search for “forem” in the App Store. 

_And not to worry… the Android app will follow in the not-too-distant future._

## Wait, what is Forem and why does this app need to exist?

Forem is the open source codebase that powers DEV. You can read more in our [announcement post](https://dev.to/devteam/for-empowering-community-2k6h) from about a year ago, but the fundamentals premise of Forem is this — **we do not believe social media should be driven by monolithic entities that consume all your data and commoditize your attention**. Our dream is to help build a future where people will be able to use Forem to create and join independent networks directly, and where community leaders can help foster enjoyable spaces for like-minded folks.

Within the software space, we have the humility to acknowledge that DEV should not aspire to become the all-consuming and singular place to gather around code. We continue to work hard on DEV to help separate signal from noise and to act as the town square for important software trends and learnings, but there is no perfect algorithm, and we want variety to thrive. DEV will keep working hard to provide breadth, and perhaps act as the ideal canonical community space for a lot of topics, but for depth, we want to empower smaller spaces to thrive.

While every Forem is entirely segregated from a data perspective for privacy and allows for independent curation and leadership, we don’t envision a future where people need to visit 100 different websites in order to keep up with the people and things they care about. And while Forems support RSS and will generally conform to whichever approach you want to take to keep up with discussions, the best model for why the Forem app needs to exist is the browser itself.

## The Forem app as a specialized browser

We are leaning into web technologies to ensure that the power in the Forem experience is largely encapsulated in the web-driven experience, as the web is the most widely distributed open platform ever created. However, we see opportunities to provide progressive enhancement and offer a user experience that makes the most of a more distributed future.

> Think of the Forem app as similar to the Reddit app, but each subreddit is entirely owned by its moderators, allowing them to more holistically tend to their space. Another model might be that Forem is like TikTok, but the creative constraints are web technology and community curation, as opposed to one minute of edited video. Whatever mental model you choose, the bottom line is that Forem will continue to evolve and push the boundaries of what can be done to inspire community without a central authority.

From a development perspective, we chose to write this app in native Swift, closer to the metal than a technology like React Native. This is because we are looking to keep the functionality of the application somewhat minimal, but focus on providing a sophisticated interface between app and web in order to let the web app define a lot of the business logic.

You will notice functionality such as haptic feedback and native video/audio playback that acts as progressive enhancement. We also have a native media selector and intend to keep leaning in on the functionality that makes most use of the native environment while making the best use of the embedded browser itself for much of the display logic. We are still in the early days of this journey, but we feel happy about the continued approach.

The core native SDK that powers the Forem iOS app [is open source, available here](https://github.com/forem/foremwebView-ios). This functionality can be embedded into _any_ app, meaning that Forems can be a tab press away in any application. Say the NBA wants to re-engage their fans with a native community — It can be accessible through their app as well as the Forem app and the open web. Our expectation is that Forem becomes core infrastructure for the community web at large, and all of this development supports that goal.

## When can I start my own Forem?

What’s the point of this distributed network if nobody can use it? Over the past year, since announcing Forem, we have instructed folks to think of the Forem open source product as in private alpha of sorts. We have helped launch some early partners such as [The Web Monetization Community](https://community.webmonetization.org/), our very own specialized [CodeNewbie Community](http://community.codenewbie.org/), and others. But we have yet to release the generally available open source self-hosting package.

The automated Forem hosting playbook is coming **very soon**... We are in the final stages of its development, and you will soon be able to start a Forem. And when it launches, there are plenty of folks waiting to get started.

{% tweet 1400097290983989252 %}

We want a stable ecosystem that is able to receive regular updates and help provide a consistent user experience across the ecosystem. The iOS app, and future ecosystem tools, are only as good as the consistent experience that folks will need to expect if they are going to thrive in a decentralized environment.

So, let this be one final tease before the release of customizable Forems that you can host on DigitalOcean or wherever you feel like running your code.

### >> Join [forem.dev](https://forem.dev/) to keep up with progress (and add it to the app!)

***

## What does the future hold?

The future of Forem is all about continued optimizations for user experience and satisfaction within the ecosystem. 

Building Forem as an ecosystem of thousands of small, but powerful applications was not the most straightforward way to explore the future of social media, but it is the most magnificent.

The Forem identity paradigm is that each Forem is a unique identity and independent. The Forem app allows you to keep a collection of your Forems without having to share any data or even authenticate, if you want to mostly lurk, but within this paradigm, we know that there will need to be conveniences baked in to help people better manage their experience and identity across Forems. We will be launching all sorts of great technology which builds on the privacy and security of the Forem ecosystem as it stands today.

## One more nudge

<mark>[Get the app from this link](https://apps.apple.com/us/app/forem/id1536933197#?platform=iphone) or search for “forem” in the App Store.<mark> We can’t wait to bring you the Android app in the not-too-distant future!

_Please rate the app in the App Store too._ 😅

Happy coding!