Monday, December 9, 2013

Whiskers mentioned again

Just noticed on MSN Tech that Whiskers has been mentioned again.

Phone security: best apps for protecting your mobile


I'm really happy to see it mentioned again. Whiskers doesn't have a very large user base and it's frankly hard to find in the Windows Phone Store. This is both a blessing and a curse...


You see, I gave this little app a name that is purposely misleading in a sense. When you think of 'security' and a password locker/keeper/vault, you don't immediately think of 'whiskers' or a cat for that matter. So that's why I called this app Whiskers. If you happen to lose your phone and someone found it and started routing through it, chances are they would pass over an app called 'Whiskers' not knowing it is an app related to securely safe-keeping information. Whiskers btw is my cat, Toby, who has a bum eye, thus the patch which is a shield. Don't know if i've mentioned that before.


Windows Phone Store Password Manager Whiskers
Where is Whiskers in the Windows Phone Store?


While the name 'Whiskers' may thwart those with ill intentions it also seems to make it difficult for people to find the app in the Windows Phone Store. Thus its name is both a blessing and a curse for me.  Search for 'password manager' in the Windows Phone Store and as you can see to the right, you won't find Whiskers.


Admittedly, I have to tweak the keywords I use in the Windows Phone Store. Search for 'password keeper' or 'password locker' and you will find Whiskers. Search for 'password' though and you won't find it. I'll make some changes here the next time I submit a new version of Whiskers and maybe I'll see some better results.


Speaking of which, I do have a new version of Whiskers that's going through the certification process right now. I'll talk about the changes in another post. Until then, thanks MSN for mentioning Whiskers!

Thursday, July 25, 2013

Whiskers Development Update

I'm currently looking into how to make the Backup feature in Whiskers better. Right now it's pretty rudimentary but gets the job done with one major short-coming; if your backup is too big you can't back it up. To solve this I'm considering using the new DataTransferManager available to Windows Phone 8...


The major hurdle with the DataTransferManager is that it's only available to native applications. Whiskers was developed with C#. Thankfully I won't have to port from C# to C++. I can develop and run with mixed code if I develop a Windows Phone Runtime Component that interfaces the native code stuff with the managed (i.e. C#) stuff.


The other issue is that this will mean forking versions of Whiskers. One for WP 7.x with the current Backup and another new version for WP8-only with the new Backup. I'm not thrilled with forking and maintaining two versions but you get what you get and MSFT has provided the sandbox we must live and play in.


I found a good article and starting point on this stuff here. I'll be working on this during what free-time I have and hopefully (yes I know, hope is not a plan!) I will have something to share and update Whiskers users with a new and much-improved Backup feature.

Saturday, June 29, 2013

Whiskers v1.3

I fixed a few bugs and added a few new features thanks to one great user's suggestions and help.

Bug fixes:
  • The first Other item you add to an account could not be deleted. This is fixed.
  • When editing an account and adding either a URL or a Note, after you saved the changes and returned to the Details page of the account, the URL and Note text would be missing, although it was actually saved. This is fixed.
  • Sorting on the All items list was not consistent. Items would be grouped alphabetically but within the group they would not be sorted alphabetically. This is fixed.

New Features
  • URLs are now hyperlinks. If you tap on the URL it will attempt to open the link in your browser.
  • Copy to Clipboard feature.
    • On the Details page, tap on an item and it is copied to your clipboard. Copy your password to the clipboard by tapping on it, then tap on the URL to go to a site and then paste in your password from the clipboard.

Disclaimer on the Copy to Clipboard feature...

Whiskers does NOT clear the clipboard, so whatever data you copy to the clipboard, it remains there until you change it or clear it yourself.

Wednesday, February 20, 2013

Whiskers v1.2 Submitted to Store

I have submitted version 1.2 of Whiskers to the Windows Phone Store today. It contains the new features and changes I described in an earlier post.


Here's the list of changes:
  • Camera capture support and ability to save the captured photo to an item in Whiskers
  • Lockout timer
  • Landscape orientation support
  • Unlock PIN-pad now contains the period (.) character
  • Updated splash screen
  • Save, Delete, Cancel App Bar buttons re-ordered


new edit photo page
The camera capture support is the big one for this release. When you add or edit an item in Whiskers, you have the option to capture a photo using the camera on your phone and save it with the item.


For this feature I had to use the Camera APIs directly instead of the simple CameraCaptureTask. Thankfully, there's a great sample from MSDN that shows you how to easily use the Camera APIs and get a very functional UI.


The Camera APIs allow you to focus, adjust the flash, and set the resolution. Most phones have additional camera settings, such as Scene settings and special effects, neither of which is available to you when you use the Camera API for Windows Phone 7.x. With Windows Phone 8 you do have some advanced abilities through another API but that isn't an option for me right now since I have one application for both Windows 7 and 8 and I wanted to keep things simple.




image flipped on Nokia 920
I encountered one irksome issue when testing on my Nokia Lumia 920. Photos captured in Portrait orientation are flipped vertically...


Searching the forums, this appears to be a known issue, with a fix, but it may take a long time before this fix becomes public. So to correct this (because it needs some correction ;) was to provide a vertical flip App Bar button to flip the image if its not oriented properly. Thanks to Tim Heurer and his post on "Handling picture orientation in CameraCaptureTask in Windows Phone 7" for some help and some code.











Once you capture an image and save it to your item, a small thumbnail shows up on the item's detail page. Tap on the thumbnail and you will then see it full-screen. Double-tap and it will zoom in to 100% and you can pan left, right, up or down to view the image at 100%.

photo thumbnail
100% zoom
full-screen




lockout settings
The new lockout timer feature is an additional to make Whiskers more convenient to use when you are switching back and forth between Whiskers and another application, like your browser. Until now, each time you open or return to Whiskers (if it was in the background), you would need to enter your PIN to unlock Whiskers. With this new feature now you can control how long Whiskers may stay unlocked until it automatically locks again and requires you to enter your PIN when you open or return to Whiskers.


 There are several options for configuring the lockout time. You can keep it at Always, which is the default and how Whiskers has operated until now. With Always, Whiskers will always lock when you leave Whiskers and either open it again or return to it.



lockout options



The remaining options are 30 seconds, 1 minute, 3 minutes, 5 minutes, 15 minutes, and 30 minutes. Let's say you choose 30 seconds. Now, when you leave or close Whiskers, Whiskers will remain unlocked for another 30 seconds. If you open or return to Whiskers within that 30 seconds, Whisker will open without requiring you to enter your PIN to unlock it. Wait until after 30 seconds and Whiskers will lock and require you to enter your PIN when you open it again or return to it. It's that simple!


I didn't include a Never option with this feature because I felt it would make Whiskers far less secure and would essentially do away with the need for a PIN.




Hopefully this new version will go live within the next week or so, depending on the approval process.

Thursday, February 14, 2013

Visual Studio 2012 No Haz Text Macros :(






It seems that MSFT remove the record/playback text macro feature in Visual Studio 2012...


Even if you didn't know about this feature, I'm sure it would have been useful for you. Let me give you an example of why I like this little feature. Let's say you're doing your thing, writing some code, and need a little assistance from the community. Let's say some kind fellow coder has just the solution and code snippet you need. You cut & paste this new found code and put it into your project. Alas! The cut & pasted code contains dreaded line numbers and now you have to manually remove them. Argh!

Code with Line Numbers

There are many great community members who do this and it would really be a great gesture if they stopped doing this. I won't point out anyone specific, you know who you are ;)


There's a heated discussion about this missing feature here:
http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/d8410838-085b-4647-8c42-e31b669c9f11


Someone has come up with a simple Visual Studio Extension workaround. I've tried it and it works, thank goodness! You can find it here:
http://visualstudiogallery.msdn.microsoft.com/8e2103b6-87cf-4fef-9410-a580c434b602?SRC=VSIDE


Finally, you can vote for this feature back using the link here:
http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2650757-bring-back-macros

Tuesday, February 12, 2013

Kaspersky's Best Windows Phone Security Apps


I came across this post today on the Kaspersky lab blog where Whiskers has been recognized as one of the best Windows Phone Security Apps. Hooray!


The post lists twenty different security apps and Whiskers made #18 on the list...



It was really kewl to come across this today. I don't have huge download numbers for this app but the feedback I get from people is always great.


When I created Whiskers, I figured it would probably not get very many hits because of the name. You see, the name doesn't have "password", or "locker", or "security", or "encryption" in the name and the Windows Phone Store search mechanism has always been less than desirable when it comes to finding apps using plain old search in the Store. Many people looking for a secure password locker for their WP usually don't come across Whiskers.


There is a reason for the odd name...if your phone is lost or stolen and someone gets access to it, my hope is that Whiskers is not the first app they open to see all of your secrets, passwords, etc. With a name that has "password" in it, I'm sure that acts like a big shiny red button for the curious and down-right evil. With name like "Whiskers", who's gonna look at that? :)

Monday, February 11, 2013

Whiskers Enhancement List

I wanted to jot down a few of the enhancements that I'll be working on in the near future for another minor update to Whiskers.

  • Ability to capture an image using device camera and add it as another entry property.
  • Fix bug on PIN unlock screen which does not allow period (.) character, which is allowed on the PIN create screen.
  • Lock timer option. Controls when the unlock screen shows. always, 30 sec., 1 min, 3 min, 5 min, 15 min, 30 min, and never options. Default is 1 min.
  • Support for Landscape orientation.


Not a huge list of items but a few enhancements I will put in to improve Whiskers just a little more.


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:
http://bit.ly/u7vEwp

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!



Tuesday, December 27, 2011

Whiskers

I've submitted Whiskers the password keeper to the WP7 Marketplace. I think I began working on this last month sometime, after I finished up TeaMate. This app was far more involved than the previous two. There are a total of 17 pages (views) and close to 2,000 lines of code. The .xap may come in at a scant 351 KB but there are countless hours spent putting this application together.
At first I was going to call this PassMate but coming up with a logo/icon around this proved to be too difficult. Instead, I decided to place shield for an eye-patch on a cat and call it Whiskers instead. Yea, Whiskers may not have anything to do with security and the cat may be mistaken for a pirate-cat, but Whiskers seemed like a good name. The idea for the patch came from our cat, Toby-kat, who has sort of a bum eye. Toby-kat doesn't really have a patch but since he doesn't see too well out of one eye, we seem to think he does.

Whiskers is a pretty straightforward password locker. You create an account, give it some details, and its safely stored until you need it. Accessing your information is pretty fast and easy with all the details available just about in one screen. There's even a recent page which keeps track of what you've been accessing lately and displays those first.

So that's a total of three apps so far. I have many more ideas and some enhancements in mind for the existing apps. I don't have anything planned yet but I think I may take a short break from app-making and get back to some photography.

Hard at Work

I've been hard to work for the past month on my next WP7 app. It's called Whiskers and its a password keeper. I wanted to develop a password keeper that accomplished the following few goals:

        1. Is Simple
        2. Is Secure
The simple part is, well, simple. Metro UI, clean, appropriate iconography, and features that simply "get to the facts, ma'am". What Whiskers does best right now is store your passwords and other important data easily. What is missing are features such as backup, import, export, etc.

The secure part has been a wrestling match. First, I wanted the data to be encrypted securely. I went through several options and iterations of implementations and finally settled on the built-in Data Protection API (DPAPI) in Windows Phone 7. The API safely and securely encrypts any type of data and does so in a way that the data may only be decrypted on the very same device. By using the DPAPI, I don't have to store any key data, salt values, or other private encryption bits that could be sniffed out of my .xap or from Isolated Storage data.

The second part of security is leaving out the need for application permissions such as Data Services. For me, any application, especially one the stores my private data, should have very good reasons for the need to access the Internet. Whiskers does not and this should give anyone confidence that their data isn't being sent and stored someplace out in the ether. Accomplishing this was full of compromises.

The first compromise was leaving out a Mango feature that I thought would be useful and that is pinning a tile to the Start screen. I implemented the ability to pin any one of your secrets to the Start screen. I later pulled this feature because usage of the ShellTile namespace requires the application to have the Data Services permission. Why? Because a ShellTile has a Uri property which means the tile could redirect to a URL somewhere out in the ether. 

Other compromises deal with the whole, import, export, backup and save to the Cloud features that many people ask for. Again, in order to feel that this app is secure and isn't sending your private data somewhere out into the ether, I decided to leave these features out that way I can leave the need to add the Data Services permission to the app. 

In the future, I'm considering a pro or plus version of the app that would enable Data Services and allow you to use the Cloud. This would go against my two primary goals for Whiskers but then again, this would be a different version of the app altogether so I guess that is ok.

I hope to wrap up this first version of Whiskers soon and submit it to the Marketplace. Like my previous apps, I'm going to make this free and free from Ads. 

Friday, December 2, 2011

TeaMate

My second Windows Phone 7 application, TeaMate, has been certified and published in the Windows Phone Marketplace.

http://bit.ly/u7vEwp

TeaMate is a simple tea timer to help you brew the perfect cup of tea.

- Set a brew time from 1 to 10 minutes

- App displays a message and plays an alarm to let you know your tea is done

- Alarm plays even under the lock screen or when the screen times out
One challenge with timer applications in Windows Phone 7 is that when the phone does into Idle mode, that is, when the screen goes off automatically or when the user hits the power button to turn the screen off, your application is no longer active and running. This means something simple as a timer stops running. So how does the timer continue to function and set the alarm off when the time is up?

To workaround this issue, TeaMate also creates an alarm and registers it with the Phone. That way, even if the screen is off and the app is not active, the timer will still go off as expected. Now, if the app remains active, just before the alarm goes off, I unregister the alarm from the Phone. That way, the app can alert the user when the timer has expired and not have the Phone's alarm reminder go off as well.

This ingenius little trick allows the alarm to work even when the phone is Idle and the screen is off and it plays well in the Windows Phone ecosystem by not running in the background and consuming battery life.

In case you were wondering, the logo, or asian character you see in the TeaMate is the Chinese word for tea.

Wednesday, November 23, 2011

Shuttermate

My first Windows Phone 7 app is now in the Marketplace!


http://bit.ly/tzZNq6


It passed certification on the first try and took about two working days to get through the process. I received an email that it passed and it wasn't until the next day that the it actually showed up in the Marketplace. I guess that's a typical turnaround these days. 


I'll say that the process to go through to get certification was lengthy but MSFT really spells it all out and gives you a great set of tools to make sure you get it all correct the first time. The Certification document is direct and detailed enough without being too lengthy to tell you what you need to know. The testing tools and certification checklists are a great help, without it, I surely would have not passed certification.


Now that I've written my first published app, I've already moved onto my next application. A basic tea timer app. More tk...

Wednesday, November 16, 2011

My First WP7 App

I've been working on my first Windows Phone 7 App, finally. A few weeks ago I sat down and wrote a whitepaper on what this App would be. Then when I finally had and made some time I began desiging and coding it.


I've had a number of years in .NET WinForms development and more recently some Silverlight experience. My XAML isn't expert-level yet but I'm very comfortable with C# and .NET. This has been a great learning experience so far and its fun to take a simple idea and then begin to actually make it a real application. A lot goes into making an application and once you begin and things start rolling you get more and more new ideas on what to add and what to improve and refactor.


So what does this thing do? It helps me with calculating exposure times and selecting the right filters when I'm out taking landscape photos. It's a nice little companion App that aides my aging brain so I don't have to figure out EV stops in my head or have to carry around charts or lookup tables.


Tools Menu
The various tools in the App are accessed from the first page of the application. Right now, the list of tools includes:

  • exposure
  • ND filter
  • dynamic range
  • big stopper

I would use the exposure tool when in a low-light situation, like when taking photographs before sunrise or after sunset. When my camera is in Aperture-Priority mode, the automatic metering of the camera will only go as far as taking a 30 second exposure. If the scene is still too dark for 30 seconds, you can use a nifty trick in your camera by bumping up the ISO value until the camera hopefully meters properly. The range I have for ISO is only from ISO 200 to ISO 6400. I don't count the LO and HI ISO values in my D700. This is only a range of 5 stops so it won't always work in all situations but sometimes it may help. The trick is to see if by adding up to 5 more stops of sensitivity, you will finally have metered a correct exposure for your scene. Then you simply reset your ISO value and then compensate your exposure time with how many stops you needed to add when bumping up the ISO value. Easy, right?


I'll use the ND filter tool when I want to figure out which ND filter to use to get a specific exposure time. For example, say I'm photographing a waterfall, it's mid-day and bright, but I want the water to be silky smooth and have a target exposure time of about 2.5 seconds. I simply put in my current exposure time then my target exposure time and the App tells me which ND filter to use.



ND Filter Tool
For the dynamic range tool, I'll use this when I want to know the difference between say the sky and the foreground. This helps me figure out what ND graduated filter to possibly use. If the difference between the sky and the foreground is only a couple of stops, then I may not use a ND grad. However, if there was something like 5 or more stops of difference, then I'd definitely use a ND grad and this tool will help me decide which one by telling me the actually difference in stops between the two exposures for the sky and the foreground.


Last is the big stopper tool. We have a Lee Big Stopper filter in our bags and sometimes it comes out. The trouble with this filter is that its about a 10-stop or ND3.0 filter and calculating the proper exposure time to use with this filter requires either a chart or some mathematical gymnastics in your head. Enter the big stopper tool in my App. Just put in your current exposure and the tool tells you what the proper exposure time will be when you add the Lee Big Stopper.


I plan on wrapping up this first go around of functionality, taking care of the Windows Phone Mango certification requirements, and then submitting this to the Windows Phone Marketplace. Next I have some plans for more useful tools in the App. I'll have to get through the first hurdle first before I add any new features though.


Writing WP7 apps is made easy because of the great tools available from Microsoft. Its also a lot of fun with the usual challenges with development. I love this little platform and phone and I'm excited about working more with it!

Cheers!

Wednesday, September 21, 2011

WP7 + AppHub

So I've decided to give Windows Phone 7 development a try. I ditched the awesome Droid x2 in favor of a new HTC Trophy. Before I went Android, I had a Windows Mobile 6 phone, the HTC XV6800. The codename for that old phone was the Titan. Coincidentally, HTC's new flagship Windows Phone coming out soon is also called the Titan. It's going to have a massive 4.7" screen and "Mango". Can't wait to see that one!

And now i'm back with Windows Phone again. Why? I am a Microsoft and Windows developer at heart. Always have been, always will be. Throughout my 12+ year career in software development, I've been at crossroads that could have lead me down the path of Java, HTML, Objective C and most recently, Adobe Flex. Each time I've stuck with Windows. Not only have I continually "used what I know", touted by Microsoft Build 2011, but I've also committed myself to learning what I can, inside and out, all the tools and technologies that Microsoft has to offer. I still don't know everything and never will. There simply is too much and technology moves at a pace much faster than anyone can wrestle with. Because of this, I don't feel as if i'm limiting myself. I look to grow when I can. There is always an opportunity for that.

This is now an opportunity to be a part of the Windows Phone community. I've started this blog where I hope to share what I can about it and about Windows development in general. I've signed up with AppHub and I have my developers ID. I also have a couple of ideas for some first apps that may make their way to the Marketplace. Overall, i'm really excited about starting this and I hope to learn so much more and to share.

Thanks.

Michael Henasey - On the Shelf Software