The Community Club

loading...
Cover image for The Principles Behind the Forem Mobile App
Forem

The Principles Behind the Forem Mobile App

ben profile image Ben Halpern ・2 min read

I want to give an overview of what to expect from the Forem mobile experience in the near future.

You are currently using Forem. It's the underlying software that powers Community Club, DEV and a growing number of communities built on async communication and great underlying tooling.

Core to Forem is the ability for each community to operate independently, and use the software to grow with unlimited potential. We don't want you just using our service and playing strictly by our rules, we want a collaborative relationship that forces us to keep up with creator and community needs with ongoing open source development.

However, the web on its own is not entirely compatible with user expectations. We don't expect end users to want to maintain a bunch of browser-based communities and for leaders to achieve great success this way. That is where our mobile app ecosystem comes into play.

The Forem mobile ecosystem is developed in two parts: One is a consumable SDK that can fit into existing apps. So if Spotify wanted to build on Forem standards for its social layer, they might want to consume the SDK and have those features appear right in the app, but for the independent Forem creator, they most likely want to leverage the Forem app which is a browser which allows end users to access all their Forems in a cohesive way.

Here is the core SDK if you're curious:

GitHub logo forem / ForemWebView-ios

Forem core interface SDK

ForemWebView - iOS

This is the WKWebView customization that powers the Forem (coming soon) and DEV mobile apps.

Requirements

The Project supports iOS 13.x but features like Picture in Picture are only available for iPhones on iOS 14.x

Installation

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. Once you have your Swift package set up, adding ForemWebView as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/forem/ForemWebView-ios.git", .upToNextMajor(from: "1.0.0"))
]
Enter fullscreen mode Exit fullscreen mode

Carthage & CocoaPods

We've moved to supporting SPM and not Carthage or CocoaPods. If interested in contributing, PRs to support these are welcome!

Usage

After importing the framework into your project you can initialize the ForemWebView like you would any other WKWebView…

The Forem mobile ecosystem is a progressive enhancement on top of the web experience— That means native multimedia playback, native image and video uploading, etc. while allowing the web interfaces to come through as necessary.

All that is to say, the Forem app we will launch can be thought of as a specialized browser. Folks can access Forems via Forem like they access individual Slacks via the Slack app, even though each Forem has the independence of being a standalone web app.

If Forem can achieve great interactive success in mobile, the ceiling is really high for independent community. We believe that empowering creators with great tools will help bring folks away from monolithic shouting chambers into mission-driven spaces for thoughtful interchange.

The Forem iOS app is nearing its launch, followed by Android a little after that, so you'll soon be able to browse Community Club in more ways, and if you are launching a Forem with us, we hope this will help you achieve a deeper connection with your members.

For a little more on our team, we did an AMA here a little while back...

Discussion

pic
Editor guide
Collapse
ildi profile image
ildi

This is going to be awesome! I've been having lots of fun navigating between the different communities via the chrome extension

I just want to make sure im understanding this correctly:

Folks can access Forems via Forem like they access individual Slacks via the Slack app, even though each Forem has the independence of being a standalone web app.

  1. Forem will soon have its own mobile app and within it users can navigate between all the different Forem communities that are public.

  2. Each individual Forem community has the option to also launch their own independent mobile app (is this something they have to build on their own or is it part of what Forem offers?)

Collapse
ben profile image
Ben Halpern Author

Yes, you are correct.

For point 2. I don't anticipate we'll maintain this as an entirely supported path, but we will definitely maintain the SDK (which would be 99% of the work in simple use-cases).... I think the most ideal use-case for this is when the app contains more useful functionality beyond the individual Forem.

Our approach is dictated by the desire to ensure structural independence of an individual website (aka I can visit this site on Chrome, Safari, Firefox, etc.) while providing tooling to uplift the experience. Just like how Apple offers WKWebview as a primitive for building your own browser on iOS (fairly easily, though much more confined than desktop— arguably not the ideal approach) anyone could build a Forem browser, either for a single Forem acting as a basic wrapper or as a directly competitive "navigator" app which might be better than ours.

Collapse
ildi profile image
ildi

This is very interesting, thank you for clarifying! I can see how it's more useful for when the app dev plans to add new functions beyond what Forem offers.

I just added Community Club to my iOS home screen and this was enough to make it feel/act like a normal mobile app.

Thread Thread
ildi profile image
ildi

I did just notice two quick limitations:

  1. Not having a button to go back to previous page after clicking on a post.

  2. New comments within posts are only viewable only when you close and reopen the Forem via the iOS home screen icon.

Im guessing these small limitations are why someone would opt to build a Forem browser vs simply adding the Forem to home screen?

Collapse
mac profile image
Mac

So so excited for the mobile app, love the approach you're taking to building it!

Collapse
ben profile image
Ben Halpern Author

Thanks Mac, it's been really exciting to see the quality of work going in to Community Club— I can't wait to ship on some of the improvements we have planned for the core Forem experience in 2021.

Collapse
josh profile image
Josh

Sounds awesome, I look forward to the Android sdk. Does a Forem install include a web api as well? I really like what you're doing with the dev/Forem platform 👍