David Paquette

CDD (Caffeine Driven Development)

  Home  |   Contact  |   Syndication    |   Login
  25 Posts | 0 Stories | 11 Comments | 0 Trackbacks

News

Twitter












Article Categories

Archives

Post Categories

Windows Forms

Thursday, April 26, 2012 #

Be part of the Windows 8 Camp in Calgary, a full-day event with technical sessions that dive into the platform for building Windows 8 Metro Style apps. You'll learn from experts in a low-key, interactive manner and discover hands-on how to use the new features in Windows 8 Metro style apps to your advantage. Finally, you will learn how the developer platform supports C#, C++, XAML , HTML and JavaScript and how to monetize and distribute your app.

Event Details / Registration


Friday, April 13, 2012 #

Animations are becoming more and more common in our applications.  With technologies like WPF, Silverlight and jQuery, animations are becoming easier for developers to use (and abuse).  When used properly, animation can augment the user experience.  When used improperly, animation can degrade the user experience.  Sometimes, the differences can be very subtle.

I have recently made use of animations in a few projects and I very quickly realized how easy it is to abuse animation techniques.  Here are a few things I have learned along the way.

1) Don’t animate for the sake of animating

We’ve all seen the PowerPoint slides with annoying slide transitions that animate 20 different ways.  It’s distracting and tacky.  The same holds true for your application.  While animations are fun and becoming easy to implement, resist the urge to use the technology just because you think the technology is amazing.

 

2) Animations should (and do) have meaning

I recently built a simple Windows Phone 7 (WP7) application, Steeped (download it here).  The application has 2 pages.  The first page lists a number of tea types.  When the user taps on one of the tea types, the application navigates to the second page with information about that tea type and some options for the user to choose from. 

Screenshot1     Screenshot2

One of the last things I did before submitting Steeped to the marketplace was add a page transition between the 2 pages.  I choose the Slide / Fade Out transition.  When the user selects a tea type, the main page slides to the left and fades out.  At the same time, the details page slides in from the right and fades in.  I tested it and thought it looked great so I submitted the app.  A few days later, I asked a friend to try the app.  He selected a tea type, and I was a little surprised by how he used the app.  When he wanted to navigate back to the main page, instead of pressing the back button on the phone, he tried to use a swiping gesture.  Of course, the swiping gesture did nothing because I had not implemented that feature. 

After thinking about it for a while, I realized that the page transition I had chosen implied a particular behaviour.  As a user, if an action I perform causes an item (in this case the page) to move, then my expectation is that I should be able to move it back.  I have since added logic to handle the swipe gesture and I think the app flows much better now.

When using animation, it pays to ask yourself:  What story does this animation tell my users?

 

3) Watch the replay

Some animations might seem great initially but can get annoying over time.  When you use an animation in your application, make sure you try using it over and over again to make sure it doesn’t get annoying.  When I add an animation, I try watch it at least 25 times in a row.  After watching the animation repeatedly, I can make a more informed decision whether or not I should keep the animation.  Often, I end up shortening the length of the animations.

 

4) Don’t get in the users way

An animation should never slow the user down.  When implemented properly, an animation can give a perceived bump in performance.  A good example of this is a the page transitions in most of the built in apps on WP7.  Obviously, these page animations don’t make the phone any faster, but they do provide a more responsive user experience.  Why?  Because most of the animations begin as soon as the user has performed some action.  The destination page might not be fully loaded yet, but the system responded immediately to user action, giving the impression that the system is more responsive.  If the user did not see anything happen until after the destination page was fully loaded, the application would feel clumsy and slow.  Also, it is important to make sure the animation does not degrade the performance (or perceived performance) of the application.

 

Jut a few things to consider when using animations.  As is the case with many technologies, we often learn how to misuse it before we learn how to use it effectively.


Thursday, March 15, 2012 #

For those who attended my presentation at Prairie Dev Con West today, you can find my slides and sample project here:

https://skydrive.live.com/?cid=b913bb925262eedf&id=B913BB925262EEDF%21103

 

For those who did not attend my presentation, I will follow this up with a more detailed post.


Wednesday, November 23, 2011 #

I will be presenting ‘The Role of Workflow in Enterprise Software’ at the Edmonton .NET User Group on November 30th. The presentation will cover workflow concepts and Windows Workflow Foundation 4 (WF4).

More details and registration at www.edmug.net

See you all there!


Tuesday, November 01, 2011 #

Windows Phone 7.5 represents a new and credible challenge in the smartphone space for both consumers and businesses to adopt with confidence. With strong predictions from some of the leading think tank organizations saying that Windows Phone will be number two in global market share by 2015 (behind Android), there has never been a better time for developers to start learning how to build apps for Windows Phone and understand how to be successful on the platform.

In this day-long workshop, we will begin by giving you a developer overview of the platform where you will learn how the Windows Phone app ecosystem works, how to build applications for the phone and how to create amazing user experiences with those apps. The second, larger part of the day will be dedicated to creating apps with a proctor available to help you. The intent is that the overview session will provide you with the fundamentals of how to build apps and then you can take those learnings and start building your own apps.

 

Date: 5-November-2011

Location: University of Calgary

Room: KNB 126 (Kinesiology Building), 2500 University Dr. NW, Calgary, AB

Registration: 8:30 am - 9:00 am

Presentation: 9:00 am – 4:00 pm


Click here to register for this event


Monday, October 10, 2011 #

I will be presenting ‘The Role of Workflow in Enterprise Software’ at the Calgary .NET User Group on October 26th.  The presentation will cover workflow concepts, Windows Workflow Foundation 4 (WF4), and will also touch on Entity Framework Code First.

More details and registration at www.dotnetcalgary.com

See you all there!


Wednesday, June 08, 2011 #

Join us for HTML5 Fest with John Bristowe and others in Calgary on Wednesday, June 15th.  Event details and registration at www.dotnetcalgary.com


Sunday, May 08, 2011 #

Lately, I have been taking some time to learn some new technologies.  For me, the best way to learn a new technology is to jump head first into a project:

Daily deal websites such as GroupOn, LivingSocial, DealFind, etc. have really taken off over the last 6 months.  With so many sites out there, my inbox was being flooded with emails from all these daily deal websites.  This seemed like it might be a fun project,  so I set out to build a daily deal aggregator.

First, I built a Windows Phone 7 app.  I built this app using Visual Studio 2010. Silverlight for WP7, the silverlight toolkit for WP7 and WCF.  Overall, I was pleased with the developer tools for Windows Phone 7 and I am looking forward to building more apps for WP7

ScreenShot5

The app conveniently presents deals for your city in a format very similar to the email client for Windows Phone 7.  Users can flag deals, share deals with friends, and buy deals from over 20 daily deal websites.  If you have a Windows Phone, you can download the Deal Groupie App here.

 

Next, I set out to learn some new web technologies.  I had recently attended a Microsoft Web Camp in Calgary (presented by Jonathan McCracken) and I was impressed with what I saw.  I decided to build a web version of Deal Groupie using ASP.NET MVC3.  I also made use of jQuery, jQuery UI, SQL Server CE 4 and WCF.  Since I had most of the backend already built, the web version did not take me nearly as long to build as the WP7 version did.  I spent more time tweaking the css than anything else.  The website provides daily deals for the selected city in 3 ways: a simple webpage listing all the active deals, a free daily email, and an RSS feed.  The RSS feed was exceptionally easy to implement using Syndication mechanism built in to WCF.

DealGroupieSite

Find deals in your city -- http://www.mydealgroupie.com/

Currently, Deal Groupie is finding more than 2000 deals per day in over 300 cities in the USA, Canada, UK, and Australia.

Overall, building the Deal Groupie app and website has been a really good learning experience.  What’s next?  I’m thinking of building an Android version of the app and adding some filtering options to the website.


Wednesday, March 16, 2011 #

James Kovacs will be presenting "What's New in NHibernate 3" in Calgary on March 22nd.

Register at www.dotnetcalgary.com


Tuesday, January 25, 2011 #

Web Camps are a free event where you can learn about building websites using ASP.NET MVC.  More info at www.webcamps.ms

Register now as space is limitted:
https://msevents.microsoft.com/cui/EventDetail.aspx?culture=en-CA&EventID=1032473173