The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Developer Screen Res

I've noticed that most non-technical users keep the standard screen resolution on the their monitors.  This is usually 800x600 and sometimes 1024x768.  More technical users will often switch to 1280x1024 or above.  And it's not just that the non-technical people don't know how to change the setting (though that can sometimes figure in).  If you change it for them they really won't like the greater resolution.  It's kind of interesting, and there might be something there about technical vs non-technical people, but that's not the point of this post.

Software Developers are firmly encamped on the technical side.  Most programmers I know would quit before being forced to code at 800x600 or even 1024x768.  I think it leads to some of the software problems we have today.  For example, a  developer envisions some sotware running in a window on the desktop.  So does the user?  What's the difference?  The user's window takes up the entire monitor, and therefor a bunch of the cool drag-and-drop features built in aren't as easy to use as intended.  The developer built keyboard shortcuts in, but the non-technical user won't know those, either.  As a result, the program ends up be used in the ~least efficient way possible.~  The user is frustrated because things take too long, and the software company is unhappy because they have unhappy customers.
Joel Coehoorn
Thursday, December 23, 2004
Plenty of things are used in inefficient ways, not just software.  Take, for example, the differences between my mother and I cooking.  We use the same tools (pots, pans, spatulas, knives, etc.) and end up creating roughly the same thing: edible food.  But somehow my mother is able to make all the parts of a meal at one time, while I have a hard time getting everything ready at the same time.  I generally have more dishes to do after I'm done, because I didn't think about reusing that measuring cup or knife or whatever, and my mom can do dishes she's done with while she's cooling. 

Anyway, my point of all this is: my mother has been cooking for a long time and is very, very good at it.  I've only been cooking for a little while and I can't do things as well or as efficiently as she can.  I've been using a computer for far longer than my mother.  My laptop has a screen res of 1600x1200 (that's the native res of the lcd) and I hardly ever maxamize a window.  I know all the keyboard shortcuts for my browser and Word and all that other fun stuff.  My mom's screen resolution is at 1024x768 because its easier for her to get around and see things at that resolution.  She doesn't need a higher resolution because she doesn't need that much screen real estate.  She doesn't do that many things at a time.  When I'm writing a paper for school, I hook up a second monitor so I can read and write without having to change what's on my screen.  I think that would just confuse my mother because she hasn't (and doesn't want to) spent enough time with a computer.  Just like I haven't spent enough time in the kitchen. 

In the end, I'm eating, and she's checking email and booking plane reservations, and we're all happy.  If I didn't have drag and drop and keyboard shortcuts I would probably go crazy for all the time I'm wasting, and if something prevented my mother from being so efficient in the kitchen she'd lose her mind too, but the reverse is not true.
Chris Weisel Send private email
Thursday, December 23, 2004
I typically run at 1280x1024 since that's the native resolution of my LCD screens, but I try to design my applications for lower resolutions. I expect that the average non-technical user that uses my applications is not running at these higher resolutions.

I always maximize all my applications and alt-TAB between them. I never keep windows side by side unless they're non-resizable dialogs, or because I'm doing something special like dragging and dropping, but I almost never drag and drop between applications. When I code I just have several files open in the same window in my editor.
Thursday, December 23, 2004
I very rarely maximize anything.

At 1600x1200, a maximized web browser screen is just going to give you eyestrain.  Heck, at 1280x1024, it's too damn wide.

On the other hand, my wife really hates having anything *not* maximized.
Flamebait Sr.
Thursday, December 23, 2004
I hate arranging windows, which is why I typically maximize everything. I'm really anal about having everything lined up properly. If Windows had better support for snapping windows to grids/edges, as well as grouping windows together (so that bringing one window to the front also brings the others that are grouped with it), I'd probably maximize less. I still like just concentrating on one thing at once, though.
Friday, December 24, 2004
The developer that sits next to me at work uses large fonts and a green and grey colour scheme. You wouldn't believe the number of errors this shows up. It's really, really good at finding things that aren't using the right colours, don't scale properly, etc.
Steve Cooper Send private email
Friday, December 24, 2004
One of our support guys is partially sighted (he's registered blind) and while he has some vision he uses a 21" monitor in zoom mode (giving him around 16*8 characters in zoom) with a Windows high contrast colour scheme.
Round the office we call it "Mark mode" it does make the development team "care" about doing sensible stuff with form designs.
Honestly meeting and watching someone with limited vision trying to use your app is quite enlightening.
Also making sure your app works reasonably well at 800x600 is a good idea as means sales folks can demo to a room straight from a laptop.
Peter Ibbotson Send private email
Friday, December 24, 2004
My dad (programmer, 52) works in 800x600 on a 19" screen and hates any bigger resolutions. While his vision (in glasses) is close to normal, he says it's a lot easier on the eyes and overall, despite having to scroll a lot. I tried it and found the experience terrible. I guess he just got used to large characters back in his days at OS/360 terminals.
Friday, December 24, 2004
Personally I use 1280x1024 at work. I would use 1600x1200 like I do at home, but my monitor can't handle it. Anything less would be unusable.

Having a lot of screen real estate is a good thing when developing, but I often bark when my coworkers create dialogs that can't be viewed on a 1024x768 screen. Not everyone can use that high of resolution, and a lot of laptops are unreadbale beyond 1024x768.
Saturday, December 25, 2004
You're talking about the difference between a computer user who sits in front of the computer doing many, many things all day long (creating forms, coding, etc.) and one who uses the computer as only a small part of his/her job.

Or maybe they use the computer 8 hours a day but it's data input or lookups.

In either case for the non-developer, they are not doing detailed work on the computer, generally.  Your job as a developer is to make a program that can be used effectively from 3-5 feet from the monitor by everyone from 17-year-olds to 77-year-olds.

It's an interesting task, and unfortunately not enough developers (present company excluded, of course:) spend enough time at it or ask the questions you ask.
Karl Perry Send private email
Saturday, December 25, 2004
My wallpaper has "crop marks" on it for the common resolutions which I use when testing.
Kristen Send private email
Monday, December 27, 2004
I code on a multimonitor system (3 * 1600x1200 + 1280x1024) and test at 800x600, 1024x768 and 1280x1024.  "UltraMon" makes switching resolutions trivially easy.  Highly recommended.

If I hit the lotto...

Favorite multimonitor setups.
Mark Jerde
Monday, December 27, 2004
I do not understand why changing resolutions changes the physical size of things on your screen. Shouldn't everyone be running at their maximum resolution (thereby maximizing your DPI), and simply adjusting a slider to control the physical size of your screen elements?

Obviously there is a point at low resolutions where you simply cannot render things effectively smaller than a certain size, but with today's hardware this should no longer be an issue.

Monday, December 27, 2004
"simply adjusting a slider to control the physical size of your screen elements?"

This is exactly what Avalon is supposed to make possible. The current Windows display model is hardcoded to pixels in various locations, hence it's not possible right now.
Chris Nahr Send private email
Monday, December 27, 2004
A feature I like is the 90deg rotation available on my LCD -- 1280x1024 does indeed make web pages too wide, but 1024x1280 seems to be great for anything to do with reading or writing documents, coding, a little slashdotting etc..

Mind you, i work from home and i buy my own hardware ... has anyone seen portrait displays much used in a corporate environment?
David Aldridge Send private email
Tuesday, December 28, 2004
I've seen fancy CRT design monitors that could swivel 90 degreees. They were way expensive and color calibrated.
Thursday, December 30, 2004
I used to be at 1280 x 1024 when coding.
But I've had eye surgery and lost some vision.
Using 1027x768 on a 19" is much better right now.
Sometimes I've got to use MagnifyingGlass to see little things properly.

Since I do most of my dev in Java Swing, that's fine since it resizes the widgets as I need (a key benefit of Swing BTW).

And I hate fixed 8 point fonts in websites. God bless Firefox.
Thursday, December 30, 2004

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz