March 23, 2009

Role of the "Proxy Customer" (Agile for: Business Analyst)

We all know that ideally you want a customer present at all times and involved in the project. That this yields the best results in the shortest time on any given project. But that there are times when the customer is unwilling or unable to be available.

Reason for a Proxy Customer:

The Proxy Customer can help fill a gap in projects where the Customer is not always available when stories are being done in an iteration. Then the Customers are happy to meet weekly or bi-weekly, but aren't willing or able to be available through out the work day as new stories arise; Or when the customers wants to be able to just send in terse info and have it dealt with without learning any new tools are processes. In a way you can look at the Proxy Customer and being a way of scaling out the Product Owner role.

Continue reading "Role of the "Proxy Customer" (Agile for: Business Analyst)" »

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.

Continue reading "Time Tracking has arrived with Web 2.0" »

September 17, 2008

Web 2.0 Flash Mash-Up Tricks on CMS systems help keep them flexible, open and lively.

Well, while converting to Oracle's WCMS, dubbed UMContent here at the U of M, I've discovered that even though they have a proprietary approach to building sites, and pages, that if they don't block mark up you can pretty well get a long working with the newest (circa Sept 2008) forms of mash-ups.

A couple in particular are, sIFR, SWObject, and extending access via flash enabled media players.

So Oracle's WCMS (our UMContent) has little to offer when it comes to doing things like podcasts or offering dynamic text to image conversion using specific typefaces, right out of the box.

But they don't block you from using these techniques to deliver content and formatting in ways that enhance your site.

Continue reading "Web 2.0 Flash Mash-Up Tricks on CMS systems help keep them flexible, open and lively." »

September 3, 2008

My Book Reading Journal

I'm keeping a reading journal on my wiki. I'm trying as time permits to write some reactions and thoughts that are churned up by the reading in sub pages, but lately I've just posted a link indicating that I've read something.

I'm posting some of my past readings to but only if I re-look at the book or find myself recalling/using the resource in some way. I also sometimes reference a good article on the reading list, but I read so many of those I don't think I could manage listing them.

I found a nice little tool to pound material into my head when I don't have motivation to read an article. It is called Spreeder as in Speed/Reader. I usually turn it up to 450 word per minute and let'r rip. (my poor brain!)

Continue reading "My Book Reading Journal" »

December 13, 2007

YouTube Mac wants to be a PC commercial Mash-up

I just posted a terrible, poorly editted, little video showing Mac (from the Get a Mac ads) trying to show how he is a PC. I through this together to try get something free from a contest. My friend Kevin Reynen once said the most useful app a Mac can run is Microsoft Windows and this is my omage to his intelligence.

This was created for a MaxiumPC contest to win a 8Gig Sansa Media Player

Enjoy Mac wants to be a PC!

August 22, 2007

OIT page on NetFiles

In an attempt to raise the OIT search word ranking in the U of M g00gle appl1ance I've created a file in NetFiles that point to the page. Please ignore this shameless promotion.

June 29, 2007

OIT Alphabet Soup

ADCS, ATAC, CESL, CITP, DMC, EFT, iFellow, iRoc, NTS, OIR, OIT, OVPR, TEL, UTELL, WebCT... Oh my, can you tell someone has let the Linux geeks run the shop for a while. To help short through the alphabet soup that is the Office of Information Technology OIT at the U of M, I've added a section to my site, the unofficial guide toOIT at the U of M.

June 11, 2007

Using OIT to Game the U of M Google Search Appliance


So as of my last post, my standings in the Google appliance haven't moved one bit. Setting aside any narcissism and paranoia induced explanations, I have I have to conclude that simply naming the links in the blog to OIT had no noticeable effect on my pages standing.

Therefor, I decided to rename the page from Office of Information Technology - OIT to OIT - Office of Information Technology. I reflected this change in the Title element as well as in the first H1 element and the first normal body content.

Results should be processed in a week or so. (yes - this post about gaming the Google appliance is just another shameless promotion for the OIT page.)

May 29, 2007

Gaming the U of M Google Appliance to Promote my OIT Page

I have a page that is about OIT, it pretty much contains everything you'd want to know about OIT at the U of M if you are a new employee and trying to orientate and tap into the organization.

So I posted on Friday (May 25th, 2007) a link the to Unofficial Office of Information Technology wiki and today (May 29th, 2007) it is on the first page of results. At about the 6th position. This post will link to a print version of the wiki page. Meaning it wont have all the standard wiki navigation to work through to find the real content. If it gets indexed it should push it up yet another spot or two.

However, one thing that could stop this is that typically the Google appliance wont follow querystring links. These tend to lead them into infinate search spaces. So I'll give it a few days and check back and review the results or lack of them. (I might give it a week).

But in gerenal I think the experiment worked.

(yes - this post about gaming the google appliance is just another shameless promotion for the OIT page.)

May 25, 2007

Mash-Ups with the Office of Information Technology OIT Services and their relationships with Wikis and Blogs

So here at the U of M, there are a bunch of sites and groups devoted to helping you teach, do research, learn and "support the people" who teach, research and learn. But they typically look at themselves organizationally rather than from their customers perspectives. This leads to confusion and the mistaken perception of less value in the services offered than really exists.

A byproduct of this organizational, rather than service approach to showcasing our wares, is a series of "Unofficial" pages that are popping up on UMWiki wikis and UThink blogs. I've started two The Unofficial Guide to the Office of Information Technology (OIT) and another is The Unofficial - How to get your MSDN Software for Computer Science and Software Engineering Majors and Graduate Students. I was originally motivated to do this when I found the excellent UMN Itlabs Unofficial Web

This post falls into the category of being a "no one will officially tell you but..." post. See, by posting this blog entry I will elevate the rankings of the unofficial pages to which I just referred. This is because for some reason the folks behind the university google appliance have increase the value of items posted to UThink. [I however find the hypercard, simple DB structure of the UMWiki much more useful.] So posts like this and the information sites they referer to are just the start. This bit of "google gaming" info may seem like just a tiny bit of info that would help someone promote their site in the google rankings at the U of M, but I think it is leading to something much larger.

But where is this headed? Open Architectures and Mash-Ups
I believe that over time issue like the lack of offering of certain servicesby OIT, like blackberry accessible email, or web standard calendaring, or a suppported secure research and development "LAMP" stack, and other university service groups will be overcome by self interested individuals creating solutions to the barriers to information that exist in the technology choices implemented by OIT and unit areas. There is not enough knowledge and resources withing OIT (nor could there be), to pick the right emerging technologies, fund the efforts to create these mash-ups, and provide support to the population who would use them. It will be students, staff and faculty, satisfying their own self interests (scratching their itch), that will do it. Most of what is happening or will happen, will be unfunded, and unofficial efforts by all the smart people how call this home for some part of their life.

I think the scenario will go something like this. Some ADCS employee, or lab asssistant, or EADs developer, who will be in a degree program and have to do a capstone project, or will be a fellow in some innovation group, or have a grant, or who is just borded, will create a open SOA gateway from technology X, exposing it to all the potential mash-up applications that students and staff are becoming used to in the wider world of web 2.0

I think that project like the one started by Alexander Saint Croix UMFoundrywill be the catalyst for this to occur. (I'm not banking on Alex's efforts being "the answer", although they may turn out to be) but eventually it will happen, or more correctly is already happening and we are just starting to see signs of it poking out here and there. (A comment on why it is able to happen now.) But without something like the UMFoundry or a knowledge base on the UMWiki it will never reach its full potential.

April 21, 2007

Wiki vs. Blog

Well... for me, I guess there is no contest. A wiki is more of a knowledge store, card space, card file, hyperlink database, call it what you want... It stores and structures data in a way I find helpful and manageable.

I think it is safe to say this blog has been abandon. More of the same but with more frequent posts and updates can be found here

February 16, 2007

Chapter 7: Ruby on Rails

Rails feels like just what it is, a reflective inspection and auto build (aka code generation) of a well designed Model View Controller connected to a nice implementation of Martin Folwers Active Record design pattern. I think the lession here isn't how great Rails is, but how much can be gained by following well designed patterns...

Continue reading "Chapter 7: Ruby on Rails" »

February 7, 2007

Transformation: Ruby Smells

I keep hearing people say they couldn’t possibly use Ruby because it lacks automatic refactoring tools.

Marting Fowler tells us that Refactoring is the art and science of turning smelly code into good code, in small, incremental steps. Provably correct, by construction. Algorithms for giving your code a makeover without breaking it in the process.

Continue reading "Transformation: Ruby Smells" »

February 6, 2007

Beyond Javas: Chapter 6. Ruby in the Rough

Java's leadership run, at least for applications, might be drawing to an end. This book points out one language and two frameworks (one in Ruby and one in Smalltalk) that have something special to offer. One possible alternative language, Ruby. It improves on Java, but that doesn't mean that Ruby will succeed, or that it's the best possible alternative. Dynamic Languages...

Continue reading "Beyond Javas: Chapter 6. Ruby in the Rough" »