Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How did Vesper show users wallpaper without UIApplicationIsOpaque key?

An app named Vesper was updated for iOS 7 and shows the user's wallpaper on iOS 7. I have found that using UIApplicationIsOpaque key and UIBackgroundStyleLightBlur can show the users background but will not pass validation. Vesper passed validation and passed Apple. I did upload this question to the dev forums, but apple has taken it down.

like image 545
Maximilian Litteral Avatar asked Sep 28 '13 01:09

Maximilian Litteral


1 Answers

Brent Simmons has written a blog post explaining it. It seems like they didn't use UIApplicationIsOpaque key.

The Sidebar

In 1.0 our sidebar menu included a bit of top and bottom padding to blend into the black of the status bar and — along with a touch of shadow from the list view — give a sense of depth, as if the sidebar were always sitting behind the list view. iOS 7′s unified status bar meant that we didn’t have that same black to play against, so we had to rethink our approach. We started looking at Apple’s built-in iOS 7 apps for inspiration, and two things jumped out at us: Safari and Passbook.

Over in Safari, when you tap into open pages view you can see your own homescreen wallpaper blurred through in the background. It’s subtle, but it’s a very nice touch.

We loved the idea and wanted to try it out in our sidebar to see how it would look. Because Apple doesn’t provide an API for live blurring of images, we managed to fake our way around it by dropping a giant live-blur-enabled toolbar behind the sidebar view. It looked fantastic on an iPhone 5, but live blur isn’t supported at all on older phones, where the sidebar fell back to using the unblurred home screen.

Meanwhile, Passbook’s passes float over an unblurred (but darkened) homescreen, making them feel more like widgets floating over the wallpaper like apps in the multi-tasking view. We decided to try that approach and see what worked.

We went through a ton of iteration to find the right opacity for the tinted window view, and for the selected state. Whatever we did would need to look good regardless of the user’s wallpaper, and the effect should be pleasant but not distracting. This is, after all, a menu. To keep things weighted appropriately with the effect, we also chose not to iOS 7-ify the sidebar icons. They should feel a little hefty to stand out.

What started as an “oh crap, what are we going to do” design problem turned into our favorite view in the entire app. Not only was a it neat to look at (especially with the sense of depth given by the homescreen parallax effect), but it gave Vesper a human touch. When you open the sidebar, you’re seeing your own wallpaper. Something you chose. It felt personal. Moreover, it felt very true to iOS 7.

Unfortunately, we didn’t realize until too late that the API needed to pull off the effect is undocumented by Apple. We’ve filed the appropriate radars and made requests to people at Apple. Our hope is that the API becomes available soon and we can return to what we think is a pretty great design.

like image 83
Enrico Susatyo Avatar answered Nov 22 '22 13:11

Enrico Susatyo