So Long, and Thanks for All the Fish

Over the last month and half i have released / submitted 4 apps CVC words, Wordastic, CineWorld and NatureSounds4Me

NatureSounds4Me is still in marketplace. Others are available for downloads. Cool Camera WP app has been updated so that

1) There is unlimited trial – its now ad supported

2) No trial restrictions like before

3) Background processing of photos so burst mode can capture more pictures.

4) Improved album view

Now for few weeks i am doing Windows8 Dev


Cool Camera #WP #WindowsPhone @CoolCameraWP

Cool Camera has been udpated to 1.9. I just finished uploading the new XAP to marketplace. So whats changed ?
Well not much 🙂 I have been busy with DIY at home so this is a bug fix / UX enhancement release

1) Portrait pictures with zoom were not correctly cropped. Fixed
2) Reduce album view so show only 8 but larger thumbnails
3) Metro UX enhancement in Media viewer based on Dave Crawford’s suggestions. Hide instead of disabling controls and ensure fonts are readable 🙂

I’ve also been testing my Alarm Clock app (supporting multiple alarms)

Lighten Darken Skin tone in C# and Silverlight for #windowsphone #wpdev

I started Cool Camera as a stop gap application trying to figure my way around SatNav app (which started while i was answering some posts on AppHub forums). Current availble version stands at 1.6 and 1.7 is with Microsoft.

It has come a long way since 1.0 – which only supported: Taking pictures and a camera style HUD. The picture viewer was very basic. Just display the image in Image control. Since then i have * added support for filters, added video recording and playback, added album viewer. I have worked a bit more on image processing and i am a bit better at image processing.

The first set of filters were added to app thanks to René Schulte – I remember coming across a while back and it provided very handy way to creating and applying effects to WriteableBitmaps. I used the few supplied to get stared however before long i was asked if i could provide a way of making images darker. The most common scenario is when you use flash and the images are too white – especially faces. As i started, i remembered face detection post by Rene.–Silverlight-4-Real-Time-Face-Detection.

I started with Rene’s YCbCr code and the first pass to detect whether color falls into skin tone range. The first pass for skin tone detection worked just fine, how search began on how to increase or decrease luminance of image. I came across HSLColor which had an ligthen / darken method but that did’t work so eventually, i used Lerp

public int[] Process(int[] inputPixels, int width, int height)
          var resultPixels = new int[inputPixels.Length];

          // Threshold every pixel
          for (int i = 0; i < inputPixels.Length; i++)
              int c = inputPixels[i];

              var ycbcr = YCbCrColor.FromArgbColori(c);
              if (ycbcr.Y >= LowerThreshold.Y && ycbcr.Y <= UpperThreshold.Y
               && ycbcr.Cb >= LowerThreshold.Cb && ycbcr.Cb <= UpperThreshold.Cb
               && ycbcr.Cr >= LowerThreshold.Cr && ycbcr.Cr <= UpperThreshold.Cr)
                  // skin tone match 
                  System.Windows.Media.Color sc = System.Windows.Media.Color.FromArgb((byte)(c >> 24), (byte)(c >> 16), (byte)(c >> 8), (byte)c);

                  Microsoft.Xna.Framework.Color xc = new Microsoft.Xna.Framework.Color(sc.R, sc.G, sc.B, sc.A);
                  xc = Color.Lerp(xc, Color, Amout);

                  c = (255 << 24) | ((byte)(xc.R > 255 ? 255 : xc.R) << 16) | ((byte)(xc.G > 255 ? 255 : xc.G) << 8) | (byte)(xc.B > 255 ? 255 : xc.B);
              resultPixels[i] = c;

          return resultPixels;

Now all you need to do is pass the amount to Lerp and the color. To Darken you pass Black, to lighten, you pass White.

Cool Camera 1.6 for #windowsphone #wp7 #wpdev #wp7dev

Cool Camera version 1.6 has been submitted to AppHub.
What are the changes ?

  1. Two dynamic filters with live preview. The filters are HSL and YCbCr filters (Hue, Saturation &Luminance and Luma & Chroma components – blue & red).
  2. Additional single color filter (Red only, Green only, Blue only and Yellow only). This keeps the single color and changes rest of image to grayscale.
  3. Upload of videos and pictures to SkyDrive
  4. Single album and media viewer for both Videos and Pictures.

Anyone interested in Upload to SkyDrive or filter codes ?

Been keeping busy with #windowsphone #wp7dev

Go a2b still in beta at version 0.5
I have been spending a bit of time on Cool Camera. Version 1.5 is going to be out soon. Version 1.6 is almost ready. I have to start localisation soon.
So far new features in 1.6 include
* HSL (Hue, Saturation and luminance) Dynamic filter
* YUV (Actually YCbCr) – Brightness, Blue and Red chroma dynamic filter
* Corrected preview of Pixelate & Hexagoneal pixelate
* Upload of photos and videos to SkyDrive
* Since album for both photos and videos.

I will post some code on SkyDrive soon

Cool Camera 1.4 ex-dev #WP7 #windowsphone

I have finished coding / testing Cool Camera 1.4. I have uploaded it to Microsoft servers for certification.

Version 1.4 includes

1) Video Recording

2) Album view for browsing pictures & videos

3) Video player

4) Reworked Picture Viewer – pinch zoom and flick re-written for better feel.

I have also created a facebook page for the app

Thank you WP Rewards Programme

I found out about Microsoft UK’s Developer incentive program about 3 weeks back. It closed this sunday and in that duration i only managed to push out Cool Camera. So i got 1 reward point – its shame.. if i had been keeping up-to-date, i could have done something over the last 3 months… oh well..

So i spent the sole point on a RC Helicopter 🙂 I was tempted by the Tea for Two but then i could have to go far and find childcare for my daughter… not worth it. Can’t wait for it 🙂

Yesterday WordMaster and WordMaster Free became available on marketplace. I have been spending some time on the free version and its not too bad.. its not really a game and i already found a bug 🙂 but i might develop it into a game – as if there aren’t enough word games out there.

I also pushed out Updated to Cool Camera. Now stands are 1.2 ? I modified it a bit based on user request – reduce the volume between 20:00 and 8:00, consume SoundEffect instead of MediaPlayer class to reduce lag (especially the shutter sound) and finally added Lighten / Darken filters.

Lighten / Darken filters use a combination of techniques – like the first pass of face dectection code here–Silverlight-4-Real-Time-Face-Detection
and finally using HSL to lighten darken the matched pixels.
While i was at it, i also realised that the effects preview was rendering all the images and was for that reason slow, i have correct that behaviour and now the effects rendering is a breeze 🙂

Cool Camera 1.1 and Go A2B

Cool Camera 1.1 is out now.. enhancements include

1) 5-step digital zoom

2) pinch zoom, drag and flick pictures in picture viewer.

3) live effects preview on thumbnails

4) localisation to all support languages – had to eat my words after checking stats for other apps.

5) layout simplification- two columns of selectable options instead of rows.

You can download the update by clicking the link below.

Go A2B works has been slow and i have slipped my target. I am still doing the HUD and i am trying to figure out how to calculate bits of display items e.g. speed – thats simple, distance pending on current leg, next itinreray (for displaying additional directions), max speed for this itinerary, ETA.

I spent about a day debating whether i should go with streamed TTS or have a nice sound files. I guess v1.0 will feature native sound files for English and i will expand in different markets once i have localised sound files in those languages.

Cool Camera 1.1 submitted

I had a last minute niggle yesterday… i finished localisation and the application of filters to thumbnail, obfuscated the xap and was ready to submit it and i thought… i should test and and guess what happened !!!

1) the zoom changes (2nd part – using ScaleTransform) mean the image was getting larger and going under the zoom buttons.. which of course was not acceptable.

2) same thing was happening in picture viewer.

so i spent time today to fix that, reverted to cropping the image and fitting it to image rather than scaling the image (i think its slower than scaling slightly as there’s bitmap creation etc but it works… we shall see.

the only thing i would have liked further is kinetic scrolling on flicking a zoom image, currently i move it twice the distance based on velocity.

Now i am back on Go A2B, the car has been moved to the center, the map viewer and i am working on checking the current location against the path and to recalculate if it moves say 50 meters off the current path., i have started to adding things to the HUD.

Cool Camera updates

The first review of cool camera was 5 Start, the second was 2 start.

The first said that it would be nice to have digital zoom on camera and ability to pinch zoom when viewing the pictures. So, i have added 5 step digital zoom at moves in a step of 0.1. Pinch zoom is working, i have to get drag working and i might just add localisation 😦

The second reviewer said that it was too complicated. I tried to keep it as simple as i could – however i have removed the focus button and the shutter button – there’s a hardware button for shutter for crying out loud. Instead the users will get digital zoom button.

Might finish drag in picture viewer and then will get back on to Go A2B – still have the list of to-do’s and its not getting any smaller by itself.