Roshambo ya for it

25 11 2010

Now live on the marketplace is a fun little rock-paper-scissors app.  Using the accelerometer, Rock Paper Scissors imitates real life.  Stop bickering with your friends and let the RPS randomizer decide who gets to ride shotgun this time.  What are you waiting for?  Download it!

Soon to be added: You vs. Windows Phone & Choose Your Fate





Gestures with the WP7 Accelerometer

22 11 2010

First and foremost, if you want in depth information about the accelerometer you should check out Dave Edson’s excellent blog post, Using the Accelerometer on Windows Phone 7.  While his post is extremely informative, it was a bit of overkill for what I needed.  I assume this may be true for a lot of you as well.

I just needed to recognize a simple gesture I wanted to see what it “looked” like to the accelerometer.  I didn’t smooth out the curve or use the AccelerometerHelper class.  Here are the steps I followed to determine that the raw data appeared to be sufficient for my needs:

  1. Start the accelerometer and record the data
  2. Perform the gesture
  3. Stop the accelerometer
  4. Use Excel to analyze the data
  5. Write the gesture detection code
  6. Test, Test, Test

I wrote a quick and dirty program (included below) to capture the data and send me an email.  The email is plain text that I save into notepad then import into Excel as a delimited text file.

These are the x-axis readings for one trial for me flicking the phone with my right hand:

image

There are two key points on this chart: When the x value hits about 1.3G, and when it hits about –2G.  My gesture detection code looks for these values, in this order, in a small time frame (about 1 second).

Tips

  • Perform several trials before you start coding your gesture recognition.  If possible, use different people.  What worked 10 out of 10 times for me worked 3 out of 10 times for someone else.
  • Left and Right handed gestures can be drastically different.
  • Be cognizant of how long the gesture should take and code your recognition accordingly.
  • Relax your gesture parameters as much as possible, but be wary of false positives.  In order to prevent stacking gestures, I put in a pause of about 250 ms between gestures.
  • Give some sort of feedback when they successfully perform a gesture.  A vibration lasting about 200 ms seemed to work well for my scenario.

Download Accelerometer Test Solution Here





Boozazzl 1.3 Released

18 11 2010

screenshot_07_funfactAn updated version of the best blood alcohol estimator is now live on the marketplace!  Boozazzl’s exciting new features include:

  • Track your friends easily with multiple Boozazzl profiles
  • Fun facts and quotes with every drink
  • Additional drink menu items like “chug” and “finish”
  • More intuitive time to peak and time to limit displays
  • A variety of performance enhancements make the experience even more fluid and enjoyable

More great features are coming soon.  Keep up to date by following @azzlsoft on Twitter or Azzl on Facebook.

 





Much Ado About Nothing

3 11 2010

In an interview at PDC last week, Bob Muglia (Microsoft President of Servers and Tools) scared the crap out of Silverlight developers across the land.  This week, he posted a clarification on the Silverlight Team blog.  I have included the last paragraph:

The purpose of Silverlight has never been to replace HTML, but rather to do the things that HTML (and other technologies) can’t, and to do so in a way that’s easy for developers to use.  Silverlight enables great client app and media experiences.  It’s now installed on two-thirds of the world’s computers, and more than 600,000 developers currently build software using it.  Make no mistake; we’ll continue to invest in Silverlight and enable developers to build great apps and experiences with it in the future.

I suppose the original strategy was something like “Silverlight everywhere” and now it will be “Silverlight most places”.  Silverlight, Flash, Unity, Google Native Client and whatever else will always be ahead of HTML5 in functionality.  However, these plugins will inevitably lag1 in adoption.  If you require broad compatibility or don’t need special functionality, plug-ins were never a good choice.  Ever.  They never will be.  Ever.

Write once, run anywhere only makes sense if you are talking about similar form factors.  It is a bit naïve to write a Silverlight desktop application and expect the same experience to suffice in a mobile environment.  The processing power, input mechanisms, and screen sizes are so drastically different that using the same code will provide a non-optimal experience in one or the other.  The same is true for products using HTML5.  Are mobile sites going to go away with  the advent of HTML5?  Are desktop apps?  Of course not.

The reality is that Silverlight will continue to be a phenomenal platform to develop native and web enabled applications for the desktop (Windows or Mac).  That knowledge and perhaps some of the code will roughly translate to Microsoft’s mobile and embedded products as well.  For anything else, consider a different tool.


1The irony of the entire Silverlight is dead argument is that Silverlight has broader adoption than HTML5 and Microsoft’s own products don’t support HTML5 yet (i.e. IE9 is still in beta and WP7 does not support HTML5).  Of course, this won’t last.