A few weeks ago I posted a teaser of something we’ve been working on. I said it was a little something, but it’s actually a big something. We’ve been working on it for over a year. It will lay the foundation for a lot of great stuff in the future.
Over 150 people guessed what it was, and to our surprise, the seventh guess was spot on:
Looks like a identity card or license to me. I’m going to guess unification of user accounts across all apps into a single “37signals id” for each user. If I’m right I will be very happy. Been waiting for years.
It’s been hard to keep this bottled up. We’re really pumped to introduce this major improvement across our paid product line. We’re still working on it, but we wanted to begin to share what we’ve been working on with you.
First… Why?
Everything we do starts with a reason. And the reasons are plentiful for this particular project.
Today, every Basecamp, Highrise, Backpack, and Campfire account has its own namespace. This means that across all of our products there could be 1000 people with the username “joe123”.
That’s a real pain for our customers. It means our customers might have to remember multiple usernames/passwords across accounts. It means people have to remember different subdomains and web addressees to log into their accounts if they use more than one product or have multiple accounts on the same product. It’s not an ideal experience.
And it’s a real pain for us. We can’t offer features, integrations, and aggregations we’d like to offer because of how users are currently identified (or unidentified) in our products.
The solution
The solution is for every customer to have a single username and password to get into any of their 37signals product accounts. If they have one Basecamp and one Highrise, the username/password would be the same. If they have 4 Basecamp accounts, a Campfire account, and 2 Backpack accounts, they’d be able to log into any of them with the same username/password. This is called a global namespace.
A global namespace means the “joe123” username in Basecamp is the same person as “joe123” in Backpack or Highrise or even another Basecamp account. This is the same way Google, Yahoo and many other companies with multiple products are set up. It’s the right way.
You’ll have a 37signals Account
We will be calling these new global accounts 37signals Accounts. Every 37signals customer will be asked to create a 37signals Account. This new 37signals Account will be the username/password people will use to log into all of their 37signals products. You’ll now have the same username/password no matter which 37signals product you use.
We recognize that asking everyone to change their username/password once is painful — we feel it too — but we believe the long term pleasure will quickly replace the short term pain. We will be phasing in the new username/password selection over an extended period of time, so everyone will have ample time to make the change. More on this in a future post.
Why is a global namespace (a 37signals Account) good?
There are so many reasons. Here are just a few:
- A global login at 37signals.com. We’ll now have a global login screen on the 37signals.com site. Log in there, and we’ll present you with a list of all your accounts. You can then click the account you want to go to and we’ll take you right there. For example, if you have 3 Basecamp accounts, 2 Highrise accounts, a Campfire account and a Backpack account, we’ll show you a list of all these accounts when you log in. Pick, click, and go. (We’ll have login screens on each individual marketing site as well.)
- Integration! One of the longest standing requests has been tighter integration between our products. This has been a challenge before since we didn’t know if joe123 in Basecamp was joe123 in Highrise. There are complicated verification steps we could have put people through to confirm joe123 is joe123 (or that joe123 in Basecamp is the same person as joe456 in Highrise), but we didn’t like that experience. But once everyone has a 37signals Account, we’ll know, for example, that you have both a Basecamp and Highrise account. That means we can begin to lay the foundation to share information between your accounts.
- Aggregation! Once we know who you are across products, we can aggregate your data. For example, we would be able to show you all your tasks across all products. Or we could show you any upcoming timed items from the Backpack Calendar, Basecamp milestones, and Highrise tasks in one place. These are just a few of the examples of things we can do with aggregated data. (Note: These are just examples of things we can do – they aren’t promises of things we will do.)
- Open Bar for everyone. People who use OpenID with our products already have access to the Open Bar. The Open Bar lists all the products/accounts you have with us at the top of the screen. You can move between apps and account with a single click. It’s pretty killer. Open Bar even remembers where you left off in each app so it’ll drop you in the right place when you switch apps. Once everyone has a 37signals Account everyone will have an Open Bar.
- Suites, bundles, and multiple product discounts. Lots of people have been asking if they can buy all the 37signals products at once or get a discount if they have multiple Basecamp accounts (for example). When everyone has a 37signals Account, we’ll know who you are, what products you have, how many you have, etc., so we can begin thinking about bulk discounts, selling our products as a single package, etc. We think a lot of people are really going to like this.
- Better security. As part of the 37signals Account overhaul, we’ve completely rewritten the username/password system to be more secure for everyone. More details on this in a future post.
A phased approach
This is a big change so it’s going to be deployed in phases. We’ll be detailing these phases in future posts. What’s exciting is how much flexibility 37signals Accounts offer us and our customers. We’ve been unable to do a lot of things we’ve wanted to do because we didn’t have a global namespace. Once that limitation is lifted we’ll have a whole new set of possibilities in front of us.
When?!
When are we going to roll out 37signals Accounts? We’re not sure. We’re still working on it, but we’re finally beginning to see the light at the end of the tunnel. We do expect to launch the basics this year. These changes touch every app, and many of these changes fundamentally change the way accounts work in each app (which is a very deep change), so it’s a lot of careful work. We want to get it right so it’s going take some more time.
More soon
We’re really pumped about this change. We’ll be sharing more about the plan and transition over the next few weeks. Stay tuned for some big changes and announcements!
Greg Friese
on 17 Aug 09Home run!
Looking forward to change and new 37 Signals Account
tropicalismo360
on 17 Aug 09An in-house FriendFeed for 37signals?
Seth
on 17 Aug 09Sounds great.
Are you guys planning to extend this to 3rd party applications in the 37signals ecosystem eventually, or is this strictly an in-house thing only?
Tim
on 17 Aug 09This looks coool!
On another note … I’m curious how 37signals is able to say they are PCI Compliant given that 37signals has stated using Amazon EC2 and Amazon’s recent announcement that EC2 is not PCI compliant.
Joe Casabona
on 17 Aug 09Oh man words can’t describe how excited I am for this. I’ve been secretly wishing for better integratation for while. I can’t wait- nice work (as usual)!
Travis Bell
on 17 Aug 09Sounds great guys! It will be awesome for us using multiple 37s products to have everything tied together.
Trent
on 17 Aug 09About F-ing time. :-)
Kendall
on 17 Aug 09Congrats. That is a great improvement. I look forward to the 37signals account and all of the great doors that will open up for you and your products.
Larry Bullock
on 17 Aug 09Will all of the new features be available for those of use already using OpenID?
Dmitry
on 17 Aug 09@Tim who said 37signals store credit cards data on EC2 servers?
Happy
on 17 Aug 09Awesome.
Kirkconnell
on 17 Aug 09@Tim 37signals doesn’t run their apps on EC2. They use Amazon S3 to store file uploads, but the apps are ran at real servers. They are PCI compliant.
Tim
on 17 Aug 09@Dmitry, they said it hear
Rick Vugteveen
on 17 Aug 09Awesome news guys! Very pleased that my guess was correct. The Queen Bee billing project and comments about better integration between products were tip offs. The positive implications are so obvious that I’m not surprised that you’ve been working on this for a year. Excited to see to the spurt of development implementing global accounts sets off.
Tim
on 17 Aug 09Guys, I don’t want to change the subject from this awesome announcement about Accounts.
But @Kirkconnell, per this article – 37signals has stated using EC2. But yes, they do use S3 for file uploads.
Matt
on 17 Aug 09Great news guys. I’ve hoped for this for a while.
@Tim – My guess is that the billing app doesn’t run on EC2.
NickV
on 17 Aug 09As a newcomer to Rails, I’m curious how you keep the user database model and migrations synchronized across multiple apps.
Off the top of my head it sounds like one app is used to perform the actual migrations on the user database and all the other apps are some hold told to build their model from a separate shared database. Sound anything remotely close?
JH
on 17 Aug 09This article isn’t about PCI compliance, but since the cart’s been dragged in, I’ll clear things up. None of our paying apps run on EC2. Even if they did, we store all billing information with the payment gateway and hand off to them for processing. Credit card data never touches our servers.
MattL
on 17 Aug 09thanks for the heads up, now I have time to make sure I have copies of my unused backpack pages before I’d have to go through this.
Justin Reese
on 17 Aug 09This is superb news, good work Signals.
To echo/elaborate on Larry and OpenID: Since OpenIDs are globally namespaced anyway, will you port them to 37signals Accounts automagically?
JH
on 17 Aug 09@Justin, @Larry: Yes. OpenIDs will continue to work as usual. 37signals Accounts can use either a username or an OpenID.
Roy
on 17 Aug 09Congratulations! Probably one of the best things you could anounce at this time… as integration is indeed in high demand!
Jeff Mackey
on 17 Aug 09Awesome news! Can’t wait for the new integration.
I assume that adding client companies / IDs to Basecamp, and adding Users to Highrise and Baclpack would remain the same as it is today?
Manuel
on 17 Aug 09Love it, just love it. Thanks a bunch!
Michael
on 17 Aug 09Having been frequently critical of 37Signals slowness to respond to client requirements and concerns I have to tip my hat and say “(Almost) Bravo if/when you bring this to fruition. Good luck for what is a challenging, daunting but significantly worthy task.”
Jay Owen
on 17 Aug 09This will be great!
Nic
on 17 Aug 09And a nice little titbit for you will be that you can get a bird’s eye view of your combined user profiles or “demographics” for want of a better word.
Stefan Seiz
on 17 Aug 09Kudos! This is a great and needed change.
Ed
on 17 Aug 09Awesome guys.. this is certainly the way the web app world is going.. unified login woot!
Sebastian Dadał
on 17 Aug 09One more step towards world domination. Needless to say, I’m excited.
Tom Reitz
on 17 Aug 09Very happy to hear this. The OpenID workaround has worked well for me but am glad to hear about the tighter integration.
Tomas
on 17 Aug 09When will I be able to login with my Facebook account? :)
KB
on 17 Aug 09Hallelujah! I have exorcised the demons! Bravo chaps!
Raymond Brigleb
on 17 Aug 09That’s great… although if you just fixed the clunky integration between Basecamp and my Writeboards I’d be pretty happy. But maybe that’s on the roadmap as well.
mikemike
on 17 Aug 09Always seemed logical. I pondered before though at how you could manage to do this without making people change their account names if they overlapped (in the case of a generic account like “departmentx”). I guess that wasn’t a problem.
Darren Newton
on 17 Aug 09I have been waiting for this literally for years. I would love for this to allow things such as integrating a real calendar (say from Backpack) into Basecamp.
Nicholas Orr
on 18 Aug 09Being able to create user bill is actually a good thing for us…
And I actually used this idea on a web app of ours subdomains define accounts so therefore bill can be used once in each subdomain. Nicer than one being bill and the other being bill2.
Oh well I get the significance of the change for 37 Signals and hope that nicholas.orr nicholasorr nichol.asorr as is on Google ;)
richy
on 18 Aug 09Every company seems to have a universal account after he become large.
Matthew Savage
on 18 Aug 09This is a great step forward. In an ideal world people would just use OpenID anyways, and you wouldn’t have this need for building your own centralized directory.. but unfortunately the acceptance of OpenID isn’t that high with your ‘average’ users.
Maybe one day a big company (gmail, hotmail, amazon, whatever) will start mandating OpenID – and I don’t mean providing their own OpenID like Google/Yahoo…
On a similar note with the creation of a new login (say, for a new user on your account) would it not be better to send out the user a URL with their welcome letter saying ‘click here to create your password’ as opposed to setting the password when you set them up? Just a thought.. :)
Keep up the awesome work guys – this might sound lame but the things you all do are somewhat inspiring…
JF
on 18 Aug 09On a similar note with the creation of a new login (say, for a new user on your account) would it not be better to send out the user a URL with their welcome letter saying ‘click here to create your password’ as opposed to setting the password when you set them up? Just a thought..
Yup, this is part of the 37signals Account change as well. It already works like this in Backpack and Highrise, but we’ll be transitioning Basecamp over to this invite-style system too.
peter
on 18 Aug 09halleluja!!!!
David Ballard
on 18 Aug 09I’m so excited about this. Something I’ve been wishing for! Way to go.
rick
on 18 Aug 09I’ve always wondered why you guys use “email” in some places and “login name” in others.
GeeIWonder
on 19 Aug 09A phased approach
This is a big change so it’s going to be deployed in phases. We’ll be detailing these phases in future posts. What’s exciting is how much flexibility 37signals Accounts offer us and our customers. We’ve been unable to do a lot of things we’ve wanted to do because we didn’t have a global namespace. Once that limitation is lifted we’ll have a whole new set of possibilities in front of us.
Sounds like a clear plan. Hopefully it survives first contact. Congratulations on getting big enough to need this change and still being small enough to be able to contemplate it.
An interesting discussion in post-mortem will be whether earlier adoption would’ve been more or less problematic. Could make for an interesting case study as the ‘Get Real’ move through a ‘Carefully Planned Phased Approach’
so it’s a lot of careful work. We want to get it right so it’s going take some more time.
I bet. I can imagine a variety of potential confidentiality issues, for one.
Good luck.
Sandeep Sood
on 19 Aug 09congratulations guys – this is going to be an amazing improvement!
Aaron Marks
on 24 Aug 09This is going to be a huge win for 37signals! I’ve been wanting this since the first time I demoed basecamp and highrise to a client of mine and they asked how to link the contacts together.
This discussion is closed.