Project Turing – Data Entry (a mini-tutorial)

MiniTutorialLogo
(click on the image to see other Mini-tutorials)

 

ProjectTuringLogo

 

 Turing Entry: [Novice: 3]      FAQ     Table of Contents    

The Turing Project design calls for a four component system:

  • Data Entry
  • Data Storage
  • Data Service
  • Data Display

Eventually Data Entry will be via email or web, Data Storage will probably be SqlServer, Data Service will probably be a WCF application and Data Display will be an increasingly spectacular Silverlight application.

 

Corpus omne perseverare in statu suo quiescendi

Expanding the Spec – Reports

In discussion of this project, one feature that surfaced right away was the desire to have a module that displays statistics about blogs, authors and topics in various ways.  I imagine that we would certainly want to have a treemap for topics and other charts that show, for example, the pace of blogging for a given contributor.

A treemap is an increasingly popular control for displaying trends in data because you can put a lot of information in a small space and still make it relatively easily understood. There are nice write-ups of the treemap here and here

TreeMap

(Colors indicate categories, saturation of color indicates quantity)

Successive Approximation

One of the difficulties in the “get it working and keep it working/ successive approximation” approach to coding is that you have to be able to see a hut and imagine a mansion.  The advantage is that it is easier to build a hovel and turn it into a hut and from there to a ranch, to a tudor, to a center-hall colonial and on to a mansion (at least it is for me; others disagree).

The second big obstacle many of us face is Newton’s First Law: “Every body persists in its state of being at rest… except insofar as it is compelled to change its state by force impressed.”  That is, it is hard to get started.

Overcoming Inertia

I find that the best way to  overcome inertia is to start coding. (I also find that the best way to spend my day).  Let’s begin with Data Entry (it happens to be first on the list). 

In time, I imagine that adding a blog entry to the db will be very low-friction; the user will be able to send an email or, even better, we’ll write a plug-in for LiveWriter that takes care of the notification automagically.  For now, however, we’ll get 90% of the functionality by writing a small application that gathers the data in a form and prepares the data for distribution to Data Storage.

Form

To create the form, we first need to know what data we need.  As a first cut I’ve identified the following useful data:

Datum Type Control Type Notes
Full Name String Autocomplete  
Alias String Autocomplete (email)
URL of blog string Autocomplete  
URL of entry string TextBox  
ShortURL string TextBlock we generate
Date of Entry DateTime DatePicker  
Topic string TextBox  
Tags strings Listbox optional
Level enum radio button optional
SL version Compatibility enums check boxes optional

Once again, in time we’ll divide these into those fields which we only need to collect once (e.g., Full Name, URL of Blog) and those which are specific to a given blog entry. 

Novice Previous:  Project Levels Next:  Creating a form
Advanced Previous: Project Levels Next: Data

About Jesse Liberty

Jesse Liberty has three decades of experience writing and delivering software projects and is the author of 2 dozen books and a couple dozen online courses. His latest book, Building APIs with .NET will be released early in 2025. Liberty is a Senior SW Engineer for CNH and he was a Senior Technical Evangelist for Microsoft, a Distinguished Software Engineer for AT&T, a VP for Information Services for Citibank and a Software Architect for PBS. He is a Microsoft MVP.
This entry was posted in z Silverlight Archives and tagged . Bookmark the permalink.