
Customize iOS7 App Switcher with custom card view - macalicious
https://github.com/vpdn/MMAppSwitcher
======
0x0
It looks like the trick here is to hook into a global NSNotification called
"UIApplicationWillBeginSuspendAnimationNotification", which is assumed to be
"app will enter background", and then throw up a fullscreen UIView on top of
everything.

I think this is an undocumented notification, so it's possible other iOS
versions will break this feature.

~~~
quux
I can't find it at the moment, but I think there is a supported way to achieve
the same thing. I remember it being mentioned at WWDC to allow apps to hide
sensitive data in the UI before the screenshot for the app switcher is taken.

~~~
rguldener
Yes I remember that as well, all you have to do is set the UI you want to be
screenshotted in the applicationWillEnterBackground notification/application
delegate callback. This has been around since fast app switching (iOS 2.3 I
think, the golden old days :)) but has gotten much more prominent with the new
app switcher.

------
nsxwolf
I'll wager Apple will shut this down or reject apps that do this.

If you're going to do this you have to consider the ramifications of how stale
the information on the card becomes over time. The example, showing a "Checked
in since..." will become stale if someone checks in/out on another device.

A real iOS 7 API to update these cards in the background would be a nice
addition.

~~~
vpdn
The cards are already showing stale information, including Apple's own apps:
[http://d.pr/v/NuY5](http://d.pr/v/NuY5). As for background updates, there are
some ways around through iOS7 background modes, but the situation could
certainly be improved. I agree there should be an Apple provided "AppSwitcher
Kit" framework.

~~~
nsxwolf
Right now though, I have this intuitive belief that when I close an app, it
"pauses" and the card I'm seeing is a frozen state of what the screen looked
like when I hit the home button.

I don't know if that's how other people perceive it, but it does feel extra-
wrong when you hack it to try to convey timely information in the switcher.

------
e28eta
Maybe I'm too pessimistic, but I expected the example to be just the app's
logo. Ie: oh, that's my Dropbox app because instead of the Dropbox UI, I see
the big Dropbox logo (Nothing against Dropbox or their app). I also wonder if
we'll ever see the app switcher card being used as advertisement space.

A little less cynically: If you can redesign a screen in the app to remove
clutter and highlight the important information for the user for the app
switcher, why don't you do that _in_ the app? Sounds like it might be a better
UI design. Now, I can think of many reasonable counter examples, but I'd
challenge you to spend more time on the app UI where your users spend most of
their time.

~~~
badman_ting
The switcher view is a) purely read-only, b) scaled down in size from the
normal view. I think it makes sense for info to be presented differently in
this case. When you make an icon smaller, you don't just take the existing
design and scale it down. You also remove detail you can't afford to try to
make the design clearer overall.

------
k-mcgrady
Nice idea. Probably something Apple should be making available easily via the
API as it could make the task switcher much more useful.

------
jonesetc
Interesting stuff, surprised the built-in apps don't do something similar to
this.

As an aside, is there anything similar to this for android? I've tried a fair
bit of googling but can't find anything or the right search term.

~~~
swanson
There is a method `onCreateThumbnail()`[1] that is supposed to allow you to do
this, but it doesn't appear to work (reported bugs in 4.0-4.2). The best you
can get at the moment is to blank out the thumbnail[2] (for security reasons)
or opt out of being shown in the list [3].

[1]:
[http://developer.android.com/reference/android/app/Activity....](http://developer.android.com/reference/android/app/Activity.html#onCreateThumbnail\(android.graphics.Bitmap%2C%20android.graphics.Canvas\))

[2]: [http://commonsware.com/blog/2012/01/16/secure-against-
screen...](http://commonsware.com/blog/2012/01/16/secure-against-
screenshots.html)

[3]: Use android:excludeFromRecents="true"

------
ricardobeat
I'm guessing Apple will shut this down. The thumbnails are there for the sole
reason of you visually identifying the apps as you left them. If applications
can change that snapshot at will then it becomes a mere gimmick.

