8th day thoughts on the Microsoft Surface RT

So, a little more than a week ago, I made the impulse decision to purchase a Microsoft Surface. I ended up spending most of my lunch hour in line at the Microsoft Store in The Domain in a mostly chilly morning with about a 115-120 other shoppers. I have to say I was pleasantly surprised at the number of people who had lined up, although most of the pleasantness was not recognized at the time, because it was pretty chilly and I was in shorts and a sweatshirt

Anyhow, let’s get to the meat of this entry: the Surface RT itself.

Everyone has talked about the beauty of the hardware itself and I am mostly in agreement with that. Of course, I have not owned any other tablet device, so I do not have a comparison point, but I have used my parent’s first generation iPad and I would say that it easily blows that device out of the water (which it should do for a device that is a few years old). Compared to the various laptops I’ve owned, this definitely feels nicer and sturdier. Microsoft has promoted the sounds of the hinge and the clicking in of the cover. I’m not sure what is so special about it, but again I have not had the benefit of comparing it to another high-tech device with a hinge. The clicking in sound does sound pretty satisfying but I found, after 8 days of usage, that the only time I was clicking the cover in or out was when I wanted to demonstrate the sound to another person.

Let’s move on to another piece of the hardware: the Touch Cover. When the Surface was first announced earlier this year at an Microsoft keynote, this was the thing that immediately caught my eye. In fact, I even remember immediately posting a picture of it on Facebook, in awe. Unfortunately, Microsoft elected not to bundle the cover in the price of the base device, which I think was a misstep. That said, the keyboard itself works phenomenally for a device that is so thin and non-keyboard like. I am writing this entire review on the Surface so that I have the benefit of a relatively large document to test the keyboard out. I still make several typos and have to use the backspace key liberally, but it is eons ahead of any on-screen keyboard. In fact, when I’m in tablet mode on this device and the on-screen keyboard shows up, I can only use it for a few short words before I just flip the keyboard around and use it. The trackpad is also surprisingly responsive and challenges and, in some cases, betters the performance of several laptop trackpads. It supports multitouch, as well.

The problem areas for me with the keyboard are the space bar and the left shift key. In general, it seems that any key that needs to be fired with my pinky are slightly problematic as my brain needs to readjust to the fact that I need to apply more pressure to those keys than I’m used to. I suppose that is a con, but it is something that doesn’t really affect me that much. I will also concede that long typing sessions will probably cause fatigue to the wrists because there is no rest area for them. In conclusion, though, the keyboard is a fine piece of engineering.

The camera is unfortunately a letdown. I haven’t had a chance to do video chat on it yet, so I don’t know whether it will suffice for that purpose but for everyday picture taking, it is not very usable. I guess that makes sense since it is kind of silly to carry around a 10″ device to take photos, but it would be sweet if it packed a higher-resolution camera. The angled back camera also makes sense if the thing you want to tape is right behind your device but kind of an inconvenience for anything else. I tried to use the camera to take photos during my Halloween party last week and it was hard to use and produced pretty crappy looking photos.

Next, let’s move on to the software. The Surface RT comes bundled with Windows RT, which is essentially a handicapped version of Windows 8. When the Surfaces were first announced, I had my heart set on a Surface Pro as my laptop replacement. However, once Microsoft announced the pricing model of these devices, I realized that the Pro would probably fall out of my budget, especially given that my current Sony VAIO still works fairly well. In addition, I wanted to take advantage of the slightly lighter Surface RT as well as the fact that it was available now (see earlier comment about impulse purchase).

I did download a couple of the Windows 8 previews this year but did not get the chance to use it extensively. I set it up on my HTPC that is connected to my computer and found that the interface, while beautiful, is really not designed for a point-and-click environment. Which is why the Surface is the perfect device to take advantage of the “Modern UI” that Microsoft has been pushing. As a multi-year owner of Windows Phone devices, I have already completely been sold on the live tile-based UX and was excited to see it expanded. Having used the Surface for a little more of the week, I have to say that the gestures are very well designed and consistent across the Modern UI. I find myself swiping the Windows 8-style gestures when on my Lumia 900, now.

Let me go back to the handicapped nature of Windows RT, for a moment. As you may or may not be aware, the Surface RT packs an ARM microprocessor which means it is not compatible with Intel x86 code. Which, for the less technically-inclined, is essentially any Windows software that you have encountered prior to Windows 8. Microsoft ported a version of Office to the ARM processor but apart from that, any “apps” need to be installed from the Microsoft store. As a developer, I haven’t had the chance to play with the SDK yet and haven’t really followed the Build sessions so I do not know how restricted the available APIs are for Windows RT. It would certainly be neat to be able to run some legacy stuff, especially drivers (my printer is not supported) and stuff that rely on browser plugins (such as my work VPN as well as Google+). The porting of that legacy stuff will depend entirely on the commercial success of the device.

With regards to the stability of the device, I would give it a decent score. I do encounter some lag when I have a lot of stuff open or in some specific apps (Xbox Music being a prime example) but in general it doesn’t affect me on a daily basis. I did encounter a situation yesterday when apps seemed to crash to desktop when attempting to use them. A restart (and the restart itself is quick) fixed the issue but it was still a minor inconvenience. That said, I have applied the workaround that allows me to get to any Flash-enabled website that I want, so I’m not sure if the Surface was equipped to deal with the crappiness of Adobe’s platform.

Let me talk about the stock apps a little bit, now. Unfortunately, almost all the stock apps that I use on a daily basis are pretty sucky. First, there’s the Mail app. This app is pretty slow and definitely needs a second pass before it is usable on an everyday basis. It syncs down fine and everything but is just very laggy. Next we have the Calendar app. First of all, the Calendar app neglected to sync down my Facebook calendar properly and it is still an issue I haven’t figured out. Secondly, it appears Google still hasn’t enabled multiple-calendar support for the Surface so only the default calendar gets pulled in. I downloaded some trial software to sync my work Notes calendar with Outlook.com and it promptly brought my Calendar app to an unusable slowdown. Luckily, the live tile and notifications still work fine, so I don’t have to go into the actual Calendar app that often.

Next, there’s the Xbox Music app. Unfortunately, I think this app is a drastic downgrade from the really solid Zune desktop app. I sure hope the development team at Microsoft work on improving this app (they’ve pushed out several updates since Windows 8 was RTM’d) because right now it is buggy. I encounter everything from random songs being skipped due to Xbox Music Pass issues to the UI becoming unresponsive when trying to control my playlist. Once I get everything queued and started, it works pretty well, but that is not an ideal usage scenario.

The People Hub also appears to be a downgrade from the experience in Windows Phone. The biggest problem I have with this is the live tile doesn’t mark items as being read so I have notifications from several days ago still flipping around. Without a first-party Facebook app (so far) the People app also does not bridge the gap well enough so I find myself going into the browser-based experience often. Speaking of the browser, IE10 is very solid. The Modern UI app works really well and gives me a nice, full-screen view of the pages I want. There is still room for improvement in the form of the back and forward actions, which appear to reload the page from a very, very slow cache.

All this said, it is gratifying to note that none of the stock apps are part of the operating system, which means that they will have the ability to be updated regularly. Whether we actually see Microsoft throwing resources towards the continued improvement of those apps is anyone’s guess.

In conclusion, I’m very happy with this device. The major negative areas for me appear to be in updatable software portions. I expect Microsoft may have cut some features in their stock apps to be ready to ship by holiday season, and I hope those features get scheduled in the next few updates. This device isn’t ready yet to replace my laptop, but that is mostly a function of it not being an x86 device, something I knew going into the purchase. The Remote Desktop app actually functions pretty well so I can theoretically access anything I want from the Surface as long as I am on a network with an x86 computer I can remote in to.

I would recommend this device to anyone who is willing to deal with the growing pains of a 1.0 device. I think the keyboard is a must-buy if you get this device because it is what sets it apart from other products in the same form factor.

apple and flash

Steve Jobs posted an open letter today about why Flash is not and will not be supported on the Apple mobile platform. You can follow the link to read the full article, but basically he gave 6 reasons. Let me look at each of these one-by-one. And before I do, I would like to remind everyone that I’m not really a big proponent of Flash. Back when I was web-developer, Flash was the one platform I detested and never took the time to learn. I think web-design through Flash is a poor design choice except if it is being done for some sort of portfolio or niche-website. Anyhow, with that out of the way, let’s look at Jobs’ six reasons.

First, there’s “Open”.

Jobs’ claim here is basically a fact. Flash is a proprietary system. Not only do you need to buy expensive software from Adobe to be able to create professional-grade Flash applications, but you also need to download a third-party plug-in from them any time you want to view it. There’s no complaints I have about this statement except that it reminds me of, you know, pot-kettle-black.

Apple is possibly the most proprietary technology developer out there right now. Not only is the iPhone OS system completely closed and regulated, but even going back to the OS X operating system, you legally need a Mac to run that. It sounds highly hypocritical of a CEO of such a proprietary company using “openness” to attack Adobe. To Jobs’ credit, he accepts that Apple is proprietary, but he wants the web to be open. How benevolent of him to allow us this luxury!

Second, there’s the “full web”.

Adobe has counter-claimed Apple’s claim that the iPad is the best way to experience the web, by suggesting that those users do not have access to the full web. Jobs’ counter-argument to this is that Apple supports HTML5, CSS and the modern H.264 format for viewing video. He also rattles off a list of 16 sites that supposedly support video on the iPhone OS (although at least one of them–Facebook–at least check, does not).

As I said at the beginning of this piece, I hate it when a website has used Flash for the purpose of web-design (especially when they haven’t offered an HTML alternative). So from that standpoint, I’m happy that Apple has gone ahead and blocked those websites. However, when it comes to videos, Apple is just ignoring the problem. Sure… they support these 18 sites that now allow HTML5-based streaming. But about the 1000 other websites that people actually visit? How can you advertise a device as being the best way to browse the web when it falls annoyingly short in multimedia presentation? Companies have paid millions of dollars implementing their current content delivery platforms–not everyone has the financial resources that YouTube, for example, has, to begin supporting H.264 video overnight.

Third, there’s reliability, security and performance.

I have heard several anecdotes about how Flash causes Macs to barf. Jobs labels Flash as the number one reason for Mac crashes. Obviously Adobe has a part to play here, since they are the ones that are writing the actual plug-ins. But I don’t buy the whole “reliability, security, performance” argument for the iPhone OS. Just like I don’t buy the justification that Apple fanboys give for keeping the App platform closed or for keeping OS X locked down to Mac hardware–to preserve the quality of the system. How dumb do they think consumers are? The App Store is already plush full of useless applications (I believe Fart Apps deserve their own category going by volume, right?). In fact, I can count the number of apps I use regularly on my iPhone on one hand.

This destroys the perception that it is impossible to create low-quality applications staying within Apple’s development platform and regulation. The theory that it is impossible to create a quality application outside of the Apple-allowed platform is similarly debunked by the “black market” that is Apple jailbroken apps. There are several quality applications developed there that would deserve their place in the App Store if Apple had put it’s draconian policies aside. Not to mention that they’ve actually supported the novel (not really) idea of evaluation software. Instead of Apple allowing evaluation periods, they decided to go with “Lite Apps” (there’s actually a section in the Apple Developer Center that recommends releasing a Lite app, with stripped out functionality). There have been countless times that I have been partially interested in an iPhone App only to find that is not free and the “Lite” version doesn’t allow me to actually test what I want to. Some developers, like Remember the Milk, have gone about their own methods of providing a trial period enforced by a web-service.

Fourth, there’s battery life.

Jobs claims that on an iPhone, an H.264-encoded video will play up to 10 hours whereas a software-decoded video will play only up to 5 hours. This may well be true, but I don’t think Apple is in any position to preach about battery life. I have had to charge my iPhone, without fail, every night. If I don’t, I’ll get into the red midway through the next day. I don’t make that many calls, either (if I could exchange my rollover balance for cash value, I’d be a rich man), so it’s not like I’m using my phone all that much. In fact, I check in to Twitter about 3-4 times a day, the same with Facebook and occasionally I play Racing Live for about 5 minutes (this is not a graphics-intensive game, btw, it is more of a “simulation”-type game). Yet, my battery is toasted by the time I reach home. I can’t imagine how life is going to be when multi-tasking is supported.

I guess Apple does have a claim to make here, they’re prepared to do anything if it increases battery life.

Fifth, there’s Touch.

A side-note, I wonder if Apple has actually trademarked the word “Touch”. Why else would it appear capitalized? Anyhow, Jobs’ claim here is that Flash was designed for mouse-based input whereas the iPhone OS introduces a completely new touch-based interface. The point is well-taken. I’m not aware if Adobe has made any forays into touch input, but my feeling is they would have, if they were expecting to release the Flash CS5 Deploy to iPhone App feature. Which leads nicely into Jobs’ final point, the most important one, supposedly.

Sixth, the most important reason.

Besides the fact that Flash is closed and proprietary, has major technical drawbacks, and doesn’t support touch based devices, there is an even more important reason we do not allow Flash on iPhones, iPods and iPads. We have discussed the downsides of using Flash to play video and interactive content from websites, but Adobe also wants developers to adopt Flash to create apps that run on our mobile devices.

This is referring to the Deploy to iPhone App feature that I talked about in the previous point. Basically, Adobe is planning to release, in Flash CS5, the ability for a user to deploy a Flash animation as an iPhone App. Flash does all the heavy-lifting of converting the ActionScript code into the archaic Objective C format, compiling it as required by the App Store, etc. However, a few weeks ago, Apple modified their developer contract to state that creators of iPhone Apps must have originally created that code in Objective C. This basically makes any app that was generated by Flash CS5 in violation of the developer agreement. The same is the case for apps developed using MonoTouch–the commercially available tool that allows .NET developers on Macs to create iPhone Apps–as they are also not originally Objective C.

Jobs then goes as far as to suggest that developers won’t have access to the newest features when they become available, etc. I have a huge pain-point with this. In my previous discussions about Apple and it’s products, I always bow out of the discussion when someone brings up the point that Apple is not targeted primarily towards technical consumers. What this means is that I can go and build a computer for less than it costs to buy a Mac–that’s why Macs aren’t targeted towards me, specifically. I can understand and accept that–Apple does a good job in marketing a product and keeping their profit margins wide. However, Jobs, in this case, actually is trying to run the same argument by, except targeting them towards the actual technical users.

He hypothesizes that if Apple were to allow third-party code to be converted into Objective C, developers would become clueless about how to take advantage of the newest features released in an Apple SDK. That’s not only extremely inaccurate, but it is extremely insulting to many parties.

It is insulting to developers because we have to be ahead of the technology curve (for example, the iPhone OS 4 SDK is already out for iPhone developers, but not for end users) and have to have an understanding of how a system actually works.

It is insulting to consumers because it suggests that they will not be able to tell the difference between a good app and a bad app. As I’ve said earlier, it is a fallacy that all apps created within the Apple-permitted spectrum are good and all apps created outside that spectrum are bad. Why not let the user decide what is a good app?

Finally, it is insulting to the actual Apple staff involved in the app review committee. Jobs is basically suggesting that they will not be able to adequately test an application to determine whether it is good or bad, without knowing if it was originally Objective C or not. This basically throws hot water on the whole app review process, because it claims that the process will not be able to test an app’s usability independent of the development platform.

As a whole, I understand why Steve Jobs does not want Flash on the iPhone OS and I have no problems with it. I’m not a major Flash proponent and there are only a handful of websites I visit on an iPhone anyway. I would have a problem with it if I owned an iPad, but that, and several other reasons, have contributed to me not being even a bit interested in owning one. I do have issues with the lock-down of the development process, though, for no reason whatsoever. iPhone developers still have to purchase a Mac to develop their software on, because iPhone apps use a bunch of frameworks that don’t have cross-platform ports. So it is not as if Apple is losing a revenue stream there. It is not as if Apple is losing the developer account revenue stream either–since the developers of those apps would still have to pay their annual fee to be able to sell on the App Store.

On the whole, that move by Apple just seems like a reaction without provocation.