Keeping up with your friends doesn’t have to be complicated.
But that’s how it feels today on other apps when updates from your crew are buried beneath brands, influencers, and videos of strangers dancing. We believe that sharing your life with your friends should be simple and
Some
@zenly
news:
- The team is releasing its biggest redesign ever
- It has reached 35 million active users (!) and is growing faster than Twitter and Discord (!!)
- Its founder
@an21m
is moving on 5 years after Snap acquired Zenly
Read more on TC:
Where did our friends go??
The bike rides. The sleepovers. Your first cigarette. Gossiping about your latest crush. Being consoled when they break your heart. Discovering a new city. Re-discovering your own (at 2AM). The hungover brunches. The tears. The laughs. The love.
So
Myself and
@michaeljames
from
@amoamoamo
are in SF this week catching up with folks in consumer ! Anyone who’s here and wants to meet for a coffee or a beer ? Very happy to meet anyone in our field really :) DM me !
🇫🇷 The Browser Company of Paris, Day One!
P.S. I am biased but my hosts,
@amoamoamo
, have the coolest, most creative vision of any new co I've seen in the past five years. Go work for them if you live in Paris!
Perfetto tracing on iOS has been of tremendous help for crafting high performance apps throughout the years!
Those are release build traces on internal builds that everyone use at
@amoamoamo
. They are included in every bug report and can be remotely fetched.
Thrilled to finally publish my article about Design at Zenly.
I started writing in September 2022 following the shutdown announcement, so it’s been ready for a while now and there will be 3 parts.
This is part 1 and it takes place from 2015 to 2017.
I’ve known
@HugoAmsellem
for more than a decade and have always been in awe of his passion and relentless drive in helping others. The kind of supporter you want by your side !
👋 Personal update, I'm launching
@IntuitionVC
I fall in love with people and ideas.
I fell in love with the creator economy and, lately, the loneliness epidemic. But most of all, I fell in love with the extraordinary people bringing these ideas to life: Founders.
To be exact,
The bad news:
@zenly
is dead. I don’t know what to use and I’m sad! I’m sure you’ll come to regret that decision
@evanspiegel
.
Thank you everyone else for the extreme support ❤️
The good news: we’ve been working on cool new stuff with a few friends...
↓
@Dimillian
@Medium
Music to my ears 🤩👏🏼
At
@amoamoamo
, thanks to
@bazelbuild
, we have this taken to the extreme as well (showing only platform modules here).
Every folder is a Bazel target, dependencies are wired through a dedicated API target using DI (echoing your article on composition root).
My esteemed and ever talented colleague Sylvain made a quick interview about the reality of using Rust for building apps backends server side and client side ! Go check it out :)
We discovered a really cool company in Paris building new social media apps in Rust! It's called amo. Checkout our interview with one of their engineers here:
@steeve
@zenly
Felt like being on death row every year and having to come up with the ultimate best of what your brain is capable of to be able to survive (on short notice) 😰😮💨
Lil' personal life update:
🇫🇷 I'm moving to Paris – for one year – starting in September! 🇫🇷
I'll be working from
@an21m
's
@amoamoamo
office (one of my fav crews), and living in the 6th.
Anyone want to hang? Who should I meet while I'm there?!
Almost at a point where cross-language span tracing works on iOS and Android on release builds 👨🏻🍳👌
The nicest thing is that it's using Perfetto C++ SDK directly so most of all this comes for free...
Props to the ever talented
@TheLortex
@artman
@linear
Grow them internally.
@zenly
was able to reach absurd scale with programmers that had no such experience but strong motivation and unseen learning curve.
@Dimillian
@krzyzanowskim
👋
@Dimillian
, some elements of answer:
RxSwift:
- We have a lot of experience with it (Zenly was 100% RxSwift)
- Facilitates similarities between iOS and Android mobile infrastructure (we use RxJava). If Android is late, they can look at the RxSwift part and be heavily inspired
@steeve
@matthieurouif
@photoroom_app
One regret I have at Zenly is not putting enough efforts on tech blog posts for all the crazy stuff that would have deserved one. Please do it !
J'ai passé quelques jours à bricoler LegiGPT.
C'est 148k articles avec ChatGPT. Tous les Codes.
L'idée est de savoir s'il possible de discuter avec la loi? Et bien oui, ça marche.
@Dimillian
@krzyzanowskim
- It's Open Source and we don't have to wait for an OS update for bugs to corrected.
- The simplicity of the Reactive Interface (onNext, onError, onComplete) makes a good standard for language interop and FFI (we codegen it).
@tokudu
Big admirer of your work while at Snap, huge loss for them ! If you ever wanted to visit/work from Paris, it’d be an honor to host you at
@amoamoamo
@eikedrescher
Android invented Instant Apps a while back that does just that.
“With Google Play Instant, people can use an app or game without installing it first.”
Makes you miss a bit the Android ecosystem 🥹
@amoamoamo
An improvement we are working on is writing a Swift and Rust wrapper around the Perfetto C++ SDK instead of collecting in Swift, which would allow cross language traces collection for the same app with further reduced trace cost (<500ns).
@stevenhepting
@Dimillian
This enables us to achieve constant 10-15s feedback loop even with 300+ modules and more than 100k LoC. On top of that, Bazel enables this ->
@isEqualToDan
@Dimillian
Some reasons we chose to go that way:
- Cross language: (our mobile app cross compiles Rust,Swift,Obj-C,C,C++)
- Code sharing: The backend and the client share a lot of Rust code.
- 1 Pull Request for a company wide change / refactoring.
- Single CI environment
Time for a change. After 4 busy years at Zenly, I am moving to new challenges. To the people I have grown to consider great friends and amazing colleagues: thank you!
@matthieurouif
@steeve
@photoroom_app
@Olotiar
Cards video extract ! The idea at term was to generate Flash content (user historic event) the same way and offer crazy cool videos representing users in all sort of situations.
@Dimillian
My mind went 🤯 when I learned that special hardcoded "category" triggers additional logging behaviours, especially wrt OSSignposter (). Makes me wonder how the whole thing is implemented !
Another cool perk is that the traces can be collected locally on macOS via USB by reusing the tunnel created by Xcode for communication with the iOS device (The replacement for usbmuxd for iOS 17 devices).
@GergelyOrosz
Very much enjoyed reading and suggesting on the draft at the time 😘 Hopefully we can do that again on a Volume 2 with more in depth digging ? Thanks for your brilliant work !
@amoamoamo
To achieve this, we wrote a simple Swift component that has a similar API than the Perfetto C++ SDK, collects traces in memory in a RingBuffer with zero allocs (<1µs per trace) and flushes the traces in Perfetto format (.pftrace) that can be visualized by
@Dimillian
@krzyzanowskim
We have cases of Swift Concurrency x RxSwift interop in the codebase. They are easy to bridge so if it makes sense, we do it. One important note is that we have a lot of performance tooling around Rx SchedulerType which is why we prefer to be in Rx realm as much as possible.
I’ve been hearing about this book for such a long time. Finally got myself a copy ! The only other good writing I could find on linkers was a wonderful article series by
@ianlancetaylor
findable here Excited 😊