« September 2008 | Main | March 2009 »

October 21, 2008

A 15 minute primer on ASP.Net AJAX

I think I did this in the spring of 2007, the audio quality is very poor (sorry).

Please enjoy one of the following formats:




Basic Squence I Followed



This is the script I created to keep me moving for this video capture demo.


Create Default Web Page


  • Status : Dropdownlist

    • Active : false : (default)

      • Complete : true
      • AutoPostBack






    • div : todoheader : "To-do List Items"





    • GridView

      • ObjectDataSource
      • Format GridView (or CssClass = gridview AltRow Style = even GridLines = None)
      • Page, Sort, Edit






    • div : insertheader : "New To-do Item"







      • DetailsView

        • DataSource : ObjectDataSource1
        • Enable Insert
        • Properties : DefaultMode : insert
        • Format DetailsView (or CssClass = detailsview Gridlines = None)






Show the app


  • Note full page refreshes (What we will fix)
  • Add a new item or two


Ajax Enable Application


  • Add ScriptManager (One and Only One)
  • Add UpdatePanel (Partial Page update)

    • Define Content Template

      • Insert the GridView (PostBacks intercepted)
      • Wire-up to Dropdown
      • Define Triggers

        • Async : Dropdown SelectedIndexChange







    • Add UpdatePanel

      • Insert DetailsView

        • Set UpdateMode to conditional





(If there is Time or Optional show more stuff in class)




    • Add Update Progress Control

      • Define Progress Template

        • div : progress
        • img : "throbber"
        • text : "Updating...."




October 16, 2008

Time Tracking has arrived with Web 2.0

Before starting my career at the Carlson School of Management, I was an Applications Development Manager at Dorsey and Whitney, a massive Minnesota based law firm. Like all law firms billable time on clients matters was everyones top administrative concern. We provided the attorneys with an application from Sage Software called Carpe Diem. It spoiled me on Time Tracking. Every other product I have seen seemed to be clunky and cumbersome after using it. You could easily call it "One-Click Time Tracking", a user would simply switch a few option boxes from one client to another, or one task, activity, project to another and the timer would reset and the time spent on the previous client and task would be logged in the billing system. It was beautiful. It even track email, phone, and idle.

Then today (2008-10-16) when my boss asked me about options for time tracking for an internal customer at the Carlson School I, being the Resource Investigator from Belbin Team Roles Theory, jumped on the Internet and started looking. And Oh My!, seems like the internet resurgence of the Web2.0 era has sprung up a host of solutions that work very similiarly to my dreamy Carpe Diem.

So at the Carlson School we practice agile software development methodologies (I like illustrations, so see Scrum or XP if you are more visually inclined.) and thus we use a project management tool that fits our methodology, XPlanner. Now their are many things I love about XPlanner and it's time tracking features aren't that bad. Recently we have begun a move to Visual Studio Team System 2008 which includes much of the functionality that XPlanner does and vastly more besides. However, it also is not what I'd call a steller time tracker, and comes no where close to Carpe Diem when it comes to simplicity, easy of use, and speed of task/client switching. Now I know people will say that VSTS is not and should not be a time tracker, but I disagree. To capture velocity you must be creating estimates and then tracking against them to know what your projects velocity is and how your velocity units translate into time (see velocity).

Here a little of what I found:

Expensive:
Harvest (cool iPhone, and desktop widgets)
ClickTime

Almost Free:
88Miles
Basecamp
Tick
TSheets (So easy it works on the iPhone and smartphones)

Mostly Free:
Slim Timer (and their cute solgans)

Paymo timetacker
time onrails
Track My People

Each of these offering has varying features and depth. What I'm guessing will make or break a choice of one over the other of these for most people is the granularity of clients, projects, task details needed and on the reporting and data output of these offerings.

But given that there are so many of these, it is a wonder that no one has yet made an XPlanner or Visual Studio Team System timer tacker widget or service. May be this will be my first CodePlex offering.

Other links of note looked at while researching this topic:

http://blogs.msdn.com/coding4fun/archive/2006/10/31/908509.aspx
http://msdn.microsoft.com/en-us/library/aa479337.aspx
http://www.asp.net/downloads/starter-kits/time-tracker/