learn forever RSS 2.0
# Monday, April 25, 2011

It’s Been Awhile

So wow, it’s almost been a full year since my last post!  Over the last few months now, I’ve been playing with Windows Phone 7 Development.  My first app published under my company, Triton-Tek is called TimeTrax – Harvest.  It’s a Windows Phone client for the Harvest time tracking service.  Also yes, it’s FREE. 

Harvest already has a number of add-ons, including IPhone and Android mobile applications as well as a Twitter plug in, Apple and Windows widget, Google Apps plug in and others.  So writing the Windows Phone add-on felt like a fitting idea.

 

App Guts - Caliburn.Micro and ASP.NET MVC

I used the Caliburn.Micro framework to help out with View/ViewModel binding via convention based application design as well as to help out with things like in memory and Isolated Storage.  It also makes all server side calls to my ASP.NET MVC web service layer extremely easy through an exceptionally friendly use of IEnumerable and the Yield keyword.  A special thank you goes out to Matt Hidinger, my coworker for helping me get hit the ground running with holding my hand thru the various stages of the development process.  You should check out his apps, Bus Watch Chicago and Transit Directions here.  Another thank you goes out to my wife Jamie Arlin of Jamie Lynn Designs for helping me out with the live tile, application icon and splash screen artwork!

I built the ASP.NET MVC layer to assist in offloading calls to the Harvest API.  The Harvest API was extremely easy to work with. It is RESTful supporting both XML and JSON.  My application requires 7 full days of time entries to be displayed at once.  Unfortunately as of now, the Harvest API only allows one day’s worth of time per HTTP GET request, so 7 total calls to the Harvest API are required for each week selected.   Users on slow phone connections would not want to wait the amount of time it would take to send and receive back information for 7 web service calls, so my web service layer instead makes these calls while the phone client only makes the one.

Another reason for the MVC layer is password encryption.  The AES encryption algorithm is used to encrypt password data.  the public encryption key and salt for this are stored on our web server, so only a single GUID user token is stored on the client phone.  All web service calls from the client to the web service layer are encrypted via SSL, so security is handled as much as I deemed necessary for an application that’s only real usage is time entry.

Lastly, I implemented live tile push notification updates to display how many hours (rounded to the nearest whole number) the user has entered in for the given Monday thru Sunday week.  This was actually not that hard to implement with the help of some help from Shawn Wildermuth’s blog post on the subject.

Again, if you’re a Harvest user, please check out and download the app here

Monday, April 25, 2011 6:57:40 PM (GMT Daylight Time, UTC+01:00)  #    Comments [1] - Trackback
ASP.Net MVC | Caliburn | Triton-Tek | Windows Phone
Dave Arlin
Archive
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Dave Arlin
Sign In
Statistics
Total Posts: 12
This Year: 0
This Month: 0
This Week: 0
Comments: 1
All Content © 2012, Dave Arlin
DasBlog theme 'Business' created by Christoph De Baene (delarou)