* The Business of Software

A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

We're closed, folks!

Links:

» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)

Moderators:

Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

Updating of an app: question about customers convenience

Hello all!

What do you think about silent updating of the apps? I mean that there's a four "basic models" for app's updating:

1. Fully manual mode. Customer gets the news about an update (for example, via newsletter), after that he downloads an update directly from app's website, and applies it to the app. Manually.

2. One-click mode. App automatically checks an update (for example, just after start) and, if it exists, app tells to customer about an update, he clicks to the button, and app automatically downloads an update and applies it.

3. Automatic mode. App automatically checks an update (for example, just after start) and, if it exists, app automatically (in background mode) downloads an update and applies it AND tells to customer about last updating.

3. Fully silent automatic mode. App automatically checks an update (for example, just after start) and, if it exists, app automatically (in background mode) downloads an update and applies it. Silently.

So, question: what mode is more convenient for the customer?

I think "Fully silent automatic mode" is most convenient, because customer don't think about an update, but always have a last version.

On the other hand, many users likes to control an app, and if app will update itself silently, they will be dissatisfied.

What do you think about it? I'd be very grateful for any opinions.
Denis Shevchenko Send private email
Monday, April 22, 2013
 
 
I have options 1, 3 and 4 (silent, fully automatic).  Configurable. By default app set to "notify but do not install". All updates (even manual) are instrumented in the background so I know what is going on. About 5% of customers switch  to silent fully automatic but these are the most active customers anyway.
Maksym Sherbinin Send private email
Monday, April 22, 2013
 
 
If you do automatic updating than you are either:
1) Assuming the user is running as admin.
2) Not running from Program Files which is read only and therefore not up-dateable.

If you are doing 1 then you need to stop and re-think your career as a programmer. If you are doing 2 then assume you will never sell to enterprise customers who remove execute privileges from the documents and appdata folders.

If you are only selling to home users, then 2 might be workable.
Adrian Lock Send private email
Monday, April 22, 2013
 
 
I think it totally depends on your niche.  IT types and computer geeks want control and get ticked off when things are installed without their consent.  My mother doesn't know or care -- she just wants the computer to work -- she would be fine with automatic update as long as it didn't get in her way.
Doug Send private email
Monday, April 22, 2013
 
 
> 2) Not running from Program Files which is read only and therefore > not up-dateable.

There are workarounds;

1. Look at what Chrome does
2. Installer can set rw access for some folders under PF\your_app

Also if update fails because user is not an admin  nothing prevents you from showing a nice error message which explains what went wrong and how to fix it.
Maksym Sherbinin Send private email
Monday, April 22, 2013
 
 
Option 1 should be the only one.  Worse thing that ever happened to personal computing is non-stop software updates.  Poor quality of software combined with users forced to be beta testers.  There is no value added for the user, fixed bugs are just replaced with new ones. 

If your update adds features, the user should be allowed to decide if he or she wants those features, after all, the program was purchased according to the original feature set, not in anticipation of unknown future features.  If there is value to added features, then you should charge for them.  Can't do that with automatic updates.
Howard Ness Send private email
Monday, April 22, 2013
 
 
Public web sites are by definition "fully automatic silent mode" and a lot of them are fundamentally apps - eg. Amazon, CraigsList, Travelocity etc. They seem to do OK. This might not work so well if people logged into them in the morning and used them all day long. So it really depends on the nature of your average user's interaction with your system.
GregT Send private email
Monday, April 22, 2013
 
 
For me in the role of customer, only #1 and #2 are acceptable. #2 is only acceptable if check for updates can be disabled in program options.

Accessing the internet without being told to is automatically suspicious behavior.

"question: what mode is more convenient for the customer"

That is a loaded question to frame it only in something called "convenience", when there is also a factor of a subset of security conscious customers who have serious problems with 3 & 4.
Scott Send private email
Monday, April 22, 2013
 
 
"Worse thing that ever happened to personal computing is non-stop software updates."

Howard, I agree, and what do you think about the secret update with the new "Critical feature you depend on has been removed without notice for the convenience of customers because of the new simplified workflow" feature. It's real popular in Apple releases. Did you know that before the iPhone was released the system had extensive support for synchronizing the address book of a wide variety of cell phones? That feature was removed when iPhone came out, whether you wanted it removed or not, and with no notice.
Scott Send private email
Monday, April 22, 2013
 
 
> Public web sites are by definition "fully automatic silent mode"

This is completely irrelevant to desktop software since you normally don't own or control someone else's web software. In the case where you do own and control it, such as it's a site the company you own hosts and your workers are maintaining it, you're going to be unhappy if they secretly do a bunch of stuff that you didn't want them to and deploy it publicly without your authorization or consent. In fact you'd probably fire them for doing so.
Scott Send private email
Monday, April 22, 2013
 
 
Option #2 is ideal. Tell the customer there is an update available and provide release notes. The customer can either accept or decline. The customer gets the update if he or she accepts. Yes, you have to address the possibility that the customer will not have access to update the app.

No matter how good your testing is, some update will break something for someone. A customer will never be happy about that, but the update happening silently and without consent will turn irritation into rage. And rightfully so.

I don't like that Chrome updates automatically, although given that a browser perhaps the piece of desktop software most likely to need security updates I can appreciate why it does.

John
John Brayton Send private email
Monday, April 22, 2013
 
 
> No matter how good your testing is,
> some update will break something for someone.
> A customer will never be happy about that...

You're absolutely right, John! I agree...
Denis Shevchenko Send private email
Monday, April 22, 2013
 
 
> ... there is also a factor of a subset of security
> conscious customers who have serious
> problems with 3 & 4.

Yes, it's true, Scott! That's why I prefer #1 and #2...
Denis Shevchenko Send private email
Monday, April 22, 2013
 
 
"what do you think ... feature you depend on has been removed without notice"
I was going to complain about being obligated to make enterprise servers jump hoops to work with iOS devices, but Apple doesn't care about the enterprise market.  All they care about is making sure their customer base doesn't have to look stupid by calling for support.  Every feature Apple removes is a feature they don't have to support.  Which is one of the reasons I keep saying Apple users have below average computer literacy and above average disposable income.  Nirvana will achieved when your iPhone auto answers every incoming call with a snotty synthesized message saying that the owner of this phone is too important to talk to you.
Howard Ness Send private email
Tuesday, April 23, 2013
 
 
> Maksym

Your answer has convinced me to never install any of your software.
Adrian Lock Send private email
Tuesday, April 23, 2013
 
 
@Adrian

Good. You  should also uninstall any Google or Microsoft software. Because this is exactly what they do.

Back on topic. There is nothing wrong with automatic updates if done right (of course it could be absolutely disaster). Technically it's not a big challenge if software properly structured.

Does thread started need it?  For code formatting tool I'd say "no".    Does auto-update benefit customers? Absolutely. In some case, for example client-server enterprise software, it is a must have. Should it be default option? No way. If there any way get get paid for updates and still have auto-update feature?  Sure. Take a look at Office 365 auto update.
Maksym Sherbinin Send private email
Tuesday, April 23, 2013
 
 
> Does thread started need it?
> For code formatting tool I'd say "no".

Yes, Maksym, I think so too.
Denis Shevchenko Send private email
Tuesday, April 23, 2013
 
 
@Denis

By the way, does your tool support different SQL dialects like PL/SQL or TransactSQL)? Also do you have a plugable lib or cross-platform command line tool? I've been looking for a good embeddable (into Java app) SQL code formatter for years.
Maksym Sherbinin Send private email
Tuesday, April 23, 2013
 
 
> By the way, does your tool support different
> SQL dialects like PL/SQL or TransactSQL)?

No, Maksym. It currently supports only C and Objective-C. I didn't plan to add support of SQL, but maybe, in the future...

> Also do you have a plugable lib...

No.

> ... or cross-platform command line tool?

Style Revisor is a command-line tool too. Run in the terminal - and work with command-line interface, run by click - and work with GUI.

And about cross-platform... It works on OS X, and in the near future - on Linux.  On Windows - maybe...
Denis Shevchenko Send private email
Tuesday, April 23, 2013
 
 
> Maksym
> You  should also uninstall any Google or Microsoft software. Because this is exactly what they do.

You've missed my point. On a public forum linking to your software, you said "Installer can set rw access for some folders under PF\your_app".

It staggers me that you cannot see how badly this reflects on you and your company.
Adrian Lock Send private email
Wednesday, April 24, 2013
 
 
Still couldn't quite believe what Maksym was suggesting so I installed his Data Explorer software on a virtual machine.

This is a picture of the security settings on the installation folder.
http://s7.postimg.org/y1x81a7kb/security.png

His installer gives Everyone the Modify privilege on his installation folder.
Adrian Lock Send private email
Wednesday, April 24, 2013
 
 
@Maksym - Adrian is right. Allowing RW access in Program Files for everyone is a security breach.
Why don't just request admin rights when needed?
Kuzmitskiy Dmitry Send private email
Wednesday, April 24, 2013
 
 
My Windows installer (there are others as well) installs into Program Files only if user has admin privileges. Also app is cross-platform and self contained, it needs a rw access to the most folders under app_home.Last but not least files that matter signed by comodo certificate and  verified at run-time.
Maksym Sherbinin Send private email
Wednesday, April 24, 2013
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz