September 5th, 2008
When using software product while you work, the best product is the one you don’t notice. And today I’ve noticed one: Notepad++.
Notepad++ is a great text editor and I’m using it instead of classic Windows Notepad. It starts as fast as Notepad and it’s design is minimalistic but it has features like syntax coloring, hex editing and tabbed interface. I have many tabs constantly opened with very different content in them. Some tabs are just scratchpads where i write notes, phone numbers or names. Others contain xml or html documents I’ve edited of viewed or maybe pieces of php or javascript code. One tool, one window, everything conveniently accessible.
So, today I’m talking on the phone and a client wants to give me his IP address. I’m kinda sad when in this situation some of my colleagues start to search frantically between papers on their table for a pen and paper instead of writing the number somewhere on a PC they sitting behind. I’m always ready to write a note or two in conveniently opened tab in Notepad ++, but today when I wanted to write a client’s number, Notepad++ shown me a modal message:

So, now I’m in a situation where I must quickly write down a phone number and one of my favorite software forces me to make decision which will definitely result in lost data and I need to decide what’s more important: something I wrote or something some other application wrote in the same file, and all that, of course, while I’m trying to remember a sequence of 12 numbers. It’s interesting how well this application defended itself from my attempts to write a few numbers in it. New tab? No, message box is modal. Existing tab? No, message box is modal and blinking. Then I tried to open a new instance. No way, only one instance is allowed. I’ve ended asking the client to repeat the number and writing it in Visual Studio somewhere between Catch and Finally keywords.
Sometimes it’s only an inconvenience. Another time you want to put your fist through this message box. But definitely is a proof how you can spoil a good software as Notepad++ and a good concept as tabbed interface with a careless design. I shouldn’t be able to write in the file in question until I resolve the conflict, but this message box is important for only this tab, for only one document. There is no good reason to prevent me to use every other tab. By the way, i should be able to save both versions of this document, but this is another story.
The same problem is with browsers. Click this link. and see what happens. See? My worthless but egoistic message disabled your complete browser until you read it or at least click on it.
So, if you are a programmer, don’t be a self-centered, selfish bastard and let people use their tabs. Don’t write alert(”), MessageBox(“”), msgbox(“”) or raise any other modal window until you are completely sure that it won’t interfere with anything other then your humble corner of the users screen.
5 Responses to “Software design rant – Notepad ++”
September 7th, 2008 at 16:50
Hey I love Notepad++ and I love this alert feature.
The feature you don’t like (or you don’t need) doesn’t mean that it’s useless for anyone else.
So why don’t you save this opinion for yourself, or better than that, use another editor since it’s not good enough for you.
September 7th, 2008 at 20:17
I love Notepad++ too, I wouldn’t use it otherwise. And the alert feature is useful too, just as I wrote.
My post is just about how some minor design choice be a major obstacle in some scenarios.
March 1st, 2009 at 11:54
I believe you are mistaken. I’m not completely certain because it’s possible that Notepad++ behaves differently, but, all other text editors I’ve used that have that feature (e.g. Visual Studio, gedit, etc.) follow this design:
The dialog offers two choices, only one of which is destructive — namely, “Yes.” Yes is destructive because you lose whatever unsaved changes you’ve made to the file (that is, if you’ve made any.)
“No,” however, is not destructive. It simply means, “keep my local changes in memory.” It does not mean that the file itself will be overwritten or modified in any way. So the changes that the “other application” made will not be lost. You get to have your cake and eat it.
Therefore, if you don’t want to lose any possible data, choose No, and manually inspect the changes to the file. Hope that helps.
Regards.
March 2nd, 2009 at 7:39
Thanks for your comment.
You are right, “No” is the safe answer and generally Npp handles this well. But my main complaint is that dialog which is relevant to only one tab, prevents me to use any other tabs until i make a decision, be it easy or not.
March 13th, 2009 at 23:18
Ah, that is a good point and I agree with you. Dialogs pertinent only to one tab/document probably shouldn’t modally block the entire application. My guess is that it’s not so much a design decision as much as just the easiest way to do it for them: One call to whatever the MessageBox function is versus creating a custom dialog, or widget, etc.
Regards.