Hacker News new | past | comments | ask | show | jobs | submit login
Fluid windows (toki-woki.net)
341 points by bpierre on March 19, 2012 | hide | past | favorite | 103 comments

I work for Microsoft as a UX prototyper. This is actually not only cool, but useful. I'll forward this around internally.

Separate question;

Why can I have multiple documents open in any MS Office App, which allow me to show one document on one screen and another on a different screen -- EXCEPT Excel?

This drives me NUTS. I can't easily compare data between spreadsheets without stretching the app across both screens -- then manually adjusting each document window within excel.

Who the hell is responsible for these inconsistencies over there?

Right-Click on Excel Taskbar Icon > "Microsoft Excel" > A new window opens.

Still crazy that it doesn't do that by default, but there is a workaround.

Wow, that works. Jesus christ this has been a frustration for years.


> Right-Click on Excel Taskbar Icon > "Microsoft Excel" > A new window opens.

Is that a windows 7 feature? It doesn't appear to work for XP. (Yeah yeah this desktop is in a govt dept that will get updated one day...)

Like the samstave this (mis)feature of Excel has been frustrating me forever.

Can't remember what the shortcut is (been on the mac bandwagon for 5 years) but it definitely works in XP as I was doing that for years. Maybe File > New Window or something like that.

Shift + left-click on the taskbar icon also opens a new instance of Excel.

Middle-click works as well

Awesome. Jesus I cant believe I never knew this....

Totally agree. I've spent tons of time pouring through their advanced settings and googling around for an answer to this. I must want to have 2 Excel windows open to compare values 10x more than any time I want to use their tiling features.

Actually, as noted in a sibling comment, you can open two excel documents. However, as far as I can tell, you absolutely cannot open two powerpoint documents side by side.

This is fixed in Office 2010. You can open up separate instances of PPT. In older versions you can, if you're feeling ambitious, set up a separate Windows user and create a shortcut that fires up ppt.exe under this new user's account (but still logged into your Windows account). This will give you two side by side PPT windows. Though copy-paste between these windows doesn't work, so it's a nearly worthless hack :)

This is one reason I like the Mac UI -- every document/file is its own window by default, so it's easy to put things side-by-side, even across monitors.

That is actually dependent on the application, but even when the default is tabs you can just drag the tab out to become a window.

You can open up another instance of Excel by going to Start > Run (or the Windows 7 equivalent) > "excel" and then opening up your document. Then you'll have two instances of Excel open each with their own window.

I think it might look slightly better if the buttons were moved to be partly off-screen, something like this: http://i.imgur.com/8T26g.png

The way it's demonstrated on the website, there's no visual indication that the window is partially offscreen except for the lack of a rounded corner, which isn't noticeable at a glance. The exact offset would have to be played with a bit, but letting the buttons push slightly off the screen makes it immediately clear that part of the window isn't visible.

Another visual indication you lose either way is being able to judge how much of a window is off-screen. Normally, the title is perfectly centered all the time. You can look at how far the window extends to the right, and assume it does the same on the left. My minor edit to the buttons above doesn't help with this one.

All in all, I think it's giving relatively minor gains in exchange for removing visual information about the size of the window. The effect is similar to Apple's choice to hide scrollbars in 10.7 unless you're actively scrolling. Sometimes you can judge from the context that there's more available off the screen, and sometimes you can't. Is it worth the trade-off?

I like the idea of moving them slightly off the screen to show that your window is clearly off the screen... but it might be better to indent the buttons further into the screen so that the close button is still the same size.

I wouldn't be too worried about the size, unless you're speaking from a purely aesthetic perspective. For usability, being on the edge of the screen makes it an easy mouse target.

Fair point... I suppose I prefer a uniform hit area size on the buttons throughout the UI. I probably have a bit of OCD :P.

Please do so.

I also have this problem a lot (windows 7);

Ill have Chrome or Acrobat open on my second display when docked at work.

I sleep the machine, undock and head home. When I open it up, chrome or acrobat still maximizes to the now disconnnected second screen.

I have no way to get it back. FN+F8 for projector control does nothing. neither does resleep or hibernate. Closing chrome doesnt work because it re-opens in the same place as last time. Only a reboot fixes this problem.

I hate rebooting my machine. I go many weeks without rebooting and this always pisses me off.

It would be better if you could right-click an app on the task bar and say "send to primary screen" or "send to secondary screen"

there used to be this option, but only some-times, and I don't know why/where to find it.

you can use win+shift+left or win+shift+right so move windows across monitors.

it also works with win+left/right to move things to the left/right of one monitor and then again to jump across to another.

If you're not in Windows 7, you can also do this: Select the window with Alt-tab, press alt, up, left, M (not at the same time). Then use the arrow keys to move the window around as you choose.

It doesn't work with a Chrome window though, since it seems to override those options.

I think Alt-Space will open the "icon menu" on your current display and let you select "Move" with the mouse.

This is a great solution, thanks!

I have one app that always ends up off screen when I disconnect my external monitor and I could never find a definite way to get it back.

Perfect - Thanks! Ill try that.

It's been many years since I've used Windows, but that's one thing that always bugged me. In XP, you could (with the window in question in focus, using alt+tab if necessary) Alt+Space, M (move), then use the arrows to position the window where you'd like - no mouse needed.

Funny what we remember.

Could you get them to add a powertoy or something to add Linux's Alt-drag to move a window without needing to drag the titlebar? (Also to let me move a window offscreen if I want to?)

Actually, as long as I'm asking for features, can I get window shading?

This is a very cool idea and I definitely see the problem that it solves, but it also has the downside of not being a metaphor for something physical.

It's a little strange to see these controls which are currently very anchored in the corner of the window to be moving and sliding around, especially when the view inside the window is scrolling off the screen.

I could see people running into trouble when they've somehow moved the window partially obscuring controls. But if the controls are off the screen, I think it reinforces the idea that this "box" is a window into an application. It doesn't resize unless you grab an edge. (1) I don't mind making the tradeoff towards beginners understanding the computer when there are keyboard shortcuts for advanced users.

(1) This is now worse in OS X from a metaphor perspective. Before you could only resize from the bottom-right where there was a gripper. Now you can resize from any outside edge and there are no grippers/indicators. http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.a...

>...but it also has the downside of not being a metaphor for something physical.

Sometimes though we need it to be a metaphor for what we intend or imply

Rather than simply mirroring physical constraints in an unconstrained environment.

This may not fail the metaphor test. Take a real folder in your hands and try to stuff in it a drawer which is too small. Your corner tab will stay in the corner while the rest gets "smushed".

If anything, this makes it a bit more intuitive for the user as it avoids the confusion of losing controls because of an errant mouse drag.

One possible solution to that problem is to animate the window squishing as it hits the side of the screen and contracts.

The Haiku window manager does exactly this, but it also resizes the viewport such that the scrollbars are always visible. I've always thought it would be a great feature in other stacking window managers.

The BeOS (and therefore Haiku) window managers were well beyond their time. The tab style is still my favourite windowing paradigm.

Seriously, everything should have tabs.

Everything does have tabs. All your windows are just tabs on the task bar!

I have never used Haiku myself, but that is exactly what I was thinking while playing with this example. Did Haiku 'remember' the original size so that it bounced back as you dragged it away from the edge?

Yes it does. As you drag it back from the edge it returns to its 'desired size' (the user's last explicit resize).

I'm not a fan, also I don't like the name--I was expecting something like Wobbly Windows, but more fluid-y instead of rubbery. (Someone should at least edit the HN title to the original title of Fluid Corners.)

For the Windows version, dragging it pretty far to the right leaves essentially just the close button group left. So what if I want to drag it back? I'm incredibly more likely to accidentally click one of those buttons instead of correctly grab the tiny sliver of space to redrag. (Because when I drag things off-screen, I usually bring them back eventually, not to close them, but to use them.) This seems like a solution ot a non-problem. Do most people really close/minimize/maximize windows immediately after dragging them back fully on-screen?

This would be awesome though on Windows (don't have much experience programming Mac UI, so maybe there too) it would break programs that make assumptions about how the non-client area of a window operates.

Quite a few programs do custom rendering up there in a way that would make it difficult to retrofit this in a universally compatible way. These programs would at a minimum need to get events to know that the various elements have moved which would require code changes in the programs to listen for and react to those events. Given how much Microsoft bends over backwards to maintain Win32 compatibility (less than in the past, but still far more than average), I doubt they'd put something like this in unless it was a wholesale interface change (similar to Metro... which avoids this issue altogether by just not having title bars).

The habit of Windows apps to have entirely custom UIs is relatively unknown on Macs. It's not impossible, just (thankfully) much more rare.

The habit of Windows apps to have entirely custom UIs is relatively unknown on Macs

Except for all the apps that do. Like iTunes (ships with OS X) and the Mac App Store app (ships with OS X). And Quicktime (ships with OS X).

Even some popular non-Apple apps like Twitter.

And Rdio. And Reeder. And Sonora. And Chrome.

Er, those are not entirely custom UIs, they use standard widgets in well-defined ways that the platform/window manager understands.

The question was about the title bar chrome. iTunes positions the traffic light buttons vertically when compact. The Mac App Store app positions them in the center of the title area instead of the top. Quicktime has its own chrome entirely. I'm not complaining about it, just pointing out that non-standard chromes are present on the Mac in Apple's own apps.

Really? I use both Mac and Windows and it seems to me that custom UIs are just as common on both platforms (at least among the apps I use)

Probably one of the initial barriers to porting Steam to the Mac.

It's not a technical limitation, it's a culture limitation. Mac apps care far more about providing a consistent UI than Windows and Linux apps (although I believe those platforms have improved in this regard in recent years). It's certainly possible for a Mac app to muck about with the non-"app" parts of the window, it's just far less common.

I meant it tongue-in-cheek, but what you say is true and the Steam interface has always been a custom one. I haven't used the Mac version - how did they rectify this on the Mac?

The Steam UI on the Mac looks exactly like it does on Windows. They skinned the whole thing. And this isn't a bad thing. Steam is intended to be a single cohesive gaming platform. It should look the same on every OS that it runs on.

I really don't think that is true at all.

Agreed. It probably had more to do with the fact that their store, game details, etc. views were pretty complex. They seem to have solved a lot of that crossplatform pain by implementing most of that stuff using Webkit.

I approve! One of the most annoying aspects of OS X (pre-Lion) was hunting for the lower right corner to resize windows. Thankfully, all sides of a window can now be used for resizing. This is a good vision for extending ease-of-resizing further.

It would also force the priority of responsive design. Now that we all work at so many different resolutions, apps and sites should adapt seamlessly to resizing.

I am amazed at how poorly modern keyboards support our highly visual modern user interfaces. Wouldn't the following keyboard buttons be generally REALLY useful:

- Open

- Close/Exit

- Save

- Copy

- Paste

- Menu (to list available context options)

- Help (to show context help)

- Maximize/Restore (toggle mode)

- Info

And the potentially very useful directional arrows keys are almost completely useless except when editing text (although game developers use them meaningfully)

The keyboard is also littered with buttons whose function are designed specifically for text editing, not necesarily a bad thing, but when was the last time anybody actually reviewed the efficiency of the modern keyboard to discover if it is doing a good job or not!?!?!

I always wondered this too. But I have a keyboard with these buttons (really just the Fn keys and an "alternative Fn" function lock key that sends the appropriate shortcuts to Windows) and I never use them. As a touch typist I find it too much of a distraction to move my fingers off the home row and end up sticking with the shortcuts. I'm not sure where else you could really put them without the same problem occurring. Maybe its time to cut our alphabet down to 19 letters and replace the bottom row of alphas with these functions.

I have also used keyboards that have extra buttons for things like this, but somehow I have felt reluctant to make the effort to use them because they are not standard and most other keyboards dont have them, which would frustrate me more!

Who is in charge of keyboard standards? If there isn't anybody, could we start a new keyboard layout organization!?!?

All of those you listed have have standard shortcuts except menu, help, and maximize. Moving them to special keys would be a backwards step, because my fingers wouldn't know where they were, and they would different from keyboard to keyboard. Duplicating the functions on extra keys would be mostly harmless, but using command-letter would still be much faster.

Reading more carefully, maybe you are talking specifically about full-size keyboards, because the only buttons specifically for text editing are delete (arguable), tab, shift (also a generic modifier), and caps-lock.

If keyboards had these button by default, this would actually allow the user interfaces to be cleaned up and have a lot of these 'non-metaphorical' UI componentes removed - "closing a window", what is this a metaphor of? When I close a real window, it doesn't vanish, it just stops air getting inside!

Very, very cool. Would love to see this implemented somehow. Would save me from lots of "mouse goofs"

That is a great idea! Even greater would be to extend this to a consistent way to manage windows whose title bar is above to upper screen edge.

Both Windows and Mac OS try pretty hard to avoid this, but with two monitors it happens every now and then--especially when unpluggin/plugging the secondary monitor.

Without the title bar, it can be really hard to get the window back on the screen. Usually involves, if possible, resizing the window so it shows on both screens or unplugging/re-plugging the secondary monitor.

In windows, it's easy. Press alt+<space> and then 'm' and then arrow keys till the window is in frame and finally 'enter' when you are done.

Even easier is to use Win+<arrow keys> to get window to a particular boundary of the screen, but when you restore the frame, it will still be in the 'half out of screen' position.

I really miss Linux's Alt-drag to move a window, which would fix this problem. I also wish MacOS and Windows actually let you move a window's titlebar offscreen.

FYI: Someone did alt-dragging (and resizing) for Windows http://code.google.com/p/altdrag/

Quick, patent this!

You can't. This page would count as prior art.

Not prior art, but public disclosure.

So what if I remake it before he patents it? Is my implementation then prior art?

If you're right, the patent system is yet again more broken then I thought.

No, he has 1 year from public disclosure to file for a patent (in the US, as of 2006 when I took my IP law class [IANAL, btw]). You could not file for a patent because his public disclosure would count as prior art for you, unless you could prove that you had the idea before his publication.

You are right. You cannot patent something that has already been published elsewhere.

how can you be so sure

I would rather have the button block simply jump to the other side of the window (instead of being pushed there by the window edge). IMO your version is just too fancy for the routine day-to-day use.

I remember some X11 window manager that used BeOS like tabs doing something similar (either one of the twm hacks/successors, or a wm that allowed you to merge tabs)…

Are you thinking of sawfish?

That might have been fluxbox (fluxbox.org), from the BlackBox family.

I would've thought it was something older like pwm…

I think the OS X version is a bit confusing, to be honest. There are too many elements sliding around and resizing. The problem it aims to fix is also still partially unsolved when the screen is dragged 'too far' (http://i.imgur.com/Q4Ktw.png).

The Windows version isn't confusing at all though (in its current implementation). I think this would be a really nice feature on Windows.

I solved this problem by not having window decorations and not allowing windows to be partially off-screen.

With the Mac, a lot of people (i.e. me) will have the Dock in the way when you drag off screen: keeping the window buttons onscreen wouldn't help much, since they'd be behind the Dock, and sliding the buttons to keep outside the Dock area would probably be too weird-looking.

This is really cool and I'd love to use it! The one thing I'd like to see is some more gap on the windows side when it is dragged all the way to the right. With some gap I wouldn't click close or minimize when trying to move it back. The mac has enough gap with the title.

That is really smart. Though I don't think anyone is going to implement it (except maybe gnome) because the world of UI is shifting to mobile, even if the "desktop" computer will stay with us for many years to come. Had you thought of this 10 years ago ;)

On most Linux WM buttons are left and right hehe.

I keep accidentally losing the window by dragging past the bottom of the "screen" and letting go.

Windows 7 allows you to do something similar.

The window layout manager is smart enough not to let you push the window totally off the screen, but if you grab a window and pull it down under the taskbar (assuming the taskbar is in the default bottom position and does not autohide) in Windows 7, you're somewhat boned because while the window is still there, the taskbar's zorder makes it impossible to click on it to recover it. You can fix this situation by unlocking the taskbar (if it is locked) and moving it or by setting it to autohide, but neither of these things is a particularly intuitive move for the average user, I'd guess.

Pressing alt-space, m followed by the arrow keys usually worked when I was using XP.

On Windows 7 this is not an issue as the windows snap to the sides and top, and if you drag towards the bottom of the screen there are several pixels on the titlebar where you can only resize the window and not move it, it is really difficult to lose a window by dragging it as shown on the website.

It is an issue in Windows 7, at least with default settings. As mentioned in the grantparent post, if you have a default taskbar setup (at the bottom, no autohide) you can very easily drag a window below the taskbar (because the taskbar is larger than the entire window titlebar), which might as well be off the screen because the zorder of the taskbar is greater than that of the window, so you can't interact with the window via the mouse until you move the taskbar or set it to auto-hide.

I just tried with the taskbar on the bottom, and I could not drag the mouse cursor below the top edge of the taskbar.

That's odd, because I've got 3 different Windows 7 installs here and every one of them allows me to drag the mouse cursor below the top edge of the taskbar while dragging a window.

I'm not suggesting you're wrong here, just that I've never seen the behavior you're seeing and I use Windows 7 frequently. Perhaps you have some option set that I do not.

You can only drag into the taskbar area if you have multiple monitors.

On a single monitor setup it captures the mouse and prevents this issue.

My setups are all multi-monitor so I guess that's the issue? Thanks for the info.

On Windows 7 you could also use the Windows + Arrow Keys to move the window back on screen.

Luckily you won't have this problem if it would be implemented. You can't have the cursor float in mid-air next to your screen.

I don't see how this could be useful - why would I drag a window outside of the viewable area?

If I do, it's probably because I want it easily accessible but not obstructing other windows, so these buttons would make it harder to drag it back.

For multiple monitors - the controls are dragged to the other monitor as well...

I don't usually reply to myself, but when I do, I have a good reason :-). In this case, can anyone tell me how this fluid window could be useful, instead of just downvoting me? Thank you!

It doesn't work for me, what is supposed to happen?

Here's a quick and dirty screencast http://screenr.com/QrB8 Basically, parts of the UI that would be hidden when the window is off-screen, get moved inwards.

I was thinking it doesn't work for me but it does. I was just moving the windows too fast to notice. It's great how unobtrusive it is.

Thanks for the screencast!


There are some little things called hotkeys........

Um, I have no idea if this is cool or not, because I'm sitting in a doctor's office on my iPhone.

Is it really too much to ask to implement swipe gestures in JavaScript? The world is mobile now. Whether this is actually cool or not I shall never know, it has disqualified itself from my web browsing time.

The idea itself isn't meant for a mobile environment. The GUI moves when you drag the windows around. This sort of interaction doesn't really play nice with mobile usage.

Slight pipedream aside; a tiling window manager with multiple real and virtual desktops plus gesture control would be nice. Anon or authed zeroconf wireless networking and would allow one to place/dock a mobile device to the side of your desktop/tv/other mobile and drag/sync apps and/or items between the two. Anyone know of a system or so that could do the likes of that?

Applications are open for YC Winter 2023

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact