I had to register a couple of domain names through GoDaddy. I got a 10% off coupon code from ScoreADeal.com (GoDaddy coupon page).

Posted on August 9, 2006 in Business, Web. 1 comment

It seems that this whole crazy “blogging” thing has made it to Nashville. My sister, Michelle Uhri has started a little blog at 10thousandwords.blogspot.com

I look forward to a little sibling rivalry… perhaps it will spur me on over here at uhri.com.

Posted on June 29, 2006 in Web. 1 comment

I have been using email for over 13 years. In that time, I have seen it go from a little used but useful tool to the primary way of delivering information in the business world. What amazes me is the volume of business email created every day. My wife, for example, returns from a day of vacation to find her mailbox swamped with over a hundred emails. She spends most of the morning back at the office weeding through the pile.Now I don’t have nearly the volume she does, but often the email I do receive is of poor quality. The message isn’t clear and I have more questions when I’m finished reading than before. I hate email that wastes my time. I can’t imagine dealing with ten times as much of it.

Other than being obnoxious, there really isn’t anything I can do to make others write better email. I’ve tried to improve the quality of the email I send, hoping others might catch a few of my good habits and improve the email world a little bit. I would like to offer a few tips of my own.
Currently I am reading The Art of Project Management by Scott Berkun. It’s a great book so far and not nearly as boring as it sounds. In it, chapter 10 is “How not to Annoy People” and covers processes, email and meetings. Some of his thoughts on how to be effective via email are really good, and will be something I add to my repertoire. This post should lay out a number of my thoughts about email.

Message Recipients

Smaller, specific recipients

When I write an email, I attempt to minimize the number of people getting the email. There just isn’t a need to involve everyone in a thread that may be only peripherally relevant. If there is a reason someone should be added, I like to send a separate email (or a forward) outlining the reason I think it is important to him or her.

To:

When I add someone’s name to the to: box, its because he or she is directly involved in the email. It either contains information or a request for action on his or her part.

CC:

I try to avoid cc:-ing people if I can. Generally, carboning somebody means its an FYI, and that’s just clogging up their inbox. Unless somebody is micro-managing a process, they don’t need every little detail in an email thread. If someone is intimately involved in the topic, however, I add him or her to the cc:.

The one exception I do follow is when I mention somebody else in an email. I like to give the person a heads up that they’ve been involved in a conversation. Typically this happens when I’m solving a problem for somebody and I’ve consulted with a third person. The third person at least can see what I’ve said about our conversation. Since they are mentioned, they may be contacted and I want them to know why.

BCC:

I never use blind copy. The recipient of a bcc: is one mouse click away from “Reply to All”. When this happens, I’m usually embarrassed and the to: recipient will feel like I don’t trust them. If there’s a specific reason I would need to send it to a third, uninvolved party, I will forward it to them with a separate note explaining why.

Subject:

The subject line is the most important detail of the email. It separates the good from ugly from spam. Because we work with multiple clients on multiple projects, its critical to distinguish the types of mail I send. My approach is to always list the project name or initials as part of the email. For example CE2 - Weekly Status Report Would be my weekly status report for the CE2 project. Typically I don’t need to add the customer name as everyone receiving the email know to which customer I’m referring. Its would also be a bit odd as a client to receive an email with their company name in every subject. After all, they know who they are. I’m not as successful at consolidating the email message in the title as I’d like to be but the point should be to give as many of the relevant facts as part of the subject as I can.

I continue to improve in this area by focusing the subject line on direct action statements rather than generic topics. “Which source control product to use” is much less useful than “I recommend Subversion for Source Control”.

Replying and Forwarding

Ever get one of those emails where its nothing but Re: re: re: re: re: Status in the subject line? Yeah, me too; and pretty soon the subject line is a bunch of useless crap. I trim any extras down to the last two (re: re: Status) and call it a day. I try to keep the cruft down.

Thread changes

When the topic of an email has changed, I denote this by providing a new subject line. The old subject is denoted with “was:” for a single response. If I reply again, I remove the was. For example: New Equipment [was: re: Status] This continues the flow for any recipients, and provides a new starting place to follow the thread. When I reply again, it becomes re: re: New Equipment

Body

The message body is where everything really happens.

Email I send is always formatted as plain text. Because of varying recipients and email applications, this is the only way to go. I’ve seen horrible, eye-searing html email formats. The powder blue backgrounds and 16 font variations do nothing but distract from the message being sent. It screams wannabe FrontPage web developer instead. ASCII is the only way to go.

Replying and Forwarding

Snip

When replying and forwarding email, I snip out any irrelevant text or very old email messages. It saves a bit of bandwidth and those old posts with six forward marks (> > > > > Hi.) don’t add value. Anything I cut from the email I’m replying to are marked with [snip]

Reply in Context

When replying to an email from another person, I always cut and paste what they said, preceeding it with a “>”.
> Do you want to go out for Sushi?
Yes, let's go at 11.
This provides the reader with the context I was in when replying to their questions or information. The more I can improve their comprehension of my message, the better.

Don’t reply inline

I was working once with a third party consultant. I would provide him with my list of questions (clearly deliniated). His response was always “See answers below”. He would then add his responses into my message. It was difficult to read and to follow. I had to search through all of my questions to find the answers I needed. Often my questions went ingored

Edit

Before I send an email, I wait a minute and then re-read it. I should start reading the email aloud, if possible, to catch any awkward phrases or sentences. I check for the tone which comes through and ensure I haven’t written anything fatal. Often I end up just trashing the message if it will add no value.

Edit more

I try to reread the email once more and edit out any final errors.

Hyperlinks

Because I work on a software development team, I am often required to send email containing a number of links to white papers, resources and samples online. There are several things I do to ensure the most success with hyperlinks.

My first trick is to double check the links. Sometimes, I’ve found that the cut and paste or editing can mess up a link destination. By clicking on the link, I make sure the intented page can be found.

If I get a long link (MSDN, I’m looking at you!), I run the risk of frustrating my recipients by cutting and pasting these links wholesale. Instead, I head to sites like TinyUrl to build a shorted link. By using TinyUrl, I eliminate the problem of line break trashed links.

The third tip for adding hyperlinks goes back to the idea of context. A page with 4 or more links starts to waste the time of the reader. There is not a good way for the reader to process all of the links without opening each one of them. This problem is actually compounded with TinyUrls, where all context in the URL is lost. If there is any ambiguity in the URL, I add a descriptive comment. The reader can determine for him or herself what emails are important enough to warrant their attention.

Attachments

Don’t attach documents if they’re not needed. Human Resource departments seem to love this one. They send an email sent to everyone in the company with an attachment. Opening the attachment I find a memo only a paragraph or two long.. It would have been much more efficient to cut and paste that information into the body of the message instead.

Follow up.

Assuming that any one has read the concise literary masterpiece I crafted is pretty silly. If I don’t hear back from the recipients within a business day, I will follow up with another email, or a more personal interaction. On the other side, I try to respond to email within 24 hours of receiving it. Sometimes its simply an email stating I haven’t even looked into it yet.

“Reply to All” is the Spawn of Satan. Its particularly bad when Reply To All is used on a company-wide email. I once instigated a company-wide spamathon by replying to all after receiving several snarky comments to the original email. It was finally killed by the HR department informing us it was a waste of company resources to continue the thread. I apoligized for my involvement in that one.

Encourage good emails

One tip I learned from Mr. Berkun’s book is to reward good emails. When a short, concise email arrives in your inbox, take 10 seconds to respond with “Good email”. The goodwill and encouragement will do wonders. The writer will start writing more email that way.

Other email tips

Posted on February 9, 2006 in Business, Web. No comments (add one!)

I finally got over the Not-Invented-Here (NIH) Syndrome about the blog here at Uhri.com. Wow, what a relief.

In 2000, when I first set up this website, I decided I would write my own app to add posts to the front page. These became known as Spectacularities. I’m not sure that at the time the word “blog” even existed. It certainly hadn’t caught on by that point if it did. Essentially, I was building software for blogging.

I wrote a quick little utility to add Spectacularities to the home page. It consisted of a user control for displaying the page, a single form for post entry, and one database table. It was enough to get things working that day and I was happily on my way. I never intended for my little blogging app to stay as small as it was. I never intended for it to end up as decrepit as it did.

For reasons I can’t remember at the moment, the admin page eventually fell into disuse. Something broke and I just never fixed it. It may have been right around the time .NET arrived and I never upgraded the page. I switched instead to using the stored procedure directly in Query Analyzer to add and update my posts. It was a lot of single quote manipulation and generally a pain in the rear.

Then the archive page, built using the said user control, began to get out of hand. When three years of posts began to appear on it the load time was unbearable. I took the archive offline.

With just the current post displayed and a propped up SP, things really began to go downhill. I posted less and less frequently. Finally, at the end of 2004, I put Uhri.com out of its misery. The whole site got replaced by a single flatline graphic. It was a sabbatical which lasted almost an entire year.

In September of 2005 I approached the problem with new vigor. I came up with a new strategy for my own blogging software, tenatively dubbed “uBlog” (I thought it was a clever name, anyway). I started the “very public” redesign of the site with requirements gathering and everything. I put up use cases and details about how the site would be designed. It was all part of my grand plan to write an XHTML and CSS-based blogging software in ASP.NET.

I started checking out the other blogging tools out there. WordPress had caught my attention on several occasions because of its standards compliance. I reviewed dasBlog, .Text and its fork SubText, and a newcomer to the .NET blogging tools, VineType. VineType seemed to be the most promising — a .NET-based blogging tool with XHTML standards. I may still consider VineType in the future as their codebase grows. The developers there seem to have a good thing started and while it may not grow to the size of WordPress, they do provide the basis of a good blogging system in ASP.NET.

As I reviewed these competitors, I came to a sinking realization.

I had NIH Syndrome. I wanted to create my own tool with features the way I wanted them. I saw the thriving WordPress community and was jealous. There were plug-ins for anything feature I could possible want. With the exception of VineType, the .NET blogging tools looked like garbage. If I were to roll my own, I could make it as easy and beatiful as WordPress. But if I built my own software, I could never reach the critical mass of WordPress. There wouldn’t be a community of developers building add-ins that would make a great .NET blogging application. There just aren’t enough bloggers in the .NET world that would care.

I wust wasn’t sure I was ready for the kind of commitment involved in something that would most likely be unsuccessful.
Joel probably said it best:

If it’s a core business function — do it yourself, no matter what.

As a corrollary, if it’s not a core business function, outsource it.
It turns out blogging software isn’t a core business function. Its not what I want to spend my free time doing. I’m much more interested in the creation of content. That’s what the blogging software is for, after all. I’d be crazy to reinvent the wheel just to call it uWheel (hey, another catchy name).
So I installed WordPress and haven’t looked back.

Posted on February 1, 2006 in .NET, Web. 4 comments

Recently, I’ve been giving the Pandora music service a try. Originally I had briefly scanned a post by Steve Pavlina about it, but I didn’t really consider it much. I was pretty happy with iTunes and didn’t see what the difference from iTunes radio was.

Then I heard a podcast from Amber MacArthur and Leo LaPorte on Inside the Net where they interviewed Tim Westergren from the Music Genome Project. He explained how the service worked and how it was different than traditional streaming audio stations.

The Music Genome Project takes a song and ranks over 300 different musical “genes”. They rank things like the use of minor key, production quality and even the vibrato in the singer’s voice. All of these factors create a “DNA structure” for the song.

I surfed on over to Pandora to check it out. Pandora is really a flash application that streams music like a radio station. You select either a song or an artist and the stream plays other music with similar structures. You can tweak the stream by ranking songs as “thumbs up” or “thumbs down”, so it gives you an opportunity to tweak the parts of music that you like or find similar music. Ever since “No one knows” by Queens of the Stone Age came out, I’ve wanted to find songs just like it.

When I first signed up, I chose the song “Pull Me Under” by Dream Theater. Based on the heaviness in that song, Pandora chose “Snap your fingers, snap your neck” by Prong. I was impressed — I like both of those songs. My friend Steve will be appalled. He thinks Dream Theater is unequaled and Prong are talentless hacks. Nonetheless, the song structures are in the same vein.

The only drawback I see is the ability to see the criteria used and tweak the parameters manually. Knowing what makes a song you like could help you manually find more of the same. I created a radio station for KJ-52 and TobyMac, two Christian rappers. It found music similar in style but I would have rather been able to tweak the options for what I consider to be distasteful lyrical content. I did find some interesting things I didn’t consider, though. For example, Fates Warning is closer in style to Anthrax than it is Dream Theater.

The player will let you skip songs, but there is a limit to the number you can bypass. This is due to the licensing agreement Pandora must comply to as an online radio station.

Overall, its a very cool site. I haven’t found any new bands because of the stations, but that seems to be a function of the amount of music archived at this time. Perhaps as time goes on this will be a fantastic service.

Posted on January 25, 2006 in Web. No comments (add one!)

Its interesting to think about the different websites a person visits over the years and how they wax and wane as moods and tastes differ. I used to read Metafilter quite religiously. But since the advent of bookmarking sites like del.icio.us and company, Metafilter has dropped from my regular reads.

So to has the veritable Slashdot. Slashdot used to be a place with interesting posts about all things tech. I loved that site so much I even got one of the t-shirts a few years ago. Unfortunately, I think the quality has dropped significantly there. The mass that is the slashdot crowd has grown to be too sarcastic. Most of the posters don’t read the articles and comment only on the headlines and blurb while others fall into “I posted first” crowd. Neither lead to very good conversation. There is a moderation system in place which should allow the good comments to rise to the top, but it doesn’t seem to work.

Slashdot has simply lost my attention. I’d rather get my tech news from great, smaller sites like Gadgetopia or Signal vs. Noise. Their coverage seems to be as thorough as Slashdot, but they are missing the smarmy attitude and the throngs of unwashed nerds.

Slashdot has been moved to the “Probation – Decay” folder in my RSS reader and I’ve moved its refresh rate to “never”. I might check it out once in a while yet, but I have no plans to waste my time there any longer.

Its a sad day, but time waits for no site.

Posted on January 15, 2006 in Web. No comments (add one!)

« Previous Page   Later Entries »
Welcome !
Site google-analitix.com just created.

Real content coming soon.
© ISPmanager control panel