views:

329

answers:

5

After seeing some of the problems that Microsoft has had upgrading people from Internet Explorer 6 and also seeing how Firefox has automatic updates, it's made me consider the benefits and drawbacks of a push-style upgrade system for our web app. In your opinion, should a web app have automatic updates? Why or why not? If yes, what are some of the issues that need to be taken into consideration and what strategies would you employ to make the upgrades as seamless as possible? Are there any existing examples you could point to of web apps that have a similar system?

Edit: For clarification, the web app is a content management system with a website front-end, similar to Joomla or Drupal. We would be offering the CMS as a product, so any updates would install the latest version of the application on our clients' servers.

+4  A: 

Pushing a client app update to somebody's computer is putting to risk only that user's computer and data.

However, you can't automatically push updates to other people's servers. You don't know what their envirnment is and what you can break by pushing your updates. And given that your people will be using your app to publish their content to their users, you would be risking your users business.

Franci Penov
That was one of my concerns. Is there a safe way to do this, or do you feel like an automatic notification system of when an upgrade is available is a better course of action?
VirtuosiMedia
No, there is no safe way of doing pushing updates to a server you don't own. There's also no way to automatically notify the server owner, as the only UI you control is the one seen by the app users, not the your user - the content publisher.
Franci Penov
+1  A: 

If you do decide to add such a feature, it would be wise to let users opt-out. CMS is something were customization is common, and updates can break it with horrifying results. We've been down that road at one of my places of employment, where a CMS framework upgrade caused many, MANY hours of re-work on our part.

Brian Knoblauch
Good point. If we do go down this road, it will definitely be optional. In your opinion, would it be better for upgrades to be opt-in or opt-out by default?
VirtuosiMedia
+4  A: 

Yes and No.

To be clear, it should be an opt in. You want auto-updates, you can select auto-updates. You will run into some implementation issues/limitations, but that is for another question.

I can see a mix, some users may prefer to have security updates pushed, but not a new version. Other may want both, some neither. If you keep it flexible, this could be the one distinguishing features of your CMS.

Infamy
That's an interesting idea, having the security updates and the new versions separate.
VirtuosiMedia
A: 

If I have it straight: Some users will go to a website to use your system while others will download a binary?

In that case, I'd force the download folks to upgrade. What if you make a change to the underlying database that effects how the client interacts with it? It'd be a pain to write every new version to work with those stubborn people using version 0.1 when you're already on version 4.0.

I'm assuming the web app and the downloaded binaries are using the same database. If you have a setup where an organization maintains it's own database, definitely do not force updates.

colithium
At this point, we're not consider hosting the app for others, so everything would be by download only. Their databases would not interact with ours.
VirtuosiMedia
Then as others said, no =)
colithium
+1  A: 

I think Wordpress has a feature that automtically checks for updates, and will put up a nag screen in the admin interface if you're running an out of date copy. That seems like a fairly good comprimise between forcing an update that could break users' installations, and simply posting a notice on your project website that users might not see.

Justin Voss
That is a viable alternative as well.
VirtuosiMedia
I've never installed Wordpress, so I wasn't aware that it had that feature.
VirtuosiMedia