We started a book club
Medium Engineering
by Jacob Bennett
2w ago
Read along with us as we study Building Microservices Medium Engineering started a book club this year! (Really, it’s the backend group, but we’ll extend this to all of engineering in Q3.) Our first book is Building Microservices. We have a 4-month schedule that’s easy enough to follow while still getting everything done. March (already over, but you can catch up!) — Section I: Foundation April-May — Section II: Implementation June — Section III: People Read along with us! Why this book? Medium is built with a microservice architecture. But we have a (relatively) small t ..read more
Visit website
How to do pagination in SwiftUI
Medium Engineering
by Thomas Ricouard
2w ago
An example on how we do it in the Medium iOS Application I bet that when you started your first SwiftUI project and when you wanted to paginate some lists, you scratched your head a bit. While there are various techniques to achieve this, I’ll focus on the one I’ve used for years. This time, I’ll not use Ice Cubes as an example but the Medium iOS application, as we’ve often used this technique when rebuilding the app's various features using SwiftUI. An infinite list of stories I recently migrated the search user interface to SwiftUI, and as you can see above, you can scroll th ..read more
Visit website
Building a ChatGPT Plugin for Medium
Medium Engineering
by Thomas Ricouard
1y ago
Technical exploration & capabilities of our proof of concept OpenAI recently announced the support of plugins for ChatGPT. Plugins are a groundbreaking feature for ChatGPT as they solve one of the platform’s biggest problems, which is its lack of access to the internet and up to date content. ChatGPT was trained on a dataset from 2021 and does not have direct access to the internet. Plugins provide a solution to this limitation. Content platforms like Medium can expose their content to ChatGPT, based on the user prompt and installed plugins, ChatGPT can trigger the correct API of your ..read more
Visit website
Fixing duplicate stories in Medium’s For You feed
Medium Engineering
by Andréas Saudemont
1y ago
A few months ago we started getting reports of stories appearing multiple times in the For You feed on Medium mobile apps. See for instance the screenshot below, in which the “Breaking News: Stuff actually costs a lot” story is listed twice: Instrumentation showed that there were around 4K occurrences per day of duplicate stories on iOS and around 3K occurrences per day on Android. We also received reports of duplicate stories appearing in the For You feed in the web app. So we started investigating. The For You feed under the hood Before we dive into how we fixed the issue, let’s t ..read more
Visit website
Kubernetes Infrastructure At Medium
Medium Engineering
by Eduardo
1y ago
Photo by orbtal media on Unsplash How we use Kubernetes to manage micro-services — a high-level view & Introduction Why Kubernetes? The simple answer is that it meets our needs quite nicely; and that it solves important, complex problems without us having to build the solutions ourselves. The obvious solutions Kubernetes provides are around scaling, bin-packing, and the fact that it allows services to be more or less ‘self-healing’. Another critical consideration is deployments — ease of rollouts and rollbacks. We have built complex infrastructure around deployments, but more on that ..read more
Visit website
How do we use SwiftUI in the Medium iOS application
Medium Engineering
by Thomas Ricouard
2y ago
A deep dive into our ever growing SwiftUI usage. In my last article, I had a small section about SwiftUI, but I didn’t really go further into our usage, because it was focused on the architecture as a whole. But the simplicity of SwiftUI plays a big part in this new architecture, as it allows us to build self-contained features more easily. Evolution of the Medium iOS app architecture This story will be focused on SwiftUI and how and why we use it in the Medium iOS application. First and foremost, we’ve been using it for a while, since 2020 actually, and last september, we dropped i ..read more
Visit website
Custom color elevation effect in Compose
Medium Engineering
by Alexandre Bruneau
2y ago
At Medium Engineering we’re in the process of moving to Compose. Today I found some funny stuff I wanted to share quickly. I was having an elevated surface where there was no illumination effect on it so I had to look at why and how I could customize it. no illumination in the 6 dp elevated surface I was wondering why our colors weren’t illuminated in dark theme with Compose like described in material documentation with the following code: Surface( Modifier.height(40.dp), color = MediumTheme.colors.backgroundNeutralPrimary, shape = CircleShape, elevation = 6.dp) {// cont ..read more
Visit website
Evolution of the Medium iOS app architecture
Medium Engineering
by Thomas Ricouard
2y ago
A follow-up to my previous article Last June, we started to transition from a monolithic architecture to a package-based one. How we build SwiftUI features in the Medium application You can read the previous article above to get familiar with what we were trying to do and where we wanted to go. The goal of this new article is mainly to give an update on the status of our iOS journey and project, and how this new architecture has been going on. Also, I feel like writing this before the WWDC 2022 is the right thing to do! WWDC22 First, it’s been a huge success! Our codebase is de ..read more
Visit website
How we build SwiftUI features in the Medium application
Medium Engineering
by Thomas Ricouard
3y ago
A tale about transitioning from a monolithic architecture to a packages based one. SwiftUI illustration from Apple (https://developer.apple.com/documentation/swiftui/) Glose was acquired by Medium last January, and since then, the Glose team has been busy integrating with all our new colleagues and building shiny new features. Glose is still here. Our Paris (and Ukraine and UK) based team is now part of the same group working toward a unified goal on a yet to be revealed set of features. We’re also hiring, so you can apply below if you want to join this epic journey from the new Medium Pa ..read more
Visit website
Improving iOS Intangibles with Tactical
Medium Engineering
by Alaina Kafkes
3y ago
Photo by Arnel Hasanovic on Unsplash In the days of lore and legend that precede my employment, Medium operated under the decentralized organizational philosophy of holocracy. Though leadership has long since shifted to a more hierarchical structure, vestiges of holocracy lurk in unexpected places. One such remnant is iOS tactical, a (bi)weekly gathering of iOS engineers (for more details, jump to “What’s in a tactical?”). Despite its arcane origins, tactical is by no means obsolete: it remains instrumental to building and maintaining a high-quality app, codebase, and developer experience ..read more
Visit website

Follow Medium Engineering on FeedSpot

Continue with Google
Continue with Apple
OR