Thursday, November 15, 2012

Whiskers v1.1

I've updated Whiskers for Windows Phone 7.5 to version 1.1 and have submitted this to the Store. Pending certification, it should be available within five days from now.
I've added a few new features and changes with this release. The first being the ability to backup and restore your data so if you upgrade or switch to a new phone, you can transfer your data. I've also added more new icons, so we have about double the amount now. Lastly, just a small tweak with the all items list in the main panorama view. If you have less than ten items, its just a flat list without the groupings. Once you go over ten items in your list, it switches to a grouped items list for quicker access to your items.
For the backup and restore feature, I did not add the ability to connect to the Cloud or SkyDrive, etc. I wanted to keep Whiskers "safe" and not require access to the Internet. So, in order to accomplish the recovery feature, you simply email, to yourself, an unencrypted but encoded block of text data, that you copy & paste back into the app where you want to restore your data. While doing things this way is fairly simple and albeit rudimentary in some ways, it does have a couple of important limitations.
The first limitation is the approximate 16kb message body limit for email messages in Windows Phone 7.x. If the data block you email yourself exceeds this built-in limitation, you can't backup and restore your data. The data block is unencrypted but has been compressed and base64-encoded so it can reside as plain-text in an email message body. If you have 50 or more entries in Whiskers, you may start to hit the upper limit of 16k characters, which is the limit of an email message body in Windows Phone. How can you tell if you've hit this limit is to check if your email contains both tags that delimit the encoded data block.
In this example, you can see both the ---BEGIN DATA BLOCK--- and --END DATA BLOCK--- tags. This is safe to email to yourself. Then on your new phone or phone you want to restore this data to install Whiskers, then go to the email you sent yourself and copy and paste everything in between the two tags. Don't include the tags! Next, open up Whiskers, go to the Recovery page, then paste in the data block you copied and tap Restore. You should see a message stating your data was restored.
What's nice about this method of backup and restore is that Whiskers does not need access to the Internet, so your data is safe and secure and leaves you completely in control of it. For Windows 8 and Windows Phone 8 users, I will be creating a new version of Whiskers for those platforms exclusively that will safely store your data in the Cloud using Windows Azure Mobile Services. Since Windows 8 revolves around the usage of Live ID, Whiskers for Windows 8 and Phone 8 will take advantage of this so you don't have to provide extra credentials to Whiskers and you will be able to authorize Whiskers at any time through your Live ID account settings. More on that later in another post...
Here's a sample of some of the new icons:

I'm pretty excited to provide this update. I know some users have been asking for it so I know the need is there. In fact, I recently upgraded to Windows Phone 8 so I needed a way to transfer my data.

Tuesday, October 9, 2012

TeaMate v1.1

I've updated TeaMate with the ability to pin a specific timer to your Start screen. So for example, if you typically use a 3 minute timer for green tea, you can pin it to the Start menu and when you tap it, it will automatically start a 3 minute timer.

TeaMate is now version 1.1.

Marketplace link here:

Monday, October 1, 2012

Solving LCD Brightness on my Mac

I own a MacBook Pro 13". It has 16GB of RAM and it's connected to a 27" Thunderbolt display. I use it for everything. Programming, photography, and even run Windows on it in VMWare Fusion and do most of my Windows programming on it as well. The one problem I have with it (well other than the hard-edge of the chassis which I filed down to save my palms from the constant pain) is that depending on where I am or what the ambient light is, the brightness of my screen needs to change so I can view my screen without strain. Now this wouldn't be a big deal if I didn't go through the trouble of color calibrating my displays with an X-Rite colorimeter. See, I need that for photography. I need a color calibrated display when editing photographs so that when I print, my prints match what I see on my display. If my display is too dark, too light, too blue, too magenta, etc. then my prints will look just as weird.

The problem is that the brightness or luminance of the display directly affects the color calibration of my display. If I change the brightness during the day because I'm at a coffee shop and the lights are bright, when I get back to editing photos, I have to make sure my brightness is at the color calibrated level. With my MBP and Thunderbolt display, the OS keeps track of the brightness level via the System Preferences under Display and all I have is this slider control to use and make my best guess of putting it back where it once was. That's not really acceptable to me. I need it to be more precise. I do the bulk of my printing on an Epson 4900 and the cost of refilling all the inks goes into four digits. I can't afford to have prints that don't match my display because my display isn't calibrated properly.

I could carry around my colorimeter with me everywhere I go and pull it out every time I need to reset my brightness but that's not practical at all. It's not a very long or intensive process but for heck's sake, all I need is to put the brightness level back to where it was when I calibrated the display! There should be an easier way. I searched for one in the Mac app store and couldn't find what I was looking for so instead I decided to write an app myself and solve this little dilemma.

So I made Luminance. It's a little icon that sits in the OSX menu bar on the right-hand side where all the other system-tray-like icons sit. Here I can click on it and know exactly what my brightness level is in percentage of full brightness is for all my active displays. I can save the current brightness level and then later recall it. I can also change the brightness level of any active display. This solves my problem. Now I can change my display brightness at any time without fear of being able to return to the saved and calibrated display brightness level.

Now there is one shortcoming of this app. It only works for displays where the OS controls the brightness level. If you have an external display where the display controls the brightness, this app won't be able to record and change the brightness level. I knew there are lots of artists and photographers which use high-end displays from NEC, Lacie, Eizo, etc. and those displays directly control their brightness level via controls on the display itself. This app won't work for those displays.

I haven't published this app in the Mac app store just yet. I'm not sure its worth the $99 Mac Developer license right now. I also may create a dock icon and dock menu for the app for those times when the OS decides that there's no room in the menu bar for my icon and the OS removes my icon. If its in the dock, you can still access the functionality there. I have about 5k+ people who have circled me on Google+ and I put the word out there about this little app to see if there was any interest in it and to my surprise there was no response really.

Monday, July 23, 2012

Stop it already Visual Studio 2012!

I don't hate Visual Studio 2012. In fact, I love it. I also love Metro style apps and have been quietly working on one. The first version of the application is even in the Store.

The disappointment is that almost every step of the way while creating this application, i'm met with resistance and refusal by Visual Studio 2012. There is nothing worse than an IDE that crashes and prevents you from accomplishing the work you need to finish. What's worse is when some functionality used to work but an update to the IDE introduces a problem.

On the surface, the Visual Studio 2012 July Update seems to make the IDE speedy, which is always a great thing. However, its things like this, things that used to work but now don't, that just make me want to bang my head against the keyboard!

Come on guys! Stop breaking things that used to work!