Friday, August 11, 2006

T-10: Tab dragging WIP demonstration

Without further ado,

Tab dragging first demonstration (Yay!)

Things worth noticing:

  • Dragging favicons is still different to dragging tabs
  • Dragging a tab does not affect the state of the information inside the tab - I have shown this by dragging a tab that contains some text in the Google search field. This works for audio and video too (I love Ze Frank)
  • Things might look a little bit slow to react. I think that is because I'm still developing on a 700MHz G4 with 384 MB RAM.
Things that I might appreciate feedback on:
  • When should tabs switch position? As soon as the mouse pointer is hovering over a different tab? When the mouse pointer is more than a certain % across the tab you want to move it to?
  • How much animation does this need to become a useful tool? Does it need any animation at all?
I have found it quite difficult this week with Mike being away at WWDC, I wish I was at WWDC.

I am going to a wedding this weekend (not mine, don't worry!) so I shall return on Monday and sit infront of my computer until the end of SoC. There might even be some time for sleeping and eating and washing.

PS I am super scared of submitting my patch to BugZilla because I know that it is hacky and that Stuart will roar at his computer screen when he reads it.

PPS Sorry to the people who read all of my posts for the whiney state of affairs that you have had to put up with recently, it's full steam ahead from now on.


Carl Johnson said...

Definitely good work!

I do think it might be helpful to get animations though, otherwise it looks like you're replacing the tab, not swapping things around. I would do that before releasing a full version to public. This is cool enough for now though.

Anonymous said...

So cool to see your video. The project is really looking great. To respond to your two questions (when should tabs move and does this need animation?):

In my opinion, dragged tabs should behave like dragged toolbar items in the Finder. (I'm sure you've already done this, but if you havent, command click on a toolbar item and drag it to see what I mean.) So, 4 things:

1. It looks to me like items switch position once the mouse pointer is 50% of the way across the neighbor item (though as little as 20% of the way across a sidebar item makes them switch -- and the animation is faster, which I personally prefer).

2. I'd say that full animation is needed both from a usability standpoint and from a "being Mac-like" standpoint. Tabs should scoot out of the way to make room for the tab you're dragging before you release the mouse button. To my mind, Camino has always stood out for being more mac-like than Safari -- keep it up!

3. When dragging tabs, a ghost of the full tab should move, not just the text on the tab. It feels too easy to confuse the action of dragging a tab with the action of dragging a favicon. A visual distinction between the two actions would help.

4. In Finder, when you drag a toolbar item out of the toolbar, the mouse pointer changes to the "puff of smoke" mouse pointer. Here's hoping that when you drag a tab out of the tab bar, we'll see a beautiful "new window" mouse pointer....

Keep up the good work. I can't wait for these improvements to make it into a nightly build. Which reminds me -- when can we expect that to happen?


Smokey Ardisson said...

:Sigh: I so wanted to play with dragging this weekend (roar of Stuart be darned), but the patch doesn't build :(

Hope your weekend away is relaxing!

Smokey Ardisson said...

A little #camino fun enabled some testing, so herewith some comments:

1) I think the Safari toolbar example is good; the tab needs to switch position only after it is 51% across the second tab (perhaps further, though further might be harder once you hit smaller tab widths?).

2) Animation is a must; it needs to look like we're dragging a tab, not a favicon. That would also help with 1 (it's hard to tell when they're switching positions at all, but definitely it seems too quick, and not at all smooth).

3) It should support drags that deviate from a linear right-left drag; i.e., a drag that arcs out of the tab strip and back in. The tab should be re-inserted based on where its position in relation to the surrounding tabs (which one is 51% and which is not). Right now this just hangs :( (This will also be useful, I expect, when moving tabs between windows and perhaps when "tearing off" tabs to create new windows.)

It was truly exciting to be able to drag tabs in Camino for the very first time; I've wanted this feature for years! :D

Desmond Elliott said...


Similar to how things work in the Safari bookmark toolbar too. I'm not too fussed about when the tabs change position, the standard Apple way of doing things seems to be 51% then slide.

My intention is to have the tab replaced with a 'blank' space underneath it - just like in Finder and Safari - and to drag an image that represents the tab as it is in the tab bar. That will require writing a custom class, but I think I could pull that together in a couple of hours.

I believe that I *may* change it so that if you hold down the Command key and drag a tab out of the tab bar then it will create a new window. I'm not sure what the standard is for this so I will need some advice from people.

It will take quite some time for this to make it's way into the nightlies because of the reviews system, the features there needs to be, and the fact that this is targetted at Camino 1.2 and the nightlies (attempt) to represent Camino 1.1. (Somebody might need to quote me on that one.)


Terribly sorry about that. I made some last minute changes before I submitted and I didn't re-compile. How embarassing. Another mistake that I'll only make once.

It will support not linear tags, I'm just trying to figure out an effective way to do it.

I'm really glad that it pleases you :) I know that you've been harkering after this feature for years and you will have it soon (ish) ;)

Thanks for the feedback!