Dave Noderer's Blog

October 2005 Entries

Severe lost of points!

Being married for over 25 years, my wife (Bobbi) and I have a well established "points" system. Of course it only works one way, she "always" has plenty of points!

Normally I'm in pretty good shape, send her flowers at work on our anniversary, take care of her when she is sick, buy tickets to go see our son in Chicago because he can't come here for Christmas.

This weekend I definitly blew it! I'm visiting my dad in Phillidelphia and did not try to make it home yesterday for hurricane Wilma.

Now Bobbi is sitting in the house, a couple of blocks from the beach (no risk of storm surge or water), no power and on the phone to me trying to disconnect the beeping UPS units.

Oh shit, this will take a long time to make up for!!

Florida .NET User Group - Miramar - 2005-10-13 - Ron Jacobs - Microsoft Corp

 Ron Jacobs, Patterns and Practices Group


Smart Client Application

  • ThompsonOne - Analytics
    • Trading information
  • Clients -> Fat Client -> Thin Client -> Smart Client
  • Composite Smart Client
  • Integrated Dell Desktop
    • High call center turnover
    • Started on web application
    • But it was not quite good enough, kept adding java script
    • Up to 500,000 lines of java script and it did not make sense
    • Moved to windows form application, independent applications
    • Session, Workflow, display (with promotion, customer, etc)
    • For example, tech support can locate cust support
  • Commonwealth Bank of Austrailia
    • OS2 application, had invested in special keyboards
    • Stuck with special keyboards
    • Went to composite, looks like web
    • Per user customization
  • Composite UI Application Block
  • Composite Application Benefits
    • Richer user experience
    • Integrated disparate apps
    • Ability to reuse in different environments
    • Manageable footprint, central shell of common services
  • Architecture
    • Empty Shell… contains some areas, module catalog, etc.
    • Module just adds element menu items and views, cab manager displays
    • Module also has work items, shared state, events, whatever else it needs
    • Shell is like office manager, assigns where modules can load things…
    • Workspaces, mdi, card, tab
  • Model / View / Controller panel - Pattern
    • Model = Data
    • View = UI for data
    • Controller = What can you do, add, update, etc.
  • Demo
    • Bank shell
    • Can "answer" phone, view related data
  • Dependency injection - Pattern
    • Small child walks in, sign says "I Need A Parent", Ichild
    • Adults "Parent"
    • Child has dependency needs parent but cannot select parent
    • Parents all want to adopt
    • So adoption agent decides which is the most suitable parent and connects them
    • Dependencies will cause proper services to be inialized
  • Service Locator
  • Shared WorkItemState
    • Can be loosly typed, dictionary or wrap in get/set to make it more strongly typed
    • Receive a workspace
    • Load what you want in it
  • Event Broker
    • Publisher / Subscriber model
    • Have to agree on topic
    • Can be invoked on a specific thread, ui, backround,etc

Devry University - Senior Class Projects

As part of Devry's “Advisory Board” I was invited to hear presentations of the senior projects. Much of the coursework revolves around .NET and C# although they do teach other things and one of the projects does not use .NET.

The university and students find companies to sponsor the projects and most of them will actually be in production at these companies. The biggest team was 3 people and it was done part time over a couple of months so the scope of each project is reasonably small.

I do appreciate DeVry as they host our Miramar user group meetings every month!

"Horizon" Project, Royal Carribean

  • The Developers
    • Leticia Ruiz
    • Yadira Hernandez
    • Jose Luis Pereda


  • Application
    • Replaces Aging Application
    • Written in C#
    • Consists of 3 projects
    • Had to incorporate external dll's
    • Windows form based


  • Three parts
    • Data Management
      • Data Import (of passengers)
      • Data Export post cruise
    • Embarkation
      • Search/filter passenger list
      • Family numbers, Seapass Number to track passengers
      • Can edit records, contact info, preferred language, age
      • Can add passenger picture
      • Also have drivers license, passport info
    • Gangway
      • Enter agent id
      • Slide card to pull up record for picture id
  • Lessons
    • How to work with outside companies
    • Most of these people work full time and go to school part time
    • Less sleep was the answer



Mt Temple M.B. Church

  • Developer
    • Garrett
  • Application
    • App to keep track of members, ~ 50 now
    • Need roster, addresses, phone, birthdays, contributions
    • Also keep track of churches they visit
    • Track volunteer / service hours as later expansion
    • Windows form app
    • Be able to expand to web / mobile
    • Office interface
      • Use Excel for other use of information
      • Pulls data from sql server
      • Member ID / search, will pull contributions
    • Uses XML data sources + SQL Server
    • Add web services for future mobile / web applications
    • Used VS 2005
      • Beta had lots of bugs
  • Parts
    • Member
    • Fellowship
    • Household
    • Tithes / Contributes
  • Lessons
    • Do good analysis, need to decipher what they wanted
    • Track your work
    • VS 2005



X-Tech Innovations - Tracking System

  • Developers
    • Valarie Francoi - Team Leader
    • Handy - Programmer Analyst
    • Ryan Smith - DBA
  • Company - X-Tech Innovations
    • Company manufactures fasteners
    • Was part of Textron
    • Just worked from a report / spreadsheet
  • Application
    • Store information on Employee, Customer, Quotes
    • Need to make it user friendly
    • See status of jobs
    • Able to update/maintain
    • Not implemented as it is remote
    • Valarie lives there and will install next week
  • Security
    • Login form
    • Encrypted passwords
  • UI
    • Project(s)
    • Employee
    • Clients
    • Quotes
    • Various filters, details available
    • Notes on each project
    • Each project has one quote
    • Only Administrators can change employee info
    • User can change password


  • Reporting
    • Based on Crystal Reports
    • Projects, quotes, Employees, Customers
    • Print or export
  • Lessons
    • Group project, split forms, saw ways to improve on original database.
    • Found that integration was an issue because each made db changes and it took some time to bring together.
    • Company in IL so interaction with company was a problem.



Realizator - Realtor Online - Advance Realty Group


  • Project
    • How to generate leads, manage clients, show properties?
    • Saves info, forwards to agents
    • Had to make a partial MLS database for florida.
    • Communication through email
    • Show interest rate trends
      • BankRate.com
    • Search
      • Property search with various parameters
      • Must enter email
      • Get listings with the ability to drill down.
      • Paged but no sort at this time.
    • Sends email and cell phone messages
    • Alerts allow a client to see whenever new info comes on line via email
    • Will dynamically load multiple websites
    • Template with ~ 30 user controls
    • Will allow customization but will try to fill in with generic controls where possible.



The TLC Project - Devry University

  • Developrs
    • Othman
    • Jeff
    • Sean Simpson


  • The Learning Center Web Site
    • Tutor scheduling
    • User authentication
    • Online Tutoring
    • Interactive tutoring, flash
    • Lots of admin
    • Has music in backround


  • Project
    • Cool flash??
    • Was on a board
    • Needed to move to database
    • Had security issues with flash chatting
    • Did it with PHP / MySQL
    • Looks very professional


  • Scheduling System
    • Content management system, administration
    • PHP, photoshop, dreamweaver
    • Macromedia Captivate
      • Cool tool!
      • Go to website, records what you do
      • Then will playback what you did
      • Will only let you do what was done in the demo
      • Just need to add labels, etc. to put people through it


  • Use templates for admin
  • Select tutor
  • Will show open times
  • Online, group or private
  • Enter email / password or reigster
  • Tutor will confirm
  • Log into administration site
  • Had issues with setting true and false
  • Will be replaced by Accutrack next year
  • Student resources
    • Java script to get to information
    • Links to existing information
  • Online Tutor
    • Chat system
    • MacroMedia flash chat
    • Chat with tutor
    • Makes it private, gives more control than MSN, etc.
  • Database
    • MySQL + PHP
    • Open source, it's free
    • They did not know php but it was easy to use
  • Lessons
    • Did not expect to finish but they did!
    • IT Conflicts, were able to just ftp up



R&N Jewelers - eCommerce SHipping

  • Developers
    • Angel Arce
  • Company
    • 4th gen family
    • Designs/manufactures jewelry
    • Custom wedding rings
  • Initial Project
    • Automate shipping
    • Retrieve rates
    • Generate labels
    • Track shipments
    • For both UPS and DHL


  • Altered project
    • Still has automated shipping
    • Also create a reusable library that would be distributeable with full documentation
    • Small sites, class rings, etc..
    • Access via dll and web service
  • Integrating UPS
    • HTTP Post
    • Submit and receive xml
    • Must carefully check for errors
    • Diagram shows client, server, xml request/response
    • Must include credentials "Access Request"
    • Includes UPS license number
  • Integrating DHL
    • Same idea as UPS but different format
    • A little trickier to insert xml
    • Shows Class Structure and enumerations
  • Documentation
    • Uses XML documentation for all the classes, methods and properties.
  • PurityRings.com
    • Prints actual labels, 2d labels for ups/dhl
    • This is the admin back end to process orders
  • Comments
    • Response.write error handling
    • Hard coded customer info for demo
    • Response has base64 encoded info for the shipping labels


Computer Museum / Gordon Bell

From Robert Scoble, http://radio.weblogs.com/0001011/rss.xml, at Microsoft Channel 9, a two part tour of the computer history museum, http://www.computerhistory.org/, hosted by Gordon Bell.


A good history of the computer museum starting in Gordon's closet, through the DEC lobby in Marlboro into Boston then out to Silicon Valley.


At one point Gordon mentions Encore (it was actually the "Hydra" division in particular) and how the project was out of control. He drove to New Hampshire to buy a Macintosh and Project and spent the weekend entering into project which ended up as a wall sized pert chart (which I remember). Up to that point we had been using Xerox Star systems for documentation.


There are two parts: