Let’s Introduce Ourselves, Lenses and the New Lenses
We've always enjoyed the challenge in writing and optimizing image- and audio processing code for resource-constrained devices. In 2005 we made PullFace, an image warping application for Sony Ericsson Java ME phones. The user could warp a photo in real time using a cursor (which was controlled by pressing the buttons of the device). PullFace was quite impressive for that platform and that time. PullFace 2 has been preloaded on several Sony Ericsson devices.
IPhone
We started developing for iPhone about a year ago. Everything was of course great compared to other platforms but we were a little disappointed/surprised that you couldn't access and process the video stream from the camera in real time. So instead of making a camera based app we made Drunkalizer, an app that processes your voice so that you sound drunk. (If you try it, speak a long sentence and drag the whiskey level to the bottom).
Then Apple made it possible to have an overlay on top of the viewfinder so we made MixFace, a simple photo app that lets you mix face parts using the camera viewfinder.
Anyways, both of these apps served as tests, letting us know the platform and market. MixFace has almost died. Drunkalizer has become popular here in Sweden where it has been on TV and radio, used on celebrities such as Skid Row and Anna Anka (Paul Anka's ex-wife, yes it's true!).
UIGetScreenImage, An Ugly Hack and the Mother of Low Resolution
In December '09 Apple allowed developers to use the private method UIGetScreenImage that lets you capture parts of the screen. Even before that, it had been used by some applications (the most well known is RedLaser) to capture images from the camera viewfinder. It is an ugly hack for something that would resemble real video stream access. For this to work the viewfinder needs to be visible on the screen, so it's impossible to show fullscreen live effects, and the resolution of the captured image will not be greater than the screen.
Applications that use this technique for real time effects can be exposed by pressing the iPhone volume control as the ringer icon will be captured by the screen dump. If not, the application uses private methods of the camera API and if it makes it to the App Store it might not last long. One app that had a fullscreen filter preview was Qik Video.
(As we really wanted Lenses to have fullscreen filter preview we ran Qik Video on an iPhone using gdb (a debugger, lets you see which API:s are used and what methods are called) and we noticed that there were no calls to the public and allowed UIGetScreenImage but a lot to the private IOSurface* API. A few weeks later the Qik Video app was gone from the App Store. Hopefully it will be back when iPhone OS 4.0 is out as the camera API has been completely revised and it seems like real video stream access is finally going to be supported).
The first Lenses app
When UIGetScreenImage was allowed we started developing Lenses. We wanted to create a photo app with a real time filter preview. We belived it could be a new way, or at least a nice way, to capture photos, having a real time preview while adjusting both the filter paramters and the camera angle, position of the subject etc.
Lenses 1.0 was released in January. It was a bit too early as it had a few bugs and some important functionality missing (load from camera album and more). It was far from a success in the App Store, even though it was appreciated for its potential by some devoted iphoneographers.
The New Lenses app
Creating a simple photo application and releasing it without any marketing will not work. The feedback we got from the iphoneography community (iphoneography.com) inspired us to improve Lenses. We want to make it a camera app that focuses on photography, filters, creativity and quality. Not build it around a gimmick. Make it more community driven by implementing filters and functionality that the users actually want.
Below is a short demonstration of the upcoming Lenses 1.2. It's almost ready for our beta testers.
The Ambition
Our hopes are that this blog and this approach to creating a photo app will be interesting enough to get users, potential users and other developers involved in discussing filters and application functionality. We believe that this is the best way for us to create a great photo app. Also, we will be very open with the implementation of Lenses, share image processing code and algorithms, etc. A little bit of a win-win for all.
Note: The version of Lenses currently (at the time of writing) available at the App Store is version 1.0. While we're still working on this major update the price will be 0.99$. So support us and make yourself a little investment by buying it now instead of waiting until the update arrives. :D
Best Regards
Gustaf Jorlin (friendly, sitting)
Jens Persson (focused, standing)
Twitter: @bitCycle
Hi. First, I must say that I am impressed by the obvious pride and effort you take with the forthcoming update.
I think enabling post-processing from the Camera-Roll turns Lenses into a different app and will no doubt capture a much wider customer base. The app market is saturated with camera replacements.
It is handy having the favourite lenses readily accessible, but can a more convenient way be devised for accessing the non-favourites?
Please also note that folks are really big on being able to save on full-res. Many apps lose more than a star with the iPhoneogrpahy community in the department!
@psikat: Thanks, we really like working on this project. :)
About selecting lenses: In the sneak peek video, we never show how to access other lenses than the current favorites (it was not implemented then).
The way we have currently settled for is this: Swipe one of the current favorite lenses downwards (to say “i want to get another lens from the library”), the lens-library panel scrolls down over the preview images. You tap a new lens icon in the library, the library panel scrolls away and you have your new lens active.
That might seem complicated in text but it’s actually just a swipe and a tap to select a new lens. When the library panel is showing you can also drag several lenses to replace favorites (instead of quick-selecting a single lens by tapping it).
About resolution: Yes, Lenses will always save full (original camera) resolution images. And when it comes to cropping (by pinching the original as can be seen in the end of the sneak peek video), we have not decided yet if it should up-sample to camera resolution or keep the cropped image size.
Can’t wait for the new updates! The video demonstration looks really good. How about a video recording feature? That would make this a killer app! I would be willing to pay an inapp purchase for a video feature to be used with the lens effects. Excellent app overall!
steveygti@yahoo.com
I just wanted to thank you for such an interesting and enjoyable app and to say that I’m incredibly eager to try the update.
Beyond the ability to take pictures utilizing the real time effects, I love to just see the world in a new way and have a great time simply starting the app and panning my surroundings. It opens my eyes to aesthetics that I would often take for granted.
Kudos!
Sweet! I bought this app and can’t wiat for the update! Andalso think that slowing for video import, effect added to video, will make this app number one easily
my favorite camera app of all time! thank you for creating it!
Oh, my god! It blows my mind. Awesome app!
Can’t wait. I would definitely buy it!!!!
Hi, I want to ask can I use this app in itouch 4? thx
Yes, you can. Lenses 1.0 is quite old but it works on iTouch 4 even though the framerate is a bit low on iOS 4.x. As can be seen in the blog we have been working on a complete redesign of Lenses for some time now, but we think it will be worth waiting for. : )