About a year ago I built a Chrome extension called SiteChat -- the premise was simple: turn every website into a chatroom. The app was an instant success, and over the following year I watched entire societies emerge and die off inside the bizarre ecosystem that I had created.
Genesis and Technical Stuff
I got bored one day and decided to learn how to build Chrome extensions. I also wanted to play with the nascent WebSockets protocol, so I figured I’d combine those two pieces into some kind of experiment.
As context, I’ll mention that my tech friends often make fun of me because I write software entirely from scratch. Something about using a black box third party library makes me uneasy. And what’s the point of “learning” WebSockets if you’re not actually going to implement the protocol yourself? Otherwise, you’re just learning somebody else’s WebSockets library. My friends call it “overkill”; I call it learning!
So I wrote a WebSockets server daemon in PHP and threw together a Chrome extension called SiteChat. Pure laziness dictated that the app wouldn’t require registration; all messages were passed through the WS server without being stored. That turned out to be very helpful; SiteChat was now essentially anonymous and registration-free. Chatters could enter a nickname, but since there was no registration that nickname could be used by anybody else in the system... which eventually lead to some amusing trolling in the system.
Version 1 of SiteChat took a day and a half to develop and release in the Chrome store. I posted a link to it on Hacker News and Reddit, took a nap or ate dinner or something, and woke up to thousands of new users.
Over the course of the next few days something like 100,000 people tried SiteChat. The night I released it, I had to scramble and write a new protocol on top of WebSockets to handle server bridging. I was committed to the anonymous, push-only aspect of SiteChat by this point, so bringing up a DB server as a message store was not possible--even though that would have easily solved my problem of quickly needing to bring up multiple WebSocket servers. Regardless, hacking together a bridging protocol wasn’t too bad and I was able to keep SiteChat up in the face of tens of thousands of concurrent users all with permanently open TCP connections to my servers.
I’m actually very happy about the way my rushed, experimental, hacked-together-in-hours PHP WebSockets stack worked out. While I only have the one WS server running today, the system proved to be reliable and maintenance-free and has been going strong for over a year now. I think there was a period of downtime for a few days at some point, but that was because I switched DNS providers and forgot to update the SiteChat DNS entry. Oops! But the WS stuff never had any issues.
When I posted SiteChat on HN, I got a whole lot of “this will never stick, somebody tries it every year and it always fails.” I expected that to be true, but I didn’t really care either way. SiteChat was a side project that I had no emotional or financial investment in, so if it failed, whatever! I learned Chrome extensions and WebSockets, and it was fun to work on.
However, I became really excited when I saw the user stats. People were using this thing! The reddit.com, ycombinator.com, facebook.com, and gmail.com chatrooms were the most popular, with hundreds of people in each room and dozens of active chatters on at all hours of the day.
Over the next few weeks I remained very involved with SiteChat. I was online all day, chatting away. I also worked on some nice new features, my favorite being the Pop-Out/Mobile version of the app. Lots of FireFox users complained that they couldn’t use SiteChat, and lots of people wanted to chat in a room while browsing other sites, so I made a standalone interface to SiteChat. It also (still) works on iOS and Android browsers, which is really cool.
(I’m getting excited just talking about SiteChat again. I really loved this app!)
But far more interesting than the technology was the community that formed. Each of the major chatrooms(/domains) on SiteChat had its own unique ecosystem. Reddit was for casual chatting. Hacker News was for techies. Facebook had people looking for cybersex. Long, deep conversations at a (generally) high level of discourse were held, and that lasted for a little over two months.
Real Life and Mythologies
After a few weeks of coddling SiteChat, real life struck again and I no longer had hours a day free to chat online. So I stopped engaging with the app for a month(?... the timeline is fuzzy), but the little chat notification numbers in my browser told me that SiteChat was still alive and kicking.
A month or two went by and I’d all but forgotten about the app. One day I went back on, and it felt a little sad. While not quite a ghost town, SiteChat did resemble Detroit a few years back. It clearly had once been a great, booming society, but was also clearly on its way out. The regulars I used to know were no longer there--though there was a group of new regulars.
I hopped onto the reddit.com chatroom and said hi. Immediately, people asked me why my name was green! (I had the only reserved nickname, “bkanber” in green lettering). Even that was a bit of a shock to me. Everybody had known me in the past. Nobody knew me now, except for one guy who piped up “he’s the creator of SiteChat”. And then what happened was really strange.
It became clear to me that there was a lot of mythology floating around the SiteChat community. It seems that in the two-month hiatus I took, roughly three generations of users had gone by; just enough for stories to be handed down and distorted a bit. Some people thought I was some kind of rebel in an oppressed country, and I built SiteChat in order to exercise free speech (I’m from New York). Some people thought I was a basement-dwelling version of the comic book guy from The Simpsons (I’m social, and have decent genetics). Some people outright revered me. It was clear that SiteChat had alleviated social pain-points for a lot of people that lived in rural areas, and they thanked me profusely.
I realized at that point that online chatrooms weren’t really popular anymore like they used to be in the past with AOL and IRC. But there was still a small market for it, and SiteChat filled that niche temporarily.
I then learned something very intriguing. SiteChat didn’t have moderators of any kind, except for a simple rate-limiting system that prevented excessive abuse. While I never saw trolling become a huge problem, it was there. I then learned that, in my absence, a group of users formed a SiteChat vigilante group called something like “the Templar” or “the Agents” or something (I forget), with the sole purpose of bullying trolls into leaving SiteChat rooms. Now that’s weird.
Given an open and free ecosystem, a group of users spontaneously decided to come together and protect their habitat. They defended the weak and innocent against bullies. Now, I think we all know that given an open ecosystem, bullies always appear. But other than some isolated “white-knighting”, I never expected the ecosystem to regulate itself in such a manner. That really impressed me, and left me speechless for some time.
Extinction of a Society
I did end up disengaging myself from SiteChat again. I knew that SiteChat would eventually disappear, but in the interim the community seemed like it could take care of itself without any intervention from me.
A month or two later, SiteChat usage was essentially down to zero and remained there for several weeks. Then the second wind came. About 10,000 new users joined up again, stabilized to 5,000 active users, and there was some good activity for a few months. I discovered that these users were primarily young people (13 and 14 year olds) whose parents didn’t let them IM or use Facebook yet. SiteChat, freely available from the Chrome store, was their loophole. The level of discourse on SiteChat was at an all-time low. I quickly disengaged again, and haven’t been back since.
Today the Chrome store shows 5,000 SiteChat users, but with only a hundred messages sent each day the once booming society is essentially extinct.
Could I revive it with a marketing campaign? Maybe. Will I? Probably not. Like Hacker News said from the very beginning, somebody tries this every year or so and fails. In fact, the reason I’m writing this is because I recently met with a young startup that wrote a very similar app. Will they have their moment in the sun? Maybe. I don’t know.
I think what made SiteChat compelling for a while was its low barrier to entry. Thousands of people clicked on the Chrome store link when I first posted it, and a very high percentage of people converted. Installing a Chrome extension is really easy, and most users installed it and immediately saw people chatting. They were able to start chatting as “Anon 5032” or something as soon as they installed it. If they were interested in chatting more, it took just a second to type in a nickname. You didn’t have to put in an email address, or click a confirmation link, or create a password.
SiteChat relies on the network effect, and so it falls victim to the chicken-and-egg problem. You wouldn’t use SiteChat if no one else is using it, and if no one else is using it, it would attract no new users. The low barrier to entry was critical. Having, say, 1000 users online in the first hour created a society that lasted (in significant form) for roughly six months. Had only 250 users been online in the first hour, I can guarantee that SiteChat would have been dead in six days. So in this instance, that high conversion rate in the first hour was of the utmost importance. If you were to launch SiteChat in parallel universes, the “number of users in the first hour vs longevity” chart would certainly be exponential.
I had another major advantage: I didn’t care about monetizing SiteChat. I can’t tell you how many people asked me to turn it into a Live Support application (that supports file uploads and webcam!). I also received a weak offer to purchase SiteChat, which I didn’t pursue. Had I tried to monetize SiteChat, I would have killed it. Using advertisements, requiring registration, or bloating it with features all could have made it monetizable, but would have immediately destroyed the userbase.
Fortunately, SiteChat only cost me about $200 over the past 14 months. And that price tag was well worth the experience of watching an app hit its stride, watching an entire society emerge, and subsequently experiencing the extinction of an entire species of SiteChat users.