We have spent a lot of time in this series discussing QuickBooks performance in terms of networking, and hardware. Last time we looked at differential diagnosis guiding us as to which potential environment factors were probable causes of performance issues. In this article we want to begin looking at differential diagnosis with an emphasis on attempting to identify if the QuickBooks Application, Installation or QuickBooks Company (data) file is the culprit.
Application Issues and Errors
Most people refer to application issues and errors as ‘software bugs’, but not every application issue is a software bug, some of them are application design flaws. A ‘software bug’ usually refers to some programming error that was unintentionally and mistakenly allowed to reach the production phase of the application without being identified and corrected. Application design flaws are problems that are associated with the software that are by nature intentional in their design even though they do not produce desirable results.
Application Design Flaws
As an example, one might argue that the color changes in the 2013 initial releases of QuickBooks was a design flaw; the black-white color scheme was intentional in design, it was exactly what Intuit had determined users needed, but it was ‘flawed’ in that they soon found that it wasn’t what the majority of users ‘wanted’. Their intentional changes did not produce desirable results; to the contrary, they produced an ‘uproar’ and Intuit soon made changes in later releases and continued those changes into the 2014 product line. As I said, those who liked the ‘black-white’ schema will argue that it wasn’t flawed at all, but obviously the change to what we have now, and the options that the color schema permits, indicates it was a ‘flawed design’.
But I don’t want to argue over a color scheme; so I will address another ‘design flaw’ far more fundamental to QuickBooks design and performance. Everyone knows that QuickBooks performs worse as Company-files increase in size. QuickBooks Pro and Premier begin showing performance declines as file sizes approach 250MB, and Enterprise degradation starts around 500MB. This has historically resulted from the RAM limitations Intuit configured into the design of QuickBooks.
In order to make data rapidly accessible, every computer application uses “cache”, which stores some data temporarily in the computer’s RAM memory. In the case of QuickBooks the database server begins loading file data into cache until it reaches the maximum permitted according to QuickBooks design; when data needs to be accessed that is not already in cache, cached data must be written back to the computer’s hard drive, and data from the hard drive must then be loaded into cache. The more a QuickBooks file exceeds the RAM use limitations, the greater the effect these limitations have upon performance.
Until recently, the QuickBooks design limited the Pro/Premier products to a maximum of 256MB of RAM Cache, and limited Enterprise to a maximum of 512MB of RAM Cache. You can see by these numbers why performance declines as the file size approaches these values. These limitations were, in my opinion and in the opinion of many QuickBooks consultants who specialize in ‘file issues’, a ‘flawed design’ of QuickBooks, even though the limitations worked exactly as Intuit software engineers intended. Over the last year or so, Intuit finally came around to a different way of thinking and discussed changing the way QuickBooks uses RAM Cache including a procedure for allowing skilled users to change how much RAM QuickBooks will use. In other words they acknowledged the ‘design flaw’ and created a method to allow users to configure the best alternatives for QuickBooks use of RAM cache in order to improve performance. But these changes are not ‘automatic’ so this type of ‘design flaw’ can still impact performance unless users or their ProAdvisors take action.
In terms of differential diagnosis "application flaws" should exist for all installations of the software regardless of installation variables as long as the minimum standards of the software are met within the installation. The only way this changes is if a user can somehow manipulate the application, but where such manipulation is not present the performance should remain identical from one install of the software to another. As an example, QuickBooks Pro will always limit the maximum RAM Cache to 256MB on every computer it is installed on that meets the minimum RAM requirements. In no case should QuickBooks Pro limit RAM Cache to 256MB on one machine while limiting RAM Cache to 1024MG on a different computer, in the absence of manipulation.
Software Bugs
We have all seen ‘bugs’ in our software, including QuickBooks. It seems that as soon as a new year’s products are released, that there is a ‘maintenance update’ or ‘patch’ issues to fix bugs that users have found which Alpha and Beta testing did not disclose. In some cases ‘bugs’ can affect performance, but more often than not they affect ‘functionality’, if we limit the term ‘performance’ to simply how fast or how well our software operates. If we broaden the term performance to represent all of the intended operational capabilities and parameters, then ‘bugs’ can indeed be a source of performance problems.
From a differential diagnosis standpoint a "software bug" should be experienced by every identical installation of the same software; of course it is sometimes hard to know if a software installation is indeed identical to another software installation, and that is one factor we must consider in differential diagnosis of ‘software’ as the source of the problem.
Installation 'makes a difference'
In looking at the differences between application flaws and software bugs I have referred to ‘installation’ several times. It is hard to isolate ‘installation’ of the software out of the equation. If software installs properly, every time, then an application flaw or software bug should be solely the result of the software; however, if the software does not install properly, it can be very hard to identify the true cause of the irregularities and performance issues being encountered.
I want to discuss a specific case to illustrate how installation matters, but before I do, let me just say that this entire series focuses on QuickBooks performance, so even though it may seem that I am picking on QuickBooks, the differential diagnosis principles being conveyed in this article can be applied to any/every software application you may use, either now or in the future.
A few years ago the CDs issued by Intuit for their QuickBooks products had a flaw in which the ‘installer’ became corrupted during the installation, but this problem was essentially unknown to users because QuickBooks functioned and seemingly acted normally in every way until the user attempted to ‘update’ QuickBooks. At that point the new update would not install properly due to the installer error. Now the software bug affected the installation and the installation affected the software’s performance, so my question is simple. Was the problem the application or the installation? This is a regular ‘chicken and the egg’ scenario; and you can see from this example, perhaps more than any other I might give you, the relationship between software and installation. The software can affect the installation and the installation can impact the software.
Case Study
A user complains that her QuickBooks 2012 Pro will not switch from multi-user mode to single-user mode. She also tells you that the other two people in the office have no problems switching QuickBooks to single-user mode when they need to. You further learn that all 3 copies were installed from a retail CD-version purchased at the local office supply. Based solely on the information you have from this description, what is your first impression?
- This is probably a software bug associated with this version of QuickBooks which is not necessarily found in every copy of the software sold in retail stores.
- This is a software issue probably resulting from an improper or incomplete installation of QuickBooks on this user’s machine.
- This is typically a Company (data) file issue associated with a copy of the data-file on this specific user’s computer.
- This is almost always a ‘user error’; because the user simply doesn’t know how to switch to single-user mode from multi-user mode.
- This is most likely a networking issue associated with this user not being a Windows Administrator for the Server where the Company file is hosted.
OK, it is time for you to play ‘Data Detective’, so between now and my next installment in this series, be thinking about your answer. Feel free to post your answer, and why you think it is correct in the ‘comments’ to this article. I look forward to reading them.
In the next installment we will look at the ‘Company (data) file’, and differential diagnosis between the application, the installation and the data-file.