Showing posts with label Microsoft. Show all posts
Showing posts with label Microsoft. Show all posts

Tuesday, December 1, 2009

Pros and Cons to Open Source Business Models

I just read this NY Times article on Open Source as a Model for Business is Elusive which claims that successful open source companies have more societal and strategic value than financial and cites the effect that MySql is having on the EU's evaluation of Oracle's acquisition of Sun as an example. They worry that if Oracle acquires Sun, then they will kill MySql which is a low cost alternative to Oracle's database product.

The article lists the usual suspects in their case both for and against open source; Red Hat, XenSource, and Mozilla being the three top reference models.

They also show how open source companies are supported by large technology vendors with deep pockets in order to wage proxy wars with their competitors. Google with Mozilla and IBM with Linux against Microsoft are two examples cited. This is actually Oracle's defense against the EU's concerns in that Oracle claims that they will continue to support MySql in order to eat into Microsoft's Sql Server market.

It seems that the exit strategy for open source companies these days is in acquisition over going public. Witness the recent purchase of SpringSource by VMware in order to gain more control up the API virtualization stack as the corporate world turns towards cloud computing. The acquisition of XenSource by Citrix is another example.

Giga OM countered to this article with an article of their own with the claim that Open Source Business Models Aren't Dead End Streets. They cite Android, Acquia, and Cloudera as example companies.

Sunday, July 26, 2009

The Browser Wars Circa 2009

If you have any understanding of computer technology and you haven't been in a coma for the past twelve years, then you already know that there has been a very significant trend in software application development from windows based applications to web applications.

The drivers for this trend aren't very hard to comprehend. A traditional windows application incurs a lot more development costs in terms of installation and testing on the various different types of client computers (i.e. PCs) than the same app delivered as HTML over the web. While there have been impressive advancements in reducing windows application testing and deployment over the years, there is still a higher TCO for windows apps than for web apps.

Not that web apps will completely take over windows apps. Some areas, such as graphics manipulation, VoIP, and video capture, will most probably always be in the province of windows apps. At a minimum, you will always need a web browser running on the client machine as a windows app in order to get access to the web apps. Without the web browser, the web apps are useless.

This is nothing new to the major technology vendors. As competitors over gaining IT market share, they have known this for quite some time. Own the web browser and you own the web. That is why Microsoft aggressively went after Netscape back in the mid 90s. Netscape was the corporation that formed around the original inventors of the web browser. This competition between Netscape and Microsoft eventually led to Netscape being acquired by AOL in 1998. Round one of the browser wars goes to Microsoft.

But the founders of Netscape were not willing to give up so easily. Even as the company was being sold, they created a non-profit foundation devoted to the proposition that innovation on the Internet would thrive only if there was available a web browser that was not so directly controlled by any single vendor. This Mozilla Foundation eventually spun off a for profit subsidiary in order to gain the revenue needed to continue to provide a quality web browser.

This "phoenix from the ashes" strategy worked well. While continued development of Microsoft's web browser languished, the Mozilla browser (called Firefox) continued to enhance and innovate on the web browsing experience. Mozilla was able to do this because they used the open source model to keep their development costs low. Recently, there has been much speculation about the mass migration of web browsing from Microsoft's Internet Explorer web browser to Firefox. Round two of the browser wars goes to Mozilla.

What about the other players in this war? Well, Apple has always had a place on the battlefield with their Safari browser. They don't have much in the way of market share, however. There's a few other minor players but their low market share numbers make it such that they are really not worth mentioning here. What is newsworthy is when Google announced their entry into this war with their web browser named Chrome. For one thing, a lot of the revenue for Mozilla comes from Google. The concern is that revenue stream will dry up now that Google and Mozilla are direct competitors.

Google Chrome currently doesn't have a lot of market share yet so why the concern about Chrome? Google is a big company with deep pockets. This coup has been tried before by another big company with deep pockets, Microsoft. Google is ratcheting up their marketing machine over Chrome.

There are also some noticeable difference between what Google has done with Chrome and what Microsoft did with Internet Explorer. The biggest difference is that Chrome is based on open source.

Recently, the NY Times published a story on the latest turn of events in the web browser wars. The war is very lukewarm now. Not a hot war at all. Google will continue to fund Mozilla, at least until 2011. Google's funding accounts for over three fourths of Mozilla's revenues. Mozilla recently moved their physical office away from the main Google campus.

Why do you care? If you are a software vendor or IT shop that makes and publishes web applications, then you want to make sure your applications run smoothly in the most popular web browsers. If your web applications suddenly stop working, then you have a serious problem.

That is why industry watchers keep up with the web browser wars. They don't want to be caught by surprise by the threat of a web browser upgrade or patch that was purposely designed to destroy the competition.

Tuesday, October 7, 2008

jQuery and Microsoft

Technology is to software architects what stock is to traders. You are constantly on the lookout for changes in the marketplace to take advantage of an under valued but rising offering. What's that old cliché? Buy on rumor and sell on news.

You would had to have been in a coma for the past decade to have missed AJAX which is an approach to writing web applications that mitigates the disorienting page refresh of the server round-trip by having the page get the new data through a Java script call instead of reloading. To a coder, the heart of AJAX is the XmlHttpRequest object. There are lots of Java script libraries out there that abstract away the web browser differences in using this object, thus simplifying your Java script.

jQuery is one of those libraries. It competes with lots of different offerings such as Prototype, YUI, MooTools, and Dogo. Yesterday, jQuery got mentioned in a rumor that is sure to boost perception of its value over its competitors. On a promotional blog site owned by Microsoft, it was announced that Microsoft is adopting and supporting jQuery in its ASP.NET AJAX components and integrating support of jQuery in its flagship IDE VS.NET

Why does it really matter which technology to choose? After all, each and every technology mentioned here does a great job of doing AJAX. From a technology perspective, you can't go wrong; however, there are more aspects to choosing a software architecture than technology.

A smoother developer experience should accelerate the implementation phase of any project. So, with this announcement, jQuery becomes a more compelling choice for Microsoft development shops. In any work environment, you have to think about turn-around. How long does it take to replace an employee who is leaving? That means being competitive with other shops on a lot of things including pay, benefits, and how desirable your technology is. Using popular technology makes it just a little bit easier to attract and hire good candidates. Popular technology can also be a compelling sell to your customers whose I.T. departments might want to evaluate what technology you use.

Friday, September 26, 2008

The Bane of Every Coder

I am an advocate of developer documentation. I understand why smaller, less mature ISVs and IT shops would take the quick and dirty shortcut of forgoing developer documentation. No one wants to do it. It costs money keeping that documentation up to date. Programmers should get paid to write code. Blah, blah, blah.

Larger, more mature, shops should know better. They should realize that the total cost of maintaining large systems, over time, is much less when new developers can accelerate their time to productivity by reading some well written, accurate developer documentation. Also, it's nice to throw the developer documentation at the powers that be (i.e. government, acquiring company, BOD) when they want to know what's really going on. I'll bet that Microsoft wished that they had spent some more resources on writing good developer documentation.

You don't like to do it. I don't like to do it. Nobody likes to do it. But writing quality developer documentation is like filing your taxes. Doing it is better than suffering the long term consequences of not doing it.

Wednesday, August 13, 2008

The Next Crop of Web Startups

I recently attended Start - A Conference for Entrepreneurs held at the Fort Mason Center in San Francisco.

The conference was sold out and no wonder. Luminaries from Twitter and WordPress were there. Founders from 43 Folders, 500 Hats, and Wesabe had some great advice for young, budding entrepreneurs. You can read more about my take on the speakers here. It's the attendees that I want to point your attention to now. I met an Information Architect, a .NET consultant (rare amongst this tribe as Microsoft doesn't have a good hold on the web startup world), a marketing VP for the next killer in box app, an engineer for a social networking site devoted to reading books, and the CEO for a web site devoted to young children.

It's all about finding a niche and filling it. For a phenomena as highly democratic as the web, that means finding a market with an unfulfilled need and filling it. These people are passionate about what they want to do but it's a kind of passion that is all about sensitivity and listening to the market.

If what you are doing isn't working, then throw it away and start over. I don't mean give up. Be persistent but be persistent about what counts which is not the script you're currently working on. One of the attendees called it failing fast. Don't clutch on to your current attempt. If you do and if it's not right, then you'll burn out trying to make it work. Instead, keep looking for new ways until you find the one that works. Everything changes over time so, eventually, what works will stop working.

Flexibility, sensitivity, and agility are the keys to sustainable success. That was the message of this conference and that is my message when it comes to developing software which is my passion.

Sunday, June 29, 2008

The Rewrite Game

While drinking my morning cappuccino, I ran across this opinion piece on page 4 of the business section in the Sunday edition of the New York Times. Basically, the author is asking Microsoft to rewrite their operating system completely from scratch instead of continuing to enhance it as they have done for decades. He uses Apple as an example of this. They did a complete rewrite of their operating system when they moved from version 9.8 to 10. This is not the first time that an Apple advocate has publicly called on Microsoft to rewrite their operating system.

Why is this noteworthy? Anyone who has written software for public consumption will eventually be faced with the very hard question of whether or not it is time to rewrite. As you enhance or fix software, every change makes the software a little bit more brittle. Over time, this raises the cost of maintaining software. This is really not that much different from the car buying decision. You buy a new car and for years it just runs and all you have to do is normal maintenance stuff like oil and tire changes. As the car gets older, it starts to break down more and more. Eventually, you realize that you are paying more in repair bills than what a car note would be.

Why hasn't Microsoft rewritten their operating system? Because it is too expensive. It has been theorized that Vista has over fifty million lines of code. Think about that number for a minute. You would have to have already celebrated your 95th birthday in order to have lived that many minutes. It takes a lot more than a minute to write a line of code, especially when you are talking about operating system code. Time, mind, and money spent to rewrite what they already have is time, mind, and money not spent on entering all these markets that Microsoft so ambitiously wants to enter in. Google would like nothing more than for Microsoft to rewrite their operating system.

How did Apple do it? They didn't worry about backwards compatibility. If you bought a software product for Macintosh version 9.8, then it would not work on OS X. You would have to make another software purchase just to get the same functionality on the new operating system. Apparently, IPod hugging kids with strange facial hair are more willing to part with their hard earned cash than those pudgy business suit types who just might take their unhappiness to a more litigious level.

Why does backwards compatibility make the rewrite so much more expensive? Well, for one thing, Apple didn't really rewrite OS X from scratch. They took their work on Next Gen and BSD and started from that. Microsoft doesn't have that luxury.

Will Microsoft ever rewrite their operating system? Who can ever say? They do rewrite parts of it from time to time. Also, they really have two operating systems now, one for servers and the other for workstations. Nobody, that I know of, ever really complains about the server OS which I believe to be more strategic for the company over the long haul. It's probably easier and more in line with their long term objectives to relinquish the workstation market to the Apples and the Linuxes of the world than to rewrite Vista.

Saturday, May 24, 2008

Microsoft Boosts Support for Rival Formats in Office

In a recent news article, Microsoft has announced plans to provide native support for the Open Office file formats in its own office productivity suite.

Open Office is an open source office productivity suite whose development is mostly under the guidance of Sun Microsystems.

Microsoft has made a lot of money off of their own office productivity suite. Over the years, this profit has been used to underwrite Microsoft's attempts to acquire increased share in the markets that Sun traditionally occupies.

I find Open Office to be an excellent office productivity suite. Because of this, I have neither personally used nor purchased a copy of Microsoft Office since 1995. I have used later versions of MS-Office while working for various corporations where that productivity suite is part of the standard, corporate desktop image.

Although MS-Office still enjoys predominance in the marketplace, the list of companies that have switched to Open Office continues to grow. I believe that more and more companies will re-examine their position on MS-Office and its premium pricing as the market of office productivity suites becomes more and more of a commodity.

Wednesday, April 30, 2008

Why Johnny Coder Doesn't Read

I ran across a blog post today about how most software developers don't read. This is noteworthy because the technology for writing software innovates at a very high rate. How can today's coders keep up if they don't read about new technology? The article conflicts itself about whether or not developers learn about new technology online instead of through books. The major reason given as to why coders don't read books is the lack of quality in the content of the books being published. The author then gives some recommendations for books that he believes coders should read.

I totally agree on the quality issue. Most books on writing software simply stink. They are all about screen shots and "click here, type this" descriptions from the lowest paid geek that the publishing house can find. There are some good books out there written by quality writers but they are in the minority.

Quality isn't the only reason why coders don't read books. Economics is another. The fast pace of innovation dramatically reduces the shelf life of most books on programming that are specific to a particular technology. Microsoft produces a major release of .NET about once every year. Sun Microsystems releases a major release of Java about every two years. The corresponding after market books go for $50 to $75 (USD) a pop. Add to that the fact that the project you are working on most probably won't be able to upgrade to the new version and you quickly find yourself coming to the conclusion that purchasing these books don't have a good ROI.

Another reason why programming books aren't being read by coders is learning modality. Everyone has different experiences which affect how they learn. So, everyone learns differently. What order that facts are presented in a teaching environment affects learning efficacy on a per student basis. Books can't change the order that facts are presented but web sites can because the reader interacts with the content in his or her navigation choices. Obviously, the traditional classroom setting is also sufficiently interactive enough such that a good teacher can get the message across to his motivated students effectively.

I totally agree with the author's book recommendations. Those are some great books to read. You will be a better coder for reading them. In addition to these, permit me to recommend a few more. You may not be a C coder but do read Kernighan and Pike's The Practice of Programming which gives you a great taste for the craft of writing quality code. Most business level development these days is object oriented. If you do anything even similar to object oriented programming, then you owe it to yourself and your employer to read Design Patterns by Gamma, Helm, Johnson, and Vlissides (a.k.a GoF). These two books have a very long shelf life.

Why don't I recommend more books than these? Because, like I said before, people are different. Different strokes for different folks. The book that really does it for me may not work for you. So, get thee to the bookstore (physical or virtual) and leaf through what is available. Look at the writer's style. Pick a topic of interest from the table of contents and read the introductory paragraph. Rinse and repeat until you find the book that you feel is the most lucid and educational for you.

You may be unclear as to what topics that you should be reading about. Well, most modern business application developers should be interested in data access. It is very likely that you will be coding web applications so you should be quite hip to the following standards; HTTP, HTML, SOAP, and CSS. Another interesting platform neutral topic is AOP.

As far as platform specific reading, again, find the right book for you. Looking over my own bookshelf, I can't help but notice the following publishers keep appearing over and over again; O'Reilly, Addison Wesley, Apress, and Prentice Hall Professional. Not a lot here from Wrox or SAMS to be honest. I'm on the fence with IDG, Manning and McGraw Hill. I only have two books from New Riders but they are both good.

Software architects need to go the extra distance to read about competing platforms. Why? How can you make the right choice if you aren't aware of the alternatives? If you don't like to read, then don't become a software architect. Go here for a good list of buzzwords to start your reading list with.

Friday, February 8, 2008

The Top 20 Proprietary Tools That Drive You Poor and Their Open Source Alternatives

Occasionally, I write here to advocate the use of OSS. I ran across a blog entry recently that recommends open source alternatives to popular proprietary tools. I made some open source recommendations for developers but never spelled out the proprietary tools that these were intended to replace. I thought that I would do that here.























































































OSS Alternatives To Proprietary Tools
ProprietaryOpen Source
VSS, SOSSubversion
IISApache
WeblogicTomcat
VS.NETEclipse
SQL ServerMySql, PostGreSql
SharepointPlone
EssbaseMondrian
Internet ExplorerFirefox
Microsoft OutlookThunderbird
MayaBlender
CakewalkLillypond
GoldwaveAudacity
Half-LifeNexuiz
VistaUbuntu
PhotoshopGIMP
IllustratorInkscape
Microsoft OfficeOpen Office
Microsoft VisioDia
Magic DrawUmlet
ERWinddt

Sunday, October 28, 2007

The Rise of Open Source Software

The Open Source Software movement has been gaining so much momentum within the Information Technology community recently that it is almost impossible to ignore. Technology players like IBM and Google have contributed to open source. Even Microsoft, whose CEO displays open hostility towards OSS, have contributed. Now media companies such as Yahoo and the New York Times have contributed to OSS.

CTOs and other key decision players in any company's IT department no longer consider OSS as an "if" but rather as a "when." It's not so much a decision as to whether or not to embrace OSS but rather to decide what their OSS strategy is and the timeline for executing on that strategy. It is also very likely that OSS is already being used within their organization.

Why is it that OSS is so compelling? It has a large community supporting it and the price/performance ratio can't be beat. I have blogged on this subject in more detail elsewhere.

Thursday, July 5, 2007

A Very Foggy Vista

In a recent announcement, Dell has warned businesses against upgrading to the latest Operating System written by Microsoft. Called Vista, this O.S. has suffered years of delay and many cutbacks in promised features and functionality. Dell is recognizing and admitting that the Vista O.S. requires an amount of computer hardware resources that seem to be disproportionate to its abilities, especially when compared to previous MSFT O.S.

As a longtime participant in the world of software development, I have been around to see a lot of products come out of Redmond. This blog has my own reflections on what has recently come out of this software giant. I have no transparency nor intelligence into the internal workings of MSFT so these musings are simply based on observing and evaluating their output over a long period of time and not on any knowledge of their internal processes outside what they themselves have published.

Microsoft is, mostly, a software company. They produce products in many markets. I believe that, historically speaking, their strongest markets are O.S. and developer tools. From an end user perspective, Windows 3.1 and DOS was much superior when compared to the competition which was IBM's OS/2 and the X Windowing system of Unix. This was back in the 80s. In the 90s, Windows still led the pack with Windows 95 and NT. Even the early 2000s saw Microsoft still producing a great O.S. with Windows 2000, XP, and 2003.

With apologies to George Lucas, there has been a disturbance in the force recently. To put it bluntly, the latest MSFT O.S. is a step backwards. Gamers complain about Vista's sub-par 3D graphics performance. Security experts dismiss Vista's UAC approach. Although I don't use it on a daily basis, I have had occasion to work on a laptop where Vista came pre-installed. Although the hardware specifications of this laptop exceed MSFT's recommendations for running Vista, the performance is very lackluster. The latency is worse than another laptop, purchased four years ago, that runs Windows XP. How the GUI is organized is another complaint of mine. Everything has been refactored in a way that seems to me to be arbitrary. So, I'm having to learn a new organization of the computer's configuration without seeing any meaningful benefit from that new way. Another change that seems to be made simply for the sake of change is the move away from using menus which are now either cleverly disguised or completely removed. Why the GUI designers of Redmond have decided that menus are passé is completely beyond me.

And Microsoft's O.S. competition is catching up. I recently ran the live CD version of a recently very trendy distribution of Linux called Ubuntu. In my humble opinion, performance with Ubuntu was better than with Vista. This is especially disturbing since Ubuntu was running off of the DVD player and Vista was running off of the hard disk, which should have given MSFT an unfair advantage in performance. The Ubuntu GUI made more sense and was a lot more organized. Also, you get a lot more features with Ubuntu than with Vista since it comes pre-installed with an office productivity suite and a lot of other applications which Vista does not.

I have been working in the IT industry for more years than I care to reveal and I am very technical so I am not the target audience for this O.S. I would much prefer using Windows 2000 or 2003 than either XP or Vista, even as a workstation. The owner of this Vista laptop is a very representative member of the target audience who also prefers using XP to Vista.

Many industry pundits claim that it is the age of the network, and they are right. The days of the stand-alone computer are all but gone. However, everyone gets to a network through a computer and that computer, like every other computer, requires an O.S. in order to turn what would otherwise be a very expensive doorstop into a wonderful window on the world wide web. Perhaps MSFT has spent so much time sighting Google in their cross hairs, they have forgotten or gotten away from their core value proposition.