Tag Info

Hot answers tagged

28

Depends entirely on the installation technology, company developing the software and the whim of the person using the terms. Generally though, updates stay within a product version (for example, hotfixes), while if you want to move to a later version, you would upgrade. So you might install an update (hotfix) for Office 2007, or you might upgrade to Office ...


15

Like Shaun said, there isn't really a standard. Some companies have better versioning practices than others (I've dealt with vendors who skip major version numbers, and others that are stuck on the same x.y several releases later). Having said that, the inventor of Gravatars and cofounder of GitHub (Tom Preston-Werner) authored a document for 'Semantic ...


12

Libraries are great and certainly solve a lot of problems very quickly. However they never solve every problem and even gluing together many libraries isn't enough to solve many specific use cases. Programmers are not typists. We've had that discussion before. Despite all the libraries, frameworks and out of the box solutions, there is always something your ...


9

The first question to ask is "Is the version of Java supported on the machine?" While updating the JRE is one thing, it may be that the underlying OS is not supported running the new version of Java (supported certifications and support contracts and the like that many enterprise environments like to have). Many java production environments are actually ...


8

How do you field criticism framed in "You must be a bad programmer because you're making your software worse"? But such criticism is mostly justified. A new release should not be worse than the previous, but as we know, in reality it often it is, and it is our fault because we made it. Making mistakes is human, and it doesn't make anybody a "bad ...


8

As a tech user, I don't terribly mind opting out of updates, but I imagine you'll see a fair bit of variation on that point. Are you expecting the majority of your app's users to be tech-inclined? If not, then enabling automatic updates by default is a great idea and I'd go with option #2. Otherwise... well, I'd probably still go with option #2 because I ...


7

It's not poor, deployment of the main install image and downloadable update/patch are different things. You cannot expect software providers chase all their downloadable images at all the mirrors to be updated with the latest nightly build, although some do that. Usually, a cut-off is being made for a release image, and until the next cut-off, the updates ...


7

Just as you can create a patch for a text (source) file, you can create a patch for a binary file as well. You are effectively just noting what changed between two files (that's called delta encoding). For example, if the app contains many resources, then those don't usually change for smaller updates, and only the executable code itself needs to be ...


6

Odd as it may seem the Windows Update dialog has the right options (ignoring the potential for problems caused by the default): Automatic (updates downloaded and installed without user intervention [Microsoft's words not mine]). Though this is badly worded and misleading as the system will reboot without giving you the chance to save work etc. Which is one ...


6

The short version is that there is no standard and companies do whatever they want. Essentially, the more numbers you have, the smaller the amount of changes each number represents. Commonly, you'll see at least version x.y, where x a change in x signifies major releases (major enhancement/feature rollouts) and y signifies minor releases (significant tweaks ...


6

If your working on a big update but don't want to give the impression of inactivity, write a blog post about it so that your customers can see that you haven't been hit by a bus. Other than that, I push fixes/updates as soon as they are available and tested. Severe emphasis on the and tested part. Lots of people out there have the one-line-fix mentality ...


5

I don't think there is a maximum time span between releases. It all depends on whether or not a new release actually does add value to the existing software. There might be situations, where the software simply does everything it's supposed to do and there really is no need to add feature after feature, after feature. Hence, the release cycles might be ...


5

Balance the level of desire for a new feature with the perception of how long it should take to develop. They may not be realistic, so you have to provide a little education. Sounds like you don't have much interaction with your users. If you do, they would have a better answer to this question. Otherwise, it depends.


5

Well, at work we don't interact directly with the clients much, so I'll have to answer this one from personal project work. I'm writing a game engine that people can use to build their own games. It's still in pre-alpha, but I've got a few interested users, and sometimes I get bugs. When I get a report like this from a user, I try to use the personal ...


5

If you set up the problem in the way you do by explicitly saying that there are no legacy reasons not to upgrade, everyone is going to agree that there is no reason to support older versions. Eliminating legacy reasons not to upgrade, however, is much easier said than done. Does the new version make any change to the UI? If so, that may mean that the ...


5

Insofar as the ancient question "what browsers should I support" the only good answer is "look at your traffic stats; combine with understanding of expense of what to support and make a rational decision." Anything else is ineffective. My take on the recent Microsoft action is it is more fluff and PR than anything real. The folks who are still on IE6 are ...


5

The bsdiff utility should come with OSX. If that can't work for you, there are other binary diff tools. However, with the advent of high bandwidth connections, the practice of distributing binary patches is becoming much less common. You can just as easily distribute a complete updated version of your program if need be.. FURTHER: A [good] module ...


5

This is an ordinary sandbox model (the one which is used with plugins/addins). Instead of calling the libraries directly, you load them in a different AppDomain. Doing this actually allows you to update the corresponding libraries while the application is still running. If you want to automate the process, the client application can monitor the directory ...


4

Where I work we use the following terminology: Snapshot Developers share these around with each other (example-0.0.1-SNAPSHOT) and are built over and over while developers get to grips with the various user stories and tasks. These never go beyond the development servers. To get beyond 0.0.1-SNAPSHOT you normally have to go through a release, but major ...


4

One program whose update style I really noticed for being done well is the diff/merge tool Beyond Compare. It's got an excellent, well-thought-out UI in general, and its update system doesn't disappoint. Basically, when it runs, it quietly checks the update server and if it finds anything, it sticks a link label informing you of the update in the ...


4

Let's reflect a bit here for a minute - the only browser in the last decade to cause major problems for existing sites when it changed version number was Internet Explorer. I don't recall a single instance of a client calling me and telling me their site is now broken with the latest version of Chrome or Firefox. There might've been some very minor visual ...


4

I think it largely depends on how your software is being used. If there is the chance that a user will incorporate your software in an automated system, be it a kiosk, a build script, a remote server, etc., then it is likely that those types of users will be resistant to upgrading no matter how "free" and "easy" it may seem to the developer. The problem ...


4

I would personally do it the following way: The applications released to your clients must have clear version numbers, for example "1.2", "1.4" etc, which is easy to be quickly determined on the client machine (registry/configuration file/table). The database schema for every single version is known and constant on every client machine. When you roll-out a ...


4

Libraries were created by someone to fit some purpose they had. It might sound like a problem you want to use the library to solve, but it might not fit your exact usage. When considering a library you do have to evaluate it. As a developer, one of your responsibilities is to think about how any library may fit into your software, and whether or not you can ...


4

"File prevalence/reputation is low" means Avast uses a reputation system based on the usage of the program. Only if your program has been installed and 'marked as benevolent' by enough users will it develop a good reputation and will this suggestion go away. Avast calls this the FileRep cloud feature and says "All new unknown files are potentially dangerous. ...


3

The purpose of version numbers is to provide a reference for problem reports. The only requirement is that every release has a unique version number. Some numbers are driven by marketing--bigger whole numbers are easier to sell, and power numbers like 10 (roman numeral X) are really catchy. Some people use some variation of semantic versioning: ...


3

Software companies would love this sort of subscription model but most enterprise customers tend to be wary about that sort of model Most companies are far more willing to allocate budget for a one-time purchase than to sign up for an ongoing subscription cost. They know that they have the budget today to buy 100 Office 2010 licenses, for example, but ...


3

If this happens to you every time you deploy, there could be a serious flaw in your development process. I would suspect a couple of things that are causing the problems. Do you develop against a database that is the same size (roughly) as production? If not then you will always have these problems because queries that are fine with small data sets are ...



Only top voted, non community-wiki answers of a minimum length are eligible