Categories
Programming Tech Trends

The Desktop Strikes Back

I was surprised and delighted by Microsoft’s introduction of the Surface Pro 4 and and Surface Book. I have a feeling that Microsoft is doing something really interesting: Bringing back the general purpose personal computer. Wait, wait, I know what you are thinking! It’s all about the phones and pads and the Internet of things! I get it! I’m not some old guy pining for the days when PC were king and 640K RAM was a luxury. Well, actually, I am that old guy. But I have not personally coded a desktop app, native or web, since 2010. Everything thing I do for work or play is meant for mobile devices. I’m usually the guy in the conference room saying “We need to focus on Mobile!” and “kids today don’t even know what a desktop is.”

But Microsoft and some of the recent changes to Mac OS X in El Capitan are making me think there is some life yet left in the PC.

While Apple is targeting coffee shop-consumers by making MacBooks  lighter but less powerful or targeting highly specialized markets with high-resolution workstations, Microsoft has reminded me that there is a vast middle in this market. And that middle is still mostly using desktops that run Windows. There hasn’t been growth in the middle for a while but then again there hasn’t been much product to spur growth.

Every year I want to buy a new phone. I swear have every iPhone model in a drawer starting with number 3. But buying a new computer is something I do only when I absolutely must. There just isn’t any reason to upgrade a contemporary desktop or laptop. And looking at where Apple and Dell and other PC manufacturers were going it seemed to me that PC were just getting specialized. The middle ground was a nomad’s land of crappy plastic slow PC encircled by ultra-lights and gaming rigs.

A while back I bought a Surface Pro 3 with it’s pen, keyboard cover, and Windows OS. I found it… interesting. A had to pair it with an Apple Wireless Bluetooth Keyboard to get a decent typing experience. And Windows 10 is still a little rough. Ok, Windows 10 is a lot rough. And confusing. But it getting better.

I feel a great nostalgia for all things from the original Bill Gates/Steve Jobs era. I will probably end up acquiring a Surface Pro 4 or a Surface Book. I’m pretty sure either of those products will not displace my iMac 5K as my go-to general purpose computer for coding, blogging, podcast editing, and cartooning. (Everything else I do, I do on my iPhone.)

But heck, I want Microsoft to win here and bring the PC back to the forefront of the consumer electronics revolution. So here are five suggestions or tips for MS that would have me running to the Microsoft Store as if they were selling Tesla Model Xs at a deep discount!

Tip 1: Really rethink Windows and the UX of a desktop operating system.

I know MS got in trouble for removing the Start Menu. But seriously: There is no Start Menu in Mac OS X or iOS because for the most part the whole operating system is the Start Menu. Go back and look at the Xerox Star if you have to. Don’t try to mask complexity with a handful of easy-to-use screens hiding the real OS. When I worked at Apple we had a saying: “Every pixel counts.” It’s clear to me that on Windows some pixels count more than others.

Tip 2: Bring back desk accessories

I know that both Apple and Microsoft have failed at providing consumers with a library of little single-purpose applets that share the desktop with the bigger multipurpose applications. But, as guy who once wrote a mildly popular Yahoo Widget, there is real consumer value in DAs. I think the original Mac OS and PC DOS got it right: Apple’s Desk Accessories and Borland’s Sidekick provided little utility functions that were easy to access, simple to use, and fast to summon and hide. By contrast Apple’s Dashboard Widgets and Microsoft’s Desktop Gadgets were slow and clunky. These decedents of the desk accessory were too ambitious and missed the whole point. I want “info at my finger tips.”

Tip 3: Fix the menu bar or retire it

I was so excited when Mac OS X El Capitan enabled me to hide not only the taskbar but the menu bar as well. I hate the menu bar! It’s usually a dumping ground for every feature of an app randomly arranged. Long ago the menu bar had a formal structure. It was drilled into my head as a young software developer that menu titles were nouns and menu bar items were verbs. If I had a document menu then all the menu items were the operations that could be performed on documents. But right from the get-go both Apple and Microsoft ignored that simple and powerful idea. Almost all Windows and Mac apps have separate “File” and “Document” menus. I know that files are those objects that computer applications store data into but we tell consumers to call those things documents. Everyone is confused. And then there is the universal “Edit” menu which should be called the “Selection” menu. This might seem like small potatoes but I’ve learned trivial details are the stumbling blocks that kill product adoption.

Tip 4: Make the desktop a first class entity

Most flavors of Unix are doing the Desktop right and Apple and Microsoft are starting to get clued in. It should be very easy to set up and arrange windows on a desktop and have them stay that way for eternity. Like really forever and definitely between restarts and system updates. Adobe understands this and gives each of its apps a layout manager that allows artists to personalize and save their workspace. Context is everything. Humans are dumber in unfamiliar contexts and smarter in well known contexts. A desktop is really just a context of virtual objects. I think phones are easier to use, not because they are better designed than PCs, but because they naturally just have one context, one screen, at a time.

Tip 5: A list of five more tips

Bonus round!

  1. Don’t go too far trying to make the desktop UX the same as the mobile UX. They are two different use cases. Shortcut keys, content menus, and over lapping windows are great features and can’t really be replaced by gestures, hard presses, and split screens.
  2. Bring back BASIC or Hypercard or some kind of programming environment intelligent non-computer scientists can utilize to create real apps on their own. It’s not about workflow automation. Do not copy Apple’s lame Automator or evil AppleScript.
  3. Clean up your Windows Store. Be even more picky than Apple. Keep out the spam, copy cats, and useless garbage. But make sure users can continue to download and install non-certified apps. I know it’s risky but it’s also capitalism.
  4. Reactivate Windows third party developer base, not by enabling quick and dirty ports of websites into Windows apps but by continuing to empower and simplify and open Visual Studio. I went to one of the very first Windows developer events in Redmond in the early 90s. I got to shake Bill’s hand. I’m sure he doesn’t remember me but I really wanted to write Windows apps after that.
  5. Continue to revive and refine the general purpose personal computer that is great for everything and works for everybody. I don’t want or need a workstation. I do want to get a lot of work done. Instead of thinking like Apple, think like the Microsoft that re-packaged and made affordable the hoity toity graphical user interface in an open system for schools, small businesses, and nerdy kids.

Even if Microsoft succeeds with the Surface Pro 4 and Surface Book, the PC market will most likely continue to look to Cupertino and Redmond steal marketshare from each other. But unlike smart phones, pads, and household items with embedded microchips, PCs are programable–by users. And that is something worthy of a battle with the Empire.

Categories
Nerd Fun Product Design

Surface Pro 3: Patience is Rewarded

I recently acquired a Surface Pro 3 during a Black Friday sale from a local Microsoft Store. I knew I was in for a challenge but I was up for it. I’m from the generation that witnessed the rise of personal computing in the late 20th century from clunky calculator-like boxes with tiny displays and obscure software commands to modern sleek slates of glass and metal that are all display and responsive to touch and voice. It’s been a fun ride and part of the thrill was trying to figure out how to get anything useful out of the ever evolving personal computer. Quite frankly I’ve been a bit bored with modern iOS and Android devices. Well designed and rapidly becoming indistinguishable, my iPad, iPhone, and Android phone pretty much work as expected and do no more and no less then their makers intend.

I’m also a little worried about the future of the general purpose personal computer. The biggest game changer in my life has not been the ability to play games, write blog posts, or edit movies on an affordable computer. It’s the ability to write computer programs that create games, blogging systems, and multimedia editors that has given me a community, confidence, and a livelihood.

PC sales have been and continue to be in decline. To fight this decline Apple and Microsoft are making their PCs more like tablets with keyboard: sealed boxes with safety belts and airbags that keep users from getting into trouble–like installing botnets or mining bitcoin.

In another five or ten years the general personal computer that can compile and link C code into a tool or application might be a thing of the past. Computer engineering might require expensive development systems and a University education. That’s were we started in the 1960s. The web, the apps, and the games that we use everyday have only been possible because kids, with little money or training, have been able to purchase a general purpose personal computer and start hacking around. For me, and millions like me, exploring the capabilities of a personal computer is like going on a hike. It’s fun and there is no other purpose then to do it. Software like Facebook, Flappy Bird, and FileMaker are just side effects.

So I bought a Surface Pro 3, which is a real PC that looks like a tablet, and put my MacBook Air aside. I’ve spent the last few weeks figuring it out. I’m not quite there but I’m having a blast as I try to relearn basic computer skills, discover its limits, and find workarounds for it’s bugs and so-called features!

Below are some of my field notes:

  • The Surface Pro 3 is a real computer and a tablet combined. It’s light enough to use as an ereader but powerful enough to code with. It’s also powerful enough to play serious games, edit images, and do anything a modern laptop can do. It’s not a desktop replacement but it’s close enough for me.
  • The Surface Pro 3 is still a work in progress. There are many good ideas but either they aren’t implemented well or they should be reworked. Let’s look at a few examples:
    • The Type Cover, which is a full keyboard and cover combined, is an awesome idea but feels flimsy on my lap, makes too much noise while typing, has to be physically connected, and is awkward when you don’t need it but want to keep it handy. The little track pad on the Type Cover is terrible, not needed, and makes the text cursor bounce all over the screen. Luckily you can turn it off! You won’t miss it!
    • The Windows 8.1 user interface works pretty well with a finger or a pen, but there are a few major problems when editing text with Google Chrome as the web browser. With the Type Cover connected a finger tap brings up the touch keyboard and obscures the lower third of the screen. The touch keyboard goes away on its own when you type on the Type Cover but it breaks your concentration.
    • Your finger is all you need if you are not drawing except when it comes to small icons and so-called left mouse clicks. I’ve got enough motor control that only the smallest of icons and buttons are inaccessible to my index finger but I can’t execute some left mouse clicks without a pen (or mouse) on the Surface Pro 3 with Google Chrome. Windows 8.1 maps a long-press to the left click but it doesn’t work for spell checking. As a terrible speller I need that popup menu of spelling corrections!
  • Windows 8.1 is a work in progress as well! It poorly combines the the user experience of Windows 7 with a touch interface. The results are confusing and inconsistent:
    • There are two system control panels and it’s not always clear where a setting will show up.
    • If you are not connected to a wireless network the Windows 7 part of the interface tells you that “no networking hard is detected”. But all you have to do is touch the little signal bars icon on the task bar and a list of wireless networks appear.
    • The Windows 8.1 start screen wants to replace the Windows 7 start menu. But the start screen feels like a disordered Mondrian painting. My advice to Microsoft: go back to the usability lab. Nobody uses Apple’s app launcher either. We use the task bar and the Finder.
  • The best feature of the Surface Pro 3 for the practicing coder is that you can install and run real development software like Node.js, Ruby, Git, Sublime, Vim, Emacs, C, and other UNIX-based tools. Many of these tools have Windows equivalents and others run well via Cygwin and Msys. Cloud 9, the web-based IDE for web apps also works fine with the Surface Pro 3 via Google Chrome. The HipChat client really needs a UI update but does it’s job so you can chat with your fellow engineers.
  • I’ve download the open source version of Microsoft’s Visual Studio and runs very well on the Surface Pro 3. I’m not a Windows developer (any more–the last time I developed with Windows was Windows 95!) but I’m impressed with Microsoft’s adoption of JavaScript as a primary programming language. I formally forgive Microsoft for JScript.
  • In my spare time I like to draw and paint with my computer and I’ve found that the Surface Pro 3 runs Abode Photoshop and Clip Studio Paint (Manga Studio) very well. It has a few minor problems distinguishing a resting palm from a touch but the pressure sensitive pen is as good as a Wacom tablet.
  • If you need to use the Microsoft Office, the Surface Pro 3 and Windows 8.1 is excellent at it. I know this isn’t cool but my favorite word processor is Microsoft Word. The Office apps simply don’t run well on a Mac and are missing important features. The one aspect of my MacBook Air that I don’t miss is struggling with Microsoft Word 2011!

So there you have it. If you enjoy a challenge and being different and have the patience to put up with some annoying bugs then the Surface Pro 3 might be for you. It’s more realistically usable than a ChromeBook but far from the antiseptic polish of a Macbook.