Archive for the ‘Microsoft’ Category

Microsoft and the End of Cross-Platform Application Frameworks (again)

Sunday, October 31st, 2010

Microsoft discussed strategy a bit this week at PDC. One of the more interesting themes was a shift in development platform strategies with a focus on HTML5 as the cross-platform methodology of choice and a relegation of Silverlight as the application platform for Windows Phone 7.

I see this not so much as an acceptance of the failure of Silverlight over Flash as the failure of Silverlight / Flash as a cross-platform hybrid platform – I think Apple has won (with HTML5) and Microsoft knows it. I’m not even sure that Microsoft is really that sad about it – they were worried about Flash for the same reasons Apple was. As has been twittered a good deal as of late, did we not learn anything from the complete failure of cross-platform application frameworks in the 90s (particularly Java on the client)? Cross-platform application frameworks are only good for the tools vendors and consultants – not for developers or the consumers. I’ll defend that statement in another blog entry, but I feel like I’ve probably already done that two or three times already in past entries.

HTML5 & the web is the Microsoft answer to cross-platform (funnily enough, it’s Apple’s answer as well) – a market they (nor Apple) could really care less about in the relative scheme of things – it doesn’t directly help their OS or their applications. It’s just a minimum requirement that must be met to have a viable OS. Silverlight (and it’s underlying WPF/.NET underpinnings) is going to be the native app platform for the Windows Phone and likely every other MS platform before it’s over with – which is probably pretty smart – it’s a good platform.

Supporting HTML5 and the web is only required to provide support for the lowest common denominator platform. Innovation isn’t going to take place in the lowest common denominator – it’s going to occur in the targeted platform space with native applications that take full advantage of the underlying platform. Otherwise, you could just give us all Chrome and be done with it, and as I have stated often before, common denominator cross-platform solutions breed mediocre user experiences and commoditize the entire computing experience into a bland, boring space.

Hypocritical Rancor

Sunday, April 11th, 2010

The last week has seen quite the bristling of a hypocritical and vociferous group of “developers” and technical pundits. The best recapping of this whole situation can be found at John Gruber’s blog: initial discovery and assessment. The two loudest crowds seem to be the Adobe Flash fans and the C# Mono folks.

Let’s just leave the actual “rule” from Apple aside for a moment and just speak from a user experience perspective.

First, let’s talk performance… The fact that you can make a good performing app with an intermediary language certainly isn’t proof that it isn’t much more likely to have a performant application that is written in a more native language. I mean, if hardware had not gotten faster, we would all be programming in assembly (or C). Abstractions are great for developers but not great for machines. There is a reason Java and C# haven’t taken over the desktop or game development – and the examples that can be given of the few sparse games in those two languages / platforms doesn’t change the fact that other than casual web games and a few Xbox toys, they aren’t used seriously by professional game studios. With mobile platforms, the hardware is going in the opposite direction from desktop hardware. Not to mention, I’m curious about the incongruities of a cross-compiler from a managed memory model to one that isn’t, but hey – maybe they’ve figured it out.

As for user experience, Gruber nailed it. The Kindle application is a very good example of the problem with many cross-platform libraries…. I’ve never seen an application for the Mac written in a language / library other than Objective-C / Cocoa that felt right – and that includes applications written in the Apple approved C / Carbon libraries (which are slowly being deprecated)… If MonoTouch is that good at traversing the paradigms between .NET and Cocoa, that’s damn impressive, but I don’t believe it… The problem is, that on every other platform, interface incongruities are just the norm – expected, so cross-platform libraries are not abhorred as greatly – the users aren’t as discerning. On the Mac and it’s derivatives, consistency of behavior and user experience are tightly defined. I haven’t seen people getting up in arms about the HIG (human interface guidelines). Did you know that you can be rejected from the app store from not complying with the HIG? Now, most would say that’s just more Apple restrictive behavior, but it’s not – it’s protecting the user experience and the platform. Obviously, most didn’t see the HIG requirements as offensive though, although these new requirements are truly enforcing the same thing.

Again, languages and frameworks are not difficult for any experienced developer to pick up. For most programmers, the basics of Objective-C and Cocoa can easily be picked up in days… proficiency can be attained in a couple weeks. Once proficient, why would you choose the targeted platform over another? .NET is a bit a richer than Cocoa, but certainly not worth forsaking the native platform, the tools, the documentation, etc. provided? Flash has no real benefits for a traditionally trained programmer.

As an aside, I think Mono outside of Novell is pretty much dead anyway. I can’t imagine it will ever make major inroads outside of certain niches – folks who need to develop for Linux but have a lot of .NET experience. Many couldn’t be doing Mono right now if they weren’t also Novell partners. Microsoft’s threats have gone a long way in making corporate lawyers nervous, and it’s only through the negotiated protections offered by the Novell / Microsoft partnership that have allowed some to move forward.

As much as everyone has belabored this iPhone OS issue, the rancor towards Microsoft and their general destruction of C# and .NET has never reached similar fervor. The real reason Microsoft has stifled these technologies is often applied to Apple – an anti-competitive bent of protectionism. I don’t deny – I’m sure there is a significant element of this in Apple’s intentions as well – but at least they have a pretty good logical and conceivably more benevolent reason as well.

Even Icaza said it:

“The most important part is that Microsoft has shot the .NET ecosystem in the foot because of the constant thread of patent infringement that they have cast on the ecosystem. Unlike the Java world that is blossoming with dozens of vibrant Java virtual machine implementations, the .NET world has suffered by this meme spread by Ballmer that they would come after people that do not license patents from them.”

Of course, Google is our angel – savior from the capitalistic bastards facing us in Cupertino and Redmond. If anyone thinks Google is any more noble and less evil, keep dreaming. Why aren’t they releasing all their new apps for platforms other than Android? Why did they buy AdMobile (which they knew would be a problem with the SEC) in a move to block Apple from acquiring it? To think that Google is any different is naiveté at its extreme.

In the end, I would rather the new iPhone/iPad platform be more open – or at least have more than one pathway to sale and deployment. But, the raucous rancor and fervor exhibited over the last week is nothing but hypocrisy. Bitter hypocrisy…

Micro$oft Supreme Uber Ultimate Premium Edition

Tuesday, February 3rd, 2009

In yet another example that Microsoft just doesn’t get it – as much as they say they do (and their ads claim), Microsoft has once again come out with their complex product stratification with 7 versions of Windows 7. While Windows 7 been getting some good press, I believe it’s entirely due to it being so much better than the disaster that Vista has become. Even so, this pricing and branding scheme just proves that Microsoft is moving in the wrong direction. I don’t think they realize that the market is eroding around them. Latest data out today shows that 1 in 10 computers on the Internet is a Mac, and more than ever before are also Linux-based (although a much smaller percentage than Macs). Considering that it wasn’t long ago that only 3% of the computers on the Internet were not MS based, you can see the significance of this swing.

Microsoft & Yahoo Sittin’ in a Tree

Tuesday, February 5th, 2008

K-I-S-S-I-N-G.

Ok, not quite. Google isn’t too happy either… This is pretty much old news now, but it’s been so hectic at my day job I haven’t had much time to digest it.

I don’t even know what to think about all this. Is this a desperate move by Microsoft? Is this a desperate situation for Yahoo? Is this a desperate response by Google?

The Apple I Love

Wednesday, December 19th, 2007

Over Thanksgiving while visiting the in-laws, my father-in-law and I were discussing his plans to upgrade to Apple’s latest version of their most excellent operating system, OS X. As a relatively recent convert to the land of Mac, he asked me very bluntly – “what’s to keep me from installing the OS X upgrade on multiple computers?” My answer, “Nothing”. The conversation then turned to the “Family Pack” version of the software, which allows for the installation of up to 5 computers in a household. He was a bit astonished that a company would provide a single user and family pack versions with no onerous regimen to verify installation like in the world of Windows. This is a common response to those who’ve lived in the world of an oppressive company that treats its customers more like criminals than consumers.

My father and my father-in-law both proceeded to buy Family Packs within weeks. Supposedly, 33% of Leopard sales are of the Family Pack variety. As Mike Schramm states on TUAW.com, the difference between Apple and Microsoft (in this case) is that Apple trusts their customers with trust, while Microsoft demands validation (the picture is funny too). In addition, Apple offers the customer a financially reasonable ($129 vs $199) alternative to “pirating”. Microsoft is more interested in pillaging its customer base with exorbitant prices and a half-dozen versions with varying features stripped out depending on whether you bought the basic, premium, or ultra-premium super-duper extended version.

Ever since I fell in love with the Mac with the introduction of OS X 10.1, I’ve felt that in many ways, Apple had my back. Sure, they are a company trying to please their stockholders and make lots of money, but they understood that the road to financial success was through a strong and loyal customer base – or at least, this has been my perception since joining the fold. This doesn’t mean that all their decisions have been customer friendly in the past, but it seemed to be the going concern in the last five or so years.

Apple has gotten in bed with some strange bedfellows as of late (content providers – record companies and TV / broadcast companies, phone companies). Many of these organizations have a nearly opposite relationship with their customer base. Many are more interested in suing their customers rather than creating a relationship based on synergistic goals of delivering customer needs and financial reward. I fully believe (and hope) that Apple felt that they had to work with these organizations to bring new technologies and innovations while intending to maintain the values which I have perceived. In some ways, this has seemed true – in others, not so much.

The “Family Pack” is a little piece of that customer focus. Leopard’s success is a shining example of the fiscal benefits of placing the consumer first.

Cats & Dogs, Living Together…

Monday, October 29th, 2007

From PC World

Fastest: Apple MacBook Pro

The fastest Windows Vista notebook we’ve tested this year is a Mac. Try that again: The fastest Windows Vista notebook we’ve tested this year–or for that matter, ever–is a Mac. Not a Dell, not a Toshiba, not even an Alienware. The $2419 (plus the price of a copy of Windows Vista, of course) MacBook Pro’s PC WorldBench 6 Beta 2 score of 88 beats Gateway’s E-265M by a single point, but the MacBook’s score is far more impressive simply because Apple couldn’t care less whether you run Windows.

That’s just bizarre…

It’s fun to be a Microsoft hater…

Saturday, August 25th, 2007

You know, you can’t make this stuff up. Microsoft foisted its “Windows Genuine Advantage” on the world in July 2005. It was a mandatory “Advantage”. You didn’t get a choice. You became one of Microsoft’s untrusted customers.

What was this great “Advantage”? The right to use your Windows software and continue to get updates to the bug-riddled software that you likely paid a lot of money for. They wanted to make sure you weren’t pirating their software – or using their software in ways that they didn’t deem appropriate – like installing Windows XP on a second computer after your Dell died – you know, that’s stealing per the Microsoft Windows OEM license. Seriously.

So what does this wonderfully named tool do? It phones home to Microsoft servers when it feels like it needs to validate that your computer is “legitimate” and deserves to run their software (like daily). It tells Microsoft about your computer’s make, model, hard drive serial number, etc. They really could put whatever they want in there since they have sued the living daylights out of anyone trying to crack it open under the equally wonderful DMCA (better known as the Destroy all of My Constitutional freedoms Act). Also, like most Microsoft software, it’s a piece of junk that has a false positive rate of near 22%.

Well, this horrible abomination went on the fritz this week. If you are one of the unlucky folks who just tried to install (and validate) your install – uhh, bad news. Your copy is pirated. Yeah, I know you just bought it at Best Buy. What about updating to Windows Media Player 11? Sorry. Need to install IE7? No dice. Eaten up with viruses and spyware (and what Windows OS isn’t?) and need to download Windows Defender? Nope. It ain’t happening – since all of those require a WGA check before they’ll let you proceed.

Microsoft is telling it’s customers to try again on August 28. If they get it up by then, that’s at least a 3 day outage.

So, lessons learned… Of course, if your machine has already been marked as tainted, I’m pretty sure a full reinstall is in your near future.

1. Don’t buy anything from Microsoft.

2. Don’t use anything from Microsoft.

3. Feel free to instruct those that do on the wonderful alternatives available (Mac OS X, Linux, OpenOffice, iWork, etc).

And because I’m a caring soul – if you are using a Microsoft OS product or Office product, I would suggest not installing or updating it for a few days, otherwise you may be in a world of hurt.

Yes, I still have Microsoft Office on my Mac… but considering how much I’m liking iWork, it’s probably not long for this world.

UPDATE: Microsoft has apparently gotten things straightened out for now.

The Dinosaur

Saturday, July 21st, 2007

All the computer people use Macs or Linux now. Windows is for grandmas, like Macs used to be in the 90s. So not only does the desktop no longer matter, no one who cares about computers uses Microsoft’s anyway.

       Paul Graham

While I find this quote from Paul Graham’s diatribe on the death of Microsoft amusing, his description of the primary cause of said death is woefully off the mark. The webification of the world has led to a higher level of communication and dissemination of information (good), it has also led to mediocrity and inefficiency in application design and implementation. “Web 2.0″ doesn’t solve this problem. It just puts lipstick on the ugly pig of web applications.

I spent a number of years converting mainframe data analysis and data entry applications to the web. We were using the cutting edge technologies (for the time) and by the end were even dabbling with the now current Web 2.0 fad of AJAX. The fact of the matter was that we could never build as useful, fast, and efficient application as what the user’s experienced with the green screen (and no, we didn’t suck). Nothing in Web 2.0 will solve this problem. Sure, we could deliver some fancy graphics and drastically decrease the learning curve. We can give the users some analysis that they couldn’t get before. They also could access these applications easily from anywhere in the world. We just couldn’t give the user the experience that they needed through the browser (without relying on technologies like Java applets or ActiveX controls that start to break the mold and benefits of the browser anyway).

As I mentioned in my little novel on the iPhone, when I switched to the Mac a few years back, the primary reason was the excellent delivery of power and flexibility (a full UNIX/BSD undercarriage, excellent development libraries and tools) along with a best in field user experience (UI, controls, polish).

In Paul Graham’s analysis of the “Dinosaur” of Microsoft, he concludes that Microsoft’s failure is due to the rise of the mysterious Web 2.0 world (which really just means, fancy web pages that use AJAX – like Google’s web apps). Listen – the betterment of web applications is great. They make an absolutely aweful user experience at least palatable. But the fact of the matter is this – even the best Web 2.0 applications don’t even compare to a well designed and implemented “fat-client” application. Unless we throw away the concept of the browser and the restrictions it places on the developer, this problem will not go away.

We need to combine the massive amounts of information and data available via the Internet with the power and experience of the fat-client. Why must we continue to face the data with the “ugly pig” of the browser? The wonderful thing is, the solution exists, it’s just not getting the hype that Web 2.0 is getting. The answer is web services. While web services did experience a short life in the spotlight, it didn’t have the holding power of Web 2.0 . (It’s my honest opinion that the reason why these crappy web applications continue to be foisted upon us is because they are the only way that big corporations can make money – be it tools vendors (big application servers and all the doodads that go along with them) or the ad-driven providers of these massive, ugly web applications, etc). Web services provided the power and flexibility of the Internet so it can be leveraged in whatever fashion you would like. While Netflix Freak (which I also mentioned in my iPhone diatribe) isn’t the best experience in the world, it’s a good example of the concept. It exposes Netflix data and services via an actual application. The experience is good enough to justify the purchase of this app rather than use the free web pages that Netflix provides.

The fact of the matter is that web services combined with a high-quality fat-client application provides the best of both worlds. It’s my belief that the main reason people buy Macs is for this better experience. As the world becomes more internconnected through the power of the Internet, applications (and businesses) that don’t participate will likely go the way of the dinosaur. Please, let it not be the case that the only way this can be provided is through the browser – as my desire to use computers will be severely reduced. It doesn’t have to be – people need to demand more from their applications than the experience web apps can provide.

Personally, my goal in life is to build high-quality, awesome user experience applications for all of these people like myself that believe that experience matters. It’s my hope that enough of these people exist to make a living. The resurgence in the Mac is what gives me that hope.