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:
  • I'm an iPad user (Score:4, Insightful)

    by Richard_at_work ( 517087 ) on Monday February 20, 2012 @03:13PM (#39101841)

    And most of the apps I use on it have splash screens...

  • by homey of my owney ( 975234 ) on Monday February 20, 2012 @03:16PM (#39101873)
    More specifically, doesn't every Abode program have a splash screen and don't they take a loooong time to load?
  • Notes? (Score:5, Insightful)

    by courteaudotbiz ( 1191083 ) on Monday February 20, 2012 @03:16PM (#39101877) Homepage
    Are you saying that Lotus Notes MIGHT BE "bloatware"?
  • by zombie_monkey ( 1036404 ) on Monday February 20, 2012 @03:16PM (#39101881)
    It's not a new trend. They have always been annoying.
  • It really bugs me when a webpage take forever to load because it's waiting on ad servers to dish up a new ad
    Why can't they write there pages to load the ads last so you can read the page while the ads load?

  • by eldavojohn ( 898314 ) * <eldavojohn@noSpAM.gmail.com> on Monday February 20, 2012 @03:20PM (#39101917) Journal
    Well, I'm dumbfounded. What is this man's capacity over at Adobe? One the one hand hats off to him for having the balls to come out with such a post and to end it with:

    You can e-mail the CEO of Adobe at snarayen@adobe.com (to tell him to keep me or fire me).

    But on the other hand, I wonder if he was aware of the network problems some of his proposed solutions represent. Surely, he must realize that "Run my gestures against an image in the cloud" amounts to increased network traffic. Don't even get me started on the privacy of those "gestures." Let's say you open up Photoshop to edit some 12 megapixel family pictures immediately. Are they transferred to the cloud in the process? And transferred back? Who has the network to do that faster than just loading to main memory with CPU cache? This increases what Adobe must now host as far as server farms and will, probably, raise the price of Photoshop in doing so. And, you know, it's already too expensive for me. Furthermore his post rails against "bloatware" but it's not like hosting this out on the cloud is going to make the application any less bloated. On the contrary, it can only make software more intricate, bloated, buggy, susceptible to attack, expensive, etc. Furthermore are there any users out there that are stationed on top of an internet backbone on Google's campus that could even take advantage of this additional functionality? Perhaps decades into the future this will be reality but until the infrastructure catches up to your consumers, this is a logistical headache.

    As a developer, this all sounds very much like a two year old prattling off "and then I want a hover board, and then I want a flying car, and then ..." ad infinitum while we're still concentrating on minimizing highway deaths. He's probably sitting there with the latest iPhone asking why everything doesn't run like this but I have coworkers that are complaining about the latest iOS 5 updates to their older iPhones and all the problems associated with it. Good luck with pushing that "instant on" standard to all hardware out there man, I really will be amazed if you pull it off.

  • by xxxJonBoyxxx ( 565205 ) on Monday February 20, 2012 @03:20PM (#39101919)

    Four things:
    1) Launching an app from the cloud isn't going to be faster. Hell, many of those apps already use a modal web dialog that essentially acts as a splash screen while all the Javascript bloat sent down to the client gets its defecations together.

    2) Angry Birds has some of the worst launch time that I've ever seen - and it's a top tablet and phone app.

    3) Adobe, you want disregard for users? Try your stupid EULA clickthrough every time a new version of your PDF reader comes out.

    4) Try a usability test in an app without a splash screen some time. What you get is poor end users clicking (launching) the app multiple times because it looks like "nothing's happening". The splash screen is an "ack" at the usability level - "yep, we're launching the app!" As long as it's not modal and the wait isn't long (e.g., the user can go finish surfing on his browser during the 10-15 seconds the apps loads) then there's usually no problem.

  • by Roger Wilcox ( 776904 ) on Monday February 20, 2012 @03:21PM (#39101945)
    The author of this article is an asshole who doesn't understand how computers work. To paraphrase him: "I want it, and I want it now. Period. PERIOD." Sometimes even with computer technology as advanced as it is, applications need time to load. A splash screen says "Don't worry Mr. Computer User, this program has successfully launched and is now loading." Without the splash, you'd sit and wonder if the program was loading or not... and then probably launch it a second time before it was finished loading, further slowing the process.
  • What kind of... (Score:5, Insightful)

    by thePowerOfGrayskull ( 905905 ) <marc...paradise@@@gmail...com> on Monday February 20, 2012 @03:22PM (#39101963) Homepage Journal

    How about - now call me kooky - using some of the massive parallelism that desktops have been shipping with for the last half-decade? Launch background threads to do your resource loading; ensure that your main UI thread is doing as little blocking work as possible? You know, all the "tricks" that have been around for ages, but fell into disuse until mobile platforms became mainstream?

    What kind of diseased mind thinks that the answer to a slow-loading client-side app is to connect it to a cloud instance, thus introducing external dependencies and unpredictable network latency?

  • They are good for really long processes (OS or window-system startup, game loading), because they give confirmation that something is really happening. However, they have to have progress bars or at least something (I like KDE's system with icons) by which you can tell how far it is.

    However, I have noticed a recent trend towards splash screens with an endless loop and no connection to what's actualy happening. Window 7 has such a screen, so does Ubuntu. This is something I'm very annoyed by, because I always think it's complete before it actually is.

  • by localman57 ( 1340533 ) on Monday February 20, 2012 @03:25PM (#39102015)
    Yeah. But obviously, having some stuff running "In the Cloud" is the answer. Crap. It reminds me of 1999 all over again, with the word "Cloud" replacing the word "Internet" in all sort of stupid places:

    1999: Five years ago, this would have been totally unworkable. But now we can use The Internet !
    2001: Why the fuck did we think that was gonna work?


    2012: Five years ago, this would have been totally unworkable. But now we can use The Cloud !
    2014: ...
  • by fiordhraoi ( 1097731 ) on Monday February 20, 2012 @03:26PM (#39102025)
    The author complains about various things. He may have a point with some of them, but some are just ridiculous. For example, he mentions how it takes X amount of time to boot up his laptop, but his phone starts "instantly." I am 100% sure that his phone does not start up instantly from a reboot. Rather, his phone is simply on the vast majority of the time. The more complex the application, the longer it takes to prepare to run. I know numerous applications on both IOS and Android that deliver a splash screen while they load up. Many of these are games or similarly graphic intensive applications (comparative to other more "utility" focused apps). Or if they do not have a splash screen, they deliver no useful function while the data is loading. Ever started up google maps or something similar, and seen your position sitting there on a completely blank field for five or ten seconds? While I agree that perhaps splash screens/load times should be more streamlined as a whole, this "zero load time" environment that he purports to enjoy with phones and tablets simply does not exist.
  • by GameboyRMH ( 1153867 ) <gameboyrmh&gmail,com> on Monday February 20, 2012 @03:31PM (#39102117) Journal

    Forget that, what crazy-ass world does this guy live in where your Internet connection is faster than local disk access!?!?

  • by Pharmboy ( 216950 ) on Monday February 20, 2012 @03:34PM (#39102141) Journal

    Remember when most minor websites had splash screens? Usually flash animation. Was particularly true for gaming clans and other small sites. Splash screens are so 2002.....

    I don't mind a splash while it loads drivers, etc. for a few seconds, like Photoshop does, but a splash that stays there until you click to start using the program, well that is just excessive. I already bought the damn program, you don't need to keep advertising it to me, and I already KNOW what the name of the program is, I just started it....

  • by 19thNervousBreakdown ( 768619 ) <davec-slashdot&lepertheory,net> on Monday February 20, 2012 @03:37PM (#39102177) Homepage

    Splash screens are a nearly-mandatory part of any iOS app. The thing is, you're supposed to supply a bitmap of the unchanging parts of the screen to display while the actual app is loading. I'm annoyed every time I open iBooks or Mint. It makes no sense, it's just absolutely useless. Since it's a static picture it adds no more information than a splash screen would, so it's not even like it gives you something to process while you're waiting for the app to become responsive--the only purpose is to fool people into thinking it's fast, but they'll only be fooled until they're familiar enough with the initial static image that they've already planned their next move. The first time they try to "buffer" that next move, they'll realize just how worthless the image is.

    Show me something worthwhile, like a progress bar, so I can estimate how long I have to wait. Or, better yet, don't load every damn thing when you start up. Load up the UI, whose libraries are typically loaded into the OS already, and then spawn a low-priority thread to do all that other loading in the background.

    It's really stupid that we're locked into splash screens now. Because lazy-loading wasn't added at the very beginning of a project, when it would be easy, it's now practically impossible to switch over to it due to all the subtle timing issues that are essentially hard-coded into the apps. If lazy-loading had been the default, and it wasn't fast enough at any point, the background cache method would be easy to implement. Oh well, just makes it easier for my own projects to stand out.

  • Always-on-top (Score:5, Insightful)

    by Scutter ( 18425 ) on Monday February 20, 2012 @03:41PM (#39102231) Journal

    I don't mind splash screens, but I HATE HATE HATE splash screens that insist on always-on-top. Let me launch the app and then go back to what I was doing while it loads. When you force always-on-top, you're basically saying "Stop everything you're doing and look at me for 30 seconds!"

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

    Where it will cache to your hard drive and then be loaded?

  • by TheCRAIGGERS ( 909877 ) on Monday February 20, 2012 @03:54PM (#39102405)

    Forget it. NoScript, block everything, selectively enable stuff that I want to see. Once you get used to the idea that many sites will need a temporary permission or two its great and only a relatively small subset of ads get through.

    That's fine if you only browse the web a couple minutes a day. Me, I prefer to spend more time consuming the content of the page I navigated to than tinkering with whitelists and blacklists to get the site to even function.

    I could see this may be important if you spent a lot of time on warez / porn / other fishy sites, but I don't and see little reason to bother with the annoyance.

  • by Asic Eng ( 193332 ) on Monday February 20, 2012 @04:23PM (#39102685)

    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. Whether an app can be made to load instantaneously might depend on computing power (although I agree with him, that this shouldn't be an issue for modern computers, anymore) but the really annoying thing about Splash screens is that they sit there blocking access to your desktop, just to tell you "look I'm loading". There is certainly never a need for that.

    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. Don't overwrite what's in the saved copy and don't throw it away - just restore it when the application is opened again, and suddenly quitting word processor is no longer dangerous. When quitting a music or video player it should remember what you were playing and come back to that when the application is started again. A video player should keep the position basically for every movie it has been playing, so if you come back to it later you can continue to watch from the same position, even if you have watched something else in between.

    Remove the danger rather than asking the user twice when doing something dangerous.

  • by Runaway1956 ( 1322357 ) on Monday February 20, 2012 @04:26PM (#39102709) Homepage Journal

    Unlike you, I'm offended by the existence of splash screens. I don't give a rat's ass which splash screen, whether it's my BIOS when I boot, the operating system when it takes control of the hardware, or the applications after I've finally logged in.

    We (humanity) built computers so that we could do lightning-fast calculations, and do impossible chores in seconds or minutes, instead of lifetimes. The fun and everything just followed.

    All those damned splash screens are anathema to the concept of computing.

    I already KNOW that my BIOS was written by (ASUS, Phoenix, fill in your brand here), I do NOT need three, ten, or thirty second splash screens to remind me.
    Ditto with my nVidia card.
    Ditto with the boot loader.
    Ditto again with the operating system

    And, that goes double (or more) for any application I might want to run. Adobe, Oracle, whoever - I KNOW where I got the software already. All I want it to do, is just what I want it to do. I most certainly DO NOT want it to waste precious seconds of my lifetime reminding me that Adobe or Oracle are wasting my time!

    All I want from a computer is "instant on" and "instant responsiveness". I've invested a fair amount of money in good hardware, fast CPU and video, and plenty of memory. I want it to FLY, not to display inane splash screens!

  • by DrVomact ( 726065 ) on Monday February 20, 2012 @04:54PM (#39103145) Journal

    See also "time-sharing", "client-server" and "thin clients". Much of the evolution of computers has been a power struggle between centralization by technology producers and decentralization by users. "The cloud" is just more of the same.

    But which is it? Are we centralizing or decentralizing right now? I tend to lose track. As far as I know, the current "cloud" talk mostly means "storage of your data on our servers". I've seen it used this way a lot in the "smart phone" context. I'm guessing that because we don't know where the servers are, we're supposed to think this is a form of decentralization. As if vagueness were the same as decentralization! We send our data off into the great unknown, and...well...that's a decentralized as it gets, right?

    Not really, of course; it's jargon that is intended to get people to think that they're storing their data on neutral, trustworthy servers. If the instructions actually said "back up your personal data to the Google (or Apple) server", then we might ask if we can really trust Gapple with that data . But if we keep our stuff in a cloud...well, who asks about the integrity of clouds?

    The other way I've heard "cloud" used is as a form of wishful thinking that features programs executing on unspecified servers, along with our data. Of course, if the wish comes true, it will be Gapple servers that run the programs and keep the data, but we won't be troubled with that level of detail. (For all I know, this sense of "cloud computing" has already been implemented, and everybody is doing it—and I'm just so totally out of it that I haven't noticed.)

    For what it's worth, I saw fluffy things labeled "The Cloud" on gee-whiz marketing slides for a super-computing company I used to work for back in 1998. Nobody knew what it was, of course (yes, I asked, bad move if you cared whether Marketing liked you). I'd say it was—and is—a marketing meme trying to push its way into reality.

  • by marsu_k ( 701360 ) on Monday February 20, 2012 @05:36PM (#39103733)
    Oh, and before someone inevitably starts to flame me for dissing Windows, that was certainly not my intention; my point is, in any given application of even moderate complexity, there are some (usually trivial, but still) tasks that have to be done. So one has to either to reinvent the wheel (always a bad idea), or rely on the environment or external libraries to take care of them, which the various Windows APIs do, up to a point - but there are some tasks for which external libraries are needed. And there are many OSS libs for such tasks, some with enough permissive licenses to be used with closed source software as well. But still, apart from the core libraries, Windows binaries tend to be statically linked. As such, they will take more time to load themselves, instead of having only to use a shared library (which might already be in memory - hell, even utilized at the moment by a different program). I do realize this is a double-edged sword when it comes to Linux, not more than once I've had to hunt for a version x.y of libfoo when trying a proprietary program. But when it comes to startup times, when using only programs designed to run on a given DE, splash screens are pretty much a non-issue.
  • by Imagix ( 695350 ) on Monday February 20, 2012 @05:38PM (#39103747)
    You do realize that the splash screen is showing you something useful, namely that the computer has heard and understood your request. Even Adobe's. It is better that the program throws up a splash screen and that rapidly changing status bar, instead of doing _nothing_ until the application springs forth fully formed. And in the meantime, you've launched three more copies, because the computer didn't acknowledge your first attempt. Also provides diagnostic information as to progress too (even if the splash screen only flashes by...)
  • by Fnord666 ( 889225 ) on Monday February 20, 2012 @06:05PM (#39104063) Journal

    Unlike you, I'm offended by the existence of splash screens. I don't give a rat's ass which splash screen, whether it's my BIOS when I boot, the operating system when it takes control of the hardware, or the applications after I've finally logged in.

    I'm just the opposite. I dislike programs that take a while to start up, but don't provide me with any feedback at all. I have no idea if the damn program even launched, and if so, how long it will be before I can do something useful. I would rather see a splash screen of some sort with a progress bar or some other form of visible feedback. To each his own I guess and the solution is simple. Allow a preference setting as to whether a splash screen should be shown at launch or not. Problem solved.

  • by miknix ( 1047580 ) on Monday February 20, 2012 @06:31PM (#39104353) Homepage

    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.

    People have to agree with that no matter what. If an application executable is linked to a dynamic library that is not yet mapped into memory, the OS then first needs to map it. This can take time if the library depends on other libraries which are not mapped yet (often the case of GUI frameworks). In the case of GNU/Linux, most of GUI applications are linked to either libQt* or libgtk. If you (the reader) are running Gnome and you execute a application linked with KDE, you will certainly notice that it takes longer to execute. Nonetheless, the opensource nature of the GNU/Linux ecosystem makes it easy (and a standard practice) to reuse code and for that reason QT and GTK are linked with a common base of shared libraries like libX11, libz and libpng, which is a good thing.
    It was long the time I last programmed in Windows so correct me if I'm wrong but I don't think that the situation is worse in Windows because it also provides a base of system libraries where most of proprietary applications are linked against (DirectSound, GDI32, etc..) . Now, *it could* be worse in the case of proprietary (non-Microsoft) applications because they tend to depend on shared libraries which are also built by the same vendor to reuse some code between their multiple products or just to abstract the underlying "low level" API. Obviously those libraries are not reused by other vendors.

    Now back to topic. When I fire up an application, I expect it to load instantaneously. If it does not, then I look at the laptop's HDD LED light to check for HDD activity (the HDD is always the bottleneck here). I don't need a splash screen because I know (through the blinking HDD LED) that the application is running and I wait for it. However this is my case, which is an exception because I know about OSes and Computers. Most (regular) users run the application and if they don't see any feedback in the screen, they run it again and again until it works; completely ignoring subtle feedback tips from the mouse icon or even the laptop LED indicators. In those cases, I strongly believe a splashscreen is obligatory.

Lots of folks confuse bad management with destiny. -- Frank Hubbard

Working...