« My complication had a complication | Main | BBOP: the ubiquitous yet under-examined UI model »

October 03, 2005

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d83451fb6769e200d8345afc2969e2

Listed below are links to weblogs that reference The fractal nature of UI design problems:

» Software Design and Fractals from Mabsterama
From flow|state: Good design is a fractally hard problem: the more closely you focus on any given feature,... [Read More]

» Fractal frustration from The Hand of FuManChu
Okay, coworkers, now you know: when I put my hands over my eyes and sigh heavily, it's because I'm on step 8. Actually, the more I learn about IT, the better I get at seeing step 8 coming when you're still on step 2. So please bear with me whenever I s... [Read More]

» Simple things, fractal scenarios from Alex Barnett blog
Jan hMiksovky as written a wonderful little post on the challenges of the user experience (UX) design... [Read More]

» 差点被dojo搞死 from g9
做WEB界面编程很痛苦。菜鸟做WEB界面编程比黄连还苦。 Dojo 提供了一个Tooltip Widget。当我们的鼠标移到指定的地方时,一个提示框就弹出来了。 再把Tooltip稍稍扩展一下,就可以在弹出来的Tooltip里放任意HTML代码。加上一点AJAX调用,一个内容丰富的提示框就做出来了: 鼠标可以在tooltip里自由移动。鼠标移出tooltip,该tooltip自动消失。够简单吧?可惜接着我就被dojo玩儿死了。 展开任何一个的下拉框,把... [Read More]

Comments

Mike Weller

Heh, I never thought of the laptop/multimonitor one... damn, now I have to go fix my app :P

Ed

I love it when I play a game at 640x480 and then after I quit, all of my windows are resized, my IM app is moved into the center of the screen, etc, etc. Add that to the list of things you have to keep track of...

ChiaFong Choo

Interesting...

For IE6, whenever you max it, quit and comeback, it will become a "full screen" size and not a max state. As in the app occupy the whole screen minus the taskbar but still can be drag around unlike the max state.

For me, I wasn't that detail in getting to step 6, my app just detect whether any part of its window is out of the current monitor resolution, if yes, the app will be centered to the current resolution. I skip step 7 and go direct to step 8. Ha!!!

Justin Magaram

Why not always maximize? This would seem to be the 90% solution since most people do 1 thing at a time, it maximizes visible information for the primary task at hand, and the taskbar makes it easy to switch to another window when you want to do something else. There are times I have multiple windows visible, like copying from Excel to Word, or using the Calculator, but these are not the common case. I don't use IM but I could see why this type of app would be good to run in a small window somewhere while you're doing something else.

chris hollander

you forgot one; i loose windows all the time due to tablet orientation issues. :) add docking into the mix, and its game over.

Most frequently, the outlook logon screen ends up lost in some non existant, off screen rotated out region of my desktop... killing outlook (the hard way) and possibly logging out of windows are my only options.

Ben Hollis

I've finally gotten around to posting my answer to this: a C# class that, as far as I can tell, handles everything but the high-DPI monitor issue. Check it out at http://brh.numbera.com/components/winforms/windowstatemanager/ .

Richard Gadsden

Why not always maximize?

I used to think that until I got a 22" monitor. Run at 1600x1200 on a 22" monitor and you quickly find that you'd rather change apps by clicking in their windows. Also MDI=bad.

Ben

You forgot step 2a:

Well, I launched the app twice in a row but it looks like the app only opened once. I discovered a week later that the second window opened directly on top of the first one. Can you make them shift a little?

peterchen

Heh - I always thought window positioning was a "personal obsession", now I know I'm not alone :)

I followed up to step 6, then flanked the whole resolution / DPI issue by storing a *relative* position.

Chris Radke

You also need to take in account the location and size of the TaskBar. I've seen several programs position themselves underneath the TaskBar if I move it to the top of my screen or increase it's size. My positioning routine converts from Screen to Workspace coordinates and will move the Window down and right and shrink it if necessary to ensure the entire window is on the visible part of the screen. This was such a widespread problem that, according to Raymond's blog http://blogs.msdn.com/oldnewthing/archive/2003/09/12/54896.aspx, it is why the TaskBar is at the bottom of the screen and not the top.

greg

The UI problem is a difficult one, but I can't help but think that most of the problems you describe are an intrinsic problem in the Windows development model as a whole. Since Windows needs to maintain backwards compatability, there's no chance that it's going to completely revamp itself to clear out the things that create problems.

So what do we get in the end, kids? A 10-year old operating system, inundated in nasty little hacks that make it look new and shiny.

Richard Harlos

What about saving the window position and size as a percentage of the current monitor's dimensions? That way, assuming we're not minimized or maximized, re-opening the application on a different display will always be _proportional_ to the current display rather than explicitly dictated?

Just a thought :)

peterchen

Richard, that's waht I did :) It works well if you have scalable information (such a view port, charts, etc.). I'm even usign t for MDI childs. If you have fixed-size forms, it wouldn't work so well obviously.

greg - I don't think that's a Windows history problem, but illustrates a more fundamental aspect of user interfaces, and the complex interactions between presumably unrelated features.

The comments to this entry are closed.