Splash screens are bad UX. Please remove.

App version: 0.1.21.

Splash screen

  • 1
    Splash screens are bad UX. This is borderline off-topic, but can you elaborate on why? I was under the impression that splash screens were a good thing, since they inform the user your app has actually started. – Frédéric Hamidi Sep 2 '13 at 13:18
  • 1
    Why: cyrilmottier.com/2012/05/03/… – Felix Sep 2 '13 at 13:18
  • @FrédéricHamidi there are better ways to inform the user that the app has started. For example, display useful information by using cached data, while refreshing in the background. – Felix Sep 2 '13 at 13:20
  • 6
    You could simply have asked why the choice for a splash screen was made, and if that could be avoided. – Bart Sep 2 '13 at 13:20
  • @Felix, I see your point (I cannot say I fully agree with it, but still). – Frédéric Hamidi Sep 2 '13 at 13:22
  • 2
    Isn't this really a loading screen? What do you suggest they display instead? – Jeremy Banks Sep 2 '13 at 13:24
  • 1
    @Bart I really didn't mean to offend. I just wanted to get a snicker out of whoever read my post. It seems I have failed. – Felix Sep 2 '13 at 13:25
  • Don't worry about it @Felix. It's a fair enough question, and a bit of a revision will go a long way. – Bart Sep 2 '13 at 13:26
  • @JeremyBanks cached data. I don't see why it would need to load my user information every time, it's not like it changes drastically every 5 seconds. – Felix Sep 2 '13 at 13:26

That screen appears when we need data that is not available in a cached version. In that case, we have two choices what to do while getting data from the network that is essential for anything to work: Freeze the UI, or show an indicator as to what's going on. I have pretty strong opinions on which of the two alternatives I consider better UX.

The current alpha version of course doesn't cache as much as it could, so eventually this screen will appear much more rarely, but this screen or some version of it will not disappear in the case that the app needs to get some data to do anything useful, if the alternative is an unresponsive UI while we're getting that data.

I've been reading up on the Internet and discovered that a billion years ago, apps used to hang while making network requests. I don't want our app to be a remnant of that.

  • 1
    By God, I wasn't suggesting freezing the UI! Add two splash screens, please, just don't freeze the UI :). And yes, I know solving this problem is not trivial, but if it's just user info (as the loading text seems to indicate), it shouldn't be that hard, either. IMO, that screen should only appear when first signing in (and the result should be cached). After that, any updates to the user info should be done in the background. Another alternative is to display the entire UI, but add spinners where data is not ready yet (e.g. feed, notifications button etc.) Better than a splash screen. – Felix Sep 2 '13 at 13:41
  • 2
    Until we know who you are, we have nothing to show you. And thus we have to load that information before doing anything sensible. This user information is not cached at the moment because it changes frequently, so we have to figure out an optimal strategy for invalidating such a cache (after all, that's one of the two hard problems in computer science), so currently we just go with "reload whenever the app is restarted after having been killed". – balpha Sep 2 '13 at 13:50
  • 3
    As I said, this will eventually be cached and just silently refreshed in the background. But there will always be cases where there's not enough data to do anything. And in such a case, claiming that an empty UI with just a spinner is better than a UI that tells you what's going on is just your opinion, and I happen to disagree with that opinion. – balpha Sep 2 '13 at 13:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .