4 ms·
And for me, it hilighted some of what I've suspected for a while is wrong with Windows development. I own a small company that handles a lot of end-users' vari
by thaumaturgy 16y ago
And for me, it hilighted some of what I've suspected for a while is wrong with Windows development.
I own a small company that handles a lot of end-users' various issues. Although I spend most of my time now coding, I spent more than my fair share of time working one-on-one with individuals and companies that were having problems with their systems. I still spend around 10 hours a week doing it.
My primary development machine is an aging laptop that can't even play YouTube videos any more without stuttering. I hate almost every minute of using it. It's slow, and limited, and it hangs.
So when I write something, I write it to work well on that laptop, because I know there are lots -- lots -- of people out there with similar old hardware, and to say they're frustrated with computers is an understatement.
How could a Windows developer possibly understand just how frustrating their product is when they spend all of their time using the most powerful hardware available?
How could they possibly understand that Windows file sharing in a mixed environment running SBS 2008 is still complete and miserable and utter garbage, when they're running on a network that hides those kinds of issues?
Their development process is great for their developers. No argument there, and I'm totally and unabashedly envious.
It's also terrible and completely wrong for most of their many users.
- InclinedPlane 16y agoI don't think that's actually the problem. Windows (and many other MS groups) have quite excellent performance and integration testing. They generally do a good job of keeping performance under control. I think the biggest problem is how they approach performance as a test signoff criteria, usually, rather than as a budgeted line-item with goals for improvement. As to situations like what you describe with file sharing in a certain environment that mostly comes down to insufficient beta testing and straight up prioritization/de-prioritization of certain issues.
- seldo 16y agoTreating performance as a minimum bar that has to be met rather than a goal in and of itself sounds exactly like the kind of development process that would produce Windows -- which always feels sluggish if you're using anything other than the latest hardware. I don't think Microsoft realizes how enormously performance contributes to user dissatisfaction with their OS. As a web developer, I know that adding just a second to a page load massively diminishes perceived usefulness of a system; Google spends enormous amounts shaving tens of milliseconds off their page displays. At the level of an operating system, that kind of user sensitivity to performance must be at least the same if not magnified. It seems like performance, especially on older hardware, should be far more of a priority for Microsoft than it apparently is.
- InclinedPlane 16y agoTo be fair, Windows 7 made some great strides, and ended up being faster than Vista on a lot of older hardware. However, that does tend to be the exception. The general perception of performance (at least in the areas of MS that I had contact with when I was working there) is that it's important to hold the line in performance, and it's not generally valuable to invest in actually improving performance over time. MS spends a lot of resources measuring performance very accurately, but not nearly enough resources in making appropriate architecture and design choices, or in making big performance improvement pushes. My experience and observation is that performance improvements of substantial magnitude are often available for the taking in almost all software projects, but it requires a concerted effort to realize those improvements. MS instead spends its efforts on merely making sure that the software doesn't get slower by too much.
- pragmatic 16y agoConsider that you can go to Bestbuy (or your local computer retailer or choice) and buy a $500 laptop capable of running Windows 7. A Mac is 2 to 5 times that. (Highest price PC at Bestbuy $1200, highest priced Mac ~$2200) (Macbook is $1000, pc is $300-$500). I installed Windows 7 on 2 laptops of family members. These laptops were $300 from Walmart. Windows 7 runs just fine. I installed Windows 7 on an Asus EEE pc. Runs about as well as Windows XP (only computer where I can tell it runs a littler slower). Considering a ~$800 ipad that isn't a full computer... I fail to grasp what kind of performance you expect to get out of Windows 7, while at the same time having a full featured OS at the same time running on _affordable_ hardware.
- BCM43 16y agoI can run a fully featured Linux system on a 800mhz laptop with 1gb of ram.
- stevefarnworth 16y agoMicrosoft has one of the largest and most comprehensive suites of test hardware available. They have rooms with hundreds of computers with varying levels of hardware performance that they test important builds on. They do their job, if the OEMs want to push out a crummy user experience, that's an issue on their testing end.
- paulcam 16y agoI'm just going to leave this here: http://www.pcmag.com/article2/0,2817,2361579,00.asp http://www.pcmag.com/article2/0,2817,2361579,00.asp
- ot 16y ago> How could a Windows developer possibly understand just how frustrating their product is when they spend all of their time using the most powerful hardware available? It is called the "Redmond reality distortion field" http://www.stepto.com/Lists/Posts/Post.aspx?ID=486 http://www.stepto.com/Lists/Posts/Post.aspx?ID=486
- rbanffy 16y agoAnd it affects every area of the company, not only developers.
- jdp23 16y agoVery very true. The ideal situation would be a blazingly fast machine for compiling, linking, and running automated tests ... and commodity hardware for day-to-day tasks including browsing, email, word processing, spreadsheeting.
- kooshball 16y agoyou seriously think devs will do a better job daily if they have a slower machine for day to day tasks?
- thaumaturgy 16y agoThis is an interesting question, because it implies that commodity hardware isn't good enough for day to day tasks. If that's true, do you think the software developers have done a good job? And if that's not true, then why shouldn't they use commodity hardware?
- deleted 16y ago[deleted]
- deleted 16y ago[deleted]
- Duff 16y agoThis is an 80/20 rule thing. The vast majority of PCs get refreshed in one way or another every 3-4 years. So a company like Microsoft can invest in the 80% of the market that drives sales (ie. people who refresh computers) OR invest resources in solving problems for the 20% of people running old hardware with an old OS they bought a long time ago. Should the state of the art be driven by the fact that your employer chooses to leave you with a laptop that cannot play YouTube video?
- thaumaturgy 16y agoThe very next thing my company is going to do after rolling out the product currently under development is start aggressively collecting and compiling statistics on all of our support issues, service calls, and our customers' systems. Even accounting for business clients on hiring binges, I'm really, really certain that the vast majority of the PCs that we support are more than 4 years old.
- encoderer 16y agoI can see where you're going but it sounds to me like the entrepreneurial spirit in you has done what it tends to do in all of us: Look for a way to make lemons into lemonade. But my perspective is that I would probably prefer not to have those particular lemons! My time is valuable to me, and so is my patience. And as a software developer, I spend far more time using other peoples software (IDE, DB clients, etc) than I do using my own. The best way I can better my products, I think, is to devote as much time as possible to fixing bugs and adding features. Time spent waiting for my IDE to load is time spent not adding value.
- thaumaturgy 16y agoWorking with end-users all the time has changed my attitude about how valuable developer time is. It's not that I don't think developer time is valuable, it's that I've really seen, with my own eyes, just how many people are affected when developers value their own time more highly than they value their customers' time. All those little inefficiencies and minor bugs and other problems really add up quick. I, personally, am far less inclined now to spend my coding time on new features, and more likely to spend it on refining what I already have -- and so far I've gotten really positive feedback from customers on that.