Welcome to AspAdvice Sign in | Join | Help

Blog Move

Please join me as I move my blog to my own URL, SteveSmithBlog.com.  I'll continue to post there about more or less the same things I did here, but with a bit more control over the site layout and other features.  The new blog is running on Telligent's new Graffiti CMS, which really is as easy to get up and running as they claim.  The look is currently a stock template, but should be updated to be a bit more unique in the next few days.  If you're already subscribed to my feed, then you'll continue to get updates as my RSS will be updated (though I've followed ScottW's advice and set up a CNAME for my Feedburner feeds - they now go through http://feeds.SteveSmithBlog.com/StevenSmith).

I strongly believe in keeping URLs from breaking, and as such I will be keeping this blog's content in place so that it continues to be a resource rather than a home of broken links.  Thanks and I look forward to continuing to interact with you from my new domain/home.

Posted by ssmith | 1 Comments

Announcing DevMavens

This month marks the launch of a new site we’ve been working on to help recognize and support a number of influential bloggers in the .NET developer community.  Please help me welcome the initial members of the DevMavens!  These bloggers have been invited to be a part of this small but hopefully growing group based on their influence in the community, and the DevMavens site has been set up (using ASP.NET MVC, no less) specifically to provide a portal to reach these influentials.  It aggregates and displays their most recent blog and twitter entries, and will hopefully provide a useful, easily accessible view of these influentials for the community.

We’re very excited to launch the site, which we only began developing in April and inviting members and seeking sponsors to support them in June.  The sponsorship side of it is modeled after the very successful Deck network, which The Lounge has done a good job of emulating in the developer space with a broad group of bloggers.  Our goal is complement their efforts – we want to focus on a much narrower group of influentials, and we are excited about our inaugural members.  Please check out the site and let us know what you think!

Posted by ssmith | 2 Comments
Filed under: , ,

DevConnections Session Feedback

Last week I just got back my summaries of attendee feedback for my three talks at DevConnections in Orlando in April (yes, they're not quite as efficient as TechEd).  I blogged about them and posted the slides and demos 2 months ago, but I'm finding it useful to also blog about the comments and feedback that I received on them, as a means of helping me to improve my future talks and, I hope, as a way of showing that I actually do read and care about what attendees say on the evals.

For my talk on What's New in ASP.NET 3.5 there were 59 evals turned in.  The overall evaluation for the talk was a 3.39 which was slightly below the average of 3.46.  An astonishing 50% of the evals claimed the technical level of the talk was too complex.  40% rated themselves as Advanced for Technical Level and 58% intermediate - these were not Novice developers.  And this was my most basic talk and was clearly labeled as an introduction to new features, half of which are simply IDE enhancements and not new ways to write code.  And this is 6 months after the features were shipped (and years after they've been blogged and presented on in various betas).  I honestly think that this is extremely telling about the overall state of the industry in terms of "drinking from the firehose" and how rapidly changes are coming out versus the rate at which they are being consumed.  I think most developers (including me, much of the time) are finding the pace of new things a bit overwhelming.  Another question asks what percentage of the information was new to the attendee, and 14% said 100% was new and 86% said 75% was new - so at least I wasn't boring people with things they'd already seen.

There were a few questions about LINQ during the course of this talk, which I tried to take during the talk to keep up a dialog with the audience.  It became clear that there were a lot of questions about LINQ, however, and so eventually I ended up having to direct the attendees to some of the other talks specifically on that topic.  This became evident in some of the comments:

Spent a lot of time on questions.  Did not have enough time to finish session.

Horrible time management.  Not very well prepared for the presentation.

Easily distracted into other topics by questions.

Got off topic too often.

Answering questions during the presentation disrupts the presentation flow and creates a situation where there is not enough time to cover the material.  Answer questions when you're done.

I would agree with some of the feedback here that the LINQ questions got a bit out of hand.  I also did cover all the topics I meant to but added a couple of slides at the end to discuss "futures" things such as MVC and Silverlight if time permitted.  Apparently this set up expectations that these topics would be included, and when time didn't permit discussing them, it disappointed some people.  In the future I'll keep the if time permits stuff out of my slide deck and just jump to it separately at the end.

Most of the comments were generally favorable, which is much appreciated - it makes the critical ones easier to accept:

Great session.

Great session but needed more time.

Great speaker!  Very flexible to questions and demoing attendees concerns.

ListView really needs an alternating CSS class attribute!  Great presenter.

Absolutely brilliant.

This was one of my favorite sessions.  I got so much out of this session and the speaker was great!

I wonder if some of these were written by the folks asking the questions...  Key takeaways for me are to limit questions better and ensure that I'm able to cover all the material in my slide deck, so nobody feels like I failed to get to everything.

My second talk was Pragmatic ASP.NET Tips, Tricks, and Tools.  I really should have made this a 2-part talk because honestly I was just trying to cram too much into this talk.  And it didn't help that at the start of the talk, the projector was configured incorrectly (turns out 2 of the component video cables were reversed so red was blue and vice versa) so that killed a couple of minutes before I decided not to worry about it.  On this one, I really did run out of time, so all criticism on that point is well-deserved.  There were 82 evals turned in, with the average overall for me being 3.41 (average was 3.46).  Over 50% still thought the technical level of the session was Too Complex, despite 95% of the attendees claiming to be Intermediate or Advanced in technical level.  This one did have some more complex topics, and a very wide variety of topics.  9% thought the technical level was Too Basic.  I'd prefer to see something like 80% saying it's Just Right and 10% each saying Too Basic/Too Complex.  I think based on the numbers I'm seeing that I need to reduce the quantity of material I'm trying to present, and go through it more slowly and thoroughly (I complain about the "firehose" above but when I present I'm definitely trying to get as much information out as quickly as I can, so I'm guilty there myself).

Some of the critical comments - I think the first one is dead on.

Steven did a good job but I think he tried to cram too much in.  He went over a bit and still had a lot more slides.

Too much for time allowed.

First three demos failed.  Did not agree with some tips and tricks.

Some broken demos but really good information all the same.  Biggest tips for me were tracing, using statement, custom configuration and default button attributes.

Too much information for the time allotted.

Too much data not enough time.

Not very useful. [really?  I'd love to know if this person was an ASP.NET developer]

He could not show about 5 to 10 slides.  Not well prepared.  Demos did not work a few times.  Poor time management.

Speaker should repeat questions from audience before answering them so the entire audience can benefit.

Too bad there was not enough time for all, great job.

Once again there were many positive comments (I showed all of the bad ones - there were 33 total):

Best session!  Should have been longer.

This guy knows what he's talking about.  Finally a tech guy giving a more in depth talk instead of extreme high level BS.

Outstanding presentation.

Best session so far!

Excellent, very useful session.

Most useful session so far!

Very helpful, most practical session yet.

Very knowledgeable guy, good but I knew too much of this stuff going in.  This guy is one of the best speakers here.

Excellent!  Thanks a lot for going back and including parts of your tips and tricks lecture.  Very cool information!  Best presenter at show!

Really it's a good thing there are the negative ones or else my ego would just swell far too much and my wife would need to bring me back down to Earth.  As the last comment notes, I did finish this talk, but I did so at the end of my third and final talk of the day, which I managed to finish a few minutes early and which, being the last talk of the day, had some extra time afterward since nobody was rushing to another session.

The last session was Improve User Experience through Asynchronous Processing.  There were probably 40 people in attendance if memory serves me correctly but only 4 evaluations were turned in, so the results aren't what I'd call statistically valid.  I did manage to score a 4.0 for my knowledge of topic and for Accuracy of session description, and my average for the session overall was 3.5.  I managed a 3-way split (one eval must not have answered the question) on Too Basic/Just Right/Too Complex, with 33.3% each.  And there were no comments.  I think folks were ready to head to the attendee party at this point.

I opted not to speak at the DevConnections show in the Fall this year as I'm trying to limit how much I'm traveling.  I do hope to speak again next Spring, and I will most likely submit my Pragmatic Tips and Tricks talk as a two-part series, which would have worked very well this time around.  Believe it or not I actually cut a fair bit of material to get it down to what I presented, but still ended up being about 10 or 15 minutes over.  Having 2 75-minutes slots will let me cover the material a bit more thoroughly, as well as adding some additional items.

Posted by ssmith | 3 Comments
Filed under: , ,

Software Books Ordered

I just ordered some more books, on recommendations from a few of my peers.  I'll post my thoughts on them once they've arrived and I've had a chance to read them.

For those of you who have already read these, what did you think?  Which one should I read first?

Posted by ssmith | 3 Comments

Visual Studio Tools

I've been meaning to post something about two awesome and competing toolsets that recently have some news to report.  First, my friends at DevExpress won both the Attendee's Pick : Overall Winner and Breakthrough Product awards at Tech:Ed Developers a couple of weeks ago.  DXperience won the Attendee's Pick.  CodeRush, their productivity-enhancing Visual Studio tool, won the latter award, and you can watch a video of a complete non-computer user shaming a developer (Brendan) last November, here (she also beat me and everybody else who challenged her).  Congratulations, DevExpress!

Also new this month, CodeRush/Refactor!'s primary competitor ReSharper (from JetBrains) version 4.0 was released.  Some recent discussions of the merits of one of these tools over the other on the ALT.NET mailing list have broken down into the usual religious debates, with my personal consensus being that whichever tool one first learns and gets productive with is the one that will be favored.  Both are tremendously better than VS alone, but both also have a significant learning curve.  I've used both and tend to switch back and forth mainly because I try not to have either one installed when I'm presenting.  Consequently, I'm not a ninja with either tool, but having been beaten soundly by Sara last November, I have a great deal of respect for CodeRush, and hope some day to learn it properly.  It has a nice learning curve reducing feature that lets you see all of the available shortcut keys as you move through your code, which I find much better than trying to read documentation.  It's also good to know that CodeRush shipped with support for Visual Studio 2008 last November, while ReSharper 4.0 is only just now available (though nightly builds have been available to play with).  Overall, I think both are great tools, and hopefully in the future ReSharper will ship a little closer to the Visual Studio version it's targeting, but today both are available and I'd be comfortable recommending either one.  Perhaps I'll write a proper comparison review at some point - would anybody find that worthwhile?

Posted by ssmith | 1 Comments

Speaking in Toledo Tonight

I'll be presenting at the Northwest Ohio .NET User Group this evening at 6pm.  The talk will be a slightly modified version of my Black Belt ASP.NET Performance talk that I gave earlier this month at Tech Ed in Orlando.  According to their web site, the user group will also be giving away a Zune to one of the attendees of tonight's meeting (and I have a book and some shirts, too...), so if nothing else, you can come for the free stuff.

The main topics covered in this talk are performance testing with load testing tools, caching, and asynchronous programming.

Posted by ssmith | 1 Comments

Silverlight Server Configuration

I went to throw a small Silverlight sample application up on a web site to show to a client yesterday and found out the hard way that although it is primarily a client-side technology, it doesn't "just work" when you put the files up on the server.  My first attempt was to just put the necessary bits on a static file server that has ASP.NET but doesn't have an easy way for me to configure virtual roots.  Unfortunately, the project I was using (in Visual Studio) was configured to use an ASPX test project with its own web.config and /bin folder, neither of which worked outside of the application root.  So I figured perhaps I could just get the test page to work as a .htm file, and I renamed it to that from .aspx.  Unfortunately, it used the new <asp:Silverlight /> control.  So naturally it didn't work well running as a static htm file.  I created a new Silverlight web project in Visual Studio, grabbed the .htm file it creates, and thought I was finally ready when I ran into the issue of IIS not serving up .xap files.

By default, IIS is not configured to serve several of the file extensions that Silverlight requires, such as .xap and .xaml.  Tim Sneath has a good writeup of what you need to do to get IIS configured correctly to host Silverlight files and applications - it's pretty simple and you only have to do it once.

The only other issue I encountered for this application was with loading image files from the web.  Apparently you cannot load .GIF images like this:

ImageSource mySource = new System.Windows.Media.Imaging.BitmapImage(new Uri(http://www.google.com/intl/en_ALL/images/logo.gif));

The result is a Sys.InvalidOperationException: ImageError #4001: AG_E_NETWORK_ERROR.  The solution I found was to use a .PNG formatted image.  I haven't discovered a workaround for directly accessing GIF files over HTTP yet using this method.  Apparently issues with GIF images have been documented by others previously.

Posted by ssmith | 1 Comments
Filed under:

Going Solo Birds of a Feather Follow Up

Last week I co-hosted a birds-of-a-feather session with Julia Lerman on Going Solo.  Julie and I did a similar BOF session a couple of years ago at another TechEd and both times we've gotten a pretty good crowd.  In an effort to continue the conversation and help people learn about the challenges of running your own business (be it consulting, ISV, or whatever), we are pointing anyone interested at the Business Management mailing list on AspAdvice.com.  So, whether you made it to the BOF session or not, if you're interested in learning more about tips and pitfalls of life as an entrepreneur, come join the discussion on the list.

Posted by ssmith | 3 Comments
Filed under: ,

Black Belt ASP.NET Performance Talk

I gave my Tech Ed presentation, ASP.NET Black Belt Performance Techniques, yesterday afternoon.  The talk was well-attended, with about 300 372in the audience.  I gave the talk last month in Cleveland and it was very well-received.  I promised attendees the slides and demos would be available on Tech Ed's CommNet, and right now the slides are but I'm having trouble getting the demos uploaded so I'm also posting everything here:

Download Demos
Download PPT

I wasn't terribly happy with my performance with this talk, and the overall evaluation average for it was 7.84, which is pretty respectable (based on evaluations from 1 to 9 in a few categories) - the best talks at the show have around 8.5.  About 90 people left reviews (so far - they can review it for 48 hours after the talk, so some more may do so in the next day).  The demos worked but according to some of the comments I went too quickly at the end - I may need to cut out some things or just try to get into the meat of the talk faster since I spent about 5 minutes on introducing some performance and measuring concepts.  It's tough to make everyone happy - 93% thought the technical level was "Just Right" while 2% thought it was "Too Technical" and 5% thought it was "Not Technical Enough".  97% thought the demos were effective, which is pretty good.

If you're reading this it hardly matters, because the links are here, but the demos and slides are now available on the Tech Ed website/CommNet.

Posted by ssmith | 5 Comments

Whither NorthWind?

The Ha recently wrote about his desire to get away from NorthWind and perhaps start some community driven effort to come up with something else, mainly, it seemed to me, for the sake of being something else.  I must humbly disagree with this, but feel free to correct me if I'm wrong here.

The first stated requirement for NotNorthWind is this:

  • Complex enough to be called Real World but simple enough that someone could "get it" in 5-10 minutes

That alone is enough for me, as a presenter, to suggest that perhaps this is not a good idea.  I'm a big fan of packing as much content into my presentations as possible.  I like to move quickly and fill up the audience's brain as much as possible with all the great and wonderful things I know.  Or, perhaps more likely, there's a good chance that a lot of what I think is cool does not apply to an individual audience member, so I'm blasting them with enough stuff that surely something will stick.  That's my story, anyway.

In the course of such presentations, which usually have 75 minutes or so allocated to them and very little tolerance for going over, I don't have an extra 5-10 minutes per presentation to stop everything and explain what the heck I'm using as my data for this thing.  Now, realistically, I simply wouldn't - I'd just plow right through the fact that nobody has any idea what the app is supposed to do or what the data is supposed to represent, but neither of those is critical to whatever the demo is showing so they'll get over it.  But I know, as an audience member, it would distract me not to understand.  I'd be wondering "why is it called that" or "what is that supposed to be doing" instead of paying attention to the actual demo.

Enter NorthWind, the HTTP standard of databases, understood by virtually all Microsoft developers without need for preamble.  It just works.  With the words, "I'm using Northwind for my database." I now have the complete understanding of 95% of the people in the room - we're all on the same page - and I can continue with the actual point of the presentation or demo, which is not, has not, and probably will never be, "why this database isn't Northwind."

Now, if you think it would be worthwhile to write a script that updates all the dates in Northwind to some offset of the current date, I think that would be useful and would keep the data fresh (for apps that show the dates, etc).  But beyond that, I think this would only make it harder to demo things since the database would need explaining.  Why do you think AdventureWorks lags so seriously behind Northwind?  Even when there are several flavors of it?  Because Northwind is the standard, and in this case, standards are a good thing.

Posted by ssmith | 4 Comments
Filed under: ,

Atlas Tripped Over His Own Feet

Through Lake Quincy Media, we work with a variety of ad management platforms used by our customers.  This is a story about Atlas, as told by our CEO Michelle.  It is not a pleasant story, as a Microsoft customer and evangelist (Microsoft acquired Atlas a little while back), and hopefully there is enough constructive criticism in this story to qualify it as more than a simple rant.  Read on...

In our work as an advertising agency, we often find it necessary to work with other media agencies.  It is always an interesting experience, because we learn a lot that we can use to improve the experience that we provide to our own customers.  As with anything, there are some good agencies, and some not so good.  But one of the worst, in over two years of interactions, has been Atlas.

Our experience with them this week is a clear example of the issues that they bring to their customers.  One of our customers, a large media company, requested that we pull some reports for them.  They use Atlas to serve their ads, and required reports pulled from that system.  In any case, it was a simple request, if you can access your account.  Unfortunately, the password that I had was not working, and the password hint (which only confirmed that the password that I was using was the correct one) wasn’t helpful.  There is no way to request a simple password reset.

My first email explained the situation and requested that they reset the password, which seemed a reasonable request.  I provided our logon information, which we have used for over two years.  The response that I got was a new account and logon.  Not overly helpful, since I needed data that was tied to the first account and the information was not transferred.  When I explained that fact, I was asked for the following information:  Publisher Name, Agency, Client Number, Advertiser’s Name, and Media Plan or number.  Not “one of the following”  - ALL of that information.  Alternatively, they needed the original RFP (of which we have dozens on this account).  Frustrated, I called customer service.

My original phone call to customer service left me on hold for 2 minutes and 38 seconds before informing me that all operators were busy and that I could leave a message.  Which I did.  I followed up again, hoping for better results, a little while later.  The conversation went something like this:

Me:  Hello, my name is Michelle Smith, and I am a Publisher within the Atlas system.  I am having a problem with my password and I have been trying to resolve this for the last two days via email.

Customer Service Rep:  Uh-huh. (Long pause.)

Me:  Well…  Do you think perhaps you could connect me with someone who could help me with that.  (Another long pause.)

Customer Service Rep:  Um, I guess I can connect you to someone back in the Publisher’s department.  Let me see if anyone is back there.

Unfortunately, when I was connected to someone “back there”, the resolution was painful.  The person that I was connected to was the same person I had been emailing back and forth with (do they really only have one guy?), and he still needed the same information.  Worse yet, even with the information (and reading off several long Media Plan numbers), he couldn’t find the account.  He couldn’t find the account with our publisher name.  He couldn’t search by agency name (“yeah, there have been some problems with this agency”).  Searching by logon was definitely out – they apparently have no capability to do that at all??!!!  I finally suggested that perhaps he could use my email account?  (Information which he has had for two days.)  “Uh, yeah, I guess I might be able to do that.”

Fortunately the situation was resolved.  But I suspect that I am not alone in thinking that two days, multiple emails, and two phone calls (where I made most of the suggestions as to how to resolve the problem) are a bit much for a simple password reset.

Atlas is a painful solution.  Its reports take unreasonably long to run, with multiple page updates required to reset several required parameters for even the simplest of reports.  Customer support is, well, less than supportive.  For one of the biggest solutions out there, they need to do better.  Or maybe that is part of the problem – they are the biggest solution and therefore don’t care about the commitment that they should have to their customers?

One of the functions of our ad network, Lake Quincy Media, is ad serving and reporting.  We have over 100 publisher sites, and a large number of advertisers, so that isn’t a trivial task.  We looked at Atlas and some of the other big solutions to replace our aging ad server a couple of years ago, and realized quickly that it lacked the functionality that we want to provide to our customers.  So, we wrote our own custom solution, AdSignia.  And while I think that the system itself is technically better, I realized today that the customer service function is the critical piece.  We may not always get it right, but shouldn’t we expect that all companies at least make the effort?

As a follow up to provide some actual data, I asked Michelle how many clicks it took to get to a campaign report in Atlas from their home page (assuming you're not logged in) compared to our system to do the same thing.  To get an activity report for the month, it took 19 clicks and 2 minutes and 10 seconds from the Atlas log in screen.  In AdSignia, she was able to view a campaign activity report (with comparable data) in 3 clicks and 30 seconds.  Now, I'll be the first to say that our software is not fast enough.  In fact, as someone who speaks about ASP.NET application performance, I'm embarrassed at how slow our system is compared to what I think it should be.  But compared to some other solutions out there (and, last time I used it, DoubleClick's DART solution wasn't much better) it compares pretty favorably.

Advice for Atlas

Don't require so many logins.  Go to their login page and you don't get a familiar login dialog, you get this.  And while we're talking about logins, since you're part of Microsoft now, how about you simplify things and just use Live ID?

Let users reset their passwords themselves.  It appears you're using ASP.NET, so you might check out the built-in Membership support that shipped back in 2005 that handles all of this easily.

Let users merge their accounts.  This is challenging, I know from our own system.  However, it's frequently the case that customers will get multiple usernames or accounts when they really could all be combined.  Make this possible, then make it easy.  I think we now have 3 accounts...

Show today's data in reports.  Users want instant information.  They also want as close of delivery as possible for advertising impressions.  Having access only to yesterday's stale data is less than ideal for managing campaigns to meet customer needs.  Our own system updates every 6 hours.  Realtime is the goal we're striving toward; we're not quite there yet, but we're not satisfied and neither should you be.

Strive for 24/7 uptime.  Being down for most of every Sunday (and sometimes Monday) is lame.  You can do better.  It's very frustrating when customer's have questions or deadlines and the information we need is locked in Atlas and Atlas is down for maintenance.  And not for an hour - oh no - for a DAY.

Allow bookmarking of reports.  We do.  Would reduce the number of clicks to get a campaign activity report to 1, instead of your current NINETEEN.


Any other Atlas users out there have some suggestions?  Or how about a testimonial about how great their system is?  I'm not out to bash them so much as call attention to some areas that could use real improvement that would greatly reduce the frustration of their customers.  I'm happy to give praise when it's been earned - in this case I'll hold off on that until I see some serious improvements in their system and service.

Posted by ssmith | (Comments Off)

Customer Service Is Key

A few months ago I went to MIX08, which was I must say an excellent conference with a very different focus from DevConnections, TechEd, and PDC.  However, the weather was against me, and I've been meaning to write about it for some time.  Now that I'm about to head to 95 degree Orlando, I think it's time.  But the weather is really just the enabler for the real point, which is that customer service can create fans from customers, and fans will get you more customers than thousands of dollars of advertising.

Getting to MIX

We'll keep this brief since it's old news, but while trying to fly out of Cleveland on a Tuesday evening to arrive in Vegas that night, ice storms kept us from departing.  We sat on the runway for over an hour, were de-iced three times (and I say we because I was traveling with my Creative Director for Lake Quincy Media, Craig Palenshus), and each time the ice caked right back on immediately.  They shut down the whole airport and we drove home and got on a plane the next morning from another nearby airport in Akron.  Missed half of the first keynote but at least made it to the conference.

Getting from MIX

We stay through Friday, then take the overnight flight Friday evening back home.  We're flying over Ohio to Philadelphia because that's how the fares worked out, then hopping on a regional flight back to Akron.  We get into Philly Saturday morning amidst news of a huge storm approaching Akron and make it to our connecting gate, board the plane, almost pull back from the jetway when Akron closes.  We're sent packing.

We spend the next several hours trying to get to Akron on some kind of flight and are told our next opportunity will be Monday.  That doesn't sit well with us as we've been on the road for a few days already and what with the storms back home we'd really rather be home with our families, so I go into problem solving mode and with much-appreciated help of my wife, we get a flight into Pittsburgh and a rental car that we can take from there to Akron (about a 2 hour drive in non-blizzard conditions).

We make it to Pittsburgh and are assured that our bags will go to Akron and thus won't be at Pittsburgh with us by one of the flight agents (so we go get our car and get out of there because we're racing a blizzard - in retrospect it seems our bags really were in Pittsburgh).  It's snowing out but not awful and we start driving.  After about an hour we're not quite out of Pennsylvania yet and things are getting quite ugly so we find a hotel nearby, call them, and get directions from the highway.  They give us poor directions and we end up driving an extra hour almost before finally getting there (after several more calls and a very long detour).  At this point it's late, we've not been in a bed since Thursday night, and we really want something to just go right.  We ask for a recommendation for dinner from woman at the front desk (whom I'd been harboring ill will toward while trying to get to the hotel, but had forgiven completely once we arrived as I was happy to have found the place).  She suggested Barry's Starwood restaurant up the road, a steak place.  We head for it and find it without incident despite awful roads at this point.

Once at Barry's Starwood, everything just went right.  Our server was excellent.  The food was superb.  The place was quiet, cozy, welcoming.  It's been several months now and I still fondly remember that dinner as the high point of a very unpleasant travel experience.  I left a very large tip and a note to the server.  And on the way out I took one of the cards they had in the hopes that I could be able to pass on my experience to them.  Unfortunately, Barry's Starwood restaurant in New Castle, PA doesn't seem to have any online presence.  I can tell you their phone number is 724-658-6113 and that the Comfort Inn up the road recommends them.  And now I'm a big fan.  If I'm ever in the area again, I will definitely go out of my way to eat there again.  I will tell my friends.  I will even post it to my blog, which in all likelihood has very few readers in the New Castle, PA area.  And if Barry ever gets a web site, I will happily link to it to help send him some more customers.  Because their service totally made my day.

One of the tricks here is that, to them, I was just another customer and this was just another day (albeit a snowy one).  In order to create more fans than haters, it's important to consistently make every customer's experience as close to their ideal as possible.  I have little doubt that if I return to Barry's restaurant I'll have a good experience (though it's possible it was just a fluke), and while it's unlikely I'd be blogging about it if it had been one more disaster that trip, you can bet I wouldn't be the fan I am now.

Posted by ssmith | 1 Comments
Filed under:

Tech Ed 2008 Speaker Idol

Next week (and the week after) at Tech Ed, several experienced speakers will compete with one another in Speaker Idol, held at the Tech Ed Online stage during lunch time and hosted by Carl Franklin and Richard Campbell.  The winner gets a guaranteed speaker slot at next year's Tech Ed.  Each contestant gets to give a 5-minute presentation to a crowd of attendees and several judges, and after each presentation, the judges give their opinion and tips for improvement.  After each heat, one finalist is selected, and all of the finalists compete the last day of the conference for the title.  Last year this was a lot of fun, and it's a great way to learn a little bit about a variety of topics or to get some tips you can use for your own presentations.

There are a few wildcard slots available for walk-up contestants.  If you'd like to compete, find Richard Campbell at the Tech Ed Online stage at the show - that's how I got involved in Speaker Idol last year.

Posted by ssmith | 1 Comments
Filed under: ,

aspNetPRO 2008 Readers Choice Awards Published

A couple of weeks ago the aspNetPRO magazine's annual Reader's Choice Awards were published in their latest issue.  DevExpress swept the awards, winning nine different categories as well as product of the year.  I've blogged before about DevExpress and how I've been quite impressed with a lot of their tools (CodeRush, XtraReports, controls...).  I've also gotten to know a bunch of members of their team over the last couple of years and enjoy hanging out with them at conferences and other events.  While the Reader's Choice awards are not as rigorous of a standard as, say, a Consumer Reports analysis, it is a strong indicator that a lot of customers are very happy with DX's products.  The fact that they were able to beat out tough competitors in the ASP.NET component space makes it all the more significant, and I hope it turns into increased success for them.

Posted by ssmith | (Comments Off)
Filed under:

GeekFest Party at TechEd 2008 June 3rd

Doug Seven of Microsoft is hosting a party at Howl at the Moon during TechEd on June 3rd.  He has some details on his blog and the party will include (and require for admission) a rubber duck competition.  You'll need to pick up your duck for admission at the Teched Technical Learning Center at the Developer Tools & Languages information desk.  One duck will admit two people so bring a friend!

Posted by ssmith | (Comments Off)
More Posts Next page »