Log in

View Full Version : Calling All Developers: Code Wide, Not Tall


Jason Dunn
03-27-2009, 12:00 AM
<p><img src="http://images.thoughtsmedia.com/resizer/thumbs/size/600/dht/auto/1237937998.usr1.jpg" style="border: 1px solid #d2d2bb;" /></p><p>Above is a screen shot from <a href="http://www.headbands.com/gspot/" target="_blank">Gspot</a>, the popular video codec detection tool. Notice anything? That's right, it won't fit on the screen. This screen shot was taken on a Dell Mini 10, a netbook with a 10.1 inch screen running at 1024 x 576 resolution. I've seen this before with several applications, so this is a general call-out to all developers: with the booming popularity of netbooks, and with many new laptops in general hitting the 1280 x 720 mark for resolution, there's just not a lot of vertical screen resolution on mobile screens. Developers seem to have taken for granted that resolution and screen size would continue to increase, and as such they didn't see the <em>decrease </em>in resolution that netbooks bring to the table. Developers, please "think small" and opt for wider, rather than taller, displays.</p>

ptyork
03-27-2009, 03:49 AM
Netbooks are gaining in popularity, sure, but I think you'll find resolutions increasing again as the screen costs come down. 10.1 inches is plenty big for a real 720p screen. Honestly, I haven't developed to less than 800x600 since 1995. 2002's defacto minimum was 768 and to your point this has actually dropped 720. I don't see much hope getting devs to target 576. It is HARD to create a modern and useful UI for that size when the task bar takes up 40 pixels, the title bar another 30, the menu another 25, the toolbars another 33, the status bar 30, etc. Doubly so when you also don't want them to look stupid when someone uses a real computer with 1080 or 1200 lines of vertical resolution.

Personally, I think that Microsoft should just mandate a minimum of 720 lines of vertical resolution for Win 7 certification and lets move on. Anything smaller should be Windows, but rather some made-for-tiny OS with controls and UI metaphors that are likewise made-for-tiny.

I feel your pain, and as a developer I won't/don't go out of my way to make things tall. However, I'm also not going to sacrifice user experience to fit onto a screen that has less vertical real estate than my 1990, DOS + Windows 2.0, SVGA screen...

Lee Yuan Sheng
03-27-2009, 06:52 AM
Or just don't use such bloody huge dialog boxes...

Stinger
03-27-2009, 11:46 AM
Handbrake won't even run on my Asus eee 901. It says that my screen resolution is too low and then quits.

(Don't ask why I'm trying to encode video on an Atom processor :p)

stlbud
03-27-2009, 12:59 PM
I know I'm gonna' get flamed for this but I've been in software development for too long and can take the heat.

This isn't a matter of programming wide vs. programming tall. It is simply lazy programming that doesn't take into account the available real estate.

All programs should query the screen size and window size before drawing the screen. Then layout their windows accordingly. If the programmer doesn't want to make custom layouts for a variety of screen sizes; they should make their windows scrollable when necessary.

No program, except maybe some games, should just automatically take what ever screen space they want. Some users actually use windows and need to see more than one window on the screen at the same time. Those users arrange their workspace carefully to suit their needs. Programs that don't respect this make it difficult to be productive.

ptyork
03-27-2009, 05:23 PM
This isn't a matter of programming wide vs. programming tall. It is simply lazy programming that doesn't take into account the available real estate.

All programs should query the screen size and window size before drawing the screen. Then layout their windows accordingly. If the programmer doesn't want to make custom layouts for a variety of screen sizes; they should make their windows scrollable when necessary.

If you have been doing this for a long time, you know that the extra effort involved to make this work is quite significant. Especially for dialog boxes. With technologies like WPF that allow for layout panels this is certainly easier, but still far from straightforward. Lazy? Maybe. Or just trying to hit 99% of the market without exerting another 20-30% of their effort to hit the remaining 1%. I certainly wouldn't be troubled with losing a small minority. Especially if I'm producing freeware like GSpot.

There's also a significant usability tradeoff. In some cases, you are better off fitting more on a single screen than trying to spread it across multiple tabs or in a scrolling container. Yeah, the GSpot dialog in question is terrible and could have been subdivided, but then you'd have the full-sizers complaining that now they can't see everything on a single screen.

I still go back to the base concept that Windows (or rather the base Windows UI) is a large-screen experience GUI. Small screens (and underpowered graphics chips) need a wholly different metaphor. I look for Apple to prove this with their upcoming, touch-centric netbook OS (conjecture of course). MS had the right idea (though incomplete) with their UMPC concept. You just can't scale a full sized experience down to elf-sized screens.

Jason Dunn
03-27-2009, 05:43 PM
Netbooks are gaining in popularity, sure, but I think you'll find resolutions increasing again as the screen costs come down. 10.1 inches is plenty big for a real 720p screen.

I have a Fujitsu P7000 series laptop that's 1280 x 800 and on a 10.6 inch screen, the resolution borders on being too small. Windows 7's UI elements are bigger than XP's, so I've found Windows 7 to almost be a bit too big on a 1024 x 600 screen....so maybe 1280 x 720 would be perfect. I personally don't think 16:9 aspect ratio adds anything to the Windows experience - in fact it makes it worse - so I'm hoping against hope that 16:9 doesn't become the norm on netbooks (though I suspect it will).

I don't see much hope getting devs to target 576. It is HARD to create a modern and useful UI for that size when the task bar takes up 40 pixels, the title bar another 30, the menu another 25, the toolbars another 33, the status bar 30, etc.

I hear you. I'm OK with a sort of fugly user experience at lower resoultions, but what I don't want to see is hard-coded elements, such as dialogue boxes, that won't fit on the screen. I think it's reasonable to ask that developers don't completely lock out users of smaller screen laptops/netbooks. And a dialogue box is easier to re-work that your app's whole UI...

Gordo
03-27-2009, 06:20 PM
I use my Acer ONE NetBook for vacations, and take a lot of photos. I do some basic review, and Blog while on vacation, so I need to do some basic edits to the photos. I installed the "Windows Live Photo Gallery" software to manage the files. I was quite supprised when I went to install the "Canon RAW CODEC" required to view Canon RAW files in the gallery. The software refused to install; because the screen resolution was to low. I needed to attach an external monitor to get the CODEC installed. Now everything works fine.

My EeePC which I sold for the Acer had the ability to change the screen so that it was higher than the screen supported, and then you panned around to view. I havn't looked yet, but this type of functionality should be mandatory, and supplied by the manfacturer.

Software developers can then decided to support the every growing market of NetBooks or not!

Jason Dunn
03-27-2009, 06:23 PM
I was quite supprised when I went to install the "Canon RAW CODEC" required to view Canon RAW files in the gallery. The software refused to install; because the screen resolution was to low.

The developer must have hard-coded the resolution in there - though why you'd do that on a raw codec is beyond me. Makes no sense. :confused:

stlbud
04-02-2009, 10:45 PM
Sorry it took me so long to get back to this discussion.

If you have been doing this for a long time, you know that the extra effort involved to make this work is quite significant.

I suppose lazy was a bit strong. I do know how some things require an inordinate amount of work but, I still maintain that a programmer is trying to serve the needs of the user. If the GUI doesn't work, that effort is compromised.

There's also a significant usability tradeoff. ... but then you'd have the full-sizers complaining that now they can't see everything on a single screen.

I know what you are saying. No matter what you do, someone is going to find some fault. I'm sure you know that. We had an app, that had all the bells and whistles, hot keys, menu options, and even hot keys on the digitizer puck - the user could select the function any way they wanted. Some loved it because they had flexibility others didn't because they found it confusing.

I still go back to the base concept that Windows (or rather the base Windows UI) is a large-screen experience GUI. ...

Frank Lloyd Wright was a prominent architect near the end of the last century. He was noted for innovative and exciting structures. In his houses he believed ceilings should be no more than 7 feet high in smaller rooms. Mr Wright was not very tall, himself but, when some 6 foot tall clients complained he stated, "People shouldn't be so tall."

We all have a point of view and we won't always agree. There are conditions where each of us may be right and there are times when we are all right.

Nurhisham Hussein
04-06-2009, 02:04 AM
Those of us who have been playing with UMPCs (including before they were even called UMPCs) know about this problem.

Fortunately there's a bit of workaround: UMPC Scrollbar (http://blogs.msdn.com/vikrammadan/archive/2007/04/05/dead-see-scroll-bar.aspx) adds scrolling even for hardcoded UI elements. It's not a perfect solution, but at least it's something.

BevHoward
04-07-2009, 10:13 PM
Might take a look at the screen options and see if there is a "virtual screen" option.

Don't have any details on the current netbooks, but on two of my (much) earlier small notebooks there was an option to set a screen size larger than the physical screen where the physical screen would become a window into that space which you could scroll if you needed more pixels... I think the scrolling would follow the mouse once it left the visible space.

If this is an option, please send me a private message off of my page (which will get it through the spam traps) so I can know to pass this on to others.

Beverly Howard

Jason Dunn
04-07-2009, 10:28 PM
Don't have any details on the current netbooks, but on two of my (much) earlier small notebooks there was an option to set a screen size larger than the physical screen where the physical screen would become a window into that space which you could scroll if you needed more pixels... I think the scrolling would follow the mouse once it left the visible space.

My MSI Wind can do that. The Dell Mini 10, and HP Mini 1000, can't do that. So definitely not an industry standard thing.

Lee Yuan Sheng
04-08-2009, 07:28 AM
My MSI Wind can do that. The Dell Mini 10, and HP Mini 1000, can't do that. So definitely not an industry standard thing.

I'm certain there's a way to do that. I recall doing it on my Thinkpad somehow though it's also not officially supported (normally Windows doesn't let you go above native resolution). Maybe use a 3rd party utility?