|
Others' posts of interest
|
|
|
|
Consumer evaluation of mental health and substance abuse providers - sharing experiences on the web
|
| Author: |
Matthew Hile |
Created: |
12/19/2005 9:11 AM |
 |
| This is a place for me to share ideas, code, and products related to behavioral informatics. |
By Matthew Hile on
4/16/2007 7:41 AM
I was listening to the .NET Rocks podcast over the weekend and heard
two shows relevant to DNN developers. The first was a discussion with Dan
Appleman who briefly mentioned using DNN and his thoughts that with this sort of
framework available folks would be foolish to code their own sites (unless there
was a really good reason to do so).
The second podcast focused entirely on DNN and was a second interview with Shaun Walker the
head of the DotNetNuke project.
Nice to hear DNN discussed on this popular show.
|
By Matthew Hile on
4/16/2007 6:18 AM
http://searchdotnet.com/
This custom Google search site was created by Dan Appleman,
a well known and highly respected developer, to solve some of his own
difficulties in finding high quality .NET code and answers (.NET Rocks podcast where he talks about this site). I used it this
morning and it returned the authoritative results I needed without a lot of the
extra stuff. If you do .NET development this is a great resource! Note that to make it really handy you can easily add it to your list of search
providers in Firefox or IE .
|
By Matthew Hile on
4/13/2007 10:01 AM
There has been a lot of discussion about the relative merits of Google's and Microsoft's saved maps. As this erupted I had just completed a saved Google Map for Missouri's Advancing Recovery project and thought that I would try the same thing on Microsoft's Live Maps. The purpose of my map was to show the locations of all of the participants in Missouri's Advancing Recovery project. To do this I wanted to have the state highlighted and marks for the location of each of the participants. I had first thought to do this with an image in a paint program but thought a more interactive experience would be better. I had never used either of these sites to created a custom map so this is the review of a neophyte map maker. Step 1: Highlight Missouri | Google | Microsoft | No obvious way to start this process. However, being an inveterate right-clicker I right clicked on the map and got the context sensitive menu. A started by Drawing a Shape. At click I placed a small square box and as I went along a helpful message "Double click to end this shape" followed my cursor. As a nice touch, after completing the shape I could click on any of the boxes and move them to a different location or right click to get to another context sensitive men to delete or add points. I was able to complete this step in one go.
| Here the options were displayed on the screen and selecting the mark and area option allowed me to start clicking on the Missouri's border to create the highlighted shape. To finish a drawing you need to right click on the last location and select the "Finish drawing" option. Since my last click had been on top of my first one I moved off of that location before selecting the finish option. This added a final mark which ended up loosing Missouri a large v shaped chunk of territory to Iowa. It took me three tries to mark the map to display Missouri to my satisfaction. There is no apparent way to edit a shape once it is created or even to undo the last clicked location. | Advantage Google. The ability to edit a shape AFTER it has been initially created is clearly something that makes the job easier. It is possible that Microsoft has this feature but I was unable to discover it. However, neither system was able to automatically highlight the state. It would seem like a logical feature to be able to automatically highlight some geographic feature (e.g., city, state, country, ...). Step 2: Add locations | Google | Microsoft | Search for a location on the map the information bubble has a simple like "Save to My Maps." You can then edit title, location add links, and so on. Simple and easy to understand.
In my search Google had difficulty locating one location. | Search for a location and a push pin is automatically added to the map. A left click on the pin then selecting "edit" provided this box. For my needs it required more work to use as I had to move the address into the Notes section then add the agency as a title. Also, while I did not need this, unlike Google you can not change the push pin image.
In my searching the Microsoft site had difficulty locating two locations. | Both approaches worked well but I found Google's to be a bit easier and more flexible. However, because it allows you to enter html code there may be the possibility for cross-site scripting vulnerabilities. Step 3: Final touches | Google | Microsoft | Once the map is created it can be easily shared with a url. One difficulty I had was the the items were listed in the order in which they were entered and there was no way, other than deleting and re entering a location which I did, to change that order.
Than final map in maps.google. | The order of items was easily adjusted by simply dragging them to a new location.
The final map maps.live. | Closing thoughts As a novice map maker I need to give Google the advantage. It was easier for me to use and had sufficient flexibility to meet my simple needs. In particular the ability to adjust the shape after it was created is a significant advantage if you are doing complex shapes, like the state of Missouri.
|
By Matthew Hile on
4/10/2007 4:09 AM
I am a lazy programmer - If I can figure out a way for the computer to do something for me I am all over it. Recently I was working on a DNN module and noticed that my class definitions of various objects were remarkably similar. I cut and pasted from one into another. For example these two info classes contain the same PortalID and ModuleID properties.
Public Class EventInfo
Private _PortalId As Integer
Private _ModuleId As Integer
Private _EventId As Integer
Public Property PortalId() As Integer
...
End Property
Public Property ModuleId() As Integer
...
End Property
Public Property EventId () As Integer
...
End Property
End Class
| Public Class UserReminderInfo
Private _PortalId As Integer
Private _ModuleId As Integer
Private _UserReminderId As Integer
Public Property PortalId() As Integer
...
End Property
Public Property ModuleId() As Integer
...
End Property
Public Property UserReminderId () As Integer
...
End Property
End Class
|
It irritated me that I needed to copy and past the duplicate code. I
made errors not copying enough of the code. It also worried me that if
I changed it in one place I would need to change it in others.
So enter Object Oriented Programming (OOP) and inheritance in the form of .NET Abstract classes. To set this up I created a new base class that would be shared with these (and other classes). Using the MustInherit key word and declaring the common properties.
Public MustInherit Class InfoBase Private _PortalId As Integer Private _ModuleId As Integer
Public Property PortalId() As Integer
...
End Property
Public Property ModuleId() As Integer
...
End Property
End Class
|
Now I can simplify my other two classes by having them Inherit the InfoBase information as show below.
Public Class EventInfo
Inherits InfoBase
Private _EventId As Integer
Public Property EventId() As Integer
...
End Property
End Class | Public Class UserReminderInfo
Inherits InfoBase
Private _UserReminderId As Integer
Public Property UserReminderId() As Integer
...
End Property
End Class |
I save time by not having to retype or cut-and-paste and reduce errors that may creep in if I need to go back and redefine any of the shared properties. A win-win. For more information on abstract classes check out http://www.devx.com/dotnet/Article/28086/1954 or http://www.startvbdotnet.com/oop/abstract.aspx.
|
By Matthew Hile on
3/28/2007 11:05 AM
In my tech reading I found a description of a brief video that both entertains and describes what XML is and why the Web 2.0 is important. Titled Web 2.0 ... The Machine is Us/ing Us this video by Michael Wesch, a cultural anthropologist from Kansas State University, is five minutes worth spending.
One thing I found ironic. I read about this video while reading David Margulius' column in the second to last print issue of InfoWorld, a tech magazine that I have been reading and learning from for years. Next month they are relying exclusively on their internet based publishing in a way that relies on and use the technologies Michael so cleverly describes.
|
By Matthew Hile on
2/22/2007 11:51 AM
In the old days of fixed font typewriters the period at the end of a sentence was always followed by two spaces. With the advent of proportional spaced fonts this convention is no longer appropriate as the system automatically adjusts to the appropriate period following spacing. (It is particularly a problem if you convert a word document into a HTML file. You end of with lots of extraneous non breaking spaces.) Nonetheless this convention is built into the DNA of long time typists and hard to change. Fortunately, there is a setting in Microsoft's Word (version 2000 and up) that tells the grammar checker to look for this error and flag it for correction.
In general select the Tools/Options/Spelling and Grammer. In the Grammer section you can make sure that the system checks for the appropriate number of spaces. The screen shot below shows this dialogue for Word 2004.

|
By Matthew Hile on
2/19/2007 10:51 AM
Being smart enough to know better, I have installed Vista on my main computer. First as an upgrade then, when I was unable to get IIS to run an ASP 2.0 application, as a fresh install. Things have been better with the fresh install HOWEVER I was unable to see any of the graphic images in my locally run web pages.
I searched IIS interface, read the help files locally and on line, and searched the web, all to no avail. Then I thought to look again at the various windows features (Control Panel\Programs\Programs and Features\Turn Windows features on or off) and there it was (Internet information Services\World Wide Web Services\Common Http Features\Static Content). Turning that on gave me the missing graphics!
I hope that this note helps others avoid the few hours I spent trying to solve this problem. Now on to install VS 2005.
|
By Matthew Hile on
1/17/2007 1:17 PM
Support groups on the web are a huge phenomena. However, what is the best way to organize the user experience. For asynchronous groups there are two common options a non-threaded time oriented bulletin board were users' entries get included in a single list and a threaded discussion form where a root entry (any number of root entries) is made that people then comment upon.
The non-threaded form seems like it would be the easiest for “mom and pop” to understand but for groups of any size it would be a difficult cognitive task to keep up with the various threads of conversations. Sort of like arranging all of the individual statements at a party into chronological order then trying to figure out how they were grouped with one another. For small groups this would be possible because I think they would be more likely to have a single conversation. You mentioned that you keep groups to around 50 participants. I would guess that many of those have a very few individuals who participate actively and that in effect they have become a small group.
The threaded discussions make sense to me and do reduce the cognitive load of keeping conversations coherent. But I have never really liked the narrow view you get of them when they are collapsed into the original post. While I have seen different ways to represent the richness of the comment space none has been particularly satisfying to my tastes. You exchange load problem of the first option with a new one, the need for the user to search for and identify which conversations of interest. The threaded interface seems like a difficult navigational hurdle for non geek users.
I have been considering merging the two approaches perhaps giving the user a moment by moment choice as to the way to look at it or by offering two views of the same data. That would be easy enough to implement but the trick would be to devise a model/approach that would make sense to mom and pop.
|
By Matthew Hile on
12/8/2006 8:22 AM
Jon Udell is joining Microsoft.
Why should I/we care? I started working with computers over two decades ago and at the time knew very little about them. I was a clinical psychologist and had only worked with statistical programs (using a mainframe and punch cards). No computer classes in college or graduate school. No personal computer (this was after all at the very beginning of the PC). So how did I learn? I started reading Byte Magazine (as well of lots of other stuff). Each month I would read the articles in Byte, which I often did not understand, and slowly I began to understand to terms, concepts, and approaches that under gird computers.
Jon wrote for Byte and I have been reading his articles ever since. Over the years he has taught me a great deal and has clearly and powerfully presented new ideas in a way that helped me see how they could be used to support my users. When Jon makes a recommendation I listen. For example he recently mentioned the podcasts from the Long Now Foundation, Seminars On
Long-term Thinking, I started listening and have become hooked. They are terrific (more about them in some other posts).
At any rate, I have been reading and trusting Jon for years and if he is as excited as his self-interview suggests, then I am really looking forward to what he is about to do.
Congratulations Jon!
|
By Matthew Hile on
11/17/2006 6:50 AM
Clay Shirky's talk, Making Digital Durable: What Time Does to Categories (Audio/Discussion), is a part of the fascinating Seminars About Long-Term Thinking (SALT) hosted by Stewart Brand of the Long Now Foundation whose fame began in the 60s with the creation of the Whole Earth Catalog which Steve Jobs, the co-founder of Apple Computer, called the conceptual forerunner of the web search engine.
Shirky talked about the difficulty of preserving our information over the long term. Much of his focus was on how one could find information that had been stored. He described the difficulties of structured catalogs. Comparing them to lost languages for which we have no Rosetta stone. As a solution he suggested "degeneracy" that is classifitory redundancy so that the same thing is said in many different ways. Degeneracy is embodied in the "new" social tagging systems such as flicker, and del.icio.us. "The only group that can categorize everything is everybody" and by enabling this sort of categorization we have an ever emergent understanding of how people think about these items and can therefore find they. Perhaps more importantly, these systems also alow us to understand how our understanding changes over time.
The notions of tagging have long been used to help locate information. In searching the scientific literature these are called "key terms" which are associated, by the author or others, with a particular article. When searching for some information I would rarely choose to start with such classifications as the Dewey Decimal system. Rather I enter some key terms that would seem to me to fit the concept I want to understand and use what I find there to expand my search to gather in the web of knowledge that surrounds it. What tags adds to this information is that other readers add sharable terms which will expand and enrich that web of understanding making our information links more fruitful.
Shirky's talk is a great listen and a good jumping off point to expand your own thinking about how to find what you want and how to understand the meaning of what you find.
|
|
|
|
NOTE: The ideas, opinions, and viewpoints expressed in these entries are solely those of the author.
|
|
|