KMorrill's WebLog

  • Installing the .NET Framework

    I wanted to make sure and blog this before I lost the link.

    I frequently get asked how to detect whether the .NET Framework is installed and chain it into a setup as a prequisite.  The Setup.exe Bootstrapper Sample includes sample codes that shows exactly how to do this.

  • Creating Products People Love

    I have been meaning to write a blog on Creating Product People Love for a few weeks now, and am finally getting around to it.  I remember seeing a talk on this very topic several years back, and unfortunately my notes from it got trashed when I accidentally reformatted my laptop (ouch!).  The speaker had a great list of the essential elements that lead to products people love using.

    I was sitting on my couch a while back thinking how much I've started to enjoy driving my car--just driving along--and it got me thinking about this topic.  There's something completely relaxing about having a CD playing in the background and cruising down the freeway, not even at excessive speeds necessarily (though that sounds pretty fun to ;-> ).  Somehow associatively, it got me thinking about video games, which also seem to have an equal thrill to them.  In both experiences, you have this immediate sense of control about what's in front of you--whether it be a steering wheel or a joystick.  Video games are even more interesting, because they present challenges to deal with.

    Both of these experience I think are telling about a fundamental that underlies all great product design: efficacy.  As humans, we enjoy ourselves the most when we're put in a situation where we can exercise control over what's in front of us.

    When I think about the gripes people have with software and computers in general, efficacy seems to be at the bottom of all of them:

    • “Software is too confusing and complex; it makes me feel stupid.”
    • “Why does it crash?”
    • What's with all this fluffy UI?  I want to have access to the source code and get down to the metal on the command line.”

    So I think through induction I stumbled upon one of the tennets of creating products people love.

    Feel free to chime in if you have any other essentials you think play into the mix.

  • Columbia River Gorge photography

    I just posted pictures from my recent expedition to the Columbia River Gorge up at Kevin Morrill's Photos.  Really cool shots of Pony Tail and Wahkeena Falls.  If you live in the Seattle/Portland area and haven't ever driven through the Columbia River Gorge--you are missing out!  You can take highway 84 on the Oregon side to see some breathtaking waterfalls.  Highway 14 on the Washington side has a nice lookout called Cape Horn.  I don't have a really good hosted site for my pics, so you'll have to deal with the low res pics that I can store on MSN.

    This is one of my first times out with my new Nikon 8700.  I absolutely love it.  My only gripe is the shooting speed is far from SLR quality.  It is perfect for nature photography though.

    -Kevin

  • Cool deployment/setup blog

    Michael Dunn from the Windows Deployment team wrote a good post on building a solid setup.  For those that didn't catch it, it can be found at: http://blogs.msdn.com/mdunn/archive/2004/04/09/110702.aspx

    -Kevin

  • Deployment and dependencies

    One of the things I work with on my team is how customers deploy their applications when they depend on a redistributable such as the .NET Framework or J#.  I am just starting to get my arms around this space, and have more questions than answers right now.  Having worked on the Visual Studio setup quite a bit, I know it can be tricky to build your setup when you need to “chain” in a completely separate setup.  For example, how do you detect when the dependency is already installed, how do you show progress in a meaningful way to the user with a process that's black box to you, what happens if the outside setup fails, and the list goes on.

    For folks out there who have done deployment of the .NET Framework or J# with their application before, how did it go for you?  Did you end up using a tool like Visual Studio's deployment project or InstallShield?  What problems did you run into?

    -Kevin

  • Good news in a newspaper!?!

    I sat down for breakfast this morning after plunking down $1.50 for a copy of the Seattle Times.  I usually find myself more distressed than encouraged after reading the paper.  So I was pleasantly surprised when I flipped to the local news section today to read a column titled Woman works to find work by Nicole Brodeur.

    The column introduced a local woman, Jennifer Ryan, who's searching for work.  Apparently she had put an ad in the paper under the section “Work Wanted.”  Interestingly, she was the only person to put an ad in that particular section, which floors me given how much I hear about unemployment.  Her ad read:

    West Seattle mom will clean, shampoo carpets, do yardwork, clean gutters, drive errands, detail autos/campers, haul & dump, paint, sm. repairs, baby/pet sit, etc. bldg. maint. background, hard worker, strong, able to lift, honest worker w/eye for detail — rsnbl. rates. Need to Make Ends Meet.

    At the end of the column Ryan speaks to her dismay, “They are more willing to help people who don't want to help themselves.  The more you try, the less help you get, and the less you try, the more help you get.”  She sums up her attitude by saying, “I want my mother to be proud of me, whereever she is.”

    I have never met this woman, but I am proud just reading this little bit about her.

  • Progress bars, does anyone trust them?

    Our team just finished doing usability research on Visual Studio's setup.  These studies are always fascinating to me, because even the most seemingly simple interface can completely crash and burn when presented to someone who is not biased by the effort that went into designing it.  One of the things I see repeatedly is how little we actually read UI that's presented to us.  When it comes right down to it, the human mind is amazing at skimming text.

    Anyways, just about every time I watch users install software and get them talking, they gripe about the progress bar.  For Visual Studio in particular, we are notorious for taking a long time to install (hey we're working on it; there's just a ton of stuff to install!).  In some versions, the progress bar is accompanied by a text message estimating how long it will take to complete the install.  This estimate is kind of like a asymptotic, sinusoidal graph.  It goes up and down wildly, and--cross your fingers--gets closer to its target as time goes on.  I think we have all been taught overtime to be skeptical by the application that gets to 98% done and then stops dead in its tracks.  Do people even trust progress bars anymore?  It seems like more than anything I use them as purely an indication that xyz program just hasn't crashed yet.  Maybe I just have really low expectations.

    -Kevin

  • My first blog...

    Okay, this is my first ever attempt at writing a blog.  I am pitifully behind the times, but I figured better late then never.

    First, a quick introduction... I work as a Program Manager at Microsoft.  I started working at MS as an intern when I was in high school.  Back then I was a Software Design Engineer--err developer.  I have no idea what they were thinking when they brought in a 17 year old kid who's biggest programming project consisted of writing QuickBasic code that converted numbers ($17.50) into long handed strings (Seventeen and 50/100 dollars).  After doing the internship gig for three summers, I wrote one of my friends at the company telling him I thought it would be cool to try Program Management sometime.  I did not give it much thought, until I got a message back saying I should do interviews fora  Program Management (PM in Microsoft speak).  I ended up trying that the next summer, fell in love, left college early and the past four years since then have been a whirlwind.

    That's not much of an introduction, but it's good enough for now :-)

    Anyway, I am not really sure what I'll be putting in this blog.  I work deeply with the setup technologies at my job, so I'll try to write about that from time to time.  I am also a photography hobbyist in my spare time, so I'll be sure to upload pics from my exploits.

    -Kevin

More Posts « Previous page

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker