learn forever RSS 2.0
# Thursday, June 02, 2011

This update was released primarily to address a bit of a performance problem when recovering from a tombstone.  e.g. after a phone call, or turning back on your phone after having your phone screen turn off. In v1.3 and below, the application upon recovering from the tombstone would act as though it was a first time load.  It would attempt to log into Harvest and pull down the 7 days worth of time entries for the current week.   Those server calls could take awhile on a slow connection and can be annoying when your phone screen just shut off on you when you were thinking about what to put in for a specific task.

v1.4 Updates:

- Upon resurrecting from a tombstone,  the app will load back up much faster without re-logging back into Harvest.  It will take you the daily view at your most recent selected date.

- Various UI fixes:

    • Project & Task popup header was getting cut off
    • Client & Project names now wrap on Project & Task popup.
    • When starting a second timer, the UI was incorrectly still displaying the first timer.  The first timer will now be removed.
    • On the Daily screen, a client with a long enough name would get cut off or overlap with the project name.  This is now fixed.

View and download the latest update at: http://windowsphonegeek.com/AppHub/Application/af1b1607-386c-e011-81d2-78e7d1fa76f8

Also as a reminder, this application is EXCLUSIVELY for Harvest time tracking customers.   If you are not a customer, this app won’t do you much good Smile  You should check out Harvest at http://www.getharvest.com/

Thursday, June 02, 2011 7:55:06 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback

# Monday, May 16, 2011

There were some issues with TimeTrax – Harvest (the Windows Phone 7 application for the Harvest time tracking service) related to culture and time zones.  those users located in a different time zone from where the web service layer of this application was hosted could experience issues with what the application perceives as the first day of the week for the user.   Special thanks to Stephen Price in Perth for helping out in reporting & testing the app!

In addition, if you were, for example, recording time for May 12, 2011.  The application was always taking “05/12/2011” to mean just that and did not take culture into account.  Across the world of course, many people would interpret the above as December 5th, 2011.  Equally as bad,  today, May 16th, 2011 or  “05/16/2011” would be interpreted as nonsense :) and cause an error.

So for all you non US Central Time (UTC –6:00) users out there, make sure to get this latest update from the marketplace!

Monday, May 16, 2011 4:51:46 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback

# 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
# Monday, May 03, 2010
Relative Paths to Images and Other artifacts in ASP.NET
Monday, May 03, 2010 3:54:25 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
ASP.Net MVC | Deployment | JQuery
# Saturday, May 01, 2010
HtmlHelper extension for custom buttons.
Saturday, May 01, 2010 4:17:20 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
ASP.Net MVC | HTMLHelper
# Friday, April 30, 2010
JSON to POCOs using an IModelBinder implementation
Friday, April 30, 2010 4:15:59 AM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
ASP.Net MVC | IModelBinder | Inversion of Control (IoC) | JQuery
# Friday, December 25, 2009
Other useages other then unit test of using the Microsoft Unity Application Block with ASP.Net MVC and IoC practices.
Friday, December 25, 2009 8:11:14 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] - Trackback
ASP.Net MVC | Inversion of Control (IoC) | Unity Application Block
# Tuesday, August 11, 2009
I'm excited to be taking on a new and exciting role in the coordination of Ntegrate.NET. Ntegrate.NET is a Microsoft technology conference. It will be located at Hotel Sax and the House of Blues in downtown Chicago on January 18th and 19th, 2010.
Tuesday, August 11, 2009 11:42:56 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
Ntegrate.NET
Problem removing assemblies from the GAC on remote machine
Tuesday, August 11, 2009 11:22:32 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback

# Monday, April 06, 2009
Insufficient memory issue with SuperPreview
Monday, April 06, 2009 7:52:35 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback

Dave Arlin
Archive
<January 2012>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234
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)