Technology and Asshattery, Disrespect of a Different Sort

Late last week, rumblings began on the Internet of an issue that would explode within a week into a massive shit-storm of epic proportions. What is it? A piece of scumware installed on Lenovo computers that not only annoys you with ads in every place, but does so by installing a certificate that allows for Man in the Middle Attacks. If you have a Lenovo computer, you might just want to either take it back or blow away its OS for something clean.

I’ve mentioned a few things about respect and the lack there-of. But this takes the cake. Because they want to inject ads _everywhere_, including into your HTTPS traffic, they have poked a massive hole into your security framework and exposed you to scummy jerks out there who want your HTTPS traffic for lots more than just shoving ads in your face. Lenovo has put all of their customers in jeopardy, forcing them to either spend money to undo the damage or risk exposing themselves to threats on the web. And for what? To shove a crappy ad in your face? Lenovo saved how much on the cost of their laptops for this shit?

Once again, we get screwed by utter disdain for each other.

Advertisements

The Surface. Why did it fail?

In this article: http://mashable.com/2013/07/19/surface-rt-failure/, we learn that the Surface RT just hit Microsoft with a painful $900 million shortcoming. Needless to say, this is the sort of post that makes people cringe. So, why did RT fail? And what lessons could Microsoft take from this?

Not too long ago, I purchased a Surface Pro. It was a neat toy, and I needed  a replacement tablet for my aging Touchsmart. I’d looked at all the other machines, and it became clear to me that laptops were trying too hard to be tablets, and most of the tablets made lousy laptops. The Lenovo Yoga looked interesting, as did a few Sony and Toshiba offerings, but they all suffered from the same problem. They were Ultrabooks, and therefore quite unupgradeable, and they made lousy tablets, with some niggling problem — The Yoga’s keyboard was exposed and the Acer Tachi had a funky arrangement where the back of the laptop’s display was a second display that theoretically would let the laptop function as a tablet when closed, but came with the weight and expense of two monitors. Some tablets still used the traditional rotating screen setup, while a few of them used a modified setup where the screen flipped inside of a frame. I agonized for a while, but then settled on the Surface when I discovered this device was equipped with a pen and digitizer, had an Ivy Bridge CPU and 4 GB of RAM, ran Windows 8 Pro, and could be customized with bluetooth keyboards and mice to create a workstation. So, needing a replacement and finding the Surface Pro was the best of a category of unsatisfying hardware, I got one.

Immediately I discovered one of the most glaring problems. If you set the screen to 100% size, the PPI was so high I had to strain to see the text. On the other hand, setting the size to 150% caused controls to not map well on web pages and apps. 1900 x 1050 is a serious resolution…you need a damn good set of eyes to see that clearly without enlarging the screen. That put me off a bit.

But with time, I discovered others. The biggest disappointment about the Surface (both flavors) has been the lack of decent apps for it. Major players like Facebook and Google have opted to either rely on built-in tools or just plain not support the tablet except through the web. Games are limited, with only a handful of the biggest games like Angry Birds being available for the Surface. Many of the useful tools that ran on Google and Apple smartphone OSes are either only in primitive form or not available at all. Part of this is the simple chicken and egg paradox. Surface needs to sell well before Apps will be developed for it, and Apps need to be developed for it before it will sell well. Part of this is monumentally bad ideas by Microsoft — trying to cash in on the Windows Store from day one, for instance. And part of it is just the simple dumb luck combined with bad choices in the past from Microsoft that caused them to be late to the Smartphone and Tablet Party.

Microsoft kind of got itself in a bad situation from day one, with the whole ‘Smartphones are not an issue’ thing they held on to for years. Safe in their PC world, they didn’t see the existential threat that the smartphone represented, and insisted on treating it as just another PDA variant. “Consumers will never buy this,” they proclaimed. “PDA Phones are strictly professional!” Turns out they were wrong. Also turns out that they could have seen this coming if they’d just payed attention to the various blackberry devices that people were snapping up in the mid 2000’s. But they didn’t, and now it’s 2013, and they’re left playing catchup.

Their answer to being behind everyone else? Modify the flagship operating system that has served them for over a decade. On the surface (heh), this sounds like a good idea. Go with a known factor for your new hardware. Use good, already proven technology. But here’s where they went off the rails. Apple actually got this right. Use the same OS foundation (kernel) across all of your platforms, but customize the part the user sees (the interface) for each platform. Desktop UIs make perfect sense on desktops, are OK choices for laptops, but make horrible choices for tablets, and outright silly choices for smartphones (I’ve seen bash for Android. I wish I hadn’t…). Laptop UIs make good sense on laptops, are OK for desktops and tablets, and are pretty bad choices for smartphones. Tablet UIs are excellent for tablets but are at best OK for laptops (with touch screens) and outright bad for any desktop except one that has a touch screen where you’d expect the keyboard. Smartphones? They’re OK UIs for tablets, horrible UIs for laptops, and downright stupid choices for desktops. Apple sorta got this when they designed iOS from OSX. Smartphones had their own UI, while Desktops and Laptops had their own UI. Though I personally think they dropped the ball with their tablet OS  (using a mostly unmodified smartphone OS instead of designing a new UI for tablets), they still at least got the big picture. Google has as well, making a unique Linux distribution for use on Smartphones and using the name Android for it. Canonical with its Ubuntu Phone OS may also be onto something, designing a specific flavor of Ubuntu to run on a smartphone. Microsoft? Well, initially it _seemed_ like they got it. Then we got Windows 8.

Surface’s failings are tied to Windows 8. Instead of designing a ‘distribution’ of Windows that would run as a tablet OS on a tablet, a phone OS on a phone, a desktop OS on a desktop, and a laptop or desktop OS on a laptop, they built one OS that tried to bridge it all. The reality is that on my desktop computer, I spend all my time in the Desktop part of the OS. In fact, I have used Modern so little that like most of my fellow IT power users, I’ve installed a start menu replacement (ClassicShell. It’s awesome). I’d love to run ModernUI apps, but frankly, I don’t want a whole monitor given over to one, and it’s damn inconvenient to deal with it and other applications. What needed to happen on the Desktop is the same paradigm that has been used since Windows 3.0, if not before. Applications ran in little discrete areas on the monitor, shared common structures like the clipboard, were opened and closed as you’d expect on a desktop, and were launched from yet another window. Sure, replace icons with live-tiles, and introduce the new ModernUI apps (Angrybirds on a 21″ monitor?  :D). But let those same ModernUI apps be minimized, resized, dragged and dropped, maximized, and closed like any other desktop application. Do not let them take over an entire monitor, let alone the whole screen, unless the user explicitly requests this!

On a laptop, you have less room to work with, but you still use the laptop much as you do a desktop. Applications should still launch like they do on a desktop. It’s debatable if you should have a ModernUI app confined to a window in this environment — maybe give the user the choice again. But since you’ll have gigs of RAM and hundreds of gigs of hard drive, you should not have ModernUI apps close in the background. Of course, since this same architecture will be used on the tablet, you should have applications support being removed from memory when in the background, but on laptops and powerful tablets, they should never be removed from memory.

Tablets, especially those like the Surface Pro, are a mixed bag. On one hand, we have the sort of ARM tablets that Windows RT runs on. These should function exclusively as tablets, with notice being made that they do not support a desktop, do not support desktop apps, and are liable to flush unused apps from memory much like Android and Apple devices do. On the other hand, we have devices like the Surface Pro, which, ironically, is the area that Windows 8 could have been the best at. It’s a tablet, without a keyboard, able to be held in one arm, and used much like the ARM tablets that I just mentioned. On the other hand, it has the specs of a laptop — 4+ GB of RAM, 128+ GiB of hard drive, a powerful processor such as Intel’s Ivy Bridge or Haswell, and the sort of functionality you see on a laptop. When at home, connected to my desktop by software such as Multiplicity, I use it as a second monitor. At school, I use it as a laptop with a bluetooth keyboard and mouse. But then I pick it up, flip its stand in, cradle it in my arm, and start writing on it with the stylus, like an older style slate tablet. Or I turn off the keyboard and mouse, pack those, and pick the Surface up and head into the Tablet UI and use the Surface as a tablet. Literally, this device must do both roles. Even here, the tablet should function more as a laptop than a tablet. Apps put in the background should never be terminated, merely suspended and pushed into virtual memory. Desktop applications should be able to work easily with tablet apps. There should be an easy way to break a tablet app out of tablet-land and back into desktop land. And some serious thoughts need to be given to implementing high PPI screens such as the one the Surface Pro has.

We won’t get into smartphones as currently they are their own little niche.

The next issue? I’ll pull this out of a comment I read on this topic. Look at the commercials. Look at how catchy they are, with young people in pressed suits or trendy clothing, dancing around twirling their Surfaces all around them, as they constantly detach and then attach their covers with that distinctive clicking sound. Looks cool and awesome. Would you buy? Oh yeah. I had that same question as well. What can the silly thing DO for me? Besides click. Because you know clicking is not all that useful to people like me.

An interesting anecdote in that vein is what happened with my wife. She too has a Surface Pro. She showed it to a man who was interviewing her for a job. He’d been trying to figure out what sort of tablet he wanted. The Surface Pro was not even on his radar…until she demoed her machine to him. Maybe instead of dancing people clicking their tablets over and over to various keyboards, they should actually show one of the damn things in use. Maybe their Surface RT sales would have been higher…

Finally, the biggest issue holding Microsoft back is a lack of flexibility. We’ve seen this before. IBM, once king of the computer manufacturers, is now a has-been, having long since been dethroned by clones. Ironically, Apple was a has-been itself, trying to nip at Microsoft’s heels in the software arena and the various clone PC manufacturers in the hardware arena. And now it’s Microsoft’s time. Adapt or die is the motto of capitalism, and Microsoft is now struggling to adapt, while saddled with the lack of creativity that got IBM run out of town back when.

So, what should the future be for Surface? The tech geek in me is saying things like Haswell and more Gigs and all that jazz, but the simple fact is that Microsoft needs to realize the above mistakes. They need to provide incentives to software developers. They need to attend to the differences between desktops and laptops, and make more than one OS, or at least one OS that has more than one UI. They need to address the needs of their consumers, and make their tablets solve the problems customers have, instead of be solutions in search of problems.