Bugs, flaws and other errors are an unfortunate – although unavoidable – factor of software development. There's simply not enough time, personnel or resources to comb through code and identify every potential problem before a particular project is released. However, programmers and quality assurance professionals need to take every opportunity to minimize the number of bugs in a finished product, as an organization could receive some substantial blowback from consumers if critical errors are reported in commercial releases.
Developers behind the popular Evernote suite of software tools experienced such a public relations incident when tech writer Jason Kincaid took to his blog to outline a performance issue he recently encountered. The Evernote package contains numerous tools for users to record and archive information, including through text and audio media. When Kincaid attempted to record a long, improvisational musical piece, he was dismayed to find that the Evernote file appeared to be corrupted. Regardless of the media player he used, the document's audio content could not be accessed.
Bugs continue to flourish
After contacting Evernote's support staff, Kincaid was notified that other users had experienced similar issues, and that the company had yet to ascertain the source of the problem, much less rectify it. Since the initial problem, Kincaid stated that he has encountered similar instances in which his audio notes become corrupted or mysteriously disappear. This bug is just the latest flaw that Kincaid has run into since using the software suite on a regular basis, although earlier performance problems were not as crippling.
"Evernote's applications are glitchy to the extreme; they often feel as if they're held together by the engineering equivalent of duct tape," Kincaid wrote. "Browser extensions crash, text cursors leap haphazardly across the screen – my copy of Evernote's image editor Skitch silently failed to sync for months because I hadn't updated to the new version."
Users such as Kincaid who run Evernote mostly as a lark and to record little bits of ideas when they arise may view these performance problems as little more than an irritant. For individuals who rely on this software for more important projects, however, the recurring bugs could lead to more harmful consequences. Furthermore, if consumers begin to lose faith in the quality and reliability of the software, Evernote's backers could see their profits fall as former users flock to a more stable competitor.
Privacy issues may linger
Perhaps an even more distressing bug came to light when Kincaid attempted to get some assistance from Evernote's support team. A standard part of the troubleshooting process requires users to send an Activity Log, so technicians can identify the software's configurations as well as the conditions under which an error occurred. Given some of the sensitive personal information that might be contained in his notes, Kincaid was understandably reticent to pass along these records without some assurance that Evernote team members would not be able to view this content. Although he was told that only a bare minimum of recorded information would be viewable to technicians, Kincaid subsequently found that a bug in Evernote's Mac-based iterations results in the text from notes being duplicated in the Activity Log, potentially giving tech support teams full access to a wide range of sensitive information.
Evernote CEO Phil Libin addressed concerns regarding these issues in a recent blog post, vowing to shore up the performance and stability of the software suite. He conceded that there were some shortcomings in Evernote's code, but that his teams were working on making the necessary fixes.
"We kicked off a company-wide effort to improve quality a couple of months ago," Libin stated. "The precipitating factor was the frustrating roll-out of our iOS 7 version. We gained many new users, but rushing to completely rebuild the app for the new platform resulted in stability problems that disproportionally hit longer-term customers, including ourselves."
Given the volatile nature of the modern software industry, it's inevitable that some products will be rushed to market. Developers and quality assurance professionals are under a great deal of pressure to finish projects within a short window of time, potentially leading to bugs going unnoticed until a program is released to the public. Under these circumstances, it's advantageous for programmers to take advantage of high-quality testing tools such as static analysis. This asset will comb through software code, identifying errors and correcting them without any manual oversight. In addition to speeding up the testing process, static analysis allows personnel to devote their time to other testing needs. This way, programmers and QA team members can work together to release better software in a shorter amount of time, satisfying both end users and upper management.
Software news brought to you by Klocwork Inc., dedicated to helping software developers create better code with every keystroke.