Worst. search engine. ever.



  • @Cap'n Steve said:

    @aib said:

    The Real WTF™ is that the alert box is a modal dialog. I mean, I know the function is called alert(), but hey, come on... If it's "the page at http://..." that's saying something, why are all my other tabs disabled?



    I agree. HTTP login boxes are the same way (no copying your password from an email and then entering it in another tab). There is one feature of Opera that I'm surprised no one has copied yet. Every Javascript popup has a checkbox that says "stop executing scripts on this page".

    Because the CORRECT solution is that javascript dialogs are either not modal at all, or modal only in their own tab. The same way that aler-bomb link can be opened right now in a new WINDOW and not stop me typing this.

    Javascript predates (at-all-widely-used) tabbed browsing. Back when you could only have one page per window, modal javascript dialogs were OK. Now we have tabbed browsing, is relict behaviour that's no longer desirable, but hasn't been changed.



  • @m0ffx said:

    Javascript predates (at-all-widely-used) tabbed browsing. Back when you could only have one page per window, modal javascript dialogs were OK. Now we have tabbed browsing, is relict behaviour that's no longer desirable, but hasn't been changed.

    Well, there's more to it than that. Notification in general is a horrid mess in Windows. Some programs randomly fling dialog boxes in your face when they want attention, and if you're typing, the next space or appropriate letter will press a button before you've even had a chance to read what it says. BitDefender 8 would do this when it went to update: although update was automatic, it would still ask if I wanted to restart, with the dialog not normally appearing at all, such that I never realised there was one. One day, it managed to catch a space from whatever I was typing and that pressed Restart. Windows suddenly began to log out for no apparent reason, although I did finally prevent it.

    There have been various ideas posed for notification. Psion had message tooltips that replaced modal alert dialogs, to show you that a dialog input had to be corrected, or that a menu command (or shortcut) that you issued was not available, and why. MSN Messenger, Norton, Firefox etc have toasters that slide up, which has been made potentially systemwide on the Mac with Growl. Firefox also has bars that appear at the top of a page to indicate pop-ups, missing plugins etc. and some other programs have similar ideas. Windows XP has help balloons which are pretty nifty too.

    But so far, there's no coherent, complete solution and many cases are still not covered.



  • @Daniel Beardsmore said:

    Well, there's more to it than that. Notification in general is a horrid mess in Windows. Some programs randomly fling dialog boxes in your face when they want attention, and if you're typing, the next space or appropriate letter will press a button before you've even had a chance to read what it says. BitDefender 8 would do this when it went to update: although update was automatic, it would still ask if I wanted to restart, with the dialog not normally appearing at all, such that I never realised there was one. One day, it managed to catch a space from whatever I was typing and that pressed Restart. Windows suddenly began to log out for no apparent reason, although I did finally prevent it.

    There have been various ideas posed for notification. Psion had message tooltips that replaced modal alert dialogs, to show you that a dialog input had to be corrected, or that a menu command (or shortcut) that you issued was not available, and why. MSN Messenger, Norton, Firefox etc have toasters that slide up, which has been made potentially systemwide on the Mac with Growl. Firefox also has bars that appear at the top of a page to indicate pop-ups, missing plugins etc. and some other programs have similar ideas. Windows XP has help balloons which are pretty nifty too.

    But so far, there's no coherent, complete solution and many cases are still not covered.

    I always wondered why windows (and OSX AFAIK) do not allow the user choose how focus etc is handled. Most window managers on linux (or rather, in X) allow you to pick between a number of different settings. E.g. I currently use a combination of sloppy focus and no automatic transfers of focus: if some message box pops on top of everything else, the old window will keep keyboard focus (even though it's not the topmost window).

    Then again, IMO, working on anything without sloppy focus is somewhat painful...



  • @cvi said:

    I always wondered why windows (and OSX AFAIK) do not allow the user choose how focus etc is handled. Most window managers on linux (or rather, in X) allow you to pick between a number of different settings. E.g. I currently use a combination of sloppy focus and no automatic transfers of focus: if some message box pops on top of everything else, the old window will keep keyboard focus (even though it's not the topmost window).

    You need to resurrect Jef Raskin and ask him for advice on this one. One difference may be that Windows and Mac OS support modal dialogs, which X11 appears not to (though I am no authority on this). The idea of allowing the owning window to retain focus after it displays a modal dialog box will horribly undermine the application, which believes that the current task is suspended pending feedback via the dialog box. What I've noticed, is that although XUL dialog boxes are modal, Pidgin dialog boxes (via GTK+) are all modeless, meaning that the application cannot rely on them to halt execution; this is what suggests that X11 cannot do modal dialog boxes at all.

    In fact, there's no requirement in Mac OS to support continuing processing at all. When showing a standard alert dialog, you must pass in a callback to continue to receive window events. Calling ShowStandardAlert(), which is a synchronous call pending the dialog being dismissed, relinquishes the message pump to the OS, so you have to create a callback for the OS to pass back any events that the dialog box didn't need. You're quite entitled to pass NULL here: your app's windows of course won't redraw under Mac OS 9 if you drag the window, but under X, the window content is cached anyway so they all redraw regardless, even though no redraw events are being processed any more.

    It's one thing stopping background apps popping dialogs over the top of the foreground app, but interfering with the modal dialog model could create a mess in Windows and Mac OS and break all existing software. This is only my speculation, though, and Cocoa might do away with the Mac WaitNextEvent() flaw (even Carbon provides a way to keep processing events during a synchronous GUI call such as scrolling: Carbon Events).



  • @Daniel Beardsmore said:

    MSN Messenger, Norton, Firefox etc have toasters that slide up, which has been made potentially systemwide on the Mac with Growl. Firefox also has bars that appear at the top of a page to indicate pop-ups, missing plugins etc. and some other programs have similar ideas. Windows XP has help balloons which are pretty nifty too.

    God I hate those slide-up notices. Especially if I'm playing a game and something triggers one in the background. The slideup leaks through the DX surface and flickers around in the game for the whole duration the notice. It's especially bad for the ones that fade into place. The game comes to a screeching halt, dropping from 30+fps to 0.01 because each iteration of the popup's fader is another interruption on the render queue.

    In general I hate anything in the Windows interface that fades or slides into place. If only BillCo had bothered to come up with a standard API for doing those, and making a standard setting available to DISABLE THEM.



  • @MarcB said:

    God I hate those slide-up notices. Especially if I'm playing a game and something triggers one in the background. The slideup leaks through the DX surface and flickers around in the game for the whole duration the notice. ... In general I hate anything in the Windows interface that fades or slides into place. If only BillCo had bothered to come up with a standard API for doing those, and making a standard setting available to DISABLE THEM.

    I find that XUL ones do eat a ton of CPU, so I have them all disabled or reverted to appear without sliding.

    For Cy/VOS, we plan to have a notification server and generic API. Programs ask to notify the user, the notification server takes care of it. The notification server is a class, not a specific program, so you can have notification implemented however you desire with whoever's notification server you want. It doesn't need to be a separate program, just any program that asks to respond to notification messages from other processes in the session. The taskbar process could take on this role and flash the appropriate button, or you could have something like Growl running that floats a window on the screen (but not when a full-screen app is running, but we all know that full-screen support in Windows is broken).

    Existing notification APIs have historically been rather weak. Microsoft make you sit and flash a taskbar button manually (and finally decided they'd do it for you) but this tells you nothing about what the program wants. Apple used to let you flash an icon in the corner of the screen, with your own choice of icon (and some apps would choose an appropriate icon for the event), then they let you float a palette window on the screen with a message in, that could be closed but not clicked to take you to that app. Then for X you got the extremely irritating Dock icon bouncing. Growl is similar to our notification server idea, but very specific instead of generic. Our idea is a non-coupled approach via generic IPC, whereas Growl itself has to be built into your app to use it -- a Real WTF there, especially given that Mac OS X already has a rich native soft IPC mechanism that's perfect for generic notification.





  • @Daniel Beardsmore said:

    One difference may be that Windows and Mac OS support modal dialogs, which X11 appears not to (though I am no authority on this).

    They can be implemented in X11, but the client conventions manual explicitly forbids anything other than the window manager from doing it, and most window managers don't (on the grounds that it's a stupid idea).

    The idea of allowing the owning window to retain focus after it
    displays a modal dialog box will horribly undermine the application,
    which believes that the current task is suspended pending feedback via
    the dialog box.

    An X11 application cannot be suspended for anything. It must, at a minimum, continue to process expose events. The application may choose to reject or redirect input and focus-change events.
     





  • @asuffield said:

    @Daniel Beardsmore said:

    One difference may be that Windows and Mac OS support modal dialogs, which X11 appears not to (though I am no authority on this).

    They can be implemented in X11, but the client conventions manual explicitly forbids anything other than the window manager from doing it, and most window managers don't (on the grounds that it's a stupid idea).


    That depends on what you mean by modal. A program can certainly refuse to otherwise respond until the dialog box is dismissed, and in those cases it's quite reasonable for it to request the window manager keep the dialog on top of its window (and no reason for a window manager not to do so). Now, as for a system-modal dialog box, the only examples I've ever seen have been "shut down / log off / quit window manager [effectively logging off since that's what's holding your session open]" confirmation prompts. On Windows and Macintosh I've also seen them used for particularly severe (usually fatal, to the extent that an equivalent error would probably freeze and/or kill X) error messages.

    ...which is what you said, once I bothered to read the rest of your post. But I'm still not sure I agree that it shouldn't be called modal.



  • @Daniel Beardsmore said:

    Well, there's more to it than that. Notification in general is a horrid mess in Windows. Some programs randomly fling dialog boxes in your face when they want attention, and if you're typing, the next space or appropriate letter will press a button before you've even had a chance to read what it says. BitDefender 8 would do this when it went to update: although update was automatic, it would still ask if I wanted to restart, with the dialog not normally appearing at all, such that I never realised there was one. One day, it managed to catch a space from whatever I was typing and that pressed Restart. Windows suddenly began to log out for no apparent reason, although I did finally prevent it.

    The one that always caused my Tourette's to flare is IE, which has that nifty little external window for each download that pops up and steals focus when it's copying the file from "Temporary Internet Files" to its final location - wherever you told it to download to in the first place.  Guess what happens if you press the Cancel button on that dialog?  Guess what button is the default?  And guess what happens if you're in the middle of writing a document, or code, or whatever, and press either the space bar or the enter key just as that window grabs focus? >:-(



  • @GalacticCowboy said:

    The one that always caused my Tourette's to flare is IE, which has that nifty little external window for each download that pops up and steals focus when it's copying the file from "Temporary Internet Files" to its final location - wherever you told it to download to in the first place.

    I pity anyone who is actually compelled to use Internet Explorer as a browser :) It's just so underwhelming. Even the Mac version had a proper downloads window and didn't download files to somewhere stupid first. I hope IE no longer has the bug about not obeying the cache limit -- I once had Temporary Internet Files grow to 4 GB owing to it failing to trim the folder, ever.

    Which reminds me, as most people have never seen this. On the Mac version, as the download progressed, it was cycled through a set of file types whose icons showed an increasing progress bar. You could use the file's Finder icon to see how far it had got, and when completed, it would set the appropriate type and creator codes as per Internet Config. iCab still does that in OS X.



  • @Daniel Beardsmore said:

    @GalacticCowboy said:

    The one that always caused my Tourette's to flare is IE, which has that nifty little external window for each download that pops up and steals focus when it's copying the file from "Temporary Internet Files" to its final location - wherever you told it to download to in the first place.

    I pity anyone who is actually compelled to use Internet Explorer as a browser :) It's just so underwhelming. Even the Mac version had a proper downloads window and didn't download files to somewhere stupid first. I hope IE no longer has the bug about not obeying the cache limit -- I once had Temporary Internet Files grow to 4 GB owing to it failing to trim the folder, ever.

    Which reminds me, as most people have never seen this. On the Mac version, as the download progressed, it was cycled through a set of file types whose icons showed an increasing progress bar. You could use the file's Finder icon to see how far it had got, and when completed, it would set the appropriate type and creator codes as per Internet Config. iCab still does that in OS X.

    I mostly use Firefox for my personal browsing, but I've worked in 2 different environments now where installation of any other browser besides the Almighty IE was strictly forbidden without ritual sacrifice and extensive forms signed in triplicate.



  • @Daniel Beardsmore said:

    @GalacticCowboy said:

    The one that always caused my Tourette's to flare is IE, which has that nifty little external window for each download that pops up and steals focus when it's copying the file from "Temporary Internet Files" to its final location - wherever you told it to download to in the first place.

    I pity anyone who is actually compelled to use Internet Explorer as a browser :) It's just so underwhelming. Even the Mac version had a proper downloads window and didn't download files to somewhere stupid first.

    The Mac version of IE had nothing in common with the Windows version other than the branding and artwork. Different developers, different code - it was a complete fork.



  • @asuffield said:

    The Mac version of IE had nothing in common with the Windows version other than the branding and artwork. Different developers, different code - it was a complete fork.

    You're saying that like I said something contradictory to it.

    Take Adobe Photoshop 7 (Mac version). It ships with ImageReady 7. Both of them have an Options palette that contains options for the current tool. In Photoshop, this palette contains a docking well for other palettes, and itself can be docked to the bottom of the screen. ImageReady's Options palette has no well and won't dock to the bottom of the screen. If Adobe can't even manage to keep their window toolkit consistent within the same package... ImageReady also has no Navigator palette. (Illustrator looks like it came from another planet in comparison.)

    I guess it's normal. No-one speaks to anyone else, co-operates or works together in any way.


Log in to reply