Hacker News new | past | comments | ask | show | jobs | submit login
Shipping Clubhouse on Android in ten weeks (clubhouse.com)
140 points by domino on Sept 9, 2021 | hide | past | favorite | 86 comments



Don't get hung up on the "Clubhouse" part of the headline. This is a good, albeit somewhat sparse, article about building an Android app on a rushed timeframe.

It's amazing to see how quickly a production-grade app can be produced by a team that arrives with the knowledge and experience for connecting the right frameworks and apps together. However, my experience matches the author's in that the hardest work often isn't the technical part:

> And like most engineering projects, the hardest part isn’t necessarily in the technical work! What I found most challenging was context switching into the many different hats I’ve needed to wear: from interviewing and onboarding other engineers to grow the team — talk about building the rocket ship while flying it — to communicating progress and blockers as we went along, and to adjusting to getting to know my new coworkers in a remote world.

It's relatively easy for developers to sit down and write greenfield apps in isolation. It's much harder to sit down and integrate with an existing platform and launch directly into a torrent of users with high expectations, all while navigating the requirements of a rapidly growing business.

As for timing: I'm sure the Clubhouse founders would have preferred to have an Android app ready to go during their initial popularity spike, but I don't think the lack of Android app is what caused their popularity to decline over time. They obviously made the right choice by launching what they could (an iOS app) as quickly as possible to seize the moment. Even though the popularity has declined, they now have a large war chest to figure out where to go next.


Given how long it took them to begin the process of creating an Android app one has to wonder whether they were after some sort of exclusivity.


Clubhouse already feels irrelevant.


I tried it a while ago, the content was mostly people selling either themselves or their merchandise (books, courses, schemes). My sample was not just one try, I gave it a whole week. Same faces, same sale schemes. Uninstalled, figured it wasn't for me.


I think the same is true for all social media. When you initially join, one of two things happen: 1) you find a small niche group of people who are nice and you have something in common with, the platform quickly finds its place in your mind and "Most visited" section of about:newtab OR 2) you get faced with the most generic, get-rich-quick ads/posts/rants and quickly get a sour taste for the entire platform.

Probably HN is the only place I've actually felt (1) while everything else falls into (2) after just a day or two.


Whereas for my wife, Clubhouse is in the former category. It’s interesting to see the juxtaposition between the bashing in tech circles like HN, and the use she gets out of it.


It is.

My whole (mostly German) LinkedIn bubble was totally hyped for around six weeks.

Since then: Nothing. It's dead, nobody seems to use it anymore.


> whether they were after some sort of exclusivity.

The only thing the company ever had was (fake, forced, paid) exclusivity. Once that went away people stopped caring (except those that were/are paid to be there, of course).


> I don't think the lack of Android app is what caused their popularity to decline over time. They obviously made the right choice by launching what they could (an iOS app) as quickly as possible to seize the moment. Even though the popularity has declined, they now have a large war chest to figure out where to go next.

On the contrary, it was a beyond stupid to launch only on iPhone. I'm not sure if it was elitism or merely being poor at arithmetic, but it made no sense whatsoever.


As a former consultant at a company that built many mobile apps, I think that was the norm. Picking either platform and trying to get some traction both focuses your dollars and developer talent on one decent thing that you can iterate ~2x as quickly on (while the app and business are very small) until you figure what you actually want to build. I think this actually applies to many things. I've seen people pick Android or iPhone apps first based on target demographic, and you might guess wrong, but usually businesses have a decent guess who their target customers are, and it doesn't seem foolish to focus on a small set of customers first.


A bonus is that you can build out server features a LOT faster when you only have a single app to worry about: you can couple your client and server implementations, and know by just testing on your one client that you haven’t broken it with a server change.

And when you do break things, it’s relatively easy (especially on iPhone where most users upgrade apps quickly) to fix the client, wait for the next release, then remove the unwanted server feature.

Once you have two or more client implementations, you have to keep track of a lot more things, your QA checklist grows, and you therefore need to move more carefully for server upgrades.


Why you would build different server features for different client's? Aren't server endpoints supposed to be independent of the client specific implementation?


I agree that that makes sense for most types of apps. Clubhouse isn't one of those cases.

In my country, influencers who had iPhones picked it up, and then promptly dropped it because most of their followers couldn't come to the party.


Well sorry to be blunt, but were they that interested in your country as a market to begin with? It makes more sense to focus on iOS if you mainly target the US, where iPhone has a very large market share.


My country = the entire world outside the US.

Only targeting the US is folly for a social media app. And even there, iOS has only 60% of the market.


Do you know how much disposable income there is in the iPhone-having segment of the US? I’d say that’s a very reasonable target to start with.

Also, other rich countries, like say some north/west European ones, have a large (~50% or more) share of iPhone users as well.

If you need to go to market quickly, it makes sense to start with the trendy people with money, then you can go for the long tail of Android users.

Edit: Clubhouse isn’t an app where it matters whether every single one of your friends and family is on it for it to be useful/entertaining to you. And if you become established in the most desirable segments of some major economies first, you have a good foundation for going after the rest of the world later. There’s no need to try to cater to every single potential user on Earth from the get-go.


This is wrong.

If you’re building an early stage consumer startup in the US, you should launch first on iOS period. Use that starting point to iterate rapidly to figure out product-market fit and then launch Android.

There is a reason you see the best consumer companies take this route and it’s not because they’re poor at arithmetic.


There is of course, a feedback cycle here.

If you always default to launching on iOS, don't be surprised if user adoption is further limited when you eventually get around to launching on Android since by then, there would be competing products or you'll have difficulty changing the perception of "this company thinks I'm a 2nd class citizen, why would I bother?"

(Snap faced some of this for a while though I'm not sure what their distribution metrics look like now)

There is also a critical window when launching on multiple platforms. If you wait too long, the brand's "xyz OS only" will stick and opens the door for your competitor to say "We're like that other app but we actually work and sync across all your devices".


Every time I see an app that seems novel or popular that is iOS only, I form a prejudice against it. I've never, as far as I can recall, gone back to Android offerings once they were eventually launched.

Apps are cancer. Apple is the company responsible for this mess.


It's good for Apple and iOS users that your opinion is mostly irrelevant in this space.


That means favouring bigcos vs small indie shops with the resources to only develop one platform at a time. Your call, but I find that a strange prejudice to choose.


I’m not going to give away the entire playbook here but there are several very specific reasons why launching iOS first makes sense.

None of the points you raise are real issues. Android is in-fact a second-class citizen and should be prioritized as such.

Again, there is a reason you see consumer companies adopt an iOS first strategy. Experienced founders can tell you why.

By the way, Snap is a $100B+ company - that’s not a great example to make your point. If your product works, people will come - even the ones that claim they won’t. Cross platform competition is not a real concern.


"Android is in-fact a second-class citizen"

Not really if you care about number of users:

https://gs.statcounter.com/os-market-share/mobile/worldwide


Quantity of users is irrelevant. Obviously Android has more users.

We are specifically talking about launching an early stage consumer startup pre product-market-fit in the US.


For 99.99% of cases I would agree with you. An app like Clubhouse isn't one of them.


> On the contrary, it was a beyond stupid to launch only on iPhone.

No, like any startup they needed to launch an MVP and iterate. Waiting until everything is available on every platform only makes sense if you have the time and resources, which they didn't. They were a small team with limited resources.

Clubhouse wasn’t explosively popular when it launched. The success came a few months later, at which point they had more people seeking invites than they wanted to allow on to the platform. Focusing on getting something minimal out the door and scaling it up is the right choice.

If you’re going to pick one platform to launch an MVP, iOS is almost always the right choice. Tech enthusiasts and early adopters skew toward iOS by a small margin and iOS is a more predictable platform to develop for because you can count on most of your user base being on the current iOS version. Android is a development minefield by comparison, especially when it comes to audio and video.


> If you’re going to pick one platform to launch an MVP, iOS is almost always the right choice.

Releasing on both platforms is now the expected choice.

I don't think Clubhouse can get away from the 2010-era excuses, especially when they had a lot of VC backing and plenty of cash in less than a year. They were more than 6 months late and the competitors already copied them entirely. No waiting for invites.

They might have launched much quicker with both iOS and Android had they chose a cross-platform toolkit like React Native or Flutter.

Even the Discord app uses RN and they copied their main features much quicker than Clubhouse could write the Android app and it has worked great for Discord.

By the time Clubhouse finished the Android app and 2 months later removed the invite system. It was beyond too late.


> No, like any startup they needed to launch an MVP and iterate.

I agree, but they didn't. There was no MVP for Android.

> Waiting until everything is available on every platform

Not everything, just an MVP. Wait until you have an MVP on the biggest platform first, and then launch.

> Focusing on getting something minimal out the door and scaling it up is the right choice.

Yup, an MVP on Android and iOS would have been perfect.

> If you’re going to pick one platform to launch an MVP, iOS is almost always the right choice.... Tech enthusiasts and early adopters skew toward ....

Again, this is true for most cases, but not an app like Clubhouse. In most of the world the influencers jumped on it immediately but dropped it like a hot potato when they realised none of the people they wanted to influence could show up to worship them.


I had a VC friend who switched to an iPhone, from Android, because of FOMO on Clubhouse. Now, after he realized that Clubhouse has naturally degenerated into a bunch of random people spouting off, with only a few rare pockets of quality content, he won't admit he switched to iPhone because of Clubhouse.


This has to rank near the top of the most vain thing I've ever heard before. Thanks for sharing.


It’s not vain, it’s literally part of the job to evaluate new products and services. Don’t be so needlessly judgemental.


That's a useful signal. I wouldn't invest in or work for any startup backed by a guy who can't admit to a friend that he got things wrong.


You should be a better friend and maybe work through some of these impulses instead of seeking validation about being "right"


Almost all the comments on this post seem incredibly negative and snarky comments like “wow they still exist”.

Please consider that they are a small team, have gone under what can only be considered a monumental explosive growth, and given circumstances, shipping an app from scratch in less than 2.5months can be considered pretty good.


The technical problems being solved are certainly interesting.

But the snark that I have, is less directed at the clubhouse team, than it is against the cult-like users of clubhouse that I would run into or argue with, X number of months ago, that were clearly taking an app way too seriously.

If you live by the Hype, then you will die by it.

Maybe clubhouse will turn into something interesting eventually.

But it is clear, that all of those influencers and users, who were making out clubhouse to be some world changing app, that will revolutionize social dynamics, were wrong.


How much VC hype was due to sincere wish to promote something they believed and found use for and how much of it was shilling something that they have invested in. I'm not that active on Twitter, but for a while it was like a gospel "Clubhouse is the future"


I had to mute the word clubhouse on Twitter to keep from getting too cranky about it.

Avoiding VCs and accounts in their orbit helped as well.


they had lots of funding though.... A 10mil round in June-July 2020, that's more than 14 months ago. Plenty of time to get a decent base feature android app.

Also, they haven't added any features to the iOS app, and their voice quality in the height of it was really lacking (low qual. and lots of hickups), and there were room limitations, etc....

Anyway, it is remarkable what they achieved, as most of us (or our projects) will never get to that growth curve hype they did get, and hats up to them, and yet it is disappointing at the same time as it fizzled out.

Feels like Friendster from 2003. Explosive growth for a while, but struggled to scale with features and usage load until it fell away.


10mil, yes, but a lot of it probably went into the infra, bandwidth, and marketing (getting famous people and influencers into the rooms)


Also, $10M is really very little money to build an entire big business that everyone knows about out if. Large companies will spend more than that on a single advertising campaign without blinking.


Interesting comment, but can you share some first-hand experience where a company spent $10M on a single ad compaign? It is a shit-load of money; anyone saying otherwise has never been remotelly close to anything near 10 million.


Citi Bank’s 'Live Richly' marketing campaign famously cost more than $1 billion dollars before it was terminated.

Amazon spends almost a billion a month on marketing. Procter & Gamble is almost the same. L'oreal is around $850 million a month in marketing spend. I'm sure some of their campaigns run into the tens of millions easily. In fact, I think it would be pretty difficult to spend a billion dollars on marketing every thirty days without at least one individual campaign spending more than $10 million.


I think they missed the hype train for this one. Anecdotal, but every person I know who used Clubhouse during the height of the pandemic has completely or nearly completely stopped using it in favor of outside or in-person socialization now.


Releasing an Android app earlier wouldn't have changed anything substantial for them.


Maybe it will catch a new wave with Android release.


As someone who's built an unofficial Clubhouse Android app[1] with reverse-engineered API in 1.5 days right when Clubhouse was hyped the most, I only have one thing to say: lol, 10 weeks.

[1] https://github.com/grishka/Houseclub


> The rest isn't implemented. In particular you can't create and moderate rooms. There's probably a hundred bugs in the existing functionality too.

...


This happens to me a lot. I get excited to show somebody something that, to me, is significant, but when I get to show them, suddenly I can see how much isn't done or isn't right.


It would've taken me maybe 2-3 more weeks to add all the missing functionality, handle all edge cases, and polish the UI. There really isn't that much to it. I've participated in Pavel Durov's contests[1] where you had to make a Telegram client in a month given only a networking/database library. (in that particular contest, I skipped the 1st round, so I had to catch up in 2nd)

[1] https://vk.com/wall-55882680_74 (in Russian)


Developer speak: 2-3 weeks = 12-13 weeks


It's not only about implementing. QA, Monitoring, Regression tests ...


Most fascinating thing about Clubhouse was just how much time Twitter and other majoy SV players spent replicating something that was popular for maybe 12 days mid-pandemic, at best.


their engineers were happy to finally have something to work on


Let's face it - Clubhouse used to be interesting because the "high-value" people they managed to attract at the very beginning. As the hype falters, what's left is a bunch of "normal/man-on-the-street" people who contribute relatively low-value signals. They need to crack the longtail problem before they can take off again.


When Clubhouse was first launched people in my LinkedIn network were holding Clubhouse meetings that I could not join because I am on Android.

I had FOMO for all of a week, and now I don't care. There is not room in the current ecosystem for another meeting app. I don't see a long term future for this app.


I'm very curious if there were any reasons or design decisions on why Clubhouse didn't go for React Native from the start?

Would it be fair to say they could have gotten to market quicker had they went with RN?

Would love someone from the team to elaborate on this as Agora also has RN SDK's as well as Firebase.


[I'm on the clubhouse team, but was not involved in this decision]

1) the CH iOS app itself has a long history of powering other prototypes / small communities before CH existed — so I think the early engineers were leveraging what they had already, vs starting out from zero. (I think this is why they were able to find fit with CH - ability to move fast and try different things.)

2) I built an app with RN at a previous company and it was a reasonable experience, but custom UI / transitions / etc was pretty much out the window. I don't think it's an obvious choice by any means to go with RN, especially for a media-heavy app. Also, expanding that particular RN app I had built to Android was no easy task — the UI mostly "just worked" when we built the Android container, but many of our third party libraries didn't work at all on Android, and managing app navigation was a huge hassle between the two platforms. We ended up shelving the android effort altogether and shut the whole project down a bit later. :)


I inherited a React Native initiative at a previous job. It was fine for simple things like login screens and settings pages, but as soon as we had to do anything complex (like audio/video) we ended up writing native platform code anyway. Now instead of benefiting from React Native we were writing platform code anyway and paying the React Native tax to integrate it back into the app.


Xamarin is/was very similar. Want to do bluetooth? Out of luck, native library time.

I haven't looked at React Native, but in Xamarin all the easy stuff (basic layouts, logins etc) were no easier than writing native Android code, and the hard stuff was a lot harder due to having to integrate the native code.


That is the hard truth of any cross platform toolkit.

Which is why I always advocate for mobile Web (plenty of CRUD apps are doable as such), native views + C++, native + server driven UI/business logic.

Mobile SDKs are already complex on their own, adding an additional development stack on top just makes everything worse, and when things go wrong one needs to be skillful enough to dig deep down anyway.

If those JNI bindings are a pain to write, having to debug the additional layers that React Native, Xamarin, Flutter, whatever put on top isn't much fun either.


I think the founders were just familiar with iOS development so that's what they built it in. My perspective is that RN is a risk and a tradeoff like any other, there are quite a lot of pain points of RN which make it less attractive than it initially seems upfront. If your product is highly dependent on mobile it's better to go native for maximum flexibility, capability and to remove one extra party that you need to depend on. I also feel like mobile teams tend to naturally divide between platforms at a certain size and if you're already at that point you may as well use the native frameworks.


Having dealt with Agora's RN SDK, honestly looking back I think it would've been easier to just write two completely separate native apps.


As someone in tech I always thought the core experience was a quality product.

As an extinct user, the experience increasingly diminished the more "creators" were enabled / whatever started becoming of the "creator-first" mantra. It last felt like i was on a TV guide scanning through a bunch of paid programming, c-class doctor phils, and had lost the connections I made / ability to do the whole collective learning that felt really powerful at one point.

Clubhouse felt like "something else" for a bit, and then suddenly it didn't. I stopped using the app right around when android was released. I think Android users missed out.


A native app from the ground up in 10 weeks is impressive.

Now I want to know how Superhuman has gotten away with not having an Android app for so long, and what on earth they could be doing given they say they have been "working on it" for years and over $100 million in VC funding.


This is one of those interesting instances in which big tech copying a new startup has actually worked. The problem they had was most rooms were advertised on twitter. Now the Twitter Spaces integration means it's a one click for the organiser to set up and advertise a room to their twitter user base. It's very smooth for the user as well - one click, no separate app.


Clubhouse's feature was ted talks, which quickly turned into ponzi scheme talks. I don't think they had a chance, and it feels like the Clubhouse hype died down about a month before Twitter made a wide release for Spaces.


Engineering aspects aside, I couldn't get past the "welcome screen" => "collect phone number" => "validate phone number" flow. Surely I'm a dinosaur when I expect some sort of value before I give you my personal information. I guess this is what disqualifies me from particiapating!


Title could have been "Shipping Clubhouse on Android in 10 Weeks 6 months late"


Don't know why this is downvoted. It was late. Had they released it sooner maybe the app could've caught a second viral wave


Exactly. It was more than 6 months late not '10 Weeks'.

The users do not care if it is native or not. As long as it exists on their platform of choice, they will use it.

The fact that it was not on Android in the first place, then being copied by the existing competitors and lockdowns lifting is the reason why the hype fizzled quickly and by the time they finished the Android app, it was already too late.


Good on them for building things the right way for each platform. I'd love to hear more about how they architect things on the iOS side!


I really wanted this back then when it felt like I was missing out. Then twitter released their version and I got a taste and decided I wasn't into it after all.


I'm always a fan of separate, native implementations, as opposed to "hybrid," ones, but we can't always make a valid business case for native apps.

I have told folks, on occasion, that have approached me to do apps (I write native Apple apps, in Swift), that they are probably better off, looking at doing hybrid apps.

One advantage of starting off with a single-platform native app, is that it can act as a "design spec and MVP" for the second platform. I suspect the Android app will be a lot better that the iOS app (which I wasn't really thrilled by).

They probably only had a native iOS app developer, on hand to do the work, when things got started, and it isn't actually a bad business decision, to start with Apple.

The app I'm developing now, is iOS-native, and we decided to go with Apple, because that was the talent pool on hand (Yours, Troolie), and a significant number of folks out there, have the ability to run Apple iOS apps.

Also, in my opinion, you are best off starting with Apple, because the platform is more restricted than Android, so you aren't as likely to develop capabilities on one platform, that can't be implemented on the other.


Mopewa is a force to be reckoned with. Wish her name were closer to the top!


Are 10 weeks a lot or a new world record of some kind? I have no references so I can’t say. But back in the day, me and 2 friends coding 10 weeks in a row would get as very, very far.


Disclaimer: I'm a Clubhouse contract developer. Opinions here and elsewhere my own.

Yeah. Ten weeks for an Android app to meet feature parity with an iOS app that had over a year of development with millions of users is pretty astonishing.

There are many edge cases that come up when something you develop is used by millions of people and they typically get handled as they come up during your growth period. For example, when I worked at FreshBooks over a decade ago we had to support invoicing with currency conversion support for expenses. Some users wanted to input currency costs in the original currency and have us automatically convert it to their native currency, others at the currency conversion they were billed by their native currency via their bank's conversion rate. Still others wanted support for one or the other, but with different reporting flows for either. The fine detail of how to handle different circumstances isn't apparent until you've actually had to deal with it for your customers as they use your application.

So to go from app on platform X to app on platform Y with near feature parity is a lot more work than just slapping something together.

Is every error response handled correctly? Are the user safeguards implemented properly? Does it work across different kinds of devices? Are the third party APIs for payments, etc, wired in correctly? Why does this third party service fail for this new platform at 3% when the existing platform fails at 0.01%? Is every error case handled for every third party service? Is the exception logging wired in properly? Does the backend record misuse correctly despite the fact that the platforms provide different information on request? Does the UI respect the native controls where necessary? During the time from project start to the time when the project finished did we make sure to include all of the features added to the already supported platform?

Anyway, you get the idea. Software MVPs are relatively easy, but quickly launching into an already developed user base takes a great degree of skill, and honestly one of the things I really enjoy about working here is the people and I've worked in tech for a while.


Given how classically horrible the low-latency Android audio API is--to the point where Google was running panels at I/O that would start with "before we begin, I just want to be clear: we have not fixed it", and everyone I know who did audio tended to be stuck with iOS-only--I can see it having been a short time, but that was many years ago and I don't even think they wrote the audio parts (I think they might have used not just Agora as a service, but the Agora SDK?) so I could see it being a long time... ;P.


Congratulations. Although it is easy to have reservations about the concept and rollout of Clubhouse. From a developer perspective it is pretty cool.


Great experience?

They even haven't shipped full onboarding and contract import flow at all in the first release.


Eye opening. I would have bet a million bucks they had the Android app in their back pocket but were holding off on launch until they perfected quality control or recommendation engine. There must have been some reason they're not telling


Great write up, and kudos to the team for delivering under pressure. Would be nice to read why the team decided not to build a React Native app from the beginning.


Ironic to see so many HN people complaining that their Android app missed the hype train but HN is usually where I go to get my daily dose of React hate. If they had used react native they might have released them at the same time.


Clubhouse is still a thing?


Clubhouse? Now that's a name I've not heard in a long time. A long time.


meh, missed momentum


Thought this was about the SDLC app not the chat app.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: