Rockford Lhotka

 Wednesday, July 11, 2012

In a word: yes.

My post is spurred by discussions I’ve had around this recent article:,16190.html#xtor=RSS-998

And my post is motivated by the fact that I’ve had an i5-based Windows 8 tablet for a few months now, and have direct experience with the idea of using a tablet as a desktop/laptop replacement.

First, understand that I have:

  • A tablet with an i5 CPU, a decent GPU, 4 gb RAM, and an SSD
  • A docking station for the tablet with USB and HDMI ports
  • A bluetooth keyboard
  • A bluetooth mouse

On this tablet I have installed:

  • A variety of WinRT/Metro style apps
  • Office 2010
  • Visual Studio 2012
  • Expression Blend
  • Microsoft Lync
  • DropBox and the Win7 SkyDrive client

Second, understand that I also have a high-end desktop (for dev work and gaming), and an i7-based laptop for dev work. The laptop is also running Win8, and the desktop is still Win7.

Third, I’m a big guy. I’m 6’5” tall, with broad shoulders, and big hands. Netbook keyboards are a joke, nearly useless. Normal laptop keyboards cause me great wrist, arm, and shoulder pain. Only Microsoft Natural keyboards allow me to type for any length without discomfort.

Given that background, here’s my normal usage profiles.

My Home Office

I use my desktop for most things, because it is all set up with a Microsoft Natural keyboard and multiple monitors. It is just comfortable, and all my games are installed on this machine, as is VS10 for work on .NET 3.5 stuff.

Also I’m a gamer, and I have a friend who custom-builds my desktop computers. So I always have a top-end dev/gaming rig for a fraction of the cost to get a comparable laptop. And I have yet to see anyone talking about a “gaming capable” tablet – not at the level of gaming oriented tablets or desktops. Were there to be a tablet that could run Battlefield 3 at high res and no lag, AND without me needing a second mortgage on my house, I’d consider getting rid of my desktop.

My Magenic Office

I use my laptop (Win8) for most things, because I have a nice docking station connected to multiple monitors and a Natural keyboard. My laptop also has Office, VS10, and VS12, so I can do whatever work I need, plus it has a variety of WinRT apps that I use on a regular basis (mostly the same apps as on the tablet).

I could use my tablet instead, but the Dell docking station for my laptop is somewhat more convenient than the docking station for the tablet. This is because I carry the tablet’s docking station with me everywhere. If I bought a second docking station to leave in my office then I’d probably just use the tablet instead of the laptop.

On the road

When I’m on the road there’s no access to a Natural keyboard, so I have wrist, arm, and shoulder pain. This is true with my laptop keyboard and the bluetooth tablet keyboard. They are both too small for me, but it isn’t realistic to carry a “real” keyboard around everywhere. So I put up with the pain and minimize the amount of typing work I do while traveling. Tai Chi helps too.

Over the past few months, I have taken to only carrying my tablet while on the road. Because I avoid doing extensive typing on the road, I also avoid doing extensive dev work. As a result, the difference between the i5 tablet and i7 laptop is pretty immaterial, and the tablet is a LOT lighter and easier to carry. It is also a lot more useful on the airplane (remember, I’m a big guy – even first class seats often have too little room to open my big laptop).

In short, while on the road, my tablet has become a complete laptop replacement.

At conferences

The one exception to the tablet replacing my laptop while on the road is when I go to conferences. The problem here isn’t probably what you’d expect: it is a video projection issue.

The tablet has HDMI out, and its docking station has HDMI out. No VGA out at all. I do have an HDMI to VGA converter (from HP) that usually works, but not always. If the sole purpose of my travel is to speak at a conference, you can imagine that it is bad if my computer can’t project onto the screen.

So I lug my laptop around specifically because it has a VGA output jack. Sad but true…

So in summary, once companies and conferences have a reliable way to project HDMI video content onto overhead screens, I’ll have no reason to carry my laptop at all anymore when on the road. And if I bought a second docking station to leave at my Magenic office I wouldn’t need my laptop there either – so I wouldn’t need the laptop at all.

The desktop is harder to give up because I’m a gamer, and there’s nothing on the horizon that would allow me to play my games on an affordable laptop, much less tablet.

Yes, laptops are doomed – tablets will replace them over the next few years – of that I have little doubt.

Desktops aren’t entirely doomed – at least for gamers, CAD users, people doing graphics work, and other scenarios where cost-effective high-end hardware is required. But even today few people have only a desktop. Most people have a desktop and laptop – and in the near future I expect they’ll have a desktop and tablet instead.

For me, I’m happy that my tablet is now my primary work machine. It works great, and meets my needs for everything except high end gaming.

Wednesday, July 11, 2012 12:25:10 PM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Tuesday, July 3, 2012

While the punditry and others are fixated on whether users can adapt to (or even enjoy) the new Windows Start screen and other new UX features, they are missing the real point of Windows 8 and WinRT.

A couple days ago my reasonably computer-savvy son wanted to do some art work, so he downloaded Paint .NET. Or so he thought.

These days most software for Windows is downloaded via the web. And any reasonably popular software has malicious clones with domain names, web sites, and even installers, that look similar to the real thing. This is absolutely the case with Paint .NET.

So my son downloaded what appeared to be a valid installer, from a domain name that seemed reasonable. And just like that his computer was infected with a bunch of Yahoo crap, along with a bunch of real spyware and malware. He’s still trying to get it all cleaned up.

I’ve done the same thing, and I’m extremely computer savvy. Sometimes even the most savvy user gets suckered by a very clever bad guy.

WinRT apps only come from a store. The Microsoft Store, or a corporate “store”.

To get into the Microsoft Store, developers must be registered, apps are screened by Microsoft, and if anything malicious does slip through, the app can be removed/revoked from the store.

To get into a corporate “store”, your employer must choose to put the app into that store. It seems unlikely that your IT department will put apps in their own store that they didn’t create or acquire from a known vendor.

As a result, you can imagine a “Paint WinRT” app that is like Paint .NET, but that my son would have found in the Microsoft Store, and installed from the Store. Effectively zero chance of all the spyware, malware, and Yahoo crap that comes with so much of today’s software.

Now think of all the PC users around the world who will be able to actually find and install software without the fear we all feel in today’s world.

Sure, Win8 and WinRT mean accepting some change. But personally I am entirely ready to embrace that change to get the benefits offered!

Tuesday, July 3, 2012 8:30:53 AM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Monday, June 18, 2012

This is why I’m putting so much work into making sure CSLA .NET works great on WinRT!

Monday, June 18, 2012 8:19:29 PM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Monday, June 11, 2012

A co-worker of mine at Magenic is not only also a tabletop RPG gamer like me, but he’s working on a Google+ Hangout project to more easily play RPGs and other tabletop games with people from around the world.

To this end, he’s doing a Kickstarter

So if you are interested in this sort of thing, check it out and consider lending your support.

(As an aside for those who are interested, I’ve been playing tabletop RPGs since around 1979 or 80. Over the past 25+ years my group and I have developed our own gaming system, and have played in an internally consistent fantasy world. In game time we’ve spanned hundreds of years, and have told some wonderful stories. We’ve also played short bits in quite a few commercial gaming systems and settings, but we always return to our own system and world.)

Monday, June 11, 2012 1:03:17 PM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Thursday, June 7, 2012

I have put an early version of CSLA 4 version 4.5 (version 4.5.1) online. This is a stable alpha release that supports:

  • Microsoft .NET 4.5
  • WinRT Metro style apps on Windows 8
  • Silverlight 5

You can get it from the CSLA download page.

This version doesn’t currently support Windows Phone, mono, or Android because all work is being done using Visual Studio 2012. We’ll reintroduce support for those platforms as everything gets supported on VS12.

  • This 4.5 release has the same functionality as version 4.3.12, plus some functionality we’ve added only to 4.5. Most notably:
  • The .NET and WinRT data portal now supports the new async/await keywords through methods like CreateAsync and SaveAsync
        var obj = Csla.DataPortal.FetchAsync<CustomerEdit>(id);
  • The ViewModelBase class for WPF and WinRT now has an InitAsync method so you can await initialization of the viewmodel object
        var vm = await new MyViewModel().InitAsync();
  • Enhancements to business rule processing

See the 4.5 change log for more detail.

Because this is an alpha release, you should expect more changes as we improve support for .NET 4.5 (most notably ASP.NET Web Forms, MVC, and Web API), and for WinRT/Metro.

At the same time, this should be a reasonably stable release, especially on .NET where the platform is also stable. It is also reasonably stable on WinRT/Metro, though there are more changes involved there so there could be more bugs.

Please direct feedback to the CSLA forums.

Thursday, June 7, 2012 10:19:34 PM (Central Standard Time, UTC-06:00)  #    Disclaimer

The final release of a CSLA 4 update is now available (version 4.3.12) .

You can get it from the CSLA download page or via nuget.

One cool thing with nuget, is that (thanks to work by Johann Hough) the debug symbols are now available on a symbol server. This means you can step through the CSLA code while debugging if desired (and if you deployed CSLA to your project via nuget).

This release is an update to the previous version 4.3 that includes several bug fixes and a few new features. Most notably:

  • Fixed a concurrency bug with the data portal
  • Fixed a XAML data binding bug with the PropertyInfo control
  • Substantial bug fixes and enhancements to the Windows Forms CslaActionExtender control
  • Better exception messages when methods/properties can’t be found

There are others as well – see the change log for details.

Thursday, June 7, 2012 4:09:41 PM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Friday, June 1, 2012

Like a lot of people, I eagerly downloaded and installed the Windows 8 Release Preview (RC).

Like a few people, I was already running the Consumer Preview on my machines (tablet and laptop), so I just reimaged both machines with the RC. And I reused the same computer names for each machine – which seems pretty reasonable to me (but isn’t as it turns out).

Much to my surprise, I was unable to download any apps from the Microsoft Store. The failure message wasn’t helpful – it just said there was “a problem”.

After some tweeting and emailing with colleagues, I spent a couple hours trying random things to resolve the issue. Eventually I did figure it out.

The problem is that the store or gets confused when you connect using a fresh install of Windows where the computer has the same name as before the install.

In other words, I already had a ‘RockyTablet’ machine connected to the store and/or, and now I had a “new” computer with the same name connecting. This confused Microsoft’s servers, so they wouldn’t let me download anything.

There are two solutions.

  1. Give your computer a new and unique name
  2. Go to and remove your existing computer from the list of computers. To do this, click on the computer in the list on the left, and then click the subtle “Disconnect computer from SkyDrive” link near the top of the page. This apparently deregisters your computer with and/or the store and allows the store to start working

If your computer isn’t listed or registered with SkyDrive, I’m not sure what else you can do other than option 1. If there’s another way to find and remove a computer from I haven’t found it…

Friday, June 1, 2012 3:50:44 PM (Central Standard Time, UTC-06:00)  #    Disclaimer
 Tuesday, May 29, 2012

A beta release of a CSLA 4 version 4.3 update is now available (version 4.3.11) .

You can get it from the CSLA download page.

This is an update to the existing version 4.3 code that includes several bug fixes and a few new features. Most notably:

  • Fixed a concurrency bug with the data portal
  • Fixed a XAML data binding bug with the PropertyInfo control
  • Substantial bug fixes and enhancements to the Windows Forms CslaActionExtender control
  • Better exception messages when methods/properties can’t be found

There are others as well – see the change log for details.

I expect the beta period to last about two weeks, followed by a final release of this 4.3 update.

Tuesday, May 29, 2012 9:59:40 AM (Central Standard Time, UTC-06:00)  #    Disclaimer