Scott Hanselman

10 New Features in Windows 8.1 Preview that saved my Surface RT

June 27, '13 Comments [63] Posted in Win8
Sponsored By

I just bit the bullet and installed the Windows 8.1 Preview on my Surface RT. It's a one-way upgrade (meaning you won't be able to go from this Preview Build to the final) so make a Recovery Drive with a USB drive you have lying around. You'll need at least a 4GB USB key for this backup and the drive will be erased. Then go to and follow the instructions. Basically you download an update, install, reboot, and then the Windows Store says Windows 8.1 Preview is available. You install for a while (took a few hours) and assuming you're signed in with the same Microsoft Account it will redownload all your apps.

Warning: Installing anything called "preview" is for advanced/enthusiast folks. Expect nothing and you'll never be disappointed. Backup your crap. Be prepared to torch your machine to get back to the mainline.

I honestly didn't use my Surface RT that much, mostly just for Movies and Stuff, but this new 8.1 update adds some stuff that will have me using it around the house more.

Here's 10 features that are making me look harder at Windows 8.1.

Being able to use your Desktop Wallpaper as your Start Menu background

The Start Button is back, down there in the corner. But that's not as interesting to me as the ability to use your Desktop wallpaper as your Start Menu background. This might be hard to visualize, but the point is that if you hit the Start Button (or the Windows Key) you'll immediately move to the big Start Menu. When the background of that menu is your same desktop wallpaper, the result is much less jarring than a bright background and makes the whole Windows 8.x experience much more comforting.

Windows 8.1

Using the Desktop Wallpaper as my Start Screen background

From the Start Menu, hit Windows-C, click Settings, then Personalization. You'll see the menu fly out as in the picture below. Select the tiny thumbnail of your wallpaper. It's the square with the birds in my picture here.

Screenshot (5)

This little change is a huge difference. I wish this was the default experience, myself.

Search Everywhere

If you are in the Start Screen and you start typing it will search everything. Apps, Files and the Internet if you want. If you search for a Well Known Thing (caps mine) then it will give you detailed results that include (possibly) music, big pics, videos, etc. I searched for Daft Punk below.

Screenshot (3)

Freaking Outlook 2013

Since my Surface RT includes Office RT (Word, Excel, PointPoint, etc) it looks like Windows 8.1 adds Outlook 2013 RT to the mix! This was a total surprise to me, and is the #1 reason I'll start using my Surface for work stuff. I'm surprised this hasn't been noticed by some of the tech sites I read. It's an awesome addition.

Outlook 2013 RT

Smarter Windowing

Windows 8.1 seems much smarter about making decisions about window management. Here I've launched the Games app while running the Mail app on the left and the Desktop on the right. it's hovering (teetering, even) in the middle, waiting to be pulled from one side to the other, rather than just taking over one of my existing apps.

Apps can be 50/50 split on the Surface RT, as well as the other 70/30 options.

Screenshot (6)

Way easier customization

Icons are moved more like on my other tablets, with a push and hold gesture. Except you can select multiple icons, start dragging them with one figure while scrolling with the other finger. Grouping and customizing is way easier.

Here is me starting to move things around. I've got the Office stuff tiny, and the News app largest.

 Moving my start screen around

Better All Apps View

Apps that are newly installed get marked "new" in the All Apps few. You swipe down from the Start Menu to get here, and can sort by Recently Installed as well. I found a bunch of new apps I hadn't seen before like Calculator, Sound Recorder, Health and Fitness and Alarms.

All Apps View

More Comprehensive Settings

The Settings area has a LOT more info than before, including some rather deep pages (you may have to hunt) like this one on my Wi-Fi Router. Note that it's marked as a Meter Connection. I thought it was cool that Outlook didn't connect automatically when this was marked as Metered (this means my router has limited data and I could be charged for big downloads). I have personally downloaded gigs of mail while overseas and gotten nailed by big bills, so this was cool.

The Metering is an existing feature, but the deeper details into my Wi-Fi and devices is new.

Better Wi-Fi

Removable Disks in your Music and Video Libraries

I'm pretty sure this wasn't there before. I added a 64gig micro-SD to my Surface RT with the plan to watch Videos and store Photos on it, but it wasn't very seamless in Windows 8. I took a chance and right clicked on my SD card folders and said "Include in Library" and now my videos show up in the Videos app! Suddenly my 32-gig Surface has become a more useful 96 gig machine (well, 64-gig, as I'm going to change the defaults to store everything on my SD card.)

Removeable disks in libraries

Here's my videos listed, some in the cloud and some on my micro SD card.

My videos from the SD Card

Here I am looking at Outlook while watching Harry Potter in Split-Screen.

Outlook plus Harry Potter

Smarter Notifications and Quiet Hours

My wife is NOT a fan of my Surface RT for one basic reason. It won't stop beeping. I installed Twitter and Twitter "pops toast" - meaning, it uses notifications - and it's forever going off and beeping at night. Yes, I could turn off notifications, or sleep it, and I do, but when I'm using the thing I want it on. The Notifications options have been expanded to include "quiet hours," which is a nice touch.

Quiet Hours

The Reading List

I'm a big fan of Instapaper and the idea of a "Read It Later" gesture. This is different from simply bookmarking. This is a queue of long-form reading material. From apps like Internet Explorer you can invoke the "Share" action. I could share to Twitter, Mail, some People, or the new Reading List.

Sharing to Reading List

Then I click to Share, and later on go to my Reading List (now pinned to my Start Screen) and go read my long form articles. I haven't checked but I'm presuming this list would be persisted transparently across all my machines.

Reading from the Reading List

Sponsor: Big thanks to CodeProject for sponsoring the feed this week! What you can do with 215+ million business records? Dig into the data in the D&B Developer Challenge and post an article on CodeProject about what you could do with the data. Over $40,000 in prizes total are up for grabs. Check it out!

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

How to start your first podcast - equipment, editing, publishing and more

June 25, '13 Comments [17] Posted in Podcast | Tools
Sponsored By
Luvvie and Scott at BWBNYC

My friend Luvvie and I were speaking at Blogging While Brown this last weekend in New York City, amongst other things and events. Luvvie and I host a podcast called Ratchet and The Geek. I produce three podcasts - Hanselminutes, This Developer's Life, and Ratchet and The Geek. I do all of these on the side, for fun.

Context in NPR terms: If the Hanselminutes podcast is "Fresh Air for Developers", then Ratchet and The Geek is "Car Talk for Techies," while This Developer's Life is a loving homage to This American Life.

At the conference, Luvvie and I hosted a one hour talk about "Taking Your Blog to the Next Level with Podcasting." All the links to the equipment we recommend is at this Bundle:

UPDATE: Bitly removed

Well, Bitly remove the concept of Bundles and BROKE all their links. So here is the list of recommended equipment, one link at a time:

We did a 5 minute "mini-podcast" live on stage at the beginning of our talk, then talked about how we produce the show and how it goes from concept to topics to a produced and published MP3.

For this post I'm focusing on what you'll need for a podcast in terms of Equipment and Publishing. I'm assuming you're able to decide on your own topic/theme and spread the word about your new show.

BlogTalkRadioPodcasting Equipment: Good, Better, Best

Let's take a look at your options, ranked from Meh, through Good, Better, and Best.


You could use BlogTalkRadio as a super-quick way to jump-start your podcast, but there are some limitations. The benefits are that there's no software to use. It's basically a recorded conference call. They handle call-ins for guests, archiving, delivery and bandwidth. However, it goes up from Free to $39 a month or more quickly.

If you are serious about the future of your podcast I recommend that you put a little more work into and and you'll have lots more control and flexibility.


If you are going to do Skype-based recordings or online interviews, get yourself a decent USB microphone/headset. These are NOT audiophile or good quality headphones - to be clear - but they are good enough for Skype and they are guaranteed to sound better than talking in to your laptop's tiny microphone hole.

Remember, your laptop may have cost $1000 but that tinny microphone hole was only $1 of the price. Have low expectations when using a laptop mic for a podcast.

Logitech USB Headset

If you get a microphone/headset, get one that's USB to keep the audio digital all the way into the laptop. Don't use 1/8" analog headphone jacks for recording.

For Skype interviews I use CallBurner to record the interviewee. Ideally your guest will also have a good USB microphone. Even better if your guest records a local file while you also record the Skype call. More on this technique further down in this post.



You may be able to get more flexibility if you move to a portable recorder. You can do interviews with these without carrying your laptop. You can also use your phone or tablet if you like. Ideally you'll want to make WAV files rather than MP3s. If you're editing your podcast later a WAV file will sound better while editing and won't lose quality. An MP3 is already compressed and then will get compressed again when you save your final podcast.

Consider a WAV file like a PNG, RAW file or BITMAP and an MP3 is like a JPEG. Edit in high quality files and export your final as a compressed MP3.S

Sony Portable Recorder

You can also add a small Lavalier (clip on) microphone if you like, then plug it into the portable recorder to better isolate sound for your interviews.


If you've got $80, consider a Samson C01UCW USB Mic or similar. This is an extremely competent mic that plugs directly into your computer's USB port. You can record into Audacity or Adobe Audition or even iMovie or Garage Band directly. For one or two person talk shows this is a great mic to start with.

Samson C01U

Also consider your room configuration. If you have a square room with stone walls and wood floors, your listeners will be able to hear every bump in that echo-y environment. I use a Portable Vocal Booth from RealTraps when sound quality really counts. This is useful for screencasts and voice-over work in a noisy environment.


I say "best" but I'm assuming you don't have an actual recording studio available to you. This is the setup that I use on all my podcasts. I use a Zoom H4N portable recorder. It uses an SD card to store the WAV files. It comes with two small mics at the top for starters, but then lets you grow by adding either microphones with 1/4" jacks or studio quality mics with XLR connectors.

Zoom H4n

I recommend Shure microphones. Two Shure PG48-XLRs with cables paired with the Zoom H4N will make great sounding podcasts. All the very best episodes of This Developer's Life were recorded like this. All the episodes of Hanselminutes where the guest wasn't on Skype were recorded in person with this very setup.

The Zoom also has the benefit of improving your YouTube videos. You can mount it directly to a DSLR camera with video capabilities and greatly augment the resulting video's sound quality. Again, the components in a DSLR are optimized for visuals, not audio.

Zoom H4n


Luvvie and I live in different time zones so we record local files with our portable rigs PLUS we Skype each other and record the call with CallBurner. This gives me THREE files.

Three files for one phone call

Why three files? Well, one high quality of my recorded locally as a WAV. One of my co-host recorded in high quality as a WAV and one of BOTH of us. The trick is that we don't use the phone/Skype track.

The phone track is just for lining up the two other tracks. This makes it sound like my co-host and I are in the same room together. See the three files below. My co-host is on top - notice her track is quiet. I'm on the bottom. The phone track is in the middle. Since these are separate tracks I can adjust Luvvie's track to make it louder and better match my track's volume.

I move our tracks around using the phone/Skype track as a guide. It tells me what we're supposed to sound like and gets our conversation in Sync. When I feel we are in sync, I mute the Skype track and listen to us talk.

Editing in Audacity

For complex show I'll use Adobe Audition and use the Effects Rack. I use a Speech Volume Leveler and a "Hard Limiter" to keep the voices at a strong, but not overpowering level. There are LOTS of great Tutorials online to show you how to use tools like Audacity and Audition.

Editing in Adobe Audition

It's like PhotoShop for sound! There are layers and filters and effects. Thinking about it this way greatly helped my mental block.


We recommend using LibSyn for your hosting and publishing your podcasts. If you are more technical you can certainly use Amazon S3, Azure Blobs or just your own existing host if you like. For shows like Hanselminutes that have almost 30,000 megabytes of shows, we use S3. Both Ratchet and The Geek and This Developer's Life use LibSyn.

LibSyn offers a simple platform for publishing and feed creation. It also has fantastic stats and can even make mobile apps for your shows if you want.

Our Stats

Your Feed

Podcast feeds are just like RSS feeds except they also include an "enclosure" tag. Services like FeedBurner and FeedBlitz can add this tag for you if your blog doesn't support it directly. While it's unclear how long FeedBurner will last, We use it for its easy podcast creation ability.


Make sure you submit your Podcast to iTunes and Windows Phone/Zune. I also suggest telling Rob Greenlee (the manager of the Windows Phone/Xbox/Zune podcasts) on Twitter about your show).

Submit from the iTunes app

Here are some other podcast directories you should be sure to target:

  • BlackBerry - You can submit your podcast by going to thePodcast submission page and creating a RIM podcast account.
  • Stitcher
    Stitcher - is a radio-like service that allows you to submit your audio podcast to. Submit your audio only podcast at the Content Partner page.
  • Tunein Radio - You can submit your Podcast to Tunein by sending an email to Broadcast Support.
  • DoubleTwist - Submit your show by emailing Support with your show's name, RSS, and description.


Ultimately you need an MP3 that shows up in a feed and a website to promote it. Everything you can do on top of this will only help you! Think about sound quality, topic quality, consistency, website quality, and technical details.

Sponsor: Big thanks to CodeProject for sponsoring the feed this week! What you can do with 215+ million business records? Dig into the data in the D&B Developer Challenge and post an article on CodeProject about what you could do with the data. Over $40,000 in prizes total are up for grabs. Check it out!

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

They WILL take your photos and they WILL use them and you WILL like it.

June 19, '13 Comments [39] Posted in Musings
Sponsored By

This is hardly a tragic story and it's not even a good photo, but it's interesting because it happens a few times a year. Perhaps it's happened to you! (Share in the comments)

A buddy noticed a story in Business Insider Australia that was picked up off Reuters called "Microsoft says they've disrupted a global cybercrime ring responsible for $500 Million Theft." It was syndicated to OZ by Business Insider US who pulled it from Reuters, and it seems they each pick their own illustrative picture.

And apparently they did it in my damn office. That's my big head, my three monitors and I am, in fact, hacking on CoffeeScript in this picture, not fighting cybercrime. How do I know? Because I was there when this photo was taken by Rob Conery. We used it for my Speaking Hacks educational video.


Rob Conery and I made a video called Speaking's a screen capture.


It got used on a post a where I describe my system setup. I love that they crop the pictures they so carefully Google Image Search for.

I try to use for my image searches on this blog. Raphael Rivera turned me on to this and reminded me of the importance of respecting image copyright. Just googling for a picture and slapping it on your blog isn't cool.

Usually when this kind of thing happens I'll just email a kind note to the owner of the site and mention it and it gets handled. (I've just emailed Business Insider now) Most people are very nice. Folks at Gizmodo and LifeHacker almost always have a real human behind their stories with a real Twitter account and they've always been accommodating about little things.

Ah, but sometimes it's not just a nameless-faceless newspaper but it's a nameless-faceless newspaper article originally published by Reuters on "put on the wire" which means it can spread literally everywhere, and fast.

Do I care? Not really, but it's the principle of the thing. I mention it because it's a teachable moment for us all.

When you put an image on the Internet, it's on the Internet.

It can be used for anything, anytime, by anyone. You can assert copyright, but usually depending on how big the site is (or how obtuse their Contact Us page is) you'll be lucky to find a human, much less a nice one.


At least I have my hair. So far.

Think about signing that Photo Release

It matters to me when it's big and public and involves my kids. Some friends were driving down the freeway recently and noticed something. They called and said "Is that your son on a billboard off I-5?"

This was my reaction: O_o


Turns out that years ago in our school's day care we signed a photo release. I assume we thought it was for their blog, or a pamphlet, but in retrospect even that was a bad idea. We never thought my kid would end up on a 30 foot paper billboard advertisement, with little recourse. Fortunately in the billboard case, the head of the school wasn't aware either! Their marketing folks were just pulling the photos from a shared folder, treating them as stock images. In the end, the school was extremely accommodating and apologetic and it's since been handled. Still, a wake up call to us, and I hope, to you, Dear Reader.

Happy Resolution

This email showed up literally as I was/am writing this post.

Hi Scott

Thanks for getting in touch. I’m the editor at Business Insider Australia.

I’ve removed that image, which was syndicated from the US edition. I’ve also alerted them to your complaint.

Hope this addresses the matter for you.

Best wishes,


Awesome. And sometimes your kind letter reaches a kind human and gets handled. Thanks Paul, much respect!

Now, about this NEW picture...;)


(Yes, I realize the thick irony of me blogging it, and thereby putting the image "back out there" but it's for educational purposes.)

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Exclusive Sneak Peek: The AGENT Smart Watch Emulator and managed .NET code on my wrist!

June 18, '13 Comments [30] Posted in Micro Framework | Tools
Sponsored By

The AGENT Smart Watch

I'm totally geeked out about Smart Watches. I always have been, from the original Microsoft SPOT watch (from 10 years ago!) to the Pebble, and now the AGENT Smart Watch from Secret Labs. Secret Labs are the folks that brought us the Netduino open source electronics platform that uses the .NET Micro Framework. It's pretty awesome that you can write C# and run it in 64k or in 64gigs, from the wrist to the cloud.

Upcoming Conference: If you're in or around Chicago in July 2013, consider joining Chris Walker from SecretLabs and I at the MonkeySpace conference! We'll be speaking about developing for embedded systems and the AGENT Watch with C#. What are the power considerations? How low-level is this kind of coding? Can one kind of app cause battery drain while another keeps the watch going for a week? What about notifications and bluetooth? We'll cover all this and lots more, join us.

The AGENT Smart Watch will talk to your phoneThe AGENT Smart Watch was trying to raise $100k to build a watch and as of the time of this writing they are within spitting distance of a MILLION dollars! There's just hours to go to get in on this cool Kickstarter. (Remember, Kickstarter is an investment, not a store.)

Not only is this a .NET Microframework Device, but we can start writing apps now using the AGENT Watch Emulator. From their Kickstarter site:

Traditional smartwatches run apps in an unrestricted environment.  AGENT's OS includes a managed runtime, optimized for our low-power architecture.  It is called the .NET Micro Framework and it makes watch apps trustable.

This feature-rich managed runtime also offers developers modern features they crave: event-based programming; multi-threading; garbage collection; lambda expressions; exception handling; automatic power management; and much more.

You can install VS2012 and the .NET Micro Framework 4.3 and write an app for your wrist! I alluded to this a little in my Xamarin talk "How C# Saved My Marriage." You can write .NET apps for embedded systems, a watch, tablets, desktops, web sites, large cloud systems and more.

Full disclosure: I have no financial stake or business relationship with SecretLabs, but we are friends and I'm a fan. I helped Chris with some copy writing on the Kickstarter page, its text and reviewing the video as a favor. I have received no money from SecretLabs and I backed the Kickstarter with my own money.

imageI got a preview of the AGENT Smart Watch emulator, and some code from Kickstarter backer Esben Bast who created a binary clock face. I loaded up VS2012 and the binary clock emulator. This initial code is just about 100 lines. You can see the references in Solution Explorer here. SPOT means "Smart Personal Object Technlogy."

The fact that there is an emulator is huge. No worries about breaking a watch or even having a watch! The Agent Watch SDK puts a reference to the AGENT Emulator in my registry, so it shows up directly in Visual Studio:


Then I can debug my watch app without a watch, just as if I were writing a Phone App or Web Site. It's a first class experience inside of VS. This makes me feel particularly empowered as a .NET developer because it means I already know how to write apps for this watch and I've never even seen it before..

The code is pretty straightforward, if appropriately low-level. This IS a small device we're talking about!

You've got total control over the screen and what can be displayed. You could create any watch face that you could imagine (that would fit on the screen) because you have a Bitmap to draw to.

The .NET Micro Framework has no fonts loaded by default, but I can include them as resources. There's some "tinyfnt" files in C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Fonts or I could download or make some myself. Even better I can use the TinyFontTool from Miloush.

I can load a font from a resource like this:

font = Resources.GetFont(Resources.FontResources.small);

and then later in my UpdateTime() method, Draw the time on my binary clock screen.

_bitmap.DrawText(DateTime.Now.ToString("HH:mm:ss"), font, Color.White, 45, 15);

Run my emulator again and I have the time printed as well!

Now my AGENT Smart Watch has the time printed above the Binary Clock

The only real "microframework-ism" in the code is that the watch face doesn't want to use a lot of power, so you should "go to sleep." It's the same as if you were writing a console app. If your main() function ends, then your app will end! But, since this is a watch face, we want it to run all the time, so, we start a 1 second timer, then sleep the main() forever. Everything interesting happens as an event on a background thread. (The watch can control the lifetime and tombstone or kill the watch face if you're doing other things.)

public static void Main()
_bitmap = new Bitmap(Bitmap.MaxWidth, Bitmap.MaxHeight);
_font = Resources.GetFont(Resources.FontResources.small);

// display the time immediately

// set up timer to refresh time every minute
DateTime currentTime = DateTime.Now;
TimeSpan dueTime = new TimeSpan(0); // beginning of next minute
TimeSpan period = new TimeSpan(0, 0, 0, 1, 0); // update time every minute
_updateClockTimer = new Timer(UpdateTime, null, dueTime, period); // start our minute timer

_button = new InterruptPort(HardwareProvider.HwProvider.GetButtonPins(Button.VK_SELECT),
_button.OnInterrupt += _button_OnInterrupt;
// go to sleep; time updates will happen automatically every minute

That last part is interesting. You've got two event handlers here, the one to UpdateTime every second and then one to watch for the Button getting pressed. You want the watch app to be needs to do as little as possible NOTHING until it's time to do something. This InterruptPort is watching for the the middle button (the VK_SELECT button). ResisterMode.PullDown means the button will show "1" or true when it's pressed. InterruptEdgeBoth means I get events when the button is pressed AND when it goes up.

Go make Watch Apps!

Here's another cool watch face from Dylan Mazurek next to the Big Digits example:

PixelFace example Watch for AGENT Smart Watch BigDigits example Watch for AGENT Smart Watch

And finally, here's an animated concept for a World Time face that Steve Bulgin made for Pete Brown as well as another Steve concept below:

The next step will be more than watch faces, it will be watch utilities and apps. Maybe an app for my FitBit, or an app to manage Blood Sugar? Perhaps a Nest app to control my thermostat?

The AGENT Watch Emulator emulator will be available to download this Thursday at You can get ready by installing the .NET Micro Framework today.

Steve Bulgin watch face for the AGENT smart watchWatch apps can be written in C# using Microsoft Visual Studio 2012 (including the free Express edition). Deploy your apps over Bluetooth and debug them interactively.

Download Visual Studio Express 2012
Download .NET Micro Framework SDK v4.3

Developers can also use AGENT as a secondary display, interacting with it remotely via Bluetooth from their Objective-C, C#, or Java smartphone app.

Even though the watch ships in December, I'm going to start writing apps now so I'm ready for the Watch App Store (coming soon)!

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Stop Doing Internet Wrong.

June 14, '13 Comments [151] Posted in Mobile | Musings
Sponsored By

Some days...some days it's frustrating to be on the web. We're compiling C++ into JavaScript and running Unreal in the browser but at the same time, here in 2013, we're still making the same mistakes. And by we, I mean, the set of web developers who aren't us, right Dear Reader? Because surely you're not doing any of these things. ;)

All of these are solvable problems. They aren't technically hard, or even technically interesting. I consider these "will-required" problems. You need the knowledge that it's wrong and the will to fix it. As users - and web developers - we need to complain to the right people and help fix it.

Redirecting a deep desktop link to a mobile home page

Google has decided that the practice of taking perfectly good deep links like, detecting a mobile device, then redirecting to is user-hostile. In fact, the GoogleBot is going to declare these "faulty redirects" and ding sites in the search result ranking. Stated simply:

Avoiding irrelevant redirects is very easy: Simply redirect smartphone users from a desktop page to its equivalent smartphone-optimized page. If the content doesn't exist in a smartphone-friendly format, showing the desktop content is better than redirecting to an irrelevant page.

For example, if I want to go to the page, but I do it on mobile, they ALWAYS redirect me to /mobile. Always. Even though I have a quad-processor pocket supercomputer with gigs of space I've still surfing a second-class internet.

image image

I don't want your crappy app

That means you Quora. I am in my browser, unless I'm going to the App Store, let's assume if I'm in the browser, I want to be on the web.

You suck Quora

Giant Interstitial Ads

I'm looking at you, I GET IT. YOU HAVE ADS.

Interstitial Ads are Evil

Stay classy.

Labels for Input Forms

I hate seeing a checkbox and only being able to click on that exact checkbox.

<p>Which fruit would you like for lunch?</p>
<input type="radio" name="fruit" id="banana" />
<label for="banana">Banana</label>
<input type="radio" name="fruit" id="None" />
<label for="none">None</label>

It's so easy to just associate a label with an input. Please do  it, then we can all have something larger to click on.

Breaking Hyperlinks

We're still doing this. Haven't we learned that Cool URIs Don't Change? It was true in 1998 when that was written and it's true now. The web as we know it was created in 1990 and made truly open in 1993 and the link to the First Web Page (yes, Capital Letters) is still I love that they've done the work to keep that link alive.

There's just no excuse for this. With .htaccess files and web.config files, maintain a list of redirects and do your best to test them. Maintaining deep and complex links can be complex, but if you're link dies because you switch from PHP to Rails, there's just no excuse for that. I'm your User and I have always typed /about. Don't' give me a To Do like "Update your bookmarks!" I didn't come here for a To-Do, I came her for your damn about page. YOU figure it out.


Click the Flag that represents your Language

I've often been asked to "select my language" from a list of country flags, and ended up clicking on the Union Jack to represent "English." I'm sure the actual English don't appreciate an American declaring they speak English. ;)

Nothing says pick a language like all the United Nations Flags

but I know I'm not the only one who realizes that a Flag is a lousy representation of a language, especially since your browser is announcing what languages you speak with every web request.


There can be a whole list of languages in the Accept-Language header, in the order the user prefers them!  Use that data, it's there for you to use.

You know my Zip Code, why am I entering my State?

For folks living in the states, we're always asked to enter our postal code (ZIP code) and our city and state, even though there are dozens of great APIs and Databases that can give you that information.

Don't make me enter my state

The meta-point is this: If you can reliably determine something from the user (language, location, country, preference) without invading their privacy, do it! Save them a little time!

Resizing Giant Images with width and height attributes

Perhaps take a moment and remind your boss that the 6 megapixel photo that he or she took with their new Canon EOS is not a good background image for your corporate site...especially if it's a 4 megabyte JPGs.

Oh, that's OK, we can just <img src="bigassfile.jpg" width="100" height="100"> and that will make it smaller. No, that just downloads the giant file and then makes your browser do the work to resize it on the client.

Big ass picture

Resize first, and squish often. Also run all your PNGs through PNGGauntlet or PNGOut.

Serving pages from both www. and naked domains

If you've got AND both serving up the same content, consider "canonicalizing" your URLs. You can do this with rel="canonical" in your META tags, but that only hides the problems and makes the Googlebot happy. Instead, why not PICK ONE and serve a 301 redirect to the other? Did you know that there are rules built into IIS7 that will set this up for you? You can even remove your .aspx extension if that makes you happy. You can do it!


The same is true if you do the same thing for / and /default.html. Pick one if you can, and redirect the other.

<rule name="CanonicalHostNameRule1" stopProcessing="true">
<match url="(.*)" />
<add input="{HTTP_HOST}" matchType="Pattern" pattern="^hanselman\.com$" ignoreCase="true" negate="false" />
<action type="Redirect" url="{R:1}" redirectType="Found" />
<match url="blog/default.aspx" />
<action type="Redirect" url="blog/" redirectType="Found" />


What are some great examples that you think Break The Internet...but that are easily fixed if we have the will?

Sponsor: Big thanks to RedGate for sponsoring the feed this week! Check out Deployment Manager – app deployment without the stress. Deploy .NET code & SQL Server databases in one simple processfrom a web-based UI. Works with local, remote and cloud servers. Try it free.

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 twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

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