Working around a bug in Microsoft.Bcl.Compression Extending App Studio's Code as a Developer

Nokia Lumia 1020 - An Amateur's Review

Published on Monday, August 19, 2013 3:00:00 AM UTC in Tools

You've probably heard and read a lot about Nokia's new flagship Windows Phone model, the Lumia 1020. After using it for a while, I feel like I need to add some of my own comments to this, and as always I'm trying to add some small pieces of informaton that you might not have read elsewhere. The following is not claiming to be a comprehensive device or camera review, just some impressions from a hobby fotographer and Windows Phone fan. Also, I'm obviously not going into the basics of Windows Phone, as I imagine if you're reading this blog you are quite familiar with the system :).

First impressions

When I started using the device I had read and seen quite a lot about it already, so things like the bump on the back that is the camera lens came as no surprise.

image

But after using it for a while I wondered why nobody had the idea of simply beveling one edge of it so it can lie somewhat flat on the table without wobbling. Using the on-screen keyboard or even just the double-tap feature to wake up the screen makes it dance it all directions. Maybe something like this was considered but technical limitations prevented it, I don't know. The Lumia 920s or 820s are much more handy regarding that.

Anyway, when I turned on the device and set up everything, I was instantly blown away by the display quality. During the last months I've been using a 920 on a daily basis which has a normal LCD display, whereas the 1020 has an AMOLED screen. The difference is dramatic when it comes to black levels and also the brightness of colors, even more when you look at them side by side. After a while however I noticed that the display of the 1020 also shows a very noticable amount of ghosting especially with high-constrast content (scrolling through a web page with dark text on a white background, for a example). I know that this is an inherent problem of the screen technology, however I've also used an 820 for a while (which also has an AMOLED screen) and the effect is much less of a problem there. I tested all three devices side by side and in direct comparison the ghosting it very obvious on the 1020, barley noticable on the 820, and practically non-existant on the 920. It might also be a side effect of the much higher resolution of the 1020 compared to the 820 – I'm not enough of a expert on display technology to judge :). However, from a user's point of view it will take some time to get used to this, coming from the 920.

Operating System

The Windows Phone version on this device of course is the GDR2 release that is currently starting to roll out to everybody, to support the particular features required for the camera. It also has the Amber update from Nokia, as prominently and correctly colored :) indicated in the extras+info menu:

![image(1)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(1&v=bd0d9375ff2ca39d5887f33cd974c618215ca7bb69ec9f72d8c5248c970f41bd)

The new features like "glance" which shows the time on the locked phone's screen are really nice, although I would have liked more options. For example, I usually charge the phone at night, and it apparently always shows the glance screen when it is connected to the power (i.e. it doesn't respect the timeout then). So I either have to turn it off completely or live with it – at least you can use a "night mode" that dims the glance screen to a dark red between set times.

If you want to learn more about what's new in GDR2, take a look at the official update history page by Microsoft, and to get more information about Nokia's Amber update, a good place to start is this official blog post from a few days ago.

Setting up the Camera

One of the new features that comes with the above mentioned updates is that you can select a different than the built-in camera app to be activated when you use the hardware camera button. Setting this up is straight forward in the "photos + camera" section of the application settings:

![image(2)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(2&v=25c974ef215c421d4d37b203a0027aadaab58f140f595cc80b1d37bf4518ec13)

Nokia's Pro Cam app takes advantage of the camera features and should probably be your choice over the built-in app on the phone for normal photo taking. However, there is a slight difference in their behavior when they're used as the default app launched with the hardware button: when activated, the built-in app lets you take pictures right away no matter how you have set up your phone, even if you are using a pin code to lock the device. Of course if you want to use the normal phone features from there, you have to unlock the device first, but the point is that you get to take photos very quickly.

When you switch to the Nokia Pro Cam app, you always have to unlock the device first before you can take pictures. In addition, the app itself needs a second or two to load up and show the on-screen display controls. This surely is something that makes it harder to do quick snapshots. I'm still experimenting with whether it wouldn't be better to keep the built-in app as default for the occasional snapshot and start up Pro Cam manually if I consciously decide to photograph.

The second detail that behaves differently is that there is no "tap to take pictures" function in Nokia's app. It might be a bit irritating at first that tapping the screen only sets the focus, but does not actually take the photo. You either have to use the hardware button or the on-screen button for this. Again this is something that slows down taking pictures a bit, and you need to get used to it.

Image Quality

Enough with the technical prelude, what about the pictures? First of all let me say this: some reviews or marketing guys suggest that this camera may be able to replace your DSLR – frankly, in my opinion this is nonsense. Focus times are way too high, you don't have full control over all aspects (aperture for example is fixed at f/2.2), you have no access to the raw image data (even the high resolution images are preprocessed JPGs), and the internal processing times after taking an image do not allow rapid sequences of photos to be taken. So don't throw away your Nikon D4 yet :). With that out of the system, let me put something else up front: in my opinion, even thinking about comparing the 1020 to a DSLR doesn't make sense, as both types of cameras are built for completely different things and with a completely different intention in mind. What you should do is compare the camera of the 1020 to other smart phones and compact cameras, and if you do that – well... this is by far the best camera I have seen in a mobile phone, and in terms of image quality it easily outperforms all of the digital point-and-shoot cameras I've ever had, including my beloved Exilims.

Aren't you done yet? Give me some pictures!

Ok, ok, here goes: in daylight, the camera produces most beautiful shots. Some might say the images are a tad over-saturated, but I have to say I simply love the results:

![image(3)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(3&v=4bc87a2008f6a53b74281ad97169170db797d62163ef43eba94bfe543f1bb274)

What the Lumia does behind the scenes is take a 33.6 mega pixel image if you're using 16:9 format or 38.2 mega pixels when you switch to 4:3. It then uses an oversampling technique to render a lower resolution image of 5 mega pixels from that. This helps with reducing noise and preserving a lot of detail that you typically would not find in a natively taken 5 mega pixels photo. It also allows for some neat tricks, for example a feature called "reframing". The fact that the high resolution image is kept together with the oversampled 5 MP version (if you don't turn this feature off) lets you create new low resolution versions later on repeatedly, without losing quality. Meaning that for the above image you could initially create a crop of the flower and get a high quality image, but if you decided to undo this and choose a different section later this is possible because the raw source material is kept in the background. And since there are so many pixels in the original high resolution image, you can crop and zoom a lot until quality starts to degrade noticably. Here is a 1:1 crop from the above source without any modifications (other than compressing to JPG):

![image(4)[3]](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(4&v=4ff6b7aa05b8716001fb7afeb588c65785dfb7ed38bee47ede037756a516a120)

Another example. This...

![image(5)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(5&v=989273f2309e1fdba1dcf18dd54a2ba48896ef9589d9cb715b6963873f798f36)

... becomes that (unaltered 1:1 crop, only JPG compression):

![image(6)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(6&v=0631e71c1442e0854baf59c01d615ed6b278f59eb5cf9219ca75cc6afe74cab2)

Awesome, isn't it? The macro distance by the way starts at 15 cm which is also quite good.

Low Light

The Lumia has a sensor size of 1/1.5" that is on par with most compact cameras and significantly larger than what is found in other phone cameras. The iPhone 5 for example uses a 1/3.2" sensor, thus roughly proving only one fourth of active sensor area in comparison. And, to make it perfect, the 1020 uses an optical image stabilization system. All this enables some excellent low-light capabilities:

![image(7)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(7&v=a70244d432ccf798e647f892b1fb06729c32004331b4638fbed3df857cce314c)

(Yes, I have a lot of cat stuff in my house)

This looks like a daylight shot when in fact the lighting was actually very low. I left all settings on auto, and a look at the EXIF data of the image reveals that the camera used a shutter speed of 1/4 seconds and an ISO setting of 2000. For these, the amount of noise is quite low, and it also has a great sharpness – especially because the image was take free-handed with me crawling behind my desk...

The same image taken with the flash looks like this:

![image(8)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(8&v=a9c6ca6e2b266988eb00b740e1ea57fa379f74f9f4901090f2158e522f00dc26)

Even though the cat is metallic the flash really did some good work, without any nasty highlights or reflections.

Here is an outdoor shot of our town square at night:

![image(9)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(9&v=1fefac75fe64ce4dfc591e55a95642978934effc35f5746f8e639ed2f2fb785f)

Even with manually adjusting the white balance it kept a bit of a yellowish tint, and I couldn't get it to not add the blooming effect on the lights. But this is complaining on a high level. I highly doubt any of my compacts would've performed better in that situation.

The 1:1 crop reveals both the noise and also the obvious heavy smoothing that went into the final result...

![image(10)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(10&v=abc306ca7c12faf42dc7eeb98eb00e0e45e72a5b38273db51ef59893157cfb3f)

... but it's still an amazing image for a camera like this at 1/8th seconds and ISO 800.

Under Reinforced Conditions

One of the hardest things for cameras to be good at is capturing motion under low light conditions. To avoid blurring the camera would need to keep shutter times low, but the reduced lighting requires longer exposure times to capture the image content properly. Let's see how the Lumia performs:

![image(11)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(11&v=ca77887c358550a9fc13d0ae7b0127da2fddab19572c4c8c16b44a607ae8c270)

This shot was taken with automatic settings and doesn't look bad at all. The software chose 1/50th seconds shutter speed with an ISO setting of 500. As you can see the camera wasn't able to capture the motion without blurring though. If that is what you wanted, you'd now start to lower the shutter speed manually until you get the results you want. I had to go all the way to 1/400th seconds to get a clear image:

![image(12)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(12&v=008e3b3b33b78927820fb5d7a47dfd60e185cf1d960ea3abf3559ff6ab141c77)

As you can see the image is much darker now. To get a brighter image with my forced shutter speed setting, the camera would've needed to crank up the ISO value, for example. The thing is: a look at the EXIF data reveals that it already was at its maximum setting of 3200. Wow, 3200! With my DSLR I don't do that as it produces mostly garbage that needs heavy post processing. So let's take a look at the noise:

![image(13)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(13&v=3bf28365f4788352939df4e1d51073153412c618e08e535ea4c6a9df5aae2437)

Huh. It's actually quite acceptable, isn't it? The reason of course is that once again some clever smoothing algorithm eliminates most of it, with the negative side effect that most of the detail is lost too though (for example, it's next to impossible to recognize any of the faces in the shot). However, even at quite large sizes you still get extremely good images from this that are more than suitable to be used and shown around – great!

More Effects

The nice wide open aperture and camera quality allows playing with depth of field/bokeh effects, like this:

![image(14)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(14&v=6259efa5d28f7c2a649aade5f432ce9888db504bf7270e6d501d1849faecf317)

Again, when you look at the amount of details it's really amazing. This is another unaltered (despite the JPG compression of course) crop of the original high resolution image:

![image(15)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(15&v=7e6b2ff4719da0ed66a6373bcc3bb1eb26fca7ac325aaa4708104dac101fde9d)

You can clearly see the noise and smoothing here again, yet it's still amazing to deep dive into your photos like that.

Getting Your Hands on the High Res Shots

Like I mentioned above the Pro Cam app nicely maintains two versions of your photos for you to comfortably allow you to use the reframing feature. But what if you want to get your hands on the high resolution source and use it in your favorite image processing application, on the desktop? It's actually not obvious how to do that, because even when you use the highest quality setting the original source is not uploaded to SkyDrive. Also, both the desktop and Windows 8 version of the Windows Phone synchronization tool currently do not pull the high-res shots from the device.

The solution to this is simple once you know it; simply use Windows Explorer:

![image(16)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(16&v=19d15b8e525a0e27c064de5daf5568bb0eba79a3ffc642858ca1de6ce265fb12)

As you can see, each photo has a counterpart that has a "__highres" suffix. Simply drag and drop or copy these images to your computer and you can work with them. Depending on the content of the image the size of these photos roughly varies between 5 and 15 megabytes.

If you receive error messages when accessing the images that way, make sure that no other tool is accessing the device (in particular the sync tools) and that your phone was unlocked once after you connected it.

More Experiments

Pro Cam offers some more features, for example shutter delay for self portraits. Another one that raised my interest was bracketing:

![image(17)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(17&v=b96b9c695d3fc7738e8bafe9ad6a2174f5c6f1f526344bd5d4d346fb73fde229)

If you're not familiar with this let me explain: bracketing lets you automatically capture multiple shots in a row (typically 3 or more) that use different exposure values. This feature can be used for example to create a set of shots when you don't have time to do some testing to optimize settings, and then simply pick the best one of the series later. Another very popular application is to use the individual shots to create HDR photos, and I wanted to see how well this can be achieved with the Lumia.

The problem with this mostly is that the three shots need to align as perfectly as possible to create good results. Image processing technology can correct some flaws, but the better the original images the better the result of course. This means that either your camera should be able to take multiple photos very quickly, or that you need to use a tripod, or at least have a very steady hand (and, probably, an optical image stabilization system ;)). The Lumia is not quite fast when it comes to taking multiple photos in a row, but the stabilization features somewhat help with creating an acceptable series of photos that can be used to create an HDR result.

Let me give you an example: the following three shots were taken using the bracketing feature of the Pro Cam app (-1.0, 0, +1.0). Like I mentioned this took a few seconds, so I tried to keep the camera as steady as possible for that.

![image(18)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(18&v=80b54835b6624c2aee9dee104f099f5e5c84aa1fb73bbb559400faace085b7eb)

As you can see, the first photo has the most detail in the lower half of the image and nicely shows all the rooftops. However, the sky is completely overexposed and looks plain ugly. In the last image we have a very nice tone of blue in the sky part and all the details in the clouds, but there's barely any detail in the lower part of the image anymore.

The idea now is to take those shots and combine them so we get all of the details both in bright as well as dark areas. Sounds simple but actually requires quite some clever algorithms and processing time – there are several specialized software packages out on the market for this. One result could look like this:

![image(19)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(19&v=8276f66c8c351ae92b0b1502724860417b8e685dc2d11273611fcbf1bdc54036)

Even though we have some blurs on the left side and in the clouds this is a quite nice result for a quick attempt and hopefully demonstrates the idea sufficiently. I was quite satisfied that it actually turned out so nicely with a free handed and zoomed series of shots.

This technique can also be used to create pseudocolor versions of photos to a point were it becomes rather surreal. Here is an example of a different algorithm used:

![image(20)](/File?postId=1c64ad19-aa0c-4e12-86a4-86289e00331c&fileName=image(20&v=c849970f09f7d8df86803ede7957bcdd253c51a938802512b6985866de89d23d)

Interesting how it transports a completely different mood, isn't it?

Conclusion

I'm deeply impressed with the capabilities of the camera. I knew it wouldn't be a DSLR killer as claimed by some, simply because it lacks some feature you'd expect from that. But the picture quality you get from this device still is simply amazing. The Lumia 1020 will definitely retire my point-and-shoot as there is absolutely no reason anymore to carry both devices around. It's also nice to see how Windows Phone evolves to support these kinds of new devices, and opens up in some parts so vendors can integrate their own technologies deeper in the system – so stay tuned for the GDR2 and other upcoming releases for your phone.

If you're interested in the Lumia 1020, make sure you don't miss the white paper from Nokia which contains lots more technical details. Also, I've only talked about the Nokia Pro Cam app, but there's also other apps in the box that provide more features and interesting things that simply were beyond the scope of this post: Nokia Smart Cam, Cinemagraph and Panorama – all of which quite worth a separate look. If you have the chance to play with a device, make sure to check them out also.

Thanks for reading, and feel free to share your comments below or on Twitter,
Peter

Tags: 1020 · Lumia · Nokia · Windows Phone