November 9, 2005
In response to My Giant Calculator, Joost commented:
I'll jump to the defense of trusty old calc.exe. Even though it's crappy, we know it's on every Windows box we touch.
He's got a point. The applets that ship in the box with the operating system are, like it or not, the defaults. There might be a dozen better third-party alternatives, but that requires manual intervention and special customization. Which means on any particular computer you happen to use, the odds of double-clicking a text file and getting Notepad are about.. 99.9 percent.
The really unfortunate thing about Notepad is that-- at the risk of stating the obvious-- it sucks. Notepad was minimalist by Windows 95 standards. I just read that Windows Vista will ship with a virtually unchanged version of Notepad, ten years later. The idea that we'll be viewing readme.txt files into 2010 with nothing but no-frills Notepad is unconscionable.
I know it sounds trivial. But isn't the fit and finish of little applets like these-- Notepad, Calculator, Character Map, Paint, Disk Cleanup, Compressed Folders, and dozens of others-- indicative of the care and design that goes into the entire operating system? If Microsoft can't be bothered to bundle a version of Notepad that has basic amenities like a toolbar, what hope does the rest of the operating system have?
I understand that there are a finite number of developer hours available to work on Vista. If it's a choice between new versions of Windows Explorer and Internet Explorer and a bigger, better Notepad, that's not a choice at all. The core OS should have priority.
But why does it have to be this kind of either-or dilemma? Why doesn't Microsoft simply license a better notepad and bundle it with Vista? They've gone this route before. Do you remember HyperTerminal?
Rather than write their own terminal emulation app, Microsoft chose to license one from Hilgraeve and bundle it with Windows 95. As a guy who used to write a whole lot of serial communication code in a past life, I can tell you that HyperTerminal was* a pretty damn robust terminal applet. Certainly far more application than we'd have ever gotten from Microsoft.
Why doesn't Microsoft similarly license "lite" versions of the most popular third-party calculator, notepad and paint replacements for inclusion in Vista? This seems like a win-win situation for everyone:
- Microsoft customers get far more functionality in the box. For example, because of the massive deficiencies in Windows XP's Compressed Folder support I still have to install WinZip, even though my needs are quite modest. Why not just license WinZip?
- Third party application developers get huge sales opportunities from upselling the full version of their applet to the massive base of Windows users. Hilgraeve still has a web page hawking HyperTerminal upgrades many, many years after the fact.
- Microsoft developers can focus on the core operating system. That's one less thing they have to worry about coding. And given the sorry state of the current Windows applets, would you really want a Microsoft developer to code it anyway? A third party whose entire business revolves around a calculator replacement will have a deeper, more vested interest in building a great calculator applet than any Microsoft employee ever will.
I'm not advocating blindly dumping dozens of different applets from dozens of different vendors into the core operating system. Microsoft would still have to be intimately involved with the source code they're shipping. After all, it has their name on it, so the quality control would have to be extreme. I'm guessing most applet vendors would give their eyeteeth for a sales opportunity like this, and thus would bend over backwards to whip their code into shape.
* HyperTerminal is still in Windows XP under the Programs | Accessories | Communications menu. Hilgraeve's name, however, was banished to a "portions copyright" footnote in the about dialog.
Posted by Jeff Atwood
Is Hyperterm a shining example here? One of the first things I do on a new PC is look for a better terminal emulator... and a port monitor, for those times where nothing seems to be happening and you're not sure if HT is the problem again.
On NT, it tended to bork up the serial connection so badly only a reboot would set things right. No fun when you're debugging an embedded app and serial is currently your only way in.
The interface is horrid: click on the little phone resting on its cradle to connect? Number one, the phone's an outdated metaphor; number two, the metaphor is wrong! A phone "on-hook" in the real world means disconnected, not connected. The toolbar button for "Disconnect" has a similar problem: the receiver's off the cradle, meaning connected. Yes, there's a little arrow pointing down, but at 1280x1024, you can barely see it.
We're still greeted at startup with a dialog asking to choose a name and icon for this connection... who cares. If everything works, *then* I'll save the configuration.
HT has improved slightly since the NT days. On XP, that 1993ish spinning globe splash screen is gone; good riddance. And it's a little less phone-oriented now: I no longer have to type in an area code for my test board.
For Notepad, I was happy to finally see Ctrl-S hooked up to File|Save.
(As an interesting comparison, OS X's bundled-in TextEdit is quite beefed up compared to NotePad, but refuses to save as plain text unless you explicitly set the doc type to plain text in the menu. If you don't notice that, no plain text for you.)
Is Hyperterm a shining example here?
Compared to Notepad? I think so. Notepad barely qualifies as an application!
One idea would be to have the MSDN group take them over as tutorial development projects. With each new OS, the MSDN group updates the project to use the recommended programming techniques for the current platform and development tools.
You keep them current with the platform, use them as a showcase for the dev tools and demonstrate best practices to the development community.
Note, that I'm not saying to open source them - Microsoft needs to maintain control and consistency for the basic but ubiquitous parts of the OS - but it would put them in the hands of a group that is motivated in enhancing them - where this is obviously not the case right now.
Why don't they just ship the calulator that's in the Windows XP Powertoys as standard?
That calculator does everything I need, with a much better interface.
Why Microsoft will not do that is easy:
- Programs fulfilling the purposes already exist and don't produce additional costs
- The programs are doing what they should
- Microsoft risk to get sued if they are "trying to take over the calculator-software-world" when shipping a better calculator.
Notepad is mostly used for showing up - as you said - readme-files and for editing config-files. None of the both doesn't need much functionality.
The only thing that pisses me of is Notepad showing lines separated by \n only as one line, so the first thing I do with a new Windows-installation is copying the link to Wordpad into the Send-to-directory.
That's an easy one to answer, because if Microsoft makes any bundled software that's worth anything they will be sued into the ground by every person, state, country that has a David/Golith complex while touting the robustness and stability of Apple even though one of the only reasons things just "work" with Apple is the simple fact the everything is bundled and proprietary.
But calc and notepad have been updated
Minimally .. from the Chen article (which I believe refers to Windows XP):
Notepad gained some additional menu and status bar options
[with Calc]: Massive technical improvements. No visual improvement.
Raymond has a point. So they added additional precision to Calc, and a handful of tiny improvements to Notepad. Unless your changes cascade into the UI in some way, what have you really done?
Can't be much..
Here's another example of the built-in applet deficiencies:
I remember using Defragmentation Software on Win98 and having consolidated free space (in one big large chunk). But I, too, have made the observation, that with WinXP this is not possible anymore. Since I have a lot of Cygwin and Java related stuff installed, which uses many, many directories and small files, it seems I can never consolidate the 4 GB free space of my 15 GB partition. There are always the "folders" all over the free space fragmenting it into small pieces.
It has nothing to do with delivering a better product and everything to do with the sue-MS if they do anything to make someone out there lose money mentality.
To tell the truth, Notepad and Calc would make horrible MSDN tutorials. Most programmers don't even know why floating point numbers are totally unsuitable for money calculations, yet you see it done everywhere...
Notepad is notepad, it's not suppose to be anythng more than a text editor. Have you heard of wordpad? It's notepad's bigger brother. Notepad is meant to edit raw text, html, code, stuff like that, not to add different text sizes and paragraph information to garble up the text into anything else.
Notepad is what it is. A no frills text editor which, unlike Wordpad, etc adds no text formatting characters This is an advantage when looking at configuration files etc which tolerate no changes from the original form.
If you want to do fancy text, use Word.
HyperTerminal isn't perfect either.
An old bug in XP allowed HyperTerminal to go into an infinite loop if the cursor blink was turned off. It was due to a mistake in math in a timer dispatch loop. A value of -1 would make the loop think that it constantly needed to process the routine to flash the cursor.
Since HyperTerminal managed the display of the cursor, this meant it was drawing it faster than it could be perceived. But, it did it really well and fast!
The really unfortunate thing about Notepad is that-- at the risk of stating the obvious-- it sucks.
Oh lol. Do you also think that your average alarm clock sucks because it does not show temperature, pressure and martian standard time (daylight savings included)?
The worst thing one could do with notepad is to add toolbars and such. I'll personally curse anybody who does this. If you need toolbars, just go use wordpad, word or any other third-party software. Different programs are for different things.
GNU Emacs anyone? It can be used to do everything, but, cooking. Well, at least it has editor :D
It may be out of context.But I want to ask the author if we can have code for hyperterminal or similar interfaces?I am asking since he has experience in writing serial drivers.Thnx
Switching to almost any Linux desktop distribution will give you better software applications out of the box.
One of the most surprising and pleasant experiences of buying my Mac has been the INSANE amount of built-in applications and tools. Out of the box, it can open almost any file, debug almost any error, and (with XCode) has a massive library of example code for the only IDE I've ever actually enjoyed using. Once I've installed iWork, I've _literally_ bought only 2 or 3 productivity apps, most of which I don't use very much. The vast majority of my purchases have been minor tweaks, games, and specialty apps.
On Windows? Almost exactly the opposite. As with any modern OS, there are free alternatives to almost everything, but few of them are worth mention on Windows, and you have to wade through a literal SEA to find them. And Visual Studio? Good Lord that's expensive, and I've encountered numerous bugs and inconsistencies while using it.
As to Chen's article, especially regarding Calc:
Forgive me for seeming bitter, but that should have been the case TEN YEARS AGO. Why do you think people write degrading articles about it? Because it's a decade behind, and even further behind your cheap-o kitchen calculator.
They've had their own libraries capable of doing accurate decimal calculations, but they haven't used them. They've been in a flood of ever-improving frameworks and code libraries from other sources, but they never took the opportunity to learn from any of them until recently.
What's wrong with this picture? I see the same lack of care all over XP and Vista, and it's shameful. Either the Quality Control staff should be fired on the spot, or the project leaders should, for putting out such an incomplete product after SEVEN YEARS.
For another good example of stuff that goes un-updated for far too long, in Windows XP, open up Fonts in the Control Panel, and in the File menu, click Install New Font. That's like Windows 3.1 stuff right there.
Notepad can be replaced. Not really easily, but metapad is a nice replacement and the website has detailed instructions on how to add it. Most importantly, Ctrl+Backspace doesn't insert characters!
I've been thinking about this, too. Especially with .NET 2.0, it would take less than a day to write a better Notepad. Then, multiply by the factor of 25 for QA and internationalization, and you're still less than one man month.
I'm sure some people would sqwack about this because over the past 10 years I bet a lot of people have automated Notepad in some way, but this could just be called Note or something and I think we'd all be okay.