Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Software

A Rant Against Splash Screens 477

An anonymous reader writes "This controversial post by Adobe's Kas Thomas asks if splash screens are just a sign of program bloat and callous disregard for users. It suggests that big programs should launch instantly (or appear to), perhaps by running against an instance in the cloud while the local instance finishes loading. Users of cell phones and tablets are accustomed to apps being instantly available. This is the new standard for performance, the author argues. Nothing short of it will do, any more."
This discussion has been archived. No new comments can be posted.

A Rant Against Splash Screens

Comments Filter:
  • by gstrickler ( 920733 ) on Monday February 20, 2012 @03:23PM (#39101973)

    Splash screens were originally designed to let you know the program was launching, so you weren't sitting there wondering "is it opening or not". Now, some splash screens are unnecessarily intrusive, particularly those that require you to click (or press enter) before they disappear and allow you to use the software.

    The real problem is lack of responsiveness. The author points to that in his proposed alternatives, but he's misplaced the blame. For interactive processes, response time is more important than speed. 0.1 seconds is essentially instantaneous for most tasks, that is, the user won't notice that little delay. Games are an exception to that. 0.25 seconds starts to become noticeable, but it it's only occasionally that long, user's will barely notice. 0.5 seconds or longeer is noticeable in almost all instances. Any process that takes over 0.25 seconds should display some form of busy indicator or a progress indicator.

  • Re:I'm an iPad user (Score:5, Interesting)

    by Necroman ( 61604 ) on Monday February 20, 2012 @03:23PM (#39101983)

    initial load time of most apps takes a while in the iPhone / iPad world. If its a good programmer, they will be loading content during that splashscreen. For the apps that look like they load right away, it may be a lie. A lot of devs will take a screenshot of the app when it was closed last, then when it opens again it shows that screenshot until the app fully loads.

  • The cures are worse (Score:5, Interesting)

    by Animats ( 122034 ) on Monday February 20, 2012 @03:29PM (#39102077) Homepage

    Attempts to fix this problem usually seem to take the form of some abysmal hack to keep the program in memory when not in use. There's one of those memory hogs for OpenOffice, Microsoft Office, Photoshop, and Java. (Java's "jqs.exe" is particularly wasteful of resources. It tries to keep the whole Java environment in memory, deliberately causing page faults, even when there's been no use of Java in hours or weeks.) This is one of the reasons it seems to take gigabytes of memory to do anything today.

    Nobody thinks much about linkers any more. That's part of the problem. What's needed is something that organizes the executable file so that the stuff you need to get going loads first, using one big read operation. Linkers which once did that were once common, but are now rare.

    Then there's the DLL/shared object problem. Many programs need only a small part of some shared library, but requesting it either brings in the whole thing, or it gets loaded one page fault at a time.

    Much of the problem is just bloat. Adobe's PDF reader (which is now unnecessary, since there are good alternatives) takes far too long to load for what it does. Most people don't need the text to speech system, or "WebBuy" (electronic commerce in PDF, a feature used by nobody), yet each adds a noticeable delay to startup.

    Hooking something up to the "cloud" makes it worse. Then you get to wait for the server.

  • by Anonymous Coward on Monday February 20, 2012 @03:29PM (#39102079)

    because when you boot Windows, the operating system will, without fail, show you a fake desktop that appears functional but nothing works. Then the whole system bogs down, grinding and struggling, as it tries to load the operating system and whatever program you told it to start. Slowly, slowly, it claws to life, like a deathless zombie scrabbling against a coffin lid, and the program I wanted appears. Only it's slow as molasses too, because the operating system is STILL loading. This continues for up to a good solid minute or two on a hard-disk powered system.

    If the program is complex enough that it simply can't load in a snap, I WANT A SPLASH SCREEN. Don't fucking lie to me as if I'm an impatient moron. Tell me that you're getting ready to run. Let me know that you are actually doing something in the background---put some updating text under that splash. And when that splash screen disappears, let everything now be snappy and fully operative.

  • by kelemvor4 ( 1980226 ) on Monday February 20, 2012 @03:30PM (#39102091)

    More specifically, doesn't every Abode program have a splash screen and don't they take a loooong time to load?

    Photoshop CS5 does both! I've got a very beefy system, and I still sit at the Photoshop splash screen (after a fresh reboot) for 11 seconds waiting for it to load. Not that it really bothers me, but your point is valid.

  • I don't mind (Score:4, Interesting)

    by Freddybear ( 1805256 ) on Monday February 20, 2012 @03:31PM (#39102107)

    I don't mind a splash screen on a game if it's really waiting for the program to load resources, and it goes away when the game is ready to play. I realize that games can have a lot of resources to load up before they can begin play.
    I do mind when there is a whole series of splash screens for each and every little sub-library, and they all insist on playing their little animation for me every time I load up. Especially when it's obvious that the screen is just waiting on a timer or the escape key. Even if I can dismiss them with the escape key, it's still irritating.

    On a business application, there is absolutely no excuse for a splash screen. I don't care if it takes several seconds to load up, but I don't want to ready your ad.

  • Re:I'm an iPad user (Score:5, Interesting)

    by BasilBrush ( 643681 ) on Monday February 20, 2012 @03:52PM (#39102385)

    Not only do a lot of devs do that, that's what you're supposed to do, it's in the HIG (or perhaps somewhere else in Apple's dev docs).

    And I've seen it done on other mobile platforms too.

    A "lie" that the UI is starting to work earlier than it really does is better than a splash screen, and the article makes that point.

  • by perpenso ( 1613749 ) on Monday February 20, 2012 @03:53PM (#39102399)
    I agree that putting up a full screen graphic that looks like your loaded app can just be a gimmick cell phone manufacturers prefer to give the *illusion* of performance. There is no harm in showing a splash screen rather than the fake user interface. The splash screen serves your interests, the fake user interface serves the cell phone manufacturer's interests. Serving your interests rather than the manufacturer's does not harm the user, **unless** you do something like introduce a delay to force the user to see your splash. And as you say apps should delay loading of resources to minimize their startup time.

    In a calculator app [perpenso.com] (RPN scientific statistics business hex) that I've developed the screenshot that I use was converted to gray scale and dimmed to suggest the buttons are not enabled. My splash is just a product name and copyright notice and I put that in the standard numeric display. The user experience is an instant but disabled user interface with a copyright notice, the notice is replaced with numerics as soon as the interface is enabled. There is no artificial delay. Splashes can be done is a reasonable and honest (UI has a disabled visual appearance) manner.
  • by flyingsquid ( 813711 ) on Monday February 20, 2012 @04:02PM (#39102473)
    What annoys me about Adobe's splash screens isn't that they exist, but that they are so hideously ugly. Right now, Adobe welcomes me to its programs with this monstrous, abstract geometric shape. I know I'm running Photoshop if the geometric shape is blue. If I'm in illustrator, then the shape is colored orange.

    But not so long ago, Adobe Illustrator would fire up and you'd get this picture of Botticelli's Venus gracing your screen. A piece of fine art. It provoked a lot of positive reactions- it was literally a familiar face that you saw every time you fired up the application. A sort of welcome. A reminder that even if you're doing something as boring as fixing up a bivariate plot, you're using some of the more artistically-inclined neurons in your head. You associated what you were doing with, well, art. And when you saw that face in your computer screen, your brain recognized it and started getting itself in its "lets-go-be-artistic" mode. Photoshop would have a picture of an eye and a camera lens- reminding you that you were manipulating pixels the same way that photographers used to manipulate film. The new splash screens look like something you'd see in a powerpoint presentation at a large corporation... they feel, in a word, soulless. They don't make you feel like an artist, they make you feel like a corporate drone.

    As for the article's contention that splash screens are inherently bad... I disagree with that. They're sort of like the cover art for albums. Back in the day, music came on spinning discs, and people would put artwork on the sleeves that the disks came in. And you'd associate the artwork with that disk in your head, so that sometimes all you'd have to do is look at the art and it would evoke all the emotions of the music and the lyrics of the whole album. There were also these things called "books" that were made out of dead trees, and we were never supposed to judge books by what was on the cover, but a good book cover on a good book... it was like seeing the face of an old friend. A good splash screen can do the same. I can't help but look at Botticelli's Venus and think warmly about hours spent tweaking teensy little handles on points with Illustrator.

    If there are any Adobe people out there, I really, really wish you'd consider bringing back Venus and the eye-and-lens motif.

  • by QuasiSteve ( 2042606 ) on Monday February 20, 2012 @04:07PM (#39102535)

    For what it's worth, Windows developers can also do this - they can put a progress bar in the program's task bar button - since Windows 7.
    Of course that they haven't might be indicative of it being too difficult.. or that they're too unfamiliar with it.. or that they do offer their own splash screen because it's more informative than just a task bar progress bar.

  • by marsu_k ( 701360 ) on Monday February 20, 2012 @05:11PM (#39103397)

    IIRC KDE3 had a style guide requesting that splash screens would be all inside the application window. I always thought that was a brilliant idea.

    While that indeed is a good idea, I've also found that within KDE (this was certainly true with latter versions of KDE 3, but now with KDE 4.8 there's not much of a difference either, on contemporary hardware) that most, if not all, applications launch themselves pretty much instantly once the desktop has loaded itself. People keep complaining about the "bloat" in KDE, but the system is very modular; and while kdelibs is undoubtedly big, once it is in memory, it is shared by so many programs that the amount of loading needed for a single application is quite insignificant. The problem is, once you start to use programs that require other frameworks (GTK and such), initial load times are much worse; and with Windows, the situation is even worse.

  • by evJeremy ( 1721378 ) on Monday February 20, 2012 @06:02PM (#39104017)

    Other than that, I think there are many good usability ideas in smartphone/tablet GUIs which ought to be brought to the desktop. Not the stupid stuff like making a desktop UI look like it was intended to be used with a touchscreen, but doing away with all the superfluous confirmation dialogs. An application should not ask you whether "you really want to quit" you already told it that - instead it should make sure that when you quit nothing bad happens. If you were working on a document but didn't save that yet - then just keep the working copy when the program is closed.

    Blender 3D has been doing this for years and the complaints about a missing quit dialog never seem to stop.

  • by Fujisawa Sensei ( 207127 ) on Monday February 20, 2012 @11:50PM (#39106663) Journal

    Fucking modal windows don't have any place in an application.

    Fucking having to cancel out of a modal display to copy-paste what you wanted into it because it didn't happen to be in your clipboard.

    The modal option need to fucking die; if your shit required modal, you've fucking done it wrong.

    Developers and marketoids have abused that option for too long and they need to have their toy completely taken away.

  • by DMFNR ( 1986182 ) on Tuesday February 21, 2012 @12:02AM (#39106739)
    Part of the solution to this problem would be for operating systems to be smarter about caching entire programs in memory. The Linux way of doing things is very efficient, but it works because of the Free Software ecosystem where there is usually a standard library for a given task. This makes it very easy to cache things in memory and make for very small binaries for the actual programs. Even on GNOME, after you load one KDE program, the next one you open will probably boot very vast because all of the libraries are already there in memory. On Windows, everyone has their own proprietary libraries, and even if two programs are using the same shared library, the chances of them both using the same version are slim. The average computer has more RAM than most users will ever need, and modern operating systems already do a ton of caching, but the need to be smart about it and applications need to be able to influence and interact with it. Back in day, if you had an IDE running and a browser open with documentation and all of a sudden your boss came over and said he needed some report on his desk by the end of the day, you'd need to close a few programs before opening Word because otherwise you'd start hitting the swap and everything would run slow as hell. So users got in to the habit of closing programs when they were done with them, which isn't really necessary these days. Some people have figured this out, and leave their frequently used programs open, and they never have to deal with loading times and splash screens. For those who haven't the operating system should do this for them. Say Windows determines Photoshop is a frequently used program, after it's loaded for the first time, if the user closes it, the entire program should stay resident in memory unless that space is needed by something else. So if Photoshop is loaded again, it should be able to know if it's already in memory, and skip all of the splash screen garbage and just get down to business. It should be able to communicate with Windows, and let it know if there are images that are edited frequently so it can store those in memory too. This is similar to the way things are done today with speed loaders and programs running in the system tray, but it could be a lot smarter and more efficient in the way things are done.

    My biggest pet peeve in this area is programs that show splash screen for absolutely no reason, they just set a timer and you get an irritating reminder of what the software is called every time you load it. Everyone knows what the program they are running is called, and they probably know what company made it too. Some of them show developer credits or something like that, an nobody gives a damn, they probably never get read even though the user is forced to stare at them every time the program starts. I can just see a PHB suggesting it, "all of the other big programs have one, it will make our software look much more professional".

Get hold of portable property. -- Charles Dickens, "Great Expectations"

Working...