How Intuit Manages 10 Million Lines of Code
CowboyRobot writes "Intuit launched QuickBooks in 1992, and it has grown into the best-selling retail software for small-business accounting worldwide. QuickBooks is available on multiple platforms with different feature sets (Pro, Premier, Enterprise), in specialized editions (accounting, contracting, etc.), is available on CD or via subscription, and is offered in localized versions for the U.S., Canada, and the U.K. How they manage so many builds is a case-study for large scale programming. 'The Windows version is about 80,000 source files, 10+ million lines of C++ code plus a little C# for the .NET parts. Plus help files, tax tables, files defining local accounting rules, tax and other government reporting forms, upgrade offers — a lot of files. Every customer gets the full version. Specific feature sets are turned on and off with the license key.' And the lessons are not just technical. 'One surprising lesson is that small teams work, even for very large codebases — especially, Burt says, in sustaining an entrepreneurial, creative culture.'"
n early 1982, the Lisa software team was trying to buckle down for the big push to ship the software within the next six months. Some of the managers decided that it would be a good idea to track the progress of each individual engineer in terms of the amount of code that they wrote from week to week. They devised a form that each engineer was required to submit every Friday, which included a field for the number of lines of code that were written that week.
Bill Atkinson, the author of Quickdraw and the main user interface designer, who was by far the most important Lisa implementor, thought that lines of code was a silly measure of software productivity. He thought his goal was to write as small and fast a program as possible, and that the lines of code metric only encouraged writing sloppy, bloated, broken code.
He recently was working on optimizing Quickdraw's region calculation machinery, and had completely rewritten the region engine using a simpler, more general algorithm which, after some tweaking, made region operations almost six times faster. As a by-product, the rewrite also saved around 2,000 lines of code.
He was just putting the finishing touches on the optimization when it was time to fill out the management form for the first time. When he got to the lines of code part, he thought about it for a second, and then wrote in the number: -2000.
I'm not sure how the managers reacted to that, but I do know that after a couple more weeks, they stopped asking Bill to fill out the form, and he gladly complied.
http://folklore.org/StoryView.py?story=Negative_2000_Lines_Of_Code.txt
point is, just cause you can manage it, doesnt mean 10,000,000 lines of code is really something to brag about, especially for something that feels as cheap as quickbooks (though it does a ok job if your accountant cant use excel and must have things that visually represent checks)
Given that they haven't managed to come out with a native version of Quicken for Mac in over 6 years, I suspect that they kept that code on a napkin... then lost the napkin.
could have better done a research at how to keep a site alive with 10 mil+ ./-ers come knocking at the door.
Real programmers kept their code on punch cards.
Or toggle patterns written on a napkin.
FTFY
My college took out the card punching stations the semester before I took Fortran, though they still had the vacuum drum reader and used it occasionally. And, of course, the CRT terminals were inputting card format - first six characters for line number, 78 characters per line max.
The fossilized prof told stories of entering assembly op codes, in octal, with rotary dial interfaces.
Now, get off my... um, I forget, but get off it, NOW!
Well they did finally re-compile Mac Quicken 2007 for x86 (only $15! to upgrade) so I guess they found the napkin. After a year of searching for it.
Do you even lift?
These aren't the 'roids you're looking for.
They still do not support quickbooks for mac. I had to find a windows machine just for it
artificial intelligence is no match for natural stupidity.
Oh and as most anybody who uses QB often knows- it does suck quite mighty and gets slower even as PCs get faster. Piles of code isn't always a good thing, sometimes it just means you have a bloated heifer with lazy programming and no real improvements in half a decade or more.
that is in the cayman islands ver of the software.
How Intuit Manages 10 Million Lines of Code?
Very carefully. Next question!
Real programmers keep their code on punch cards.
No, real programmers do it by hand.
I find it to be bug laden and amateur for the most part. Use both Quickbooks Accounting (Retail) and their Point-of-Sale. Quickbooks works for the most part I guess, Point-of-Sale is Busch League...
And, even they had some signficance sometime or somewhere, why should I care about how they manage lines of ancient code?
Time is what keeps everything from happening all at once.
That paying well to a small team, and treating them like a people, not commodity, is actually worth the money!!!!
Oh, noooo, no, what about all the HR screams that this is not a sound business???
If it takes 20 million lines of code to do ones taxes there is simply something very wrong with the process.
Got Code?
Story has too many words when one will suffice.
My last job involved many, many frustrating hours with QuickBooks - every week. It's a steaming pile of crap. There were so many basic things missing, like decent reporting, that it was a total joke. I could go on for many long rants about how much I hate the software. We wanted to integrate Fishbowl, so we could do some trick inventory manipulation, but it wasn't implemented before I quit. They are still working on it.
In my new job, I get the daily reports from our 5 stores. QB failures are mentioned daily. I am so happy to be in an entirely different department.
I really wish there was competition for QB. I think it's a fine platform if you are a very small business with a limited product line. Get complicated, and it fails.
and it shows. First of all, I have been using Intuit for last 6-7 years. Secondary, I do appreciate the fact that US tax law is horribly complicated. However it seems that over last 5 years quality of Intuit software is going down the drain. Go to Intuit support forums and you will see what I am talking about. So answer to the question "How Intuit Manages 10 Million Lines of Code" is - poorly.
Quickbooks is the one thing that keeps Windows on my machine, and is the only reason I ever boot into it.
I tried hard to beat WINE into running it, but alas no luck - at least the version I run.
I looked at what's out there in Linux accounting software, and either it was really obscure, apparently abandoned, or aimed at mega-corps, not small and home businesses. Plus none of it offered an easy way to handle Canadian tax frameworks.
And of course we wanted an accounting package that our accountant would accept at year end. That means one of Quickbooks or Simply Accounting.
Three Squirrels
As someone who tried to use their Quicktax (web) product earlier this year, and managed to break it to a point where it wouldn't continue, I wound up using a competitors product for this year.
I don't think Intuit is necessarily bad, but their attempts to limit a product artificially so they have several different SKU's seems, for me, is resulting in lost sales as the limitations are being turned on/off at the "each key entry" level instead of "at the purchase" level. This is not exactly a product that people are going to pirate since it has their identification tied to it legally.
Rather they should only turn off features that "print" those pages rather than trying to prevent entry of those pages. Like for example I tried to enter about 100 lines about stock trading, but this is only available to the most expensive tier, I okayed "upgrading" to this, but for some reason it was this action that killed the web version, and I was forced to go back to square one with a competitors product.
So IMO, if quicken and quickbooks are managed the same way, I think they're losing sales with trying to upsale at key entry instead of at print. It may make more sense to turn off the features at key entry to avoid wasting time, but you're actually making the user go "well if this product is so limited, let's see what limits are out there"
This is a good example of where an Open Source product could probably replace proprietary software, since the market leader's software is such a poor performing bloated pig.
Still, I don't think intuit's products are intentionally bad, but rather their licencing model is making it feel like their software is bloated at best and broken at worst. Software should be using "plugin" models where additional features in other licence levels can simply not be initialized instead of initializing the entire product and checking at every key entry to see if the licence allows that feature.
Mac user or not Quicken like Intuit is a joke of a "pro" software company. When Symantec looks to hire people who can pack more useless lines of CPU hogging code they must hire from these guys. How this company has kept it's niche is beyond me.
monolithic code bases are in the top 3 three killers organization productivity. don't confuse the success of the company with bad practices.
They don't mention Profile anywhere, which is even more horrible than Quickbooks. Last time I had to support it I remember downloading dozens of VB runtime files...
Quicken and Quickbooks is the only application I know of to have survived a full-on Microsoft assault on their business. Microsoft Money has folded. It's something to be proud of, I guess - for now.
Help stamp out iliturcy.
Quickbooks maybe the industry standard, but it's also a giant jumbled up mess. Our company's quickbooks were down all day due to corrupted files leading to unsequenced invoices. I've never meet someone really happy with Quickbooks...it's just accounting software is really hard to develop, so it doesn't have many strong competitors.
I've had some simply horrendous user experience problems with Quickbooks that have persisted release after release.. I imagine the real question is how do they manage feature requests from 100M customers.. Do they simply make it difficult for developers to fix obviously wonky UI?
I wonder if the language used influences code quality?
Speaking as an accountant, i.e. the poor fucker who has to use Quickbooks, Quickbooks is a goddamn mess. It's constantly crashing or messing up for some reason or another. Version upgrades are like pulling teeth and its interface is terribly organized. The worse part? It's the best of a truly bad breed.
The last time that I tried to contact Intuit about Quicken on Linux was a mess:
http://dotancohen.com/eng/quicken_on_linux.html
I certainly hope that they handle their code better than they handle their customers.
It is dangerous to be right when the government is wrong.
Quickbooks and Quicken are similar only in that they are owned by the same company. They are not related in any other way. It sounds like you're giving too much weight to the "Quick" part of the names.
I don't respond to AC's.
As a solo developer, working 800 hours, I was able to write ~400,000 lines of debugged and play tested code. So 10 million lines doesn't sound like a lot at all to me. The only thing I experienced in writing so many lines of code is that I found a problem with the Eclipse editor. Once a single file starts going over 30k lines of code, there is type lag. The more code, the more type lag until you can no longer use Eclipse to edit that file, you gotta use Notepad.exe or Scite.exe.
Link here in case you want to play the game I wrote
Just out of idle curiosity: I wonder how many lines some of the bigger projects out there have. For example, how many lines of code do some of the Linux OS Kernels have? I'm curious because is 10 million lines actually a really large code base, because it doesn't sound it.
God spoke to me
So this Quicken Essentials for Mac isn't the Quicken you wanted?
Well, it could be an indication that this software management philosophy of "11 million lines of ancient C++ isn't a problem if you have the right attitude!" is shared.
Particularly considering it's just a "simple" tax programme.
It sounds like, instead of implementing the logic in data (i.e. arrays, external text files, etc) and having a fairly small compiler targeted at the problem, they implemented everything in C. This is something even C advocates advise against.
People who own Macs don't understand technical geeky things like numbers and are way too cool for accounting.
If you aren't part of the solution, then there is good money to be made prolonging the problem
Far easier to maintain a single properties file rather than millions of lines of code. Want to change the application then change the design and regenerate the whole application. Done this.
Given that they haven't managed to come out with a native version of Quicken for Mac in over 6 years, I suspect that they kept that code on a napkin... then lost the napkin.
They kept it on a floppy drive. They weren't sure how to access it when they got their new iMacs. They got someone to copy it to a CD, but that was at the same time their MacBook Airs showed up.
Jesus was all right but his disciples were thick and ordinary. -John Lennon
Intuit's software uses like it's been written by some undergrad CS students. They make among the most disorganized software I have ever seen and what would never pass a competent professor's eye just crops up in their software.
Needing to restart every day so you can update the timestamp? Really?
I will complement their NON-techies on convincing so many banks across the nation to go on board with their software. That is a very impressive feat. But their techies have my ire.
People who own Macs don't understand technical geeky things like numbers and are way too cool for accounting.
Considering we overpay for everything and buy new iShinies every 3-6 months, I'd say keeping track of our finances is even more important for us than for you bottom feeding 99%ers and your 'PCs'.
Jesus was all right but his disciples were thick and ordinary. -John Lennon
Maybe Intuit does feed their programmers well. Now if they would just hire some decent support people. We used to use a multi-currency version of QuickBooks, and the errors were simply astounding in their stupidity. As one, minor example: it was completely clear that some conversions were handled using floating point numbers, with the inevitable decimal rounding errors. At the end of the year, we had huge currency conversion errors - far beyond what even floating-point errors could explain - and essentially impossible to justify to the tax authorities.
There were lots of other problems as well. Trying to report errors was like talking to a black hole. The one time we really needed some real-time support, we spent ages on hold, or going around in circles with different people, and wound up getting no useful help at all. In the end, the only solution was to go back to a single-currency system, and deal with currency outside of QuickBooks.
Still, as bad as our experiences with QuickBooks have been, there's nothing better in the same price category.
Enjoy life! This is not a dress rehearsal.
they wrote "about 8 million" lines of code to run a theme park on a little island back in the early 90's, so 10 million lines for Quickbooks 2012 seems reasonable.
when the Windows and Mac versions of Quicken use different file formats and the conversion process between the two platforms has been fraught with errors forever?
I briefly worked for Intuit. IIRC, their policy is to focus on Windows because they "... don't want to spread their resources to thin."
Given that they haven't managed to come out with a native version of Quicken for Mac in over 6 years, I suspect that they kept that code on a napkin... then lost the napkin.
Pretty disgusting for (yet) a(nother) company who owes its success to the Apple ][.
For those of you too young to remember, Quicken started out as an Apple ][ ONLY checkbook program written in (of all things) Pascal.
I briefly worked for Intuit. IIRC, their policy is to focus on Windows because they "... don't want to spread their resources to thin."
Yeah right. Like they can't afford to hire some Objective-C programmers.
As I said before, pretty disgusting for a company who owes its very EXISTENCE to Apple.
How Intuit Manages 10 Million Lines of Code? Very carefully. Next question!
You meant "Not very well".
Yeah right. Like they can't afford to hire some Objective-C programmers. As I said before, pretty disgusting for a company who owes its very EXISTENCE to Apple.
It's absurd to say that they owe their very existence to Apple. Does everyone who develops software for Windows "owe their very existence" to Microsoft?
If they thought they could make a profit by porting their software to OSX, they probably would have done it. But large companies generally don't act for purely sentimental reasons.
Does everyone who develops software for Windows "owe their very existence" to Microsoft?
Pretty much yes, MS can cut off their market whenever they want. That's what Valve don't like, and is one of the main reasons why they are making Mac and Linux versions of Steam and many of their games.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
What do they do with the rest of their time? Test it?
http://michaelsmith.id.au
Pretty disgusting for (yet) a(nother) company who owes its success to the Apple ][.
Not really, given Jobs did all he could to undermine & destroy the Apple IIgs (Woz's creation) because it was outselling the unprofitable Macintosh (Jobs' baby), and decided that no more Apple II family systems would be released. If I was shoved violently into a ditch to give a less-worthy sibling the sole chance at survival, I sure as hell wouldn't protest if old friends of mine turned their back on said sibling the moment he ceased benefiting them in a huge way (and would likely cheer if they gave him the boot ahead of time).
Now mostly at Usenet:comp.misc & SoylentNews.org (it's made of people!)
How many lines of code would it take them to implement Nyan Cat??
A monkey hitting keys at random on a keyboard for a finite amount of time will almost surely code a 10 Million LOC program, such as the complete works of Intuit.
* adaptation of the Infinite monkey theorem
is shit
Meds not working like they used to any longer? I know how you feel, try the little blue ones.
Does everyone who develops software for Windows "owe their very existence" to Microsoft?
Pretty much yes, MS can cut off their market whenever they want.
Apple makes software for Windows. Does that mean Apple owes its existence to Microsoft?
No colour or religion ever stopped the bullet from a gun
So 10 million LOC? meh! seen that. INBD.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
They probably do owe their continued existence to Microsoft since their 1997 deal ($150 million investment).
You're a temporary arrangement of matter sliding towards oblivion in a cold, uncaring universe
Nice Michael Crichton reference!
And it still is a piece of shit.
So this Quicken Essentials for Mac isn't the Quicken you wanted?
It doesn't even understand that a loan is made up of both interest and principle -- so, no, a product that can't track your finances if you've taken out a loan is NOT providing the "essentials" of financial management.
Even Intuit knows that which is why they started selling a kit to people who bought the 2007 version of Quicken continue to run it on current OS X versions.
They arent managing those 10 million lines very well. QB is the bane of my IT existence.
Exactly, there area lot of better choices for real accounting software, QuickBooks is money for dummies. And my wife cringes when the new company she goes in to fix has quickbooks, She knows that it will be all screwed up. Quickbooks will let you fudge the books easily, and most "entrepreneurs" not only know nothing about book keeping and accounting, they are too cheap to hire one right off the bat to make sure everything is kosher. So my wife gets big $$$ to come in and fix their books and accounting system. Typically the "CEO" of the company hates it when told, "you are not in charge of any money decisions anymore, your accountant is. the4y can over rule you at any time. Get used to it."
They always choose Quickbooks because the crap can be bought off the shelf at Staples or other office supply place. It can be used as a decent accounting package, but it encourages the business owner to engage in bad or even illegal business practices.
Do not look at laser with remaining good eye.
Did they use those Unix workstations that even a little girl can recognize?
No kidding! If it takes 10 million lines for QuickBooks, then it is probably stored in a .txt file using the decimal number ASCII representation of the letters in the code instead of the letter itself.
I have seen programs that do a hell of a lot more than that does (3D graphics, advanced audio processing, database software) written in fractions of that amount of code. Two million lines should pretty well top out any overcomplicated calculator program, unless it's written for the government. It sounds like they would be well suited by starting from scratch and re-writing it.
So in summary, their case study should be titled "How NOT to manage program code"
If the only way you can accept an assertion is by faith, then you are conceding that it can't be taken on its own merits
Does that mean Apple owes its existence to Microsoft?
I just felt a great disturbance in the Apple fandom, as if millions of fanboys suddenly cried out in terror and were suddenly silenced.
Not really, given Jobs did all he could to undermine & destroy the Apple IIgs (Woz's creation) because it was outselling the unprofitable Macintosh (Jobs' baby), and decided that no more Apple II family systems would be released.
You mean the IIgs that came out in September 1986, a year after Jobs left Apple? Man, you guys really don't even know the basic facts about Apple.
It doesn't mean much now, it's built for the future.
I don't know how many of those 10,000,000 lines are auto-generated. The project I'm working on now is in Java and I'm sure many hundred thousand lines came spewing out of the various toolkits with an "autogenerated - do not modify" comment at the top.
Of course if Intuit had used Python they still might have 500,000 LOC
MS can cut off their market whenever they want.
How?
// MD_Update(&m,buf,j);
The last time that I tried to contact Intuit about Quicken on Linux was a mess:
http://dotancohen.com/eng/quicken_on_linux.html
I certainly hope that they handle their code better than they handle their customers.
So you filled out a crappy web form that makes you log in and got a reply within 2 hours from a large corporation with the correct answer without any lies or bullshit? That seems like perfectly acceptable customer service. That they did not give you the answer you wanted is inconsequential to the quality of customer service. Granted I don't believe for a second they actually ever intend to make a Linux version of their software, but they came right right out and admitted they have no plans.
I'm a good cook. I'm a fantastic eater. - Steven Brust
No one has made a move into the niche. It is like Windows, Quickbooks is the dominate software and no other company thinks it is worth trying to penetrate. On CNET you can see reviews of their free bait offerings and they are not good--many, many rants. They are ripe for the picking; their software is bloated to hell, expensive, and the users hate it. It is very costly for a small business or start-up to purchase QB and there are no breaks or decent entry points. You pay the QB tax or you don't play, period. On top of this, there is nothing quick and easy about it, and out of the box it makes your company look amateurish.
I object to power without constructive purpose. --Spock
10 million lines of code doesn't need to be any more complex or confusing that 4 million lines of code, or 2 million lines of code, or 500,000 lines of code, et cetera.
Good organization, regression testing/QA, and DRACONIAN check-in rules make it possible.
I've never worked in 10 million lines of code before, but I've worked in 4 million line products (SoftImage/Microsoft.)
Everything was organized nicely, well written (for the most part), and most importantly - we had a very very rigid process for checking in that worked really well. We had 80 people working in the codebase - the subsection you worked on (i.e. "mentalray dag traversal" or "render farming") would have maybe 4 or 5 people working in it at any one time so although the codebase was huge (including active work in the DS framework XSi was based on) the scope of conflict was usually relatively small.
In the years I worked there I never saw the build break except when someone did not follow the check-in procedure. They brought out a really big hammer for times like that and hung the developer up like a pinata...
Loading...
Agreed. As my Grandma says, "Quickbooks makes me money." She has owned a bookkeeping/tax business for 40 years. I grew up hating QB. Quicken was awesome in the DOS days.
I object to power without constructive purpose. --Spock
Why did I capitalize "grandma?" We may never know.
I object to power without constructive purpose. --Spock
Your money is gone, and they quickly book the sale.
Fugue for Aaron Swartz
The peace treaty is that MS will continue to make Office for Mac. The absence of it severely hurt apple in the enterprise market for years.
Fugue for Aaron Swartz
db2 for zos maintains 72 character limits for lines of code.
Fugue for Aaron Swartz
Believe it or not, that is one of the main reasons for the software's success. One the most common questions I get about Nevitium is, "How do I delete an invoice?" I have to then explain accounting principles, legal issues, and possible customer service issues involved with allowing that functionality.
I object to power without constructive purpose. --Spock
Ever read "Les Miserabes" or "War And Peace"? Ever notice that many 19th century novels are HUGE?
That is because they paid by word.
It would be interesting to see what would happen if a company experimented with metrics for and paying by:
- the fewest lines of code for a given task
- speed
- useful error messages
- ease of maintenance
- fewest memory leaks, least memory usage
If only it were a matter of hiring some obj-c programmers. I'd like to see your mental state after have 10 million lines of shit dumped on you with with non-trivial task of porting it to a completely disparate operating system and then maintaining both systems annually. I've ported a large amount of ERP code from OS/2 to Win32 during a 30 day crunch and I was ready to kill somebody by the end of it. I expect porting Quickbooks or Quicken would be close to an 18 month job and would involve 20-30 engineers plus 20 QA staff plus project managers etc at least.
10 million? For an accounting app? Seriously? Something seriously wrong here. Of course this is no surprise when you're asking why the Mac versions have no feature parity to the Windows versions. This is no surprise that the most obvious of features e.g. a real bill-of-materials feature for QB Manufacturing edition continues to elude us. Maybe they're writing the thing in native assembly language.
From what I've seen, you also have the issues where real CPAs prefer software to "speak their own language", while most small to medium size business owners just want a solution they can use every day without too much hassle, and can hand the data off to the accountant at tax time every year.
I work at a company who standardized on ACCPAC accounting software back when it was a DOS based program. These days, it's a huge, bloated, slow Windows-based part of a Sage ERP solution - but we still use it.
It's clearly far more powerful and flexible than Quickbooks, but at the same time, less user-friendly and a much bigger financial commitment to license properly.
After all these years, it seems accounting packages still wind up in one of two categories: easy to use, friendly packages with very limited expandability, and huge,complex packages that ONLY accounting majors really understand how to use properly.
In the more user-friendly, less costly, and easy for non-accountants to use category, you've got programs like MYOB and Quickbooks, but not a whole lot else....
Well they did finally re-compile Mac Quicken 2007 for x86 (only $15! to upgrade) so I guess they found the napkin. After a year of searching for it.
It's not an upgrade for $15, it is a stand-alone product that's Mac OS X Lion compatible, no previous version required. You can get the direct download for only $15. I opted for this instead of dumping $50 on Quicken Essentials which from all accounts is inferior in every way. After I upgraded to Mountain Lion this weekend, it was the first app I launched, and I was promptly greeted with an update notification to improve Quicken 2007 performance for Mountain Lion.
Taking guns away from the 99% gives the 1% 100% of the power.
That'd be principal. But hey, English isn't needed for accounts, is it?
For those of you too young to remember, Quicken started out as an Apple ][ ONLY checkbook program written in (of all things) Pascal.
For some reason, I thought Quicken started life as a HyperCard stack.
Taking guns away from the 99% gives the 1% 100% of the power.
It's a respectable size, of course, and one that requires a intelligent management, but in 2012 it isn't a large codebase.
Linux 3.5 comprises 10,389,941 lines of code (per sloccount), and that's just a kernel + drivers + architecture dependent files. I'm sure Windows is at least 50M LOC, and it wouldn't surprise me at all if it tops 100M. I work for Google, and while I'm not sure I can say how much code we have, it's far, far more than 10M lines. I used to do a lot of work with major financial institutions, and I'd estimate that most of them have on the order of 100M LOC.
I'm sure Intuit does some useful things that would be interesting to learn about, but I don't think I'd consider them a case study in how to manage a large codebase. They don't have a large codebase. I suppose they have a large codebase for a small to medium-sized software company, but many enterprises and large software companies manage much more code.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
What's the alternative? And don't give me some unix freeware crap, I've tried several, they are crap. Microsoft Money was the only viable alternative, but the conversion process sucked ass. I have 18 years of quicken data that I'm not about to lose, and until there's a real alternative for consumers (i.e., $100 price point), I'm not leaving, regardless of the weird interface, and periodic interface bugs. At least the database is rock solid. (runs to knock on some wood)
https://www.accountkiller.com/removal-requested
Could you point me to those registry changes? I've been fighting with Sickbooks to get limited users (read: users, not super users or admins) to run Quickbooks. I used the settings that Intuit specified, but no go. Then I created a domain group "quickbooks users" and gave them full ownership of all the folders and registry keys that they should need. No joy. Now all "quickbooks users" are super users on their local machine.
Still won't allow them to do the update that it bugs the users about ever couple of weeks when they decide to push a new release that doesn't fix anything you need and breaks more stuff you do need. The installer fails citing that the user isn't an admin (why not check this before you nag them?). It doesn't check the permissions, it just fails when it does the GID check.
Quickbooks is the only software I've ever seen that makes you trash your box just to get it to mostly run. Bonus points for it insisting on installing an old version of Flash. I've been dealing with this stuff since the 2005 or 2003 version. It's maddening and I want to switch to XTuple Postbooks ( xtuple.com). It's open source and runs on Windows, Mac and Linux ( source forge page). Unfortunately, no one is going to want to make that switch since they know Quickbooks.
If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.
Up until 2010 they didn't even support Linux for their web-based "online" version of the software, you had to spoof the user agent.
sysadmins and parents of newborns get the same amount of sleep.
There are no shortage of smaller developers creating Quicken alternatives for Mac. iBank, Cashculator, and CheckBook Pro for example. I've settled on Mint.com myself after using GNUCase, Microsoft Money, Quicken, and iBank. Mint.com isn't for everyone, but after changing how I was managing money I feel it works better than other products for me. Bank Simple also looks interesting for anyone who is currently not satisfied with their bank.
I'm going to go back in my box and will think within the limits of my box: MS Sucks Linux Good I read too much Slashdot.
If the task really requires that much code, and you manage it successfully, it is something to brag about.
I'd be surprised if they add code just to add it. While I suspect there is bloat and code they are too scared to re-factor away, this is probably a very large sophisticated code base, and they apparently manage it.
When people stop using lines of code as any sort of useful quantification of application worthiness or personal skill level. When I hear someone mention how many lines of code their application is, my first thought is that there is a whole lot of fat that needs to be trimmed -- or that they are terrible, inefficient programmers. It's about having nothing left to take away, not adding more to the pile.
How many lines of code are in QuickBooks for customer shafting purposes? Every year there is a trivially different new version of the program with a completely different file format, so a file created in QBn cannot be read by QB.lt.n. Also, when QBn reads a file from QB.lt.n, it converts the file to the QBn format; thus any changes made using the new version of QB cannot be used by the older version. Nice. Another touch is that the payroll updates only work for 3 years, so a company using the payroll feature has to buy, install, test and train a new version of the program, with the related hassles, for no benefit except the incremental revenue to Intuit. If they would have their data files in a defined, consistent, published SQL format, they could cut the code dramatically. This would also allow for report-writing to be separated from the transaction processing instead of the current monolithic mess. These guys make Microsoft look nice.
What product other than their Enterprise server runs natively on Linux?
I don't consider WinXP, Vista, etc. to be "multiple platforms", just different version of the same platform.
No kidding! If it takes 10 million lines for QuickBooks, then it is probably stored in a .txt file using the decimal number ASCII representation of the letters in the code instead of the letter itself.
...
So in summary, their case study should be titled "How NOT to manage program code"
The article is actually very interesting. It is not trying to justify the size of the code base, it is discussing the mechanisms they use to make a code base of that size manageable. I've never tried to manage anything bigger than 750KLOC, but even at that size build times and broken builds were a constant problem. So talking about the techniques that let people productively work on a code base 13x that size is interesting.
Accounting software is like modes of transportation. Before the engine was invented, more horses were added to pull a heavier weight and it was the standard until engineers invented the engine. Intuit made old paper concepts electronic rather than understanding the true options provided by being able to change text on the screen... :)
Outside of bugs and unhappy software engineers whom I know personally that work 50 hours+, how can Intuit not grasp that most small businesses operate on a seasonal pattern?... If you are an executive or product owner from Intuit and reading this, you have 2-3 years to get the concept in there before I personally will make Quicken obsolete as a business concept.
Supposedly they didn't even do that; they licensed a version of Rosetta from Apple sufficient to run their old version.
Actually yeah they kind of do. Without the $150 million, Apple would likely be bankrupt long ago.
So you filled out a crappy web form that makes you log in and got a reply within 2 hours from a large corporation with the correct answer without any lies or bullshit? That seems like perfectly acceptable customer service. That they did not give you the answer you wanted is inconsequential to the quality of customer service. Granted I don't believe for a second they actually ever intend to make a Linux version of their software, but they came right right out and admitted they have no plans.
I am not complaining about the answer, it is quite what I expected. I am complaining about the process that one must go through to contact a sales rep.
It is dangerous to be right when the government is wrong.
Up until 2010 they didn't even support Linux for their web-based "online" version of the software, you had to spoof the user agent.
If spoofing the UA worked, then they weren't "not supporting Linux" but rather "actively blocking Linux".
It is dangerous to be right when the government is wrong.
MSDOS was a lousy product... MS didn't start raking in cash until they made Word, and Excel, on the only desktop GUI that existed at the time... MacOS.
In short, MS owes it's existence to Apple.
Of course. Nothing to do with shafting IBM over PC-DOS and OS/2. Nor nothing to do with backroom deals with PC manufacturers.
No colour or religion ever stopped the bullet from a gun