Scott Hanselman

.NET Framework Library Source Code available for viewing

January 17, 2008 Comment on this post [15] Posted in ASP.NET | Learning .NET | Microsoft | Programming
Sponsored By

It's live and you can give it a try now! Ten minutes ago Shawn and Scott released the hounds. If you'd like to step through .NET Framework Source code, here's what you need to do.

  1. Install this QFE.
    • Note, if you're on 64-bit Windows, read the description as there is a single manual step for 64-bit folks like me.
  2. Go into Tools|Options|Debugging|General and turn off "Enable Just My Code" and turn on "Enable Source Server."
  3. Go to Symbols and add this URL http://referencesource.microsoft.com/symbols and a local cache path. Make sure "search only when symbols are loaded manually" is checked.

That's it. Crazy. You can get more detail on Shawn's post if you need it. Here's me, just now, stepping into XPathNavigator's GetNamespacesInScope method.

Do note a few things.

  • Loading source the first time will be slow. There's lots of it. It'll be faster the second time.
  • If you can't right click and select Load Symbols from the Call Stack, try Ctrl-Alt-U and right click Load Symbols for the Module you want to step into.

ConsoleApplication1 (Debugging) - Microsoft Visual Studio (Administrator)

Fabulous. Enjoy.

Related Posts

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Long Term Viability of AppleTV

January 16, 2008 Comment on this post [50] Posted in Musings
Sponsored By

I just don't get AppleTV. I mean, I totally get it, I understand the intent, but I can do these things now, with either DVDs and Blockbuster Video or with my existing cable TV service. Certainly the seamlessness of the experience between iTunes, AppleTV and iPhone is a huge thing and amazing, but while iTunes and an iPod seem natural, AppleTV seems forced and stilted. I wonder if it'll really stick around for a number of years or if the studios look at it as "just another outlet."

On Demand Movies for $4 to $5

I've had the ability to rent movies on demand for YEARS on Comcast Cable, and they have had HD movies for two years. They aren't portable (see below) but certainly I can sit down and watch a movie instantly unless I'm too lazy to walk to the video store.

The Xbox360 also has On Demand movies in an almost identical way to the AppleTV, and the wife has started using that more and more. We watched "Hairspray" in HiDef and she was impressed with the experience. The benefit of course is that I already have an Xbox (as do 13 million other folks) and that it's a more versatile machine. It'd be cool if you could surf the web on an Apple TV and if it included a slot loading hi-def DVD player; that might make it more useful.

We find that a "DVD Total Access" pass is the best way for us to watch movies. We pay $20 and we get as many movies as we can turn around in the mail, which is usually ~6 a month or roughly $3 each. We can watch them anywhere, anytime, they don't expire or have late fees. I take them on planes and we watch half downstairs then take it upstairs to finish the last half. In this case, molecules are more portable than electrons for my family.

Take a Movie with You

It's a legal gray area, but I could also rip the rented CDs and watch them on my PSP or iPod, then delete them when I return the movie.

This, to me, is the #1 draw of the AppleTV. If you've got iPods and iPhones then being able to buy a movie in one place and watch it anywhere, even stopping at home and finishing on a plane. I can do this with DVDs that I get in the mail from Blockbuster, though, and they are excessively portable.

Storage For Your Own Content

Ripping and storing your own content to the AppleTV is the second most interesting feature I think, but that can be done with any NAS (Network Attached Storage) device and most any uPNP device, provided the codecs line up.

I kind of like having DVDs as storage, rather than the "psychic weight" of worrying about a hard drive crashing with 150 lovingly ripped DVDs sitting on it.

As the anonymous blogger at Shipping Seven says (caustically) about the lack of a DVD Drive on the new Macbook Air:

Dumping the DVD drive is a risky move. Yes, they are bulky, and are not used very much. But walk around any airplane/train, and you'll see a huge number of people with laptops watching movies.
Here's a hint, Apple: Not all those people are going to rent a movie off iTunes for a four-hour flight,
like you cheerfully propose. I can borrow a movie from my roommate's DVD collection. For free. For more than 24 hours. People generally pick the easiest and cheapest solution available to them.

It's true, folks like cheap; I like cheap.

Watch Photos on my TV

My TV, and many TVs, have an SD slot for photo slideshows, and the Xbox has both USB for docking a camera directly and uPNP, so this is interesting, but not incredibly so. If I could plug a digital camera directly into the AppleTV, that might be cool. (It has USB, can I do this now?)

Television Shows

Why would I want to pay $2 (TWO DOLLARS!) for a TV Show "the day after it airs" when I can watch it for free by visiting www.abc.com, www.cbs.com or www.nbc.com or any other Torrent site? And who wants to own a TV show. Why not 50 cents just to rent it? I'll wait until it comes out on DVD for those prices.

This is another example of where I think the Cable TV set-top boxes have advantage (today). For example, I get Showtime and I watch my favorite show, Dexter, on Showtime, but if I miss an episode, the entire season is sitting in the On Demand Menu for free. Why pay?

Utility

I really avoid buying gadgets unless they will fit into my, and my family's, lifestyle in a seamless and utilitarian way. The WAF (Wife Acceptance Factor) is about making everything "one button easy" like we have with the Harmony 880 Remote. When we moved to the new house I swapped out some equipment and we started using the Xbox as our primary DVD player. The wife was "shielded" from this because the Watch DVD button the Remote still worked as she expected.

I can see how an AppleTV could be a central part of one's media life, but I guess even though the Xbox is a totally different devices, perhaps, at least in my house, the Xbox has already taken its place as the "Box that does all things well."

Do you have an AppleTV and do you like it? Is this a gadget worth having? Is it indispensable like a GPS, MP3 Player or Tivo?

Related Posts

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Blog Stats are Confusing - GETs, Views, User-Agents, Readers, Eyeballs

January 16, 2008 Comment on this post [12] Posted in Musings
Sponsored By

There's some discussion going on an internal MSFT mailing list about blog statistics. I don't check my web statistics more than once a month, as I'm more interested in blog comments or what's going on in the forum. If I get a lot of comments on a post I feel good. I like to get discussions going and bounce ideas back and forth.

That said, some blogs at Microsoft track their statistics and need to know if a particular post or new theme brings in more readers. One particular blog (not mine) recently saw a 16x increase in "hits" which is probably a good thing. A discussion started, and here's part of an email I wrote with my ideas that I thought you might find interesting, Dear Reader. I've made a few [edits] to make things clearer.


I think it's killer, to be clear, so in no way do I want to take away from [that blog's] most excellent work, but the web stats [in this case] specifically "smells" wrong. Possibly a bot, spammer, something, but still, a 16x increase in web traffic [in a single] month feels exceptional. It's the ratios [of GETs to projected humans] that are confusing to me.

It'd be interesting to use some heuristics to turn the RSS Feed HTTP GETs into Unique users. For example, most RSS Readers poll so one individual will hit your feed (in my experience) between 8 and 16 times a day, depending on their reader and how long their computer is on. Online readers are smarter that Smart Client readers like Outlook and FeedDemon. This usually means one has fewer readers than they think, if they are looking at GETs.

Additionally, online readers [usually] only hit once (here's how that works) [and rather] "tunnel" your subscriber numbers in the HTTP User Agent like "NewsGatorOnline/2.0+(http://www.newsgator.com;+250+subscribers)". Meaning, you might get one hit or 10 hit, but regardless they are representative of 250 individuals. This usually means one has more readers than they think, if they are looking at GETs.

Why do I mention this? I mention it because looking at HTTP GETs isn't representative of people, but of GETs. It took me a few years to figure this out, and I've been thrilled with the analysis work done by FeedBurner (my RSS Feed is hosted there, saving me over 400 gigs of bandwidth a month) to turn GETs into Humans.

Here's a real world example. FeedBurner says I have around 22,000 regular readers [as of today...it varies based on weekday/weekend]. That's aggregated across all News Readers:

clip_image002

My stats package shows about 50,000 page views a day or about 1.6 million a month. This varies, confirming [an earlier] comment about folks hanging around [a site] and reading stories, which is cool. However, if I look at "hits" I see 16.5 million. Of course, that's not [a useful stat], because that included images, css, etc.  Visits, on the other hand are one individual hanging around for a period of time and reading. For example (these stats don't include RSS anywhere, including bandwidth):

Page Views - 1,596,548
Visits - 806,251
Hits - 16,500,422
Bandwidth (KB) - 209,759,564

For me, these stats make sense, because I have a readership of about 20,000 that show up every few days and hang out, representing [roughly] 50% of my traffic. The other 50% comes from Search Engines and [incoming] links from other blogs. So it's important that one distinguishes between hits, page views, and visitors, and tries to correlate those back to readership, IMHO.

The question that we need Blog Stats to answer is that of readership. What does [a] 600,000 RSS hits number mean? 600k/30days is about 20k hits a day, so how often are these readers hitting the feed per day? Once we come up with a standard-ish formula, blogs could get a rough +/-30% idea of how many human eyeballs [are actually reading].

Just my two cents, thoughts?

Related Posts

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Your Opinion Matters - Screencast Techniques Survey RESULTS

January 15, 2008 Comment on this post [17] Posted in ASP.NET | Microsoft | Musings | Screencasts
Sponsored By

One month ago I asked you, Dear Reader, to participate in a survey about Screencasts in order to help me, and indirectly Microsoft, improve our screencast techniques. I got 1000 responses in just a few hours and I thank you for it!

You also wrote a lot in the free form comments field with 319 of the 1000 responses including typed feedback. These comments were read by not only myself, but (surprisingly) my boss and ScottGu, so that's cool. It's also cool that 1/3 of you felt compelled to offer more feedback. Thanks!

Here's the feedback we received.

Answer Options Strongly Disagree Disagree Neutral Agree Strongly Agree Rating Average Response Count
Seeing a PIP (Picture in Picture) of the presenter is more engaging than no video at all 38 147 286 394 135 3.441 1000
Panning and Zooming to key areas enhances the experience 15 50 194 500 241 3.902 1000
Screencasts should include high quality audio 5 36 138 436 385 4.16 1000
Mouse clicks should be called out visibly 24 95 300 439 142 3.58 1000
I wish I could watch a screencast on my portable device 54 131 359 253 203 3.42 1000
Screencasts should have minimal visual clutter 5 18 157 531 289 4.081 1000
Too much PIP (Picture in Picture) video of the presenter is distracting 37 136 249 440 138 3.506 1000
Screencasts should only include audio and a full-screen capture 89 389 308 165 49 2.696 1000

It's hard to see the patterns, of course, as it's tabular data, but here's how I interpret it and a few other ways to think about the results.


results

UPDATE: Here's a much better visualization above from Dylan Beattie. Thanks Dylan!


Screencast_Survey_Results

UPDATE: Here's another visualization from Brian Boatright. Thanks Brian!


Analysis

First, if someone says Agree or Strongly Agree, let's call that AGREE.

Ah, now this is more useful. Looks like folks really agree on these points.

  • 82% agree - Screencasts should include high quality audio
  • 82% agree - Screencasts should have minimal visual clutter
  • 74% agree - Panning and Zooming to key areas enhances the experience

Which is expected. Screencasts should sound good, only show you what you need to see, and some amount of pan/zoom (which is arguably an extension of the "minimal visual clutter" rule) is useful.

Now these are more on the fence, but I did include 1000 results so I consider them fairly valid.

  • 58% agree - Too much PIP (Picture in Picture) video of the presenter is distracting
  • 58% agree - Mouse clicks should be called out visibly

Seems that two much of a good thing (i.e. my (or anyone's) fat head) is distracting. This was confirmed in the comments. Basically, if you're showing something within the interface, or if you're just typing, don't show your head/PIP.

As for the mouse clicks issue, this is a tough one. I think I'll keep the effect, but I'll speed it up and make it smaller, so that we can find a "best of both worlds" option to please the most people.

These were interesting to me. Basically half of folks think that PIP is interesting, but it's clear that it's not necessary. According to the comments those that like PIP feel it "helps one engage with the presenter" and "keeps my attention." Others said "it seemed like you were talking to me" and "I'd be more likely to watch a screencast all the way through if it had PIP at some points."

  • 53% agree - Seeing a PIP (Picture in Picture) of the presenter is more engaging than no video at all
  • 46% agree - I wish I could watch a screencast on my portable device
  • 21% agree - Screencasts should only include audio and a full-screen capture

I was surprised that 46% of people wanted to watch on their portable device. Depending on your point of view this may seem like a small number or a large one. However, it's a significant number of people, in my opinion, if over 460 folks out of 1000 would like to watch a technical screencast on their portable device. This requires less effort on the part of the publisher than you'd think. I'll post about this issue later and what you can do as a creator of screencasts to make them usable on Zunes and iPods and other PMPs.

Finally, 1/5 of folks feel that screencasts (perhaps they are screencast purists?) should include only audio and the full screeen.

Also, as with most surveys, this one was arguably biased towards a specific point of view, namely, mine. One could say it was poorly written and two people did in fact say just that. However, I'm not hiding the fact that I believe judicious and reasonable use of these small techniques can make for a better screencast, but I'll be more careful with future surveys to include both sides of the perspective.

Written Comments

As with my blog, it was with this survey. The interesting content is in the comments. There were 319 comments, but here's a slice:

  • "Would like transcripts of screen casts so that the material can be searched." and "For foreign users who do not speak English as a native language, it is easier to understand the screencast, if there are subtitles in English"
    • This was a common request, as were subtitles for the deaf and folks for whom English was not their first language. I'm looking into ways to do this without breaking the bank. (There's less money for these than you think.)
  • "I'd also like for a lot of the screencasts to be fairly short, so that I can watch them without investing too much time at once on them"
    • Agreed. I talk a lot and I personally like the 45 minute format. However, I think 8 to 15 minute might be a better length.
  • "why not a close up of the text being typed" or "use keyjedi"
    • These were interesting, and I'll look into it. I agree that it's hard to see what's happening with hotkeys and quick cuts.
  • "I really like to see presenter one side, content on the other, clear separation"
    • Interesting idea. I'll try it.
  • "I really think the content is key. If the topic and execution are solid, the presentational stuff is only window dressing" and "Script work and rehearsal go a long way."
    • I agree 100%.
  • "I think Microsoft Webcasts are of poor quality and should be replaced with screen casts. Often issues arrise during a web cast and it is much more transparent to us if they are produced instead of thrown together. No Web Casts more SCREEN CASTS!"
    • Interesting perspective. I see your point, but sometimes Live is better.
  • "Proper support of standard codecs." and "I want to watch this on my Xbox360."
    • I totally agree. If we do an MP4 version, it should work everywhere.
  • "Too much panning and zooming will make me sea sick. Your MVP screencast is very good but it borders on the unbearable. Slower pans are better, one axis only pans are better. Avoid pans & zooms at the same time and get yourself a cinema book for beginners (seriously)."
    • This was one of two comments where the reader was ill from watching the screencast. I think the one-axis pan idea is really interesting and I'll try it out.
  • "Please support wide-screen format."
    • I was very surprised but out of 1000 folks, there was only ONE comment that I use Widescreen (16:9) ratio. I'd have expected a lot more.

Also, I received this one: "there... i filled out your survey... motherf******! ( lets see how anonymous this really is) :)" Note that I've alerted your mom and your boss about your naughty language, Mr. Anonymous. ;)

And finally, "No beards! Beards are distracting!" Hm. I don't think you want to see me without a beard, I look 12. Seriously. More importantly, what are we going to do about this guy?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Book - Professional ASP.NET 3.5: in C# and VB

January 15, 2008 Comment on this post [17] Posted in ASP.NET | Microsoft | Programming
Sponsored By

Professional ASP.NET 3.5: in C# and VBSeriously, 1728 pages? We couldn't drop a page or two? Nope. In keeping with our strategy that a person who buys our book should be able to beat off attackers with it, we're keeping it big and phat.

Coming in a few weeks, it's Professional ASP.NET 3.5 and it's heavy as heck. And, it's insanely cheap right now, only $32.99 at Amazon. Amazing.

We've added many hundreds of pages, new chapters, new samples and new coverage. It took a LONG time and it was very tiring.

Here's some text from the back cover:

  • Thorough coverage of how to implement ASP.NET 3.5 AJAX and the ASP.NET AJAX Toolkit
  • An introduction to LINQ and many LINQ examples throughout the book side-by-side with the related SQL example to show you the differences between the two
  • Enhanced coverage of XML use in ASP.NET including the new XML Schema Designer Add-on, LINQ to XML, LINQ for XML examples, and XSLTC.exe, a command-line XSLT compiler
  • A new chapter on CSS design for ASP.NET and the Visual Web Developer CSS design tools
  • A new chapter on the ASP.NET lifecycle and architecture best-practices
  • Increased coverage of ASP.NET with SQL Server 2005 and Oracle as the databases
  • Coverage of enhancing your ASP.NET applications with Microsoft’s new Silverlight for stunning video and animation uses
  • Coverage of Scott Hanselman’s famous productivity tool picks for developers to help make you a more productive ASP.NET developer
  • Updated coverage of migrating applications for previous ASP.NET versions

The whole team worked very hard with Bill taking the lion's share of the work. We include examples in both C# and VB. We've also added parallel samples in the XML chapter that show how to accomplish a task with LINQ to XML as well as with System.XML, and Devin's added an all new chapter on LINQ with new LINQ samples throughout. We re-tested every code sample on Visual Studio 2008 and Vista, we re-shot every screenshot and we included IIS7 coverage on both Vista and Windows Server 2008.

As far as I know, it'll be published on Feb 14th, no matter what Amazon's page says. Enjoy.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.