Luke asks:
Do you have any plans on ever releasing your applications for purchase to be run internally at a company?
It would be highly unlikely that we’d sell installable software. This question is actually more about business than it is about software.
We’d be a different company
Here’s why: We would have to be a fundamentally different company to develop, sell, and distribute installable software. We probably couldn’t be as small, we certainly wouldn’t be as agile, and we definitely wouldn’t be as happy.
If we built installable software we’d have to spend a lot more of our time on technical support, write a lot more documentation, slow down our development process, and lose a fair bit of control over our customer experience. For some companies this wouldn’t be a big deal, but for us it would be a real drag.
Hosted = Controlled development and deployment environment
Software is hard enough to get right when you control the variables. With web-based software we have a single code base optimized for a single operating environment. We’re in charge of putting together the optimal software and hardware set-up to run our products. The significance of this can not be overstated.
Installable = Lots of room for things to go wrong
With desktop or remote server based software you may have a single code base (as long as you haven’t made custom versions for this, that, and the other customer), but you have to deal with endless operating environment variations that are out of your control. When something goes wrong it’s a lot harder to figure out why if you aren’t in control of the OS or the third party software or hardware that may be interfering with the install, upgrade, or general performance of your product. This is even more complicated with remote server installs when there may be different versions of Ruby, Rails, MYSQL, etc. at play.
Backward compatibility headaches
Further, when you sell installable software you have to deal with backward compatibility. If your latest version is 3.2, and a few thousand people are still running 3.0 instead of 3.1, what does that mean for your upgrade procedure? And what about those people still on 2.9 or 2.8.7? Maintaining backward compatibility is probably the biggest impediment to software progress.
Of course web-based hosted software has similar issues in regards to different browsers and different versions of those browsers, but this issue is the same for web-based installed software. This negative is a wash.
Upgrade cycles
Lastly, web-based software can be updated and improved instantly for every single customer at the same time with no effort on their part. We can update the software daily — or multiple times a day — without placing any burden on our customer base. Installable software usually has slower upgrade cycles because it makes more sense to group releases together so you don’t have ask people to download updates every day.
None of this is to say desktop or installable software is dead or uninteresting to us as consumers. But as far as building it goes, we think we’ll stick to what we love: Developing and selling web-based hosted software.
Anonymous Coward
on 03 Dec 07Plus you wouldn’t be able to charge monthlys.
JF
on 03 Dec 07AC: Yeah, our entire business model would have to change as well. It would be more expensive for customers to get started with our products. That’s not the direction we want to go.
Keith
on 03 Dec 07After dealing with Blackboard for years this installable model has always been their achilles heel in terms of both customer satisfaction and product support.
Once you put your software on another person’s system their system administrators are immediately both infallible and HIGHLY offended that you would suggest how the software be configured or installed on the client’s hardware.
It’s really a no win situation because things will ALWAYS come up from incredible growth outstripping the hardware, to really bizarre singleton problems with driver incompatibilities that lead to the application acting strangely.
The hosted solution is really preferable. I think people really want a few things:
1 – Support. On demand and quick answers. 37signals has always been responsive to my support tickets. check!
2 – Products that work. I can’t remember a time when my backpack account was unavailable when I needed it during normal business hours. check!
3 – Data security. I trust everything I’ve got in my account with 37signals because they’ve never given me cause to think my information would be compromised in some way. check!
4 – URL control. In my company we name all our sub-applications appname.oururl.com. Unfortunately this is one thing that cannot be controlled by 37signals. There are plenty of things that can make it happen on internal routers to just “redirect” folks to the right site, or on local machine images to change their hosts settings. almost check!
That said the model just works. I’d leave to hear someone from warehouseapp comment though since they are doing something different.
Ivan
on 03 Dec 07... and we would be able to use disassemblers :)
Thomas
on 03 Dec 07Some great points, especially from a developer’s perspective. However, I do hope we can keep the desktop apps. Unfortunately, I feel people make more crappy apps on the web, than for the desktop.
I love your apps, and will definitely be considering Backpack to play a role in my academic life from next September when I am off to university. Yet, I also love the feel you get from desktop apps, and at this time, I don’t think this is mirrored on the web.
Matt Radel
on 03 Dec 07What about using Adobe AIR to create installable versions of your products? It’d be swell to have the ability to work offline and sync my stuff to my online account when needed. Plus, I’d think it really wouldn’t change your business model much.
Just a thought. :)
Tony
on 03 Dec 07The real reason? $$Money$$.
Getting customers hooked on a recurring billing cycle of $12-149 per month is good for business. There’s no way 37signals would pull in that kind of revenue if the software was installable (which typically means being sold for a one time free) ...just calling it as I see it ;-)
Tony
on 03 Dec 07oops… one-time fee*
Keith
on 03 Dec 07Tony,
I think for most enterprise apps that 1 time fee thing is not necessarily the norm.
We pay LOTS of companies licensing fees on an annual basis for products. In fact, the $149 a month for an enterprise project management app isn’t as outrageous for a large company as you might think.
Dudu P
on 03 Dec 07I completely agree with all the points, Jason.
However, as Matt Radel said above, some encapsulation through a desktop client software would be nice, too, because it would allow the online app to offer a richer experience which a web browser won’t.
To me, a very good example is the Airplane which encapsulates Gmail in a nice way. Of course, it’s far from perfect, because Gmail wasn’t meant to be encapsulated. But I think you got the point: drag and drop of external files, real and pertinent keyboard shortcuts, file associations, system notifications.
I believe that someday we’ll have a safer web browser environment for web apps, which will allow deeper integration with the OS. At least, that’s a very nice thing to dream of. :)
Chad Crowell
on 03 Dec 07Tony- while I am sure that the billing may have a role in decisions that 37s makes on software, they have always presented the case of hosted vs. install very clearly and consistently. So why make it sound like that is all a front and its all about money? If most companies were as up front with inside info as 37s is, i’m sure the world would be a much better place~ why do you have to make it ugly, Tony? Why? :)
Thanks for the insight guys. As I am currently building a web app, its always nice to hear why you make the decisions you make so that I can consider those thought processes as I make my own decisions.
Allen Pike
on 03 Dec 07Another advantage maybe be that the type of customer who can be happy with a hosted solution is liable to be easier to please and work with than the type of customer who demands an in-house solution to everything.
Joe S
on 03 Dec 07I agree with your points. You’ve made some very shrewd decisions.
I work for a large enterprise, and the mentality is one that we would never use “simple” software, it has to be comprehensive so we can buy a support contract and all that jazz. Plus there’s all this concern that the data is “out there” and not hosted/owned locally on our servers/computers. I use your products for my personal life, I just wish I could find stuff as useful that would work in my job too. Its really just a shame.
Great stuff guys, keep it coming.
Jacob Smith
on 03 Dec 07I’m wondering about something like Google Gears support.
For something like Highrise this could be especially helpful.
Sync up your contact before you leave and be able to access their information with or without an internet connection.
John Topley
on 03 Dec 07Don’t forget that all the major 37signals apps have APIs, so there’s nothing to stop someone else from building desktop clients.
Justin Palmer
on 03 Dec 07We released Warehouse as an installable application and have had some interesting and predictable results.
I wouldn’t advise releasing software (especially ruby software) that is intended for common web users. The reason we went with the distributed model for Warehouse was the market was developers/do-it-yourselfers and the possibility of a plugin community. Take a look at Mint and TextMate as two examples of distributed software with a very healthy community.
The primary pain we ran into was making it as easy as we could to install and upgrade. We’ve experimented with different ideas, but we settled on using the Highline library to assist users through and interactive command line installer. So, instead of users having to open files on the server (database.yml), we ask questions through the installer and generate the files necessary. This will never be as easy as a hosted platform, but it’s better than giving someone a zip file and saying “Good luck.”
To sum up, I would advise you to stick with the hosted solution if you: a) have the infrastructure (servers, sysadmin guy) b) have a good recurring billing system or intend to build one. c) intend for your market to be non-technical
Use a distributed model if: a) You’re an individual and/or don’t want to/can’t afford to manage servers. b) Don’t want to write a recurring billing system c) Wish to have pluggable software. (We’ve actually had people fix bugs in Warehouse because the code is viewable and hackable). d) Your application is targeted towards people who share a similar passion for development.
Seth
on 03 Dec 07This was actually the straw that broke the camels back where I work. They wanted to use a system that we could host internally for security reasons…which is one way of saying, “If we don’t control it then it must be insecure”, but when you deal with millions and millions of dollars a day, security is priority #1.
Claus
on 03 Dec 07I unserstand. Of course, hosted software solutions are much better for the company which offers it.
However, you offer business applications. I would like to ask whether some of your clients WANT to have a installable software solution because they do not want to have their business sensitive data stored outsourced. What’s your opinion about that?
Paul Mobley, MBA
on 03 Dec 07Jason is right…The business model of 37Signals would be quite different. It’s not right or wrong…but you do have to make a choice. If you look at it from the other side, it is also difficult for packaged software to be effective when moving onto the web. The strengths of one company are the weakness of another.
All things being equal (i.e. quality of the software) more and more business systems are going to move from static software installed on individual machines (or local intranets). In my opinion, The demands of business in the next few decades will likely show that companies like 37Signals, NetSuite, SalesForce, etc will be the innovators/leaders, and the other types of companies like MicroSoft will be too slow and bulky to respond and fall behind.
Sure all these applications have a way to go but it is better to be on the edge pushing out than in the middle wondering why the party is starting to die.
JF
on 03 Dec 07However, you offer business applications. I would like to ask whether some of your clients WANT to have a installable software solution because they do not want to have their business sensitive data stored outsourced. What’s your opinion about that?
Yes, sometimes people ask and our answer is that we don’t provide installable software. We understand that may be a deal breaker for some, and we’re OK with that. We’re not in the installable software business. We’re here to make great hosted software for those who are comfortable with hosted software.
pwb
on 03 Dec 07“We understand that may be a deal breaker for some, and we’re OK with that.”
Why is it so hard for some companies/people to walk away from lousy business?
mandy
on 03 Dec 07Because the people making the software and answering the customer support requests are not the same people making the business decisions. They don’t have to suffer the consequences of their actions.
Tim
on 04 Dec 07I know it’s not something that 37signals are interested in, but packaging apps as VMware appliances can get around a lot of the woes of installable software support.
That way you can deliver software fully configured with identical settings right down to the OS level. I’ve been evaluating several CMS’s like Drupal and Joomla that get delivered as VM appliances on a full LAMP stack and they’re up and running instantly. Automatic updates could be built-in fairly easily to keep everyone on the same version.
Of course there are still hardware issues that could occur, but standardising the entire software stack in a VM takes most of the pain out of distributing complex software.
matt m
on 04 Dec 07You could always go the physical appliance route. Works for The Google!
Noah Gibbs
on 04 Dec 07mandy: in a small business, the people making the software are the ones making the business decisions, and are the ones who suffer the consequences.
Unfortunately, picking up a new business that you can’t do well, and aren’t structured to do well, is often far more expensive than leaving it alone.
It’s very common for sales guys to promise a product for less money than it costs to build it—the company is stuck losing money and/or breaking contract because the people who agree to do it don’t understand how bad an effect it will have on their core business. Agreeing to do a product you hate and having it disrupt your core business (like, say, making the 37signals guys support packaged software for a few security-conscious businesses and reducing their job satisfaction) is the same kind of “killing the goose that lays the golden eggs” scenario.
Scott Meade
on 04 Dec 07For customers, the SaaS model offers an ongoing relationship and strong incentive to your vendors to continuosly improve and provide to a high level of service that keeps you as a customer. The typical “installed” software purchase made by individuals and small-businesses doesn’t provide that sort of ongoing relationship and continued expectation to perform.
For vendors the SaaS model offers, of course, recurring revenue. SaaS is a good blend of high-margins and recurring revenue. Historically (like, way back in the 90’s), vendors have had a split between the recurring revenue of services (consulting, support) and the high margins of software (costs relatively little to print more copies or add more users: no mfg, no inventory, no shipping, etc.). With SaaS, vendors get both recurring revenue and high margins.
It’s a win-win; and everyone likes win-wins, right?
Sean Tierney
on 04 Dec 07Jason, what if you could solve the above problems and still offer the 37signals applications effectively running as SaaS only on-site within the customer’s firewall?
JumpBox is a company I helped start and we recently did a proof-of-concept app for a hosted Rails application (www.lighthouseapp.com) to demonstrate that we can do this very thing. We’re still a few months away from being able to deliver a bulletproof solution for this but I would think having the ability to sell a on-site version of the Basecamp product alone for 15k and not having it significantly alter your current business (still one codebase to maintain, updates pushed automatically to instances in the field, deploys on any OS in under a minute, customers not able to see the code, offload support of the runtime environment to us) would be a very attractive deployment option to have for folks like Apple that will never agree to host their data off-site. we could probably accomodate a monthly subscription-based model too with some time.
we’re young so we’re open to various licensing arrangements and willing to work with other small companies like ourselves. oh yea, and our platform is pure RoR as well :-) let me know if this is of interest and you’d like to discuss further sean
Scott Meade
on 04 Dec 07And don’t forget, companies like 37s aren’t just selling software and aren’t just making things easier on themselves. Companies offering “hosted” apps are selling the services of “installing”, configuring, maintaining, backing up, scaling, and adminstrating the applications you use. Now, instead of hiring a sys admin or even taking an afternoon installgin software on your machine(s) yourself, you can use that time to get business done. Hosted solutions make things easier on the people that buy them too.
rick
on 04 Dec 07I just wanted to add to what Justin Palmer said about our experiences selling a packaged app. We’ve looked at (and had our hosted app demoed on) a Jumpbox. They build vm instances that run on vmware, xen, and parallels. Someone can literally download the image, double click the icon, setup an IP address, and begin using the software. Also, the source stays protected behind an SSH login on the virtual debian install.
Still, it is another version of our product to support. It’s not easy for small teams to keep all this going.
Sean Tierney
on 04 Dec 07rick, fyi: we recently added support for Virtual Iron and Microsoft virtualization products (Virtual PC and MS Virtual Server): http://www.jumpbox.com/node/770 http://www.jumpbox.com/node/751
Sean
ben
on 04 Dec 07I think for most enterprise apps that 1 time fee thing is not necessarily the norm
Manuel Martensen
on 04 Dec 07It’s so utterly rare that the developers, the marketing guys and the boss pull on the same rope — and feel good about it at the same time.
Thanks for just another heads-up!
Daniel Lopez
on 04 Dec 07I hear your pain about installable software. The stuff we are doing at BitNami and BitRock can help, even for RoR applications. For example, take a look at our open source Redmine or Ruby on Rails stacks.
Tony
on 04 Dec 07“So why make it sound like that is all a front and its all about money?” Sorry if I made it seem that money is the sole reason, cause I definately agree that hosted software has a lot of upsides. , but you have to admit the recuring billing is a really good business model for 37signals.
“why do you have to make it ugly” I don’t see anything ugly about a cool, agile company being profitable.
Chris
on 05 Dec 07I know this isn’t exactly Microsoft country, but I’ve always considered supporting millions of boxes worldwide a pretty impressive feat.
With a web-app there’s just one box. Makes it so easy.
Mike
on 05 Dec 07Hi Tony,
I sell software for a living and I thought I’d offer a different perspective based on my 15 years in the business.
Sure, a hosted model in an annuity based service, but what do you think happens when you buy installable software? Think of the benefits of a hosted model:
1. No integration cost. Software companies make a ton of money on the services side; meaning making their software work in your environment. Those are typically several month contracts. We use an equation at work which states integration fees are typically 50 to 70% of the software cost. Every app is different but the point is it can be very expensive.
2. No maintenance cost. When you buy software, you can’t get the patches unless you have a maintenance agreement. Maintenance fee = a monthly or yearly fee.
3. No version to version upgrade cost. At some point, a new version of software will come out and your maintenance agreement only covers patches. Time to pony up and buy the next version as try getting support on an old version. And don’t forget any integration issues which may come with the new version. Proof of concept? Testing? $$$
4. No hardware refresh. And then there’s the infrastructure side. Hosted model tweak their app to new hardware and OS versions. You don’t have to worry about storage, DR, etc.
5. Defer up-front procurement of expensive infrastructure assets. No sunk cost or substantial contractual commitment. You can move away from a hosted model with little financial risk. What happens when you make an investment in software, maintenance agreements, hardware, infrastructure, application management, DR, network, etc? Try telling the boss you want to move to a new software package after you invested $xxx…
In other words, the risk is transferred to the service provider and all you have to worry about is a monthly fee.
6. Implement a solution quickly with less cost and risk. Hosted model is a few clicks away from getting started…
7. Improve existing enterprise applications issues related to performance or critical skills shortages
8. Move from fixed costs to a variable, but predictable, outsourced cost model.
Tony, If you think about it, companies like 37Signals may be missing out on a big services revenue opportunity by not offering a installable package. This a good model for them as there are less support headaches and allows them to be creative, but an even better value for you. Personally, I’d like to see more companies focus on creating innovative solutions which spread the cost over their portfolio of clients (i.e., more bang for my buck) vs creating a product which requires me to design, build, and manage…
“When everything is connected…work flows to the places where it can be done best.”
José Lamas Rios
on 06 Dec 07Cale Bruckner
on 07 Dec 07Joel over at Joel on Software used this post to highlight the fact that FogBugz, their bug tracking system, is available in both “host yourself” and “hosted” flavors. I don’t think he gave you guys enough credit for great products you’re producing. Strategically, I think you made the right decision to NOT offer your products in installable versions. I use both Basecamp and Fogbugz on a regular basis and dealing with the installable version of FogBugz can be a real pain – Basecamp, on the other hand, is always current and it just works. Read my post for more at http://www.palmit.com/archives/2007/12/07/fogcreek_fogbugz.html
Manolis
on 09 Dec 07That’s why we never sell SaaS to the IT guys. We always sell to the business guys who have the problem we’re solving.
Mykhailo
on 09 Dec 07I’d like to use 37signals products in my future business which I’m just starting. But I’m concerned about the “locking effect”. What if later I decide to change it for some other service? I’ll have large problems with this, because (1) I’ll probably lose some clients which will try to find me at my old web address (at least, I’ll have to move my company stuff to use a new web address), and (2) I’ll probably lose the data which cannot be downloaded in some open format. I’ve not studied 37signals’ products well enough to make some decision whether I want to use them or not, but these potential problems concern me. Maybe I missunderstand something?
Mykhailo
on 09 Dec 07Ups… “Misunderstand”, not “miss” :)
This discussion is closed.