Mozilla have lost their mind - Part 2



  • @dhromed said:

    "Combine" in that dropdown means both "collapse/stack" and "connect/group",

    No; it means "combine". Microsoft built the UI, Microsoft gets to define the terminology.

    @dhromed said:

    even though these are very different behaviours and deserving of a separate preference.

    Maybe you should explain what you want to happen, because I'm not getting it. What's the difference between "stack" and "group?"



  • @nexekho said:

    Just recalled that a lot of years back I had a go at making a prototype UI (not a window manager or anything, just a "UI engine" you'd use in a game or something) seen here. It was very broken, but I'd tried to design it to be elegant and simple... each window has four resize handles, can be moved by dragging either the toolbar or the titlebar at the bottom.
    Looks pretty cool, except maybe those unselected radio buttons. And I can't grasp why the two first list items in the Import window have the inverted gradient. Other than that I really like the look.

    Bold choice, moving the titlebar to the bottom.@nexekho said:

    The actual client area is a tree of objects, such as list views (like the import window, or all the way over on the right in the generic browser) tile views (middle of generic browser) or frame objects that could have multiple child objects like the browser itself, and of course in theory you could have multiple levels of these things stacked up... pretty naive but a fun experiment nontheless.
    How is this different from any other GUI toolkit?



  • @Zecc said:

    How is this different from any other GUI toolkit?

    You can't arbitarily place objects on the panel, they HAVE to be relative to others.

    @Zecc said:

    And I can't grasp why the two first list items in the Import window have the inverted gradient.

    They're text boxes... not 100% clear but anything that's just clickable sticks out and anything that has editable content (such as a text box) is indented. I think. Was a lot of years ago.


  • ♿ (Parody)

    @blakeyrat said:

    And the rest of the world. Paper forms use square boxes for "check" and round circles for "mark only one". Computers took that iconography from paper forms in the first place.

    Really? I've never noticed that. The only circles I can recall were on automated forms, where you're supposed to fill in the whole thing. And I always assumed that was to make scanning easier (maybe the filling in, too). Though I can recall some that used rectangles, too, so maybe it's just the way certain companies do that sort of thing.

    @dhromed said:

    And there there are the "[X]" checkboxes on unix-y systems that I never understood.

    Mostly I've seen those in text interfaces, and using an X makes sense there. In any case (probably being trolled, but whatever) it seems obvious when there's one that has something in the box that it's been selected.
    @dhromed said:
    I mean. It's an "X". X is wrong. X is "No". That means it's not selected, right? A checkmark is unambiguously good, ok, right, selected, go for it.

    Well, I can remember teachers who would mark incorrect answers with a check, leaving correct answers alone. Also, my understanding is that in at least some parts of Latin America, political parties / candidates display banners, etc, with their names crossed out. The explanation I've heard is that in order to vote, you cross out the name of the person you're voting for. Or, at least, that was the message conveyed by the name being crossed out. So I guess this sort of thing doesn't always translate well across cultures.



  • @boomzilla said:

    So I guess this sort of thing doesn't always translate well across cultures.
     

    Ok.



  • Jedi Knight (now ancient but forever epic Star Wars game) used crosses on its options screen and this always perplexed me.



  • @blakeyrat said:

    No; it means "combine". Microsoft built the UI, Microsoft gets to define the terminology.
     

    Sure, but at least use two words for two different behaviours.

    @blakeyrat said:

    What's the difference between "stack" and "group?"
     

    Stacking is a subset of grouping, for one. It's not sensible to use the terms interchangeably.

    Behaviour 1: Collapse similar taskbar buttons such that they visually appear as a stack. Can be dragged and closed as one item. Tasks are not accessible with a single click.

    Behaviour 2: Connect similar taskbar buttons on the edges such that they appear as a single large button with light separators*. Can be dragged as one item, but not closed as one. Tasks are accessible with a single click.

    It is confusing to call these two behaviours the same, because the effects on interactivity are incompatible.

     

    *) the visual effect is not quite as apparent in Classic Shell, as used by RDP.



  • @boomzilla said:

    Really? I've never noticed that. The only circles I can recall were on automated forms, where you're supposed to fill in the whole thing. And I always assumed that was to make scanning easier (maybe the filling in, too). Though I can recall some that used rectangles, too, so maybe it's just the way certain companies do that sort of thing.

    Well, it's not a 100% thing, but companies that made an honest effort of designing their forms to be easier to fill-out established that standard. Whether your local po-dunk gas company uses the format or not, who knows.

    @boomzilla said:

    So I guess this sort of thing doesn't always translate well across cultures.

    Yah, well, since we Americans were inventing all this stuff while Europe was... uh... holding Eurovision song contests I guess? Building smoke-spewing shitty diesel cars? We get to create the standards. We also get to run the Internets.



  • @nexekho said:

    They're text boxes...
    I thought this much. It was either that or pressed/disabled buttons.

    @blakeyrat said:

    Maybe you should explain what you want to happen, because I'm not getting it. What's the difference between "stack" and "group?"
    I could use some clarification myself. Edit: ah, got ninja'd.

    @boomzilla said:

    Well, I can remember teachers who would mark incorrect answers with a check, leaving correct answers alone. Also, my understanding is that in at least some parts of Latin America, political parties / candidates display banners, etc, with their names crossed out. The explanation I've heard is that in order to vote, you cross out the name of the person you're voting for.
    Around these parts it's pretty common to mark choices by writing Xs in rectangles. Voting is done this way, not by crossing the candidates names.



  • I think SCART is European in origin... at least. :p



  • @dhromed said:

    Behaviour 2: Connect similar taskbar buttons on the edges such that they appear as a single large button with light separators*. Can be dragged as one item, but not closed as one. Tasks are accessible with a single click.

    Windows doesn't even implement behavior 2, AFAIK... why would you expect it to have a setting to enable a feature it doesn't implement?



  • @nexekho said:

    I think SCART is European in origin... at least. :p

    You can tell, because we don't use it here in the US. Although God knows, until the last 5 years, our video standards were a gigantic ball of shit... Component, S-Video, VGA, Composite, DVI, HDMI... JUST PICK ONE AND LET ME PLUG MY TV IN!

    (Fortunately, we're all standardized on HDMI with other ports only for backwards compatibility at this point. But man, it's been a long road.)



  • @dhromed said:

    And there there are the "[X]" checkboxes on unix-y systems that I never understood.
    Whenever I had paper forms to fill out, it was expected to mark stuff you want to select with an X in the box. Certain types of forms even have a faint X drawn inside the box. Also, older Windows versions used checkboxes like this:



  • @blakeyrat said:

    Windows doesn't even implement behavior 2, AFAIK... why would you expect it to have a setting to enable a feature it doesn't implement?
    I can't confirm at the moment, but this was the behavior I got from Windows 7 even after I messed with the options. And it was extremely annoying.

    Relevant superuser link.



  • That's 3.1, right? I loved 3.1.



  • @Zecc said:

    @blakeyrat said:

    Windows doesn't even implement behavior 2, AFAIK... why would you expect it to have a setting to enable a feature it doesn't implement?
    I can't confirm at the moment, but this was the behavior I got from Windows 7 even after I messed with the options. And it was extremely annoying.

    Relevant superuser link.

    Ok, I see what you're talking about now. That is a bit annoying, that you can't turn it off. But it's not like it's a huge departure from previous versions of Windows, so... the problem is really the (new) ability to move applications around on the taskbar leads to the illusion that you should also be able to move each window's button individually, which isn't the case.



  • @RHuckster said:

    ...yet Firefox has still not addressed the same memory leak and other performance issues that have plauged it since 2003.
     

    They can't fix the memory leaks.  It's written in C++ and using a garbage collector, which means there's no way to fix the memory leaks without rearchitecting the entire program from top to bottom.

     



  • @blakeyrat said:

    @BC_Programmer said:
    For example the standard implementation of toolbars where it's a line of icons, and it raises on mouseover, and you can press them (flat toolbars) I feel is mostly consistent with the older "blander" toolbars, and it provides a bit of feedback to the user that these buttons are selectable or not- (disabled buttons don't get the raised effect).

    it's not as much an issue now, because these damned things are in so many apps that people have gotten used to them, but... many computers don't have the concept of "hover." Finger and pen-based computers (both of which run Windows), to make the most obvious examples. So if your UI depends on hover to be discoverable, it's not a very good design.

    That said, your specific example isn't problematic because so many apps have done it for so many years that people will get it, as long as it's in the normal place for a toolbar to be. But whoever originally came up with the concept was a bad designer.

    Wait, you mean I'm not the only person who thinks that? I actually wrote a long rant to MS when the flat toolbar came out, citing accessibility and other concerns. I never got an answer ...

    But now that non-mouse devices are becoming more common, I wonder how long it'll be before some ironic-t-shirt-from-the-late-80s-wearing, "fair trade"-bran-muffins-eating latte-sipping genius "invents" a radical new UI concept: toolbars with actual non-flat buttons on them.



  • @blakeyrat said:

    Ok, I see what you're talking about now. That is a bit annoying, that you can't turn it off. But it's not like it's a huge departure from previous versions of Windows, so... the problem is really the (new) ability to move applications around on the taskbar leads to the illusion that you should also be able to move each window's button individually, which isn't the case.
    It is a departure from previous versions. I'm currently running Vista with grouping disabled and I have: Firefox, Windows update, Explorer, Acrobat Reader, Explorer, Notepad++, Firefox, Firefox. These are ordered chronologically, in the order I've opened them. If I open a new window its button will appear right-most, not inside some group I need to look for.



  • @Mason Wheeler said:

    @RHuckster said:

    ...yet Firefox has still not addressed the same memory leak and other performance issues that have plauged it since 2003.
     

    They can't fix the memory leaks.  It's written in C++ and using a garbage collector, which means there's no way to fix the memory leaks without rearchitecting the entire program from top to bottom.

    Unless it's pure spaghetti, they could tear out and replace just the memory manager, yes? Maybe I'm naive in assuming that all requests for memory go to the same place...



  • @Zecc said:

    @blakeyrat said:

    Ok, I see what you're talking about now. That is a bit annoying, that you can't turn it off. But it's not like it's a huge departure from previous versions of Windows, so... the problem is really the (new) ability to move applications around on the taskbar leads to the illusion that you should also be able to move each window's button individually, which isn't the case.
    It is a departure from previous versions. I'm currently running Vista with grouping disabled and I have: Firefox, Windows update, Explorer, Acrobat Reader, Explorer, Notepad++, Firefox, Firefox. These are ordered chronologically, in the order I've opened them. If I open a new window its button will appear right-most, not inside some group I need to look for.

    So... what you plan in advance what programs to start to get the taskbar looking like you want? And now Windows 7 has ruined that weird-ass behavior?



  • @blakeyrat said:

    @Mason Wheeler said:

    @RHuckster said:

    ...yet Firefox has still not addressed the same memory leak and other performance issues that have plauged it since 2003.
     

    They can't fix the memory leaks.  It's written in C++ and using a garbage collector, which means there's no way to fix the memory leaks without rearchitecting the entire program from top to bottom.

    Unless it's pure spaghetti, they could tear out and replace just the memory manager, yes? Maybe I'm naive in assuming that all requests for memory go to the same place...

    Unless they're doing something very, very strange with their memory management, that won't be nearly enough.  Once they've removed the garbage collector and replaced it with a real memory manager, then they have to actually add in code to get their memory ownership right, which is probably the problem they added a GC to avoid having to solve in the first place.  Memory management in C++ is very difficult to get right, which is why people turn to weird stuff like RAII/"Smart Pointers" and conservative garbage collectors in the first place, instead of just using a language with a memory model and an object model that actually makes sense.



  • @Zecc said:

    @blakeyrat said:

    Ok, I see what you're talking about now. That is a bit annoying, that you can't turn it off. But it's not like it's a huge departure from previous versions of Windows, so... the problem is really the (new) ability to move applications around on the taskbar leads to the illusion that you should also be able to move each window's button individually, which isn't the case.
    It is a departure from previous versions. I'm currently running Vista with grouping disabled and I have: Firefox, Windows update, Explorer, Acrobat Reader, Explorer, Notepad++, Firefox, Firefox. These are ordered chronologically, in the order I've opened them. If I open a new window its button will appear right-most, not inside some group I need to look for.

    It is indicative of the number of years that I and the rest of my immediate family have spent with our Windows taskbars moved to one [i]side[/i] of the screen that, even though on my primary Linux machine the equivalent of a taskbar is at the top of one monitor, I tripped over the word "right-most," thinking "Wait, why does this person have tasks going sideways?"

    Mental conditioning yay.



  • @blakeyrat said:

    be able to move each window's button individually, which isn't the case.
     

    As long as the Never Combine option lets me rearrange task buttons individually OR || if taskbarshuffle works on 7, then I'm basically cool with the whole thing.

    I'm still not certain why grouping similar buttons should increase productivitiy; or why it was invented at all. It drastically reduces the speed with which I can recovered a task, because as one works, the positions change in both the bar and a stack's popup list.

    I'd say a better way of doing things would be to keep buttons in their exact place as much as possible, even if that means leaving spaces on the taskbar. Theoretically, that's: Location, location, location.

    But as always, UI ideas have absolutely no merit until you've tested them with a large group of people.



  • @blakeyrat said:

    Windows doesn't even implement behavior 2
     

    "Combine when full" behaves exactly as I describe.



  • @ender said:

    Also, older Windows versions used checkboxes like this
     

    Those boxes, including the dropdown arrow ("move down until stop?" what?) confused the fuck out of me.

    I was still a computernoob back then, though, so lack of prior experience with dropdowns surely added to the confusion. It looked like a "next song" button, rotated 90°.



  • @dhromed said:

    I was still a computernoob back then, though, so lack of prior experience with dropdowns surely added to the confusion.
    I wasn't a computer noob when I first encountered Windows, but I never had any problems grasping what the controls did (the UIs I used before Windows were limited to Norton Commander, QuickBasic 4.0 and Dr.Genius graphic program; even these didn't cause me any trouble).



  • @dhromed said:

    I'm still not certain why grouping similar buttons should increase productivitiy; or why it was invented at all. It drastically reduces the speed with which I can recovered a task, because as one works, the positions change in both the bar and a stack's popup list.

    I'm with you on this one, but I think I know what drove the design.

    First, I think the general user thinks in terms of programs, not windows. "Where's my Word?" and "Go back to My Internet to Facebook", instead of "Where's LetterToMom.doc" and "Go back to the IE window I was using to read Facebook". So, if you buy that concept, grouping by program makes sense.

    Personally, I don't buy it, because I'm a geek and think in terms of individual windows.

    Second, and perhaps bigger, users don't close windows. Ever. Tired of reading Facebook? Click your browser button and go to Twitter to read your tweets. Tired of that? Click your browser button and go to Amazon to buy a book. If you do that long enough, you get a lot of windows open, the task bar gets very busy and you get information overload. Grouping by program can help with that.

    Personally, I don't buy into that either. I know how (and why) to close windows. Furthermore, I keep my taskbar autohidden so it's not staring at me while I work and taking up valuable screen space (and, as a result, if it gets busy it's not distracting to me).

    Unfortunately, I am not most users. I've actually had users (technical ones, at that!) complain to me because they slept their laptop and when it came back, their multiple client-server connections were completely hosed, even though they'd moved from one country to another in the 3 days the laptop was sleeping. When I suggest that perhaps they should shut down the apps (and close the windows) before sleeping the laptop, I invariably get a blank stare.

    So I can totally imagine these people ending up with dozens of windows and therefore dozens of task bar buttons. Those people need grouping or something like it*.

    What gets me about stuff like this, though, is the lack of configurability. Did no-one at MS stop and say, "Hey, wait a minute! We're drastically changing the way a central part of the desktop UI works. Maybe we should give users the option of making it work the old way." ?!?!?!? Answer: no. Their research found that some portion of the users prefer it this way, and so this is how it will be for everyone. If you don't like it, well, then, BAD USER!

    I'm badmouthing MS here because it's their task bar, but really, this is a problem endemic to the software industry. As a UI developer, one of the biggest walls I run into is when I suggest putting options into our system instead of making every decision for our users. A good company (and I am lucky to be at one now) recognizes that it needs to find that right balance between too much and too little configurability; a bad company (and all too frequently, an individual or FOSS project) tends to pick one extreme and stick to it.

    * Like a LART to the head, perhaps?



  • @RobFreundlich said:

    What gets me about stuff like this, though, is the lack of configurability. Did no-one at MS stop and say, "Hey, wait a minute! We're drastically changing the way a central part of the desktop UI works. Maybe we should give users the option of making it work the old way." ?!?!?!? Answer: no. Their research found that some portion of the users prefer it this way, and so this is how it will be for everyone. If you don't like it, well, then, BAD USER!

    Adding a checkbox doubles the QA time. Adding two checkboxes quadruples the QA time.

    Microsoft already has a ridiculously huge QA burden with the existing checkboxes. You bet your ass they're not going to add a new configurable to Windows unless they know beyond a doubt it'll draw in customers.

    @RobFreundlich said:

    I'm badmouthing MS here because it's their task bar, but really, this is a problem endemic to the software industry.

    The difference between Microsoft and the rest of the industry is that Microsoft actually performs QA on their product. Which is why these new options aren't added.

    @RobFreundlich said:

    a bad company (and all too frequently, an individual or FOSS project) tends to pick one extreme and stick to it.

    Current trends suggest less configurability is better, generally.

    @RobFreundlich said:

    * Like a LART to the head, perhaps?

    You're a UI developer and you use the term "Luser?" Jesus.



  • @RobFreundlich said:

    @dhromed said:
    I'm still not certain why grouping similar buttons should increase productivitiy; or why it was invented at all. It drastically reduces the speed with which I can recovered a task, because as one works, the positions change in both the bar and a stack's popup list.
    I'm with you on this one, but I think I know what drove the design.

    First, I think the general user thinks in terms of programs, not windows. "Where's my Word?" and "Go back to My Internet to Facebook", instead of "Where's LetterToMom.doc" and "Go back to the IE window I was using to read Facebook". So, if you buy that concept, grouping by program makes sense.

    Personally, I don't buy it, because I'm a geek and think in terms of individual windows.

    Second, and perhaps bigger, users don't close windows. Ever. Tired of reading Facebook? Click your browser button and go to Twitter to read your tweets. Tired of that? Click your browser button and go to Amazon to buy a book. If you do that long enough, you get a lot of windows open, the task bar gets very busy and you get information overload. Grouping by program can help with that.

    Personally, I don't buy into that either. I know how (and why) to close windows. Furthermore, I keep my taskbar autohidden so it's not staring at me while I work and taking up valuable screen space (and, as a result, if it gets busy it's not distracting to me).

    Unfortunately, I am not most users. I've actually had users (technical ones, at that!) complain to me because they slept their laptop and when it came back, their multiple client-server connections were completely hosed, even though they'd moved from one country to another in the 3 days the laptop was sleeping. When I suggest that perhaps they should shut down the apps (and close the windows) before sleeping the laptop, I invariably get a blank stare.

    So I can totally imagine these people ending up with dozens of windows and therefore dozens of task bar buttons. Those people need grouping or something like it*.

    What gets me about stuff like this, though, is the lack of configurability. Did no-one at MS stop and say, "Hey, wait a minute! We're drastically changing the way a central part of the desktop UI works. Maybe we should give users the option of making it work the old way." ?!?!?!? Answer: no. Their research found that some portion of the users prefer it this way, and so this is how it will be for everyone. If you don't like it, well, then, BAD USER!

    Ok, first let me say, pat yourself in the back or whatever makes you happy because you seem to think very high of yourself

    Now, wtf are you talking about, what MS changed so radically and did not give and option to fallback to? Grouping? other people in this thread already said that you can change this, please clarify with valid details and examples what are you ranting about or else I will consider a retard's post and ignore it.

    Until we meet again, your humble serf



  • @RobFreundlich said:

    First, I think the general user thinks in terms of programs, not windows. "Where's my Word?" and "Go back to My Internet to Facebook", instead of "Where's LetterToMom.doc" and "Go back to the IE window I was using to read Facebook". So, if you buy that concept, grouping by program makes sense.

    Personally, I don't buy it, because I'm a geek and think in terms of individual windows.

    [etc]

    I am also a geek and I also think in terms of individual windows. However, I do prefer to group my taskbar by programs in Windows 7. When I say group, I mean for all the taskbar entries of a certain program to be listed together. That is, I have them all listed out - the "Never combine" option to the taskbar buttons setting. (I also prefer to have the taskbar arranged vertically to the left, as I have a widescreen monitor and am desperate for vertical space.)

    The reason I prefer this is twofold.

    First, when I want my "TODO.txt" file, I know it's open in Notepad, and I know Notepad's icon. Prior to Windos 7 (which was XP for me), what I didn't know was the location of that Notepad window's entry in the taskbar. I mean, sometimes I did, because it would be at the same place I last saw it, but sometimes Windows gets it into its head to resize the entries all over the place and make me lose all the previous geometry instead of just wrapping to a new line of entries (like it has it when it gets too full). But with the programs grouped together it takes me much less time to visually pick out the Notepad cluster and then using the Aero Peek feature quickly identify the right window I want. (I also tweaked Aero Peek to show much faster than the pokey default.)

    Second, it's easier for me to see if I have redundant/unused windows of a program open. For example, when I find the information I need from a Google search, I'll switch straight back to my IDE and eventually the browser falls deep into the background. I have serious out-of-sight-out-of-mind issues, so next time I need to Google, I'll just open a new browser window from a shortcut. Within the course of the workday, I can have maybe 10 unused windows of Firefox that I'm not paying attention to. Having all the windows lined up next to each other from taskbar entry sorting alerts me to this, and it's easier for me to find a window to recycle rather than open a new one.

    So that's why I prefer the new features. It doesn't come without its downsides. I wish you could tear off new panels/toolbar (e.g., populated with the "Quick Links" entries) like in XP. To overcome this pointless limitation, I use [url=http://sourceforge.net/p/sevendeskbar/]SevenDeskBar[/url] which is pretty nice. (And contributes to my issue of opening a multitude of browser windows.)

    But of course, it still doesn't even come close to OS X's exposé or Linux WMs' equivalents, which reduce the purpose of a taskbar to merely informing you of what's running.

    Nevertheless, I don't disagree with your point that the USER should be making the decisions, especially about stylistic concerns that approach usability. This is why I use KDE at home.



  • @blakeyrat said:

    So... what you plan in advance what programs to start to get the taskbar looking like you want?
    Exactly the opposite. I open as I need them. But I like to reorder them to positions that make some sort of sense. Even if I can't reorder them, as in all versions of Windows before 7, as long as they remain in sensible places, I can tolerate it.

    But I have better stuff to do than play hide-and-seek with the taskbar. You probably don't have several instances of the same application (and with the same window title!) open simultaneously, do you?

    @kilroo said:

    It is indicative of the number of years that I and the rest of my immediate family have spent with our Windows taskbars moved to one side of the screen that, even though on my primary Linux machine the equivalent of a taskbar is at the top of one monitor, I tripped over the word "right-most," thinking "Wait, why does this person have tasks going sideways?"Mental conditioning yay.
    I use my windows taskbar on the right side of the monitor, I have since even before I had a widescreen monitor. It's great being able to read the labels even when I get to dozens of buttons.


  • BINNED

    @Mason Wheeler said:

    Once they've removed the garbage collector and replaced it with a real memory manager, then they have to actually add in code to get their memory ownership right, which is probably the problem they added a GC to avoid having to solve in the first place.  Memory management in C++ is very difficult to get right, which is why people turn to weird stuff like RAII/"Smart Pointers" and conservative garbage collectors in the first place, instead of just using a language with a memory model and an object model that actually makes sense.

    Hold on for a second, I don't get it.

    Why is having a GC the cause of memory leaks?? Isn't a GC by definition exactly there to fix this? And what is this real memory manager you propose? Usually you don't have to do too much memory management if you use RAII correctly, though admittedly that's not as easy as C++ advocates claim.

    So I'm totally confused about this. They went to the trouble of adding a GC and you're claiming it doesn't clean up memory. What does it do then? You can have memory leaks in e.g. Java and other languages, too, if you keep objects reachable that shouldn't be. But other than that, the point of automatic GC is not having to deal with memory. What more do you want the memory manager to do? It surely can't know if Firefox has ridiculous caching policies that makes it hog memory and automagically fix that.

    Not argueing your point, I just can't follow it.

     



  • Am I the only one who rarely if ever looks at his taskbar? The main use my taskbar is for is launching programs. It's set to auto-hide so it doesn't distract me (been like that since the first day I got Windows 95), and I always switch between my applications either with Alt+Tab, or with my mouse (I programmed one of the side buttons to send Alt+Esc when clicked, and to do Alt+Tab when I hold it down and scroll the wheel).



  • @ender said:

    Am I the only one who rarely if ever looks at his taskbar? The main use my taskbar is for is launching programs. It's set to auto-hide so it doesn't distract me (been like that since the first day I got Windows 95), and I always switch between my applications either with Alt+Tab, or with my mouse (I programmed one of the side buttons to send Alt+Esc when clicked, and to do Alt+Tab when I hold it down and scroll the wheel).

    What are you looking for, Taskbar Solidarity? How does this contribute to the discussion?



  • @ender said:

    Am I the only one who rarely if ever looks at his taskbar? The main use my taskbar is for is launching programs. It's set to auto-hide so it doesn't distract me (been like that since the first day I got Windows 95), and I always switch between my applications either with Alt+Tab, or with my mouse (I programmed one of the side buttons to send Alt+Esc when clicked, and to do Alt+Tab when I hold it down and scroll the wheel).
    Alt-tab takes too much time when you have 20+ windows open.



  • @Sutherlands said:

    @ender said:

    Am I the only one who rarely if ever looks at his taskbar? The main use my taskbar is for is launching programs. It's set to auto-hide so it doesn't distract me (been like that since the first day I got Windows 95), and I always switch between my applications either with Alt+Tab, or with my mouse (I programmed one of the side buttons to send Alt+Esc when clicked, and to do Alt+Tab when I hold it down and scroll the wheel).
    Alt-tab takes too much time when you have 20+ windows open.

    Alt-tab, click window. I know you guys hate mouses, but you do own one, right?



  • @Sutherlands said:

    Alt-tab takes too much time when you have 20+ windows open.
     

    You can Alt+tab and then click on the window thumbnail. :)



  • @blakeyrat said:

    What are you looking for, Taskbar Solidarity? How does this contribute to the discussion?
    Yeah, what does this have to do with Mozilla losing their mind?



  • @ender said:

    Am I the only one who rarely if ever looks at his taskbar?
     

    Yes.



  • @Sutherlands said:

    Alt-tab takes too much time when you have 20+ windows open.
    I often have enough windows open that I increased the number of rows and columns in the Alt+Tab dialog. Since I usually switch with the mouse wheel (instead of actual Alt+Tab), it's much faster.



  • @topspin said:

    @Mason Wheeler said:

    Once they've removed the garbage collector and replaced it with a real memory manager, then they have to actually add in code to get their memory ownership right, which is probably the problem they added a GC to avoid having to solve in the first place.  Memory management in C++ is very difficult to get right, which is why people turn to weird stuff like RAII/"Smart Pointers" and conservative garbage collectors in the first place, instead of just using a language with a memory model and an object model that actually makes sense.

    Hold on for a second, I don't get it.

    Why is having a GC the cause of memory leaks?? Isn't a GC by definition exactly there to fix this?

    You can't reliably collect garbage in a non-managed language.  Since the runtime doesn't know what's a pointer and what isn't--especially because you can cast between pointers and ordinary integers--the best you can do is conservative garbage collection, where the GC treats every bit pattern as a pointer and doesn't collect anything if it finds a potential match, to avoid freeing stuff early. (Which can cause serious bugs, including security holes.)

    Problem is, when you have something heavyweight like Firefox that uses a lot of RAM, that's a lot of address space for potential false positives to point to.  Which leads to stuff not being cleaned up, which leads to more live objects sitting around in memory pointing to stuff, and the problem snowballs.

    And what is this real memory manager you propose?

    A standard malloc/free implementation.

    Usually you don't have to do too much memory management if you use RAII correctly, though admittedly that's not as easy as C++ advocates claim.

    Exactly.  Even with RAII, C++ memory management is painful because its memory model and its object model are both badly screwed up. (And it's informative to note that, aside from D which was specifically designed as an evolution of C++, no other significant programming language (that I'm aware of at least) uses RAII.  It's a C++ idiom designed to deal with C++ problems.)

    So I'm totally confused about this. They went to the trouble of adding a GC and you're claiming it doesn't clean up memory. What does it do then? You can have memory leaks in e.g. Java and other languages, too, if you keep objects reachable that shouldn't be.

    In managed languages the runtime knows what's a pointer and what's not, and you can employ precise garbage collection instead of conservative garbage collection, so you don't get memory leaks due to false positives.  (Precise GC has its own issues, but that's a different topic.)

    But other than that, the point of automatic GC is not having to deal with memory. What more do you want the memory manager to do? It surely can't know if Firefox has ridiculous caching policies that makes it hog memory and automagically fix that.

    Not argueing your point, I just can't follow it.

    Hope my explanation helps to clear things up.

     


  • BINNED

    @Mason Wheeler said:

    And what is this real memory manager you propose?

    A standard malloc/free implementation.

     

    Ok, the manager part (as well as the rest of your post) made me read that as more automatic management, not less. They probably used GC because their simpler malloc/free impementation was buggy as hell.

    If these are inherent problems to conservative garbage collection (I assumed they were using sth precise), shouldn't these have been obvious beforehand?

    And it's informative to note that, aside from D which was specifically designed as an evolution of C++, no other significant programming language (that I'm aware of at least) uses RAII.  It's a C++ idiom designed to deal with C++ problems.

    It has the huge advantage of being deterministic and abstracting from the manual malloc/free. GC is only useful for memory, other resources need try/finally or with constructs or sth. similar, because finalizers are not guaranteed to run.



  • @blakeyrat said:

    @Sutherlands said:

    @ender said:

    Am I the only one who rarely if ever looks at his taskbar? The main use my taskbar is for is launching programs. It's set to auto-hide so it doesn't distract me (been like that since the first day I got Windows 95), and I always switch between my applications either with Alt+Tab, or with my mouse (I programmed one of the side buttons to send Alt+Esc when clicked, and to do Alt+Tab when I hold it down and scroll the wheel).
    Alt-tab takes too much time when you have 20+ windows open.

    Alt-tab, click window. I know you guys hate mouses, but you do own one, right?
    Yes, which is what I use to click on the taskbar.

    Reading is FUN-damental.



  • @Sutherlands said:

    @blakeyrat said:

    Alt-tab, click window. I know you guys hate mouses, but you do own one, right?
    Yes, which is what I use to click on the taskbar.

    Reading is FUN-damental.

     

    Well, sure, you could do it that way.  Or you could just use Win+Tab and keep your hands on the keyboard as the Lord Gates intended.

     



  • @da Doctah said:

    @Sutherlands said:

    @blakeyrat said:

    Alt-tab, click window. I know you guys hate mouses, but you do own one, right?
    Yes, which is what I use to click on the taskbar.

    Reading is FUN-damental.

     

    Well, sure, you could do it that way.  Or you could just use Win+Tab and keep your hands on the keyboard as the Lord Gates intended.

    I could, but then blakey's rant would have had some basis.


  • You can't reliably collect garbage in a non-managed language. Since the runtime doesn't know what's a pointer and what isn't--especially because you can cast between pointers and ordinary integers--the best you can do is conservative garbage collection, where the GC treats every bit pattern as a pointer and doesn't collect anything if it finds a potential match, to avoid freeing stuff early.

    For real? That sounds like madness - how would that even be implemented in a fashion that doesn't waste loads of CPU scanning memory for loads of patterns? Sounds so incomprehensibly... well, bad. Personally I use a malloc/realloc/free wrapper that tracks allocations and flags up mistakes like freeing unallocated memory, failing to deallocate memory before shutdown and so on before preprocessing direct to the standard C functions for release builds... pretty standard I imagine. Well, it would at least explain why Firefox is so damned bad at times.



  • @fatbull said:

    @blakeyrat said:

    add-ins break on every single release

    The solution is obvious: Authors need to specify add-in meta data a more carefully. All they really need to do is change <maxVersion>3.1.*</maxVersion> to <maxVersion>27.2a1</maxVersion> (since 27.2 alpha 2 will break the add-in). That's not rocket science; it merely requires a little forethought.

    This is simply not true for a lot of extensions.  In some cases you can hack the version number and an extension will work.  But in many cases this approach doesn't work because something in Firefox has been changed that breaks the extension.  For example, here's part of the changelog for an extension I use (an extension that is only neccessary because the Mozilla ass-hats eliminated the status bar):

    Version 2011.06.22.19b
    * Firefox 7.0a1 changed the nsIDOMWindow interface ID.

    Version 2011.05.07.18b
    * Firefox 6.0a1 changed the nsIDOMWindow interface ID. 

     As you can see, the developer modifed his extension because of a change in Firefox and a few weeks later they changed it again.

     



  • @nexekho said:

    You can't reliably collect garbage in a non-managed language. Since the runtime doesn't know what's a pointer and what isn't--especially because you can cast between pointers and ordinary integers--the best you can do is conservative garbage collection, where the GC treats every bit pattern as a pointer and doesn't collect anything if it finds a potential match, to avoid freeing stuff early.

    For real? That sounds like madness - how would that even be implemented in a fashion that doesn't waste loads of CPU scanning memory for loads of patterns?

    I'm not sure if it is, or even can be.

    Sounds so incomprehensibly... well, bad. Personally I use a malloc/realloc/free wrapper that tracks allocations and flags up mistakes like freeing unallocated memory, failing to deallocate memory before shutdown and so on before preprocessing direct to the standard C functions for release builds... pretty standard I imagine. Well, it would at least explain why Firefox is so damned bad at times.

    That sounds a whole lot like the "FullDebugMode" addon to Delphi's standard memory manager.  It has a bunch of tricks that it uses to make leaks and other memory-related errors trivial to locate and fix, but it relies on the behavior of Delphi's object model and can't really be applied to C++.



  • @El_Heffe said:

    This is simply not true for a lot of extensions.

    Of course not. Because I was joking. Or at least trying. I thought the ridiculous version numbers etc. and the tag would make that clear. I guess I was wrong.

    Can we instead talk about Firefox recently swapping the New Tab/New Window and Close Tabs/Restore Tab (or whatever they are actually called in English) commands? I frequently click the wrong one and this drives me nuts.


Log in to reply