Why I’m Tolerating the Surface Pro

Posted on by Brent Posted in Blog Posts | 41 Comments

When the iPad came out, reviewers pointed out that the iPad itself simply disappeared when you used it. The iPad became a featureless black frame, and what you were really using was an app. Fire up a text editor, a game, a browser, whatever, the iPad hardware was just a simple glass window into the app itself.

If you used an app that was clean, polished, and functional, then you saw the iPad as clean, polished, and functional. Luckily for Apple, developers came out with a lot of clean, polished, and functional apps within the first year, so the iPad got a great reputation.

Judging the Surface Pro means looking at two ways – judging the frame, and judging the picture. And actually, as it turns out, there’s two different pictures – Windows 8 Metro, and Windows 8 Desktop. Let’s get started.

The Surface Pro Judged as a Frame

Sybil, my Surface Pro

Sybil, my Surface Pro

The Surface Pro is a better window frame than the iPad. It’s more powerful, has a pretty good optional keyboard (the Type Cover), and the built-in kickstand means I can be productive in more places while carrying less baggage. I love love love having USB and a micro SD memory card slot built in.

A few small niggles keep it from being perfect. With the keyboard attached and the kickstand extended, it’s exactly the depth of a coach class tray table on a 737. My wrists end up doing a delicate dance, hanging right off the edge of the tray. On the regional jet I’m on now, even first class doesn’t have a tray big enough for the Surface. With a normal laptop, I’d just angle the screen up to give myself more space, but the Surface Pro only has one angle. It’s inevitably the wrong angle.

Other small (?) problems: the battery life is a joke, lasting me three hours at best. (In comparison, when I take my MacBook Pro or my iPad to client offices for all-day meetings, I don’t bother bringing my power adapter.) The Surface Pro gets hella hot for a tablet, hot enough that I thought twice before putting a Gelaskin on the back. The Pro has a Micro SD card slot rather than a real SD card slot, which means I can’t take memory cards straight out of my cameras and put them into the Pro to check out my pictures. Well, I can, but I’d have to replace my SD cards with Micro SD cards using adapters, and that makes the Surface Pro’s price keep inching upwards. And about that price – $999 for a tablet with no keyboard? Really? And another $139 for a keyboard? I thought Apple was supposed to be the expensive vendor. These are all minor problems – but they add up like the Surface’s Pro’s price.

Overall, though, it’s a heck of a good frame – but you can’t judge frames by themselves. So how does the Surface Pro act when we put pictures in the frame?

When Metro/Modern is the Picture

Microsoft revamped the Windows 8 user interface with Metro/Modern, a simple, clean tiled desktop that first appears on bootup.

Surface-Pro-Metro

Slide through the tiles, click on the app you want, and the Surface Pro’s operating system fades into the background and it becomes a good frame, just like the iPad.

But that’s where the problem starts: there just aren’t many good Metro apps. There aren’t even many passable ones. Even Microsoft’s built-in Metro apps, like Mail and People, suffer serious drawbacks. Let’s start with something simple: listening to music with the Metro Music app. I’ve copied MP3 files onto a Micro SD card because I want to listen to music on the plane, and I don’t want to use up the precious space on the 128GB onboard SSD. I’ll just fire up the Music app and play things from that folder:

File Explorer - The Hot New Music Tool!

File Explorer – The Hot New Music Tool!

You’re telling me that to play music, I have to leave Metro and go into the legacy File Explorer? Alright, I guess. Let’s give it a shot:

I can't go for that (no can do)

I can’t go for that (no can do)

So I can use Micro SD card slot to copy things onto the Surface Pro’s precious little 128GB SSD, but I can’t actually use it for music? The only way I can play a external folder full of music is to use the desktop Windows Media Player, hit control-O to open files, navigate to the folder, add them, and click Open. I have to remember that I can’t use the Metro UI to play my external music – that only works on Sybil’s desktop side. UPDATE@spindriftpages points out that you can make symlinks to fool Windows into using the external drive for music when you’re on the road. Obviously not something most users are going to think of, and they shouldn’t have to.

Thankfully, when there’s not a good Metro app, the Surface Pro can still be a frame for all your favorite legacy Windows apps.

When The Legacy Desktop is the Picture

In theory, the great thing about the Surface Pro is that it’s a frame for your tried-and-tested apps like Microsoft Office, Visual Studio, and SQL Server. In practice, the 10″ 1080p touchscreen is a horrendous frame. Take the brand-new Office 2013:

You can't touch this (well, at least not accurately)

You can’t touch this (well, at least not accurately)

How am I supposed to accurately touch anything – especially as small as the down arrows next to the charts? Forget using your finger – most of the time, the touch targets are way too small. Every time I interact with any desktop app on the Surface Pro, I have to make a decision: should I use my finger as a pointer, pick up the stylus to use as a pointer, or, if I’ve got the keyboard clicked in, should I revert back to the touchpad? This sounds like a First World Problem, but once you’re used to simply interacting without thinking, this becomes horribly annoying. Constantly asking yourself, “What should I use right now to interact with the screen?” gets old fast.

It gets worse the instant you start using other applications. Take Microsoft SQL Server 2012:

SQL Server Management Studio

SQL Server Management Studio

SQL Server users will instantly recognize that the dialog isn’t supposed to look like this – it’s a hot mess.

The problem stems from how Microsoft chose to handle the Surface Pro’s 1080p screen. Years ago, when Apple rewrote the way OS X handles display resolution, they made a smart bet. They saw the increased pixel density coming, and as a result, apps work much better on very high resolution screens like the MacBook Pro’s Retina display. Microsoft didn’t make that bet, and it shows big time on the Surface Pro. It’s too high of a resolution on too small of a screen, and Windows isn’t built for high DPI screens.

Microsoft scales up some parts of applications, but not others – resulting in dialog boxes you just can’t use regardless of whether you’re using the stylus, the keyboard, or the finger. I end up using the finger very often, and not to touch the screen, either. It gets worse when you hook up an external display – even unabashed Microsoft cheerleader Paul Thurrott gripes about the problems:

“So while the Surface Pro’s 1080p screen looks OK at 150 percent scaling, when you duplicate or extend or replace that screen to a second display, like my 27-inch Planar monitor, which also runs at a native 1080p resolution, it looks terrible. Onscreen elements are now gigantic, and the Windows desktop looks like a Fisher Price toy.”

The Awkward Act of Switching Pictures

The Surface Pro’s beautiful screen is handicapped by the poor picture decisions. Metro apps work well on the screen – but there’s not enough of them. Desktop apps fill in the gaps, but they work horribly via touch. As the Metro app selection grows, you’re going to be switching back and forth via both Metro and legacy desktop. But you might have to do that even if you only use one half of Sybil’s personalities, because Microsoft’s own settings even require switching back and forth.

This one frame is expected to do double-duty, hosting both Metro apps and legacy desktop apps – and it fails miserably pulling off both personalities at once. Take something simple – editing a Markdown text file. I’m writing this blog post using MDown, a Metro app for Markdown. Markdown is a simplified WYSIWYG text editing platform that I’ve grown to know and love.

However, when I go into the desktop and double-click on a Markdown file:

What is this markdown of which you speak?

What is this markdown of which you speak?

The Surface Pro acts as if it’s never seen a Markdown file before. Even though I’ve got MDown installed on this Surface Pro, AND I CREATED THE FILE ON THIS SAME DAMN LAPTOP, I made the unimaginable mistake of trying to access the Markdown file via the desktop Windows Explorer – which has no concept whatsoever of Metro apps. This is utterly unthinkable for a productivity device.

What happens in Metro, stays in Metro.

Using Windows 8 on the Surface Pro becomes a frustrating guessing game. If you can’t find what you want, you should probably try over in The Other Side of the Operating System. Tried using Microsoft Update to update your Microsoft apps? Ah, no, that doesn’t work – you have to switch over to Metro, then go into the Windows Store, and hit update from there. You’ll learn to swing both ways.

UPDATE 5/17 – Commenters have suggested that maybe MDown didn’t register extensions. Sure, but then how come MDown (and all other Metro apps) are missing from the application dialog below? This comes back to Sybil’s split personality – Metro apps don’t show in Sybil’s desktop side.

Missing MDown and Metro Apps

Missing MDown and Metro Apps

The Verdict: Beautiful Frame Around Microsoft’s Homework

The Surface Pro is a wonderful frame. Oh, sure, it’s not perfect – the battery life sucks, the frame gets hot, the fan is annoying, the magnetic power cable isn’t magnetic enough, the 16:9 screen is awful for a tablet, and the kickstand isn’t adjustable. It’s overpriced, especially for a Windows machine with just 4GB of memory, 128GB of storage space, and no cell modem. But in today’s market, the hardware can legitimately compete with the iPad as one of the best frames out there.

The picture just sucks. It’s not passable – it’s not even acceptable – it just outright sucks. It’s Microsoft’s childish homework that really belongs taped to a Seattle fridge, not a public gallery.

If you’re an app developer, then it’s a frame around your own homework. The Modern UI app situation is dire, and it’s up to you to make it better. However, if I was a developer, I’m not sure I’d focus my limited time on the Windows 8 app store. Windows consumers are already used to buying good apps directly from developers via the web – why introduce a middleman that slows down your application release process? Sure, there’s an incremental revenue gain if you can get a good app into the Windows app store, but why not just release a desktop app and get exposure to everyone?

And when it comes to conventional desktop apps, the Surface Pro is the wrong pixel density: a touch-sensitive 10″ 1080p screen simply doesn’t work for legacy applications. Touch targets are too small, and you keep clicking the wrong thing.

If you’re only going to use Metro apps – few as they are – get yourself a Windows Phone.

If you want to use legacy apps, get a laptop with a 10″ 720p touchscreen, or a larger (13-14″) 1080p screen.

But I’m Keeping Sybil Pro for Now

I bought the Surface Pro to use as a backup laptop: a secondary presentation device in case my main laptop bit the dust. I make a living teaching people via PowerPoint. For a long list of reasons, I can’t really switch presentation tools, and the iPad doesn’t cut it as a secondary presentation device. The Surface Pro does. It runs Dropbox to sync my presentations and client files, it runs PowerPoint just fine, and I can do email on it in a pinch. The Surface Pro isn’t my favorite device for any of those tasks, but as a backup (or perhaps even as a primary travel device), it gets the job done.

If it wasn’t for the resolution problems, the Surface Pro would be an amazing presentation device. I love love love being able to draw on my PowerPoint slides whenever there’s a question that requires some sketching. However, I cringe when I have to do SQL Server demos on it – I never know which screens are going to look okay, and which ones will be unusable (like the restore-databases dialog).

If I could put up with the Windows 8 frustrations on my primary desktop, my travel bag might just have two Surface Pros in it. For now, though, I’ll stick with my MacBook Pro Retina as my primary, and the Surface Pro will ride shotgun. I still love OS X as a primary productivity setup.

Sadly, Sybil can’t even displace the iPad as my secondary laptop bag resident during the flight. Sybil will stay in my overnight bag because she’s absolutely miserable to use on a plane. I was hoping I could work on SQL Server demo scripts while in the air, but the horrendous touchscreen problems and the single-setting kickstand make it unworkable. (I just tried again and gave up in frustration.) For me, the Surface Pro is just an expensive insurance policy; it gives me peace-of-mind that I can do my presentations and (possibly bad) demos if my MacBook Pro dies during a trip. I can’t imagine there’s a lot of consumers willing to burn $1200 this way. Even worse, a MacBook Air would accomplish the same goal for slightly less money – plus allow me to carry one set of AC adapters that do double duty for either device.

And now if you don’t mind, I’m going to shut this down and switch to the iPad. I want to get some Ridiculous Fishing in before we land.

Why sp_Blitz™ is Free

Posted on by Brent Posted in Blog Posts | 2 Comments

We give away sp_Blitz™, a totally free health check tool for Microsoft SQL Server. It looks for all kinds of common reliability and performance problems and gives you a prioritized to-do list.

The number one question I get about it – by far – is, “Why do you give it away for free? Why don’t you charge for it?”

Free Beer vs Free Speech

We need to start by considering the word free. In the software world, there’s two ways to look at it. The Wikipedia article on Gratis versus Libre sums it up well:

Gratis versus libre is the distinction between two meanings of the English adjective ”free”; namely, “for zero price” (gratis) and “with little or no restriction” (libre). The ambiguity of “free” can cause issues where the distinction is important, as it often is in dealing with laws concerning the use of information, such as copyright and patents.

I can give you a free beer once, or perhaps many times. However, you may not get the recipe to my beer, and I may decide at any time that I no longer want to give it away.

sp_Blitz™ is Free Beer

We’ve copyrighted and trademarked sp_Blitz™ because we want to maintain ownership of it and protect the work we’ve put into it.

Nightmare scenario: a software tool vendor sees sp_Blitz™ and says, “Wow, this is awesome! We’re going to integrate this into our own tool so that it displays the sp_Blitz™ results, and we’ll say POWERED BY THE BLITZ on it so people will know it’s good. Except we’re going to change sp_Blitz™ a little – we’re going to take out some of the checks, and we’re going to add a few dubious ones, and we’re going to take out all of the references to BrentOzar.com.” Ouch. Not cool.

Gray area scenario: a blogger sees sp_Blitz™, likes it, and decides to put a copy of it on their site for free download for their readers. It starts getting search engine traffic, and next thing you know, people are clicking on that link, downloading their version, and not understanding that it’s really old. Maybe it’s got an ugly bug that causes problems. (Hey, who are we kidding – it’s mostly my code, so it very definitely has bugs.) We have no idea that someone else is hosting an old version, and it’s doing more harm than good.

This might sound far-fetched, but I know another blogger who’s experienced this exact problem. He wrote a web site with a lot of good educational content about SQL Server, and then he sold the web site. The buyer runs ads on the site, making money off it, but can’t be bothered to update the content. As a result, some of the advice on the site is now just plain wrong, and it’s spreading bad knowledge amongst new DBAs who don’t know about the site’s new ownership.

To protect ourselves – and by “ourselves” I mean those of us who work with SQL Server – we copyrighted and trademarked sp_Blitz™. We don’t allow other sites to distribute sp_Blitz™ because we don’t want to worry about a dozen different versions scattered all over the Intertubes. (This also explains the continuous ™ marks all over the place – the lawyers make me use that whenever I mention sp_Blitz™. Never thought I’d memorize the keyboard shortcut for that – on the Mac, it’s alt-2.)

But Why Give Away sp_Blitz™?

I don’t want to get paid to solve easy problems. I don’t want a client to schedule us in advance, get all excited, and then have us find out in the first five minutes that they’ve got auto_shrink turned on and it’s killing their performance. Sure, it feels good to get an easy win, but … that’s not really fair.

Nobody should have to suffer through poor performance just because somebody accidentally turned on a switch they didn’t understand. I want everyone to be able to run sp_Blitz™ and find out if their fly is unzipped without having to call a consultant. Heck, I wish SQL Server Management Studio ran sp_Blitz™ on a server every time it connected, and then showed big flashing red lights for dumb stuff like auto_shrink.

We give it away because we want people to find the easy problems on their own. We want them to look at the results, see our links to our site for friendly, helpful explanations of common problems. We want you to watch our free training videos explaining how to fix those common, easy pain points.

Then, down the road, when you run into a really challenging problem – something that really does require a Microsoft Certified Master or an MVP to solve – then you’ll call us. You’ll already know how we identify problems and give easy solutions, and you’ll trust us with your SQL Servers because you’re already relying on our scripts. You won’t email me today or tomorrow, or maybe not even this year, but this isn’t a short-term bet. I’m very bullish on the community for the long term.

And it works – you’d be surprised how often I hear, “We’re having performance problems, and we’ve fixed the obvious stuff from sp_Blitz™, but now we need something deeper.” Giving easy fixes away for free brings in consulting business. However, if I charged anything for sp_Blitz™ – even just $1 – it wouldn’t get word-of-mouth advertising.

It’s tempting to look at the download numbers (approaching 20k) and think, “If I just charged $5 per download, I’d have $100k, and I could buy that Porsche 911 I’ve always wanted.” Not so – by charging for it, I instantly change the game. People expect support for paid software. People rarely offer to contribute code for paid software. People complain about paid software. I don’t like complaints.

Besides, if I give it away for free, it doesn’t take a lot of consulting engagements to pay off $100k. I see sp_Blitz™ as kinda like a sponsored charity: companies pay me to improve sp_Blitz™ for the public. The more I improve it, the more companies pay me, and the more I can improve it again. It’s a wonderful cycle, and that’s also why I copyrighted and trademarked it: I have to protect that cycle. As long as I can nourish and grow sp_Blitz™ for the public, it’ll continue to pay for itself.

Could sp_Blitz™ Be Open Sourced?

To make that cycle work, companies have to contact me for consulting work once they’ve exhausted sp_Blitz™’s answers. To encourage that, sp_Blitz™ includes more-details links that point back to educational pages on BrentOzar.com. DBAs see those links, read the content, and say to themselves, “When we’re in trouble, I’m going to call these people first.”

To maximize my chances of making that work, I want to maintain control of the more-info links in sp_Blitz™. I prefer that they to point back to BrentOzar.com, not Books Online. We looked at putting it into Github so anybody could check in improvements, but then they could fork the repository and make their own version without giving us any credit. In a perfect world, I’d let anybody contribute to the project quickly and easily (while still protecting our rights). I’m not sure how to get there from here, but I keep looking to see if I can find a way.

Followup on the @DBAReactions Experiment

Posted on by Brent Posted in Blog Posts | 3 Comments

Database administrators are lonely. In most companies, there’s only one DBA, and nobody else really understands the job duties. We don’t have anybody else we can talk to about the crazy things we run across. I think this is the biggest reason there’s such a vibrant SQL Server community on Twitter - we’re looking for other people who understand us.

This January, Jeremiah turned me on to DevOpsReactions.tumblr.com, and I was hooked. DevOps is a new hybrid job, a cross between developers and system administrators. Like DBAs, they’re an unusual profession with very different challenges than most of their coworkers.

I knew what I had to do.

I started DBAReactions.Tumblr.com and set up logins for Jeremiah, Jes, and Kendra to contribute. The images & captions came fast and furious, and almost immediately we’d written a couple of weeks’ worth. I figured it was a fun experiment just to see if other people would enjoy seeing our take on common DBA problems.  I kinda soft-launched it just by retweeting a few of @DBAReactions’ tweets, and people came in droves:

dbareactions-visits

The bump in early February is from our blog post announcement and it hitting Reddit.

Boy-That-Escalated-Quickly-Anchorman

I wasn’t expecting that many people to find it funny – after all, I think we’ve got kind of a wacko sense of humor. The site’s already got a strong following on both Twitter and Tumblr.

The real shocker was the number of pageviews. When people visit the site, they VISIT THE SITE, going through 5-10 pages of gifs at a time. On any given weekday, it gets 5-8,000 views:

dbareactions-pageviews

I shared those numbers with a couple of my friends who work in marketing, and their first words were, “Wow! How are you going to make money on that?” Hey, not everything is about money – sometimes it’s just about having fun, and this is a hell of a lot of fun. When I sit down to write these on weekend mornings, I look up at the clock and realize two hours just disappeared. It’s a great way to blow off steam and share the strange life of database work.

I’ve set some restrictions on what I write. I try to keep it database-independent so that a DBA on any platform will get a laugh out of it. While I take a lot of pot shots at SAN admins, VMware admins, and developers, I try to keep it in good fun. Tumblr restricts images to around 1MB max, so that cuts the gif potentials somewhat. Maybe the toughest restriction: I try not to use gifs with obscenities. Sure, the f-bomb is funny in the right circumstances, but I want people to be able to forward the site around via email without worry. Other DBAs have sent in their own suggestions, too. Feel free to email yours to Help@BrentOzar.com and we’ll add ‘em to the queue.

Pick a Needle and Move It

Posted on by Brent Posted in Blog Posts | 4 Comments

Employees have one job: move needles.

geckoboardCompany executives track their most important metrics using dashboard graphs like the example at right from Geckoboard.  The VP of Sales, the Chief Financial Officer, the Board of Directors, or anybody else with a fancypants title can all name their top 2-3 key metrics, what the numbers are today, and where they need to be.

Your job – no matter what you think your job title is – boils down to these 6 things:

1. Figure out who you need to impress.  If you’re just getting started with this technique, odds are your direct manager doesn’t actually have any needles set up yet.  You might have to leapfrog several people to pull this off.  I’ve just grabbed people after a status meeting and said, “Hey, I’m sure you’re busy. Can I walk with you to your next meeting and ask you an easy question? Great, thanks.”

2. Find out what their needles measure.  While you’re walking with them, ask, “What are the 2-3 key metrics that mean the most to your department?”  Memorize them, repeat them back to confirm that you understood their names, and then thank them profusely for their time.  Don’t ask how the number is calculated unless you’ve got a really long walk with them – you want to show that you value their time, and you’ll do the research yourself.

3. Find out how to move one of the needles.  Do some Googling to understand how the metrics are calculated.  Write out the full definition, and if possible, try calculating the value yourself.  Does the company have any dashboard or reporting systems that show the needle?  How often are they updated?  How have they been trending lately?

4. Move one of the needles.  This one step has whole books written about it, and I won’t explain that here.  Make the magic happen.  Don’t think “this needle isn’t my job” – it may not be written in your job description, but if you move the right needles, you get raises and bonuses.

5. Prove that you moved it.  Document what you did to move the needle and the effect it had.  For example, at one point, my boss’s boss was starting to freak out about the number of rack spaces left in the datacenter.  If he couldn’t get that needle under control, we faced a very large expenditure to add datacenter space, and that would have moved a whole bunch of needles in the wrong direction.  I undertook a SQL Server consolidation project to cut the number of servers we had in the datacenter, and every time I pulled a server out, I took a picture of our team joyously removing it.

6. Share the proof with the person from #1.  It ain’t bragging if you can prove it.  When my consolidation project finished, I wrote a PowerPoint presentation to the executive showing how I’d personally increased the number of available rack spaces by X%.  That presentation got forwarded around to other executives and departments, and I was lauded as part of the solution rather than part of the problem.  My manager thanked me for being able to translate business needs into IT tasks and delivering value.  Blah blah blah, right?

Remember – every day, you’re already making one needle worse: salary costs.  While you’re patting yourself on the back for meaningless busywork, other people are tracking the year-to-date salary needles.  Every day, that needle raises.  Make sure you’re changing enough other needles to justify that metric, or else you’ll find someone fixing the salary needle problem.

If you find yourself learning things just out of curiosity or to do an even better job of what you’re already tasked with, then that’s a good sign that you’re too comfortable as an employee.  Us IT people are really susceptible to the “ooo-look-a-shiny-new-incremental-improvement” syndrome.  We focus on polishing our skills just a little bit more, sharpening our knives, and making ourselves 10% more efficient.

In many shops, your boss (and your boss’s boss) don’t need you to be any more efficient.  They don’t measure your efficiency, and you’re not really going to influence the IT human resources cost needle.  If you can suddenly manage 10% more servers with your snappy script, they’re not going to lay off 10% of the staff, and they’re not going to magically create 10% more servers just because you’re more capable.  They’re going to give you more servers when they need to, whether you’re ready or not, and they’re not going to reward you based on your effectiveness with those servers.  (This is why I get so frustrated with the “drop everything and learn PowerShell” guys – they’re not usually moving business needles unless they work in 1,000-server shops.)

The needles I see IT executives staring at most often are IT hardware, licensing, and hosting costs.  If your management has been making noises about the cloud, it’s because they’re finally hearing an interesting solution that might move business needles.  Sure, you might not think it’s the RIGHT solution, but the ball’s in your court.  I bet you’ve got better ideas on how to consolidate servers, virtualize old ones, switch to cheaper licenses for expensive products, and other ways to easily save money.

You think they won’t listen to you, but you’re wrong.  They will, but you have to use the same techniques outside vendors use in order to get your point across.  Build a PowerPoint deck talking about how your idea can save the company money.  Get a meeting with people who can pull the trigger.  Act like a vendor, but instead of handing over a check to some stranger in a suit, you want them to hand authority to you – and maybe even a bonus afterward.

It’s time for you to pick a needle and move it.

1 2 3 4 5 6 7 8   Next »