Thursday, February 23, 2012

Microsoft Strikes Back! Body Blow, Body Blow...

Even given the title of this blog, I still feel compelled to offer a disclaimer of sorts, as I am taking a break from working on a Google Docs spreadsheet, to make this post using Google's Blogger site. I am impressed with how much Goolge Docs has improved and while it can't "replace" the function rich, Microsoft Office, it does handle a surprising number of complex tasks. Additionally, my fears of not having a local file are outweighed by the quality of the consistent, cross platform, user experience of Google Docs and Chrome Browser.

Even so, you gotta love this 'GoogleLighting' ad by Microsoft:




That was funny stuff, I just kept hearing "body blow", "body blow" as I watched it. 




I think Google can take a punch and Microsoft needs to step up the marketing of it's cloud productivity apps in the wake of an ever improving Google Docs, and Apple's new iCloud extensions everywhere efforts or they risk losing mind share. Just yesterday I was surprised by the mention of the almost completely forgotten Microsoft's Sky Drive, which is really first rate. Is that a Microsoft marketing fail?  


One thing is certain, the increased competition in cloud based productivity apps looks to make for some great applications for us users.  

Ready... Fight!


Friday, February 17, 2012

Apple and Microsoft validate Google's "Cloud First" strategy

Here's one that can be put in the category of unintended consequences: Apple's iCloud and Microsoft's Azure offerings validate a Google, "Cloud First" strategy.  This was the thought that popped in my head as I listened to commentators, Paul Thurrott and Mary Jo Foley discuss Apple's iCloud and Microsoft's Windows 8 Azure backed features on the TWiT network's Windows Weekly podcast.  This was not the topic of discussion, but featured prominently in that discussion,was talk of the features added by each company that leveraged their  cloud services.  Without saying it explicitly, both these companies acknowledged that Google's cloud first approach is the future, or at a minimum is very important.  Both iCloud and Azure represent "significant" investments on the part of Apple and Microsoft.  These investments are rumored to be in the billions of dollars.  Neither company would spend this kind of money and risk cannibalization of their current offerings if they did not think a cloud first, or cloud based desktop, was a valid strategy (or a competitive threat).  Google's advantage in a cloud first future is that all Google's applications are built on this model from the ground up.  Google's applications do not require "cloud extensions" or "new" cloud services.  There is no desktop iTunes client or Office application that needs to be updated to support the cloud.  Google applications are in the cloud now, and as the saying goes, "imitation is the sincerest form of flattery." Apple and Microsoft are rushing to match or surpass applications like Google Docs, GMail, Google Music, and others.  The upside for consumers is better online applications.  The upside for Google is it legitimizes their "cloud first" strategy.

Wednesday, February 8, 2012

Kill Java (for C#)

I love android development.  A lot of my android love is due to the open nature of the platform, being able to delve into the source code is empowering.  Also, Google's API(s) just ooze a "developer centered" feel.  But android application development is done primarily in the java programming language, and lately I've started to realize something, I kind of hate java.  Okay, so maybe hate was to strong a word, but the loss of object and collection initializers,  delegatespartial types and methods,  and events and properties as first class citizens in the language, is starting to irritate me.

I'm not sure how this all happened.  I recall not so long ago, being almost a java fan boy.  Coming from a c and c++ background, I remember how java's garbage collection wiped away hours of hunting the dreaded "segmentation fault (core dumped)" error (not that it didn't take me some time before I stopped setting objects to null at the end of methods, you know, just to be sure... ).  But now, after using c# as my primary development language for a few years, java feels unfinished and stale in comparison.  This issue is made worse by the fact both java and c# use a similar, c-style syntax.  The syntax similarity indirectly points to a truth, that the features I listed above are more to do with the .NET run-time, than c# specifically, as they are supported in multiple .NET languages, but the similarity in syntax between java and c# adds to the feeling of loss as I develop android applications with java.  I know it's popular to hate all things Microsoft, but with the c# and the CLI specifications being maintained in the open, I promise to pretend not to notice, and to sing to the praises of these "new" java features if the maintainers of java would only see fit to merge in these additional features somehow (...you know, just quietly kill java and replace it with c#, it's so syntactically similar no one will notice, I promise).