In 2011
- Our support team responded to 100,000 cases
- Our syslog server logged an average of 1,500,000,000+ messages each day
- Our solr indexer processed 428,000,000 indexing requests for Highrise alone
- We hit our 100,000,000th person/company creation in Highrise
- And a Basecamp user uploaded the 100,000,000th file (It was a picture of a cat!)
In the first 10 business days of 2012
- We stored 100,000,000 unique statsd measurements
- Our syslog server logged over 20,000,000,000 messages
- Our applications sent more than 2,000 email notifications per minute
- And Basecamp accepted an average of 75,000 file uploads from users per day
Interested in numbers other than revenue and profit? Leave a comment and we (mostly Noah) will dig them up for a future post.
Razvan Tirboaca
on 12 Jan 12Nathan
on 12 Jan 12Haha of course it was a cat
Ben Fyvie
on 12 Jan 12I don’t recall if you implemented the happy face/sad face feedback for support issues in 2010 or 2011, but I’m curious about the totals for 2011…in other words what was your customer support satisfaction rate for 2011?
NL
on 12 Jan 12@Ben – we implemented Smiley in the fall of 2010. David wrote up some of our results from 2011 a week or two ago.
@Nathan – I’m not aware of things on the internet that aren’t cat pictures :)
Taylor
on 12 Jan 12Razvan, absolutely not. The file was named cat.jpg and that was logged, which was what we saw. We do not look at user’s files.
Bob Flowerdew
on 12 Jan 12Could we get the number of the really attractive lady from the holiday gift video?
Moritz
on 12 Jan 12Taylor, nice save!
mike
on 12 Jan 12revenue and profit would surely be interesting, but the ratio between paying and free customers would be too (maybe the totals too), how long does it takes from a free account to convert? how many won’t ever convert? how are your analytics stats? and even more interesting the newrelic ones? on both application and client side (RUM) levels. How many instances/servers do you have? which types (db, web, files, etc)? aws/cloud or classic dedicated systems? all these would be really interesting :)
DHH
on 12 Jan 12Mike, here’s a stat for the probability of us releasing general financial numbers on the entire business: 0.
We’d be happy to talk more about the infrastructure setup, though!
Matt Freeman
on 12 Jan 12You should probably amend that, I thought exactly the same as Razvan, and had to scan the comments for the explanation. What if the filename was sensitive? sallie-smith-in-threesome-on22nd-street-nyc.jpg
DHH
on 12 Jan 12Matt, then we wouldn’t have shared it, obviously. This was only shared because it was funny, not identifiable with anything, and just seen passing through the logs. We do not look at people’s files and we do not share any personal information of any kind.
Stephen Allred
on 12 Jan 12Web requests served per second across the different apps?
Emil
on 12 Jan 12Do you measure what people spend time on in the app. 50% in todo’s vs 0.7% in time tracking.
Basecamp User
on 12 Jan 12I gotta say… Bullet #5 has slightly altered my perception of the privacy of my data…
Sandro
on 12 Jan 12These numbers seem really high. I never imagined you guys had such large amounts of traffic and data. 37signals just sorta ‘feels’ like a small business, but apparently not. Keep up the great work!
MattO
on 12 Jan 12What do you do with old pictures? Are they archived after a while or even deleted? I would think that in campfire once chat logs become old enough the probability of users requesting old conversations would drop off fairly quickly. It sounds like a lot of space. Would you consider releasing bandwidth and storage stats? (pictures uploaded per day, average picture/file size, etc)
Jaime
on 12 Jan 12Great numbers. Congrats. Thank goodness it was just a picture of a cat …
Eric
on 12 Jan 12I would be interested in seeing stats for the average Basecamp project (# of people on the project, # milestones, todo’s, document uploads, writeboards, etc.).
DHH
on 12 Jan 12MattO, we keep all files around for paying, active customers. Nothing is ever deleted without the user asking for it. All accounts have storage caps, though.
Sandro, we’re still just around 30 people manning the boat. I think Microsoft have more people cleaning toilets in just one of their buildings.
eduardo cereto
on 12 Jan 12Don’t worry we don’look at your files. Just your file names. And only if they’re funny.
Thanks for explaining it. I feel reliefed.
Stu
on 12 Jan 12Speaking of infrastructure, would love to hear more about your logging setup – you’re getting those numbers from a syslog server?
ploogman
on 12 Jan 12@ DHH
So, let’s see what we have learned, checking and publicizing user’s files (or just file names) is bad PR and also that cleaning toilets is menial! Just kidding, but you have to admit that this post (and comments) is kind of funny.
That’s a huge sh**load of syslog entries by the way. Wondered if all your servers write to a central syslog that is separate? Or if each server’s log is combined into a syslog clearing house of sorts?
Sverre
on 12 Jan 12Can you say anything about the time spent generating pages on the server-side? And the number of requests / second (per server?).
David
on 12 Jan 12I bet I know where that picture of a cat came from. It was one of my clients for sure!
Adrian Pike
on 12 Jan 12How many servers are you guys up to total now? How many database, app, worker, etc. nodes?
All physical hardware that you guys own, or are any offloaded to virtualized cloud providers?
PG or MySQL? :)
ploogman
on 12 Jan 12dedicated MySQL servers I believe in the past from an earlier SVN post “nuts and bolts” with Schooner MySQL servers http://www.schoonerinfotech.com/
Not So Cool
on 12 Jan 12Not sure it’s very cool that you guys spend time poking around looking at your user’s files. OK so it was a filename you saw, I assume that means someone there could open the file if they wanted to. Maybe make a copy. Maybe take it home. Or share it with someone else. Or upload it on the web for the world to see. Seems like there’s a lot of trust going on here between us, you, and your team.
Remember the shit storm at Dropbox a while back? Be careful.
Dick Kusleika
on 12 Jan 12I’d like to know the average number of people per basecamp project. Maybe the average wouldn’t be all that interesting. Maybe a histogram that shows 80% of projects have 1-2 participants, 15% have 3-5, etc.
I’d also like to know how long projects last. I imagine some go on indefinitely and others stop abruptly.
ploogman
on 12 Jan 12@ not so cool
not so serious – the dropbox sh* storm was that everyone’s files were available to the public – that is not the case here
plus you can put anything in dropbox including illegal things – suppose you could upload illegal crap to your 37 apps but they are made for working and getting sh* done – guess if you are organized crime using 37 to stay organized this could concern you more
state secrets and 007 types can’t expect these services to be triple washed encrypted and guarded with military security and with no possible access by anyone within 37 at any time – need to join the Navy for that
Taylor
on 12 Jan 12@Stu & @ploogman,
Yes a single host (although we have a backup too). The latest syslog-ng (3.x) is able to use multiple cpus, which really helps us out! We do some logsorting on the host and then archive logs off of there too.
@Sverre,
It depends on the app. I think I’ll save that for a separate post.
@Adriane,
I’ll save that for another post too. No pgsql, all mysql. For the most part we don’t virtualize any customer facing servers due to the performance hit virtualize introduces.
@ploogman,
We no longer use the Schooner appliances in production. We are using Schooner’s Active Cluster software, but we aren’t very happy with it. (That’s another post.) We mostly use Percona’s mysql 5.x builds now.
Will Jessop
on 12 Jan 12@Adrian Pike: All physical hardware, except a couple of VMware hosts we run for stuff that really doesn’t need a full physical machine. Nothing else virtual though. We have about 6 racks of hardware currently, but that’s increasing soon.
Everything is MySQL (though I personally am a big fan of Postgres). We use Schooner and Percona MySQL builds.
@Stu, @ploogman: Just one syslog server handles that traffic
Michael
on 12 Jan 12Of the tasks entered into Highrise, how many are deleted vs. completed vs. remain?
What’s the average dimension of photos uploaded to Basecamp?
Are PDFs or Word files more popular in Highrise notes with attachments with the word “proposal” in them?
Christopher
on 12 Jan 12I was also alarmed about that “cat comment” that 37Signals would be viewing any of their users’s data who did not actually request support that involved such. Clicked on my rss to review the comments.
More comforted that it was just a log file name, but interesting to know 37Signals employees (some at least) have access to files name’s in our account. I was under the impression all private data was not viewable unless a support request was initiated.
Like if someone random Googler at Gmail was able to see my attachement names I’d be concerned. Since maybe the employee someone who knows me and in this day and age information is power.
Certainly 37Signals meant to no harm by it, and was trying to be cute, so just adding my 2 cents.
bob
on 12 Jan 12Doesn’t everyone have a porn file named cat.jpg? Or do some have rooster.jpg?
Yeah, I think it’s poor form to tell the contents of an image. I had a wave of “oh shit, they are looking at our confidential screenshots” come over me.
Michael
on 12 Jan 12About the cat thing, I guess I would rather have 37signals seeing the occasional filename and telling us about it then saying they see nothing and lying about it, like some other storers of my data.
Parand Darugar
on 12 Jan 12Thanks for sharing, very useful. I’m interested in the number of support cases per user to compare with ours – you don’t share the total or active number of users by chance, do you?
Thijs
on 12 Jan 12I’d be interested to see the busy hours for different countries! E.g. when are your users from the US most active and how is that different from users from for example Spain?
Also what tools do you guys use for server monitoring besides statsd (graphs would be awesome)?
Will Jessop
on 12 Jan 12@Thijs: Nagios for server health and NewRelic for app status.
Jan Palounek
on 12 Jan 12could yo tell us more about your server infrastructure? How many db servers you have? How many application servers you have?
Do you use sql databases? If yes, mysql, Oracle or what? If not – which no-sql database you use.
I think we all here know that your financial results are fenomenal its not so important to know it to last dollar.
Olly
on 12 Jan 12Would love a big post about your infrastructure and architecture and how you structure your Ops team in relation to devs
Dev Basu
on 13 Jan 12Very impressive numbers. I agree with @Thijs – It’d be very interesting to a see some data visualization around the most heavy users of your apps by country, the most efficient, % of milestones that never get finished etc.
Joël Cox
on 13 Jan 12Can you guys share numbers about the relative usage of capped resource, per plan? For example storage, users and contacts in Highrise. What is the primary incentive for users to upgrade to a bigger plan?
Jana Shobnom
on 13 Jan 12You are post a very important article, Thank you for your sharing an important blog! Thanks Jana Shobnom “George Marchelos”
Andrew
on 13 Jan 12obviously, privacy of user data is a big concern. do you guys want to tell us the circumstances in which 37Signals employees would be allowed to access customer data (in any form)? i’m sure it’s essential sometimes but what are the restrictions/circumstances? this might allay some of the fears that people clearly have now.
Anonymous Coward
on 13 Jan 12The cat.jpg picture was me. I uploaded it. But the cat was just a decoy. The actual picture is of a monkey flinging shit at Java programmers.
Alex Morris
on 13 Jan 12What was the cat doing in the picture? I hope it was having a really good time, that’s all I can say!
Josh Henry
on 13 Jan 12congrats guys. Proof of a great product that provides a great solution for us running businesses with limited staff!
Ian
on 13 Jan 12Why you don’t share info about revenue/profits? What’s the problem? Any logical explanation or just “because I said so”?
James C
on 13 Jan 12Ian, financial information is hidden in the cat.jpg.
Peaches
on 13 Jan 12Be careful about sharing any information on Basecamp, I know they probably poke around your files. Title of my new Blog post.
Brian
on 13 Jan 12I’m interested the stat of #of tickets per active user and how this is trending in 2009, 2010, 2011.
Anon
on 13 Jan 12Really didn’t like the fact that you are looking at even our file names.
steph
on 13 Jan 12i’m developping “enterprise application” that lamely scale up to 300 users… 600 documents/min, I’m a sh… ! congrats !
ps: some sql stats ? statements per minute ?
Anonymous Coward
on 13 Jan 12Boy do I feel stupid for uploading a file named mybankpinnumberis5472.txt.
Tom G
on 14 Jan 12That’s a lot of cats
GotPrivacy
on 15 Jan 12The fact that you looked at the 100,000,000th image upload to determine it was a picture of a cat makes me nervous about 37signals’ stance on confidentiality.
Andy Stewart
on 15 Jan 12Running database migrations must take many hours. Given that, how do you execute zero-downtime deploys?
The Real Anonymous
on 15 Jan 12Well done 37signals for your massive success! You seem to make life easier for millions of users and there always will be a few whinny jerks who are simply jealous of your success.
And ignore all the cat.jpg whiners…
They should be more fucking creative about naming their jpeg files in the first place…
cat.jpg? sounds oh so uber-generic! How about saying a bit about: What breed of cat is it? Whose cat is it? When did you see it? in what circumstances and whereabouts? What does this particular cat have anything to do with your basecamp project?
Here’s the next challenge: I’ll personally give $20 to the winner of the 200,000,000th image upload who’ll name the jpg file: “i-have-a-small-penis-and-i-am-not-ashamed-of-it.jpg”.
Peace!
Ernesto
on 16 Jan 12I cannot believe that anyone would make a fuss about cat.jpg.
It is obvious that it was so generic that it wasn’t disclosing any private information.
Anyway, I’m glad to see the way you reacted in the last post. Keep rocking, guys!
Gob Bluth
on 16 Jan 12well, people have to complain about SOMETHING i suppose.
Hamid
on 17 Jan 12Quiet interesting numbers.
This discussion is closed.