Category Archives: Microsoft

Automatic online advertisement finally developed a twisted sense of humor.

In an interesting blog post about New Zealand education system moving from Microsoft to open source. I have noticed that the advertisement picked for the blog post, indicates that automatic-advertisement finally developed a sense of humor:

I hope I get the same kind of advertisement and then we can have a recursive blog post.

Morphfolia – A New Open Source CMS is Born.

My friends, Adrian Kearns, finally released his excellent CMS, Morphfolia, as an open source project.

Morphfolia is two things:

  • A Content Management System (CMS)
  • A web application framework (for the typical Microsoft ASP.NET stack)

Morphfolia provides a suite of tools and capabilities that make website development and management flexible and easy.

This is achieved by a mature architecture and good design principles; the pages, content, page-layout and look & feel are all separated. Continue reading

Open source presentation at the Wellington Architect forum

Just finished my presentation on Open source and Architecture in the Wellington Software Architect Forum.

We have covered these topics:
1) Definition, Licensing & players
2) Open source based architecture examples
3) Best practices
4) ROI, TCO and other TLA
5) Open source tools for architecture
6) Want to be an open source developer?
7) Future FOSS trends

You can download the presentation here.

Open source community should employ Microsoft’s business strategies

In one of the press conferences I attended 6 months ago, Steve Bulmer was asked “Why can’t Microsoft be cool like Apple?”

His reply was simple and to the point:

“I rather be popular than cool”

He further explained that Microsoft business strategy is to try to reach EVERYONE and not only the cool guys.

I suggest that we, as the open source community, employ the same logic:

“We rather be popular than the good and righteous”

Let me explain why we should be popular rather than right.

The baseline assumptions of this article

  1. Microsoft is popular – at the time this article is written, Microsoft has a large market share in many IT and retail industries – the company must be doing something right.
  2. Open source is less popular – at the time this article is written, most open source products do not have the market share their makers have wished for – so there is still something we need to do
  3. One of our targets as open source community is to become more popular – growing popularity and market share will drive open source prosperity in many aspects

The secrets of Microsoft’s popularity and market share

These are all well known and published secrets:

  1. Microsoft focuses on creating mass-market products – if it is not a 1 billion dollar in revenue you can forget about it.
  2. Microsoft excels at creating an echo system of partners and independent software vendors (ISV)- it is estimated that Microsoft eco system earns 9$ for every dollar Microsoft earns. Think about it!
  3. Microsoft spends millions of dollars on user experience – my Ubuntu might provide a great user experience but to fix things I sometimes need to go to command line, it’s been a very long while since I had to go to the command line to fix something in XP. Anyway, my point is that Microsoft puts great emphasis on how it looks.

Why isn’t open source as popular as it should be?

As always, it is mostly a matter of perception:

End users: ‘It is too hard’ ‘I am not a techi’ ‘There is no proper support’ ‘It does not come out of the box’

From a consumer perspective, most open source products are considered a niche and the realm of the super-technical (AKA geeks). I am not talking about popular products like Firefox, I am talking about the less popular majority of the open source offering. While most consumers find the mistaken notion of open source as free in the “free beer” perspective, they are still hesitant about support, user experience and simplicity. People think that some problems in open source products require command line, and let’s admit, VI is still not the preferred way of the masses to fix problems. Additionally, most consumers do not install anything by themselves, they like their software to come out of the box, preinstalled and ready to go.

Partners and ISVs: ‘Too complex’ ‘High risk’ ‘No commercial support or liability’ ‘Contagious license, I have to be open source as well’

From a partner perspective, open source sometimes seems as a risk to work with. Some commercial independent software vendors are afraid of lack of support and accountability. Simple, UI-driven integration between open source products, is still something rare, and human documentation is sometimes lacking (not talking about geek forums). Additionally, some cooperate lawyers are more afraid of open source licenses than the bubonic plague. One should not under estimate this last point, lawyers stop any development and partnering program in a blink of an eye, no matter how affordable and profitable it might be, it is their job to do so.

The first steps towards growing open source market share.

  1. Use the 80/20 – Pareto law
  2. Create mass market products – 20% of the applications drive 80% of the adoption. Firefox is an example of a great adoption driver.

  3. Focus simplicity – KISS lawKeep the project easy to use – aim for the lowest common denominator and work up from there.Always ask yourself – if I wasn’t the subject matter expert, would I find it easy and simple?

    Always ask yourself – can I achieve this functionality in a simpler, clearer way?

  4. Focus on UXUser experience is under estimated by most developers but please believe me – user experience is THE KEY for the success of 90% of any software project
  5. Don’t use GPLUse a commercial friendly open source license like Apache, MIT or MPL. Read the next section to learn why you should do that.

Why I think GPL is a poison pill for open source market share.

I was working in a big Telco company at the time when I got this kind of email -“All development over open source products or libraries should be stopped. A list of all open source licenses should be sent to the company’s law firm”

GPL is considered a dangerous license. It does not matter at all if that is true or not (I think it is not dangerous)- it is a matter of perception and not truth. Changing perception is extremely hard. Public perception sends people to jail, and makes stock markets fall. Even Microsoft found it hard to change perception regarding Vista.

GPL is considered contagious sticky open source license, it is also considered dangerous because people think it will make their software GPL without their consent, but worst than that, it is considered hard to understand and untested in court. If I was a lawyer, I would consider it a risk and lawyers, even more than most people, try to avoid risks as much as they can.

Some might say that GPL has done the open source community a lot of good, that it is the right way to secure the openness of the code, but look at our basic assumptions – right is OUT, market share is IN.

We as an open source community should drive software released under MPL, Apache, and any license which is considered safe and simple, and hope that the GPL perception slowly fade away.

Will Microsoft be hurt from this new approach?

No, it will thrive. Microsoft, like all super-big companies, is driven by revenues and market growth. If the open source will be successful and drive the market to grow, it will also grow Microsoft’s market. In simple terms if the market grows as a result of these recommendations, and it will, everybody will benefit from this- Google, IBM, Microsoft and all the rest of the big and small software and hardware vendors will cheer the open source community.

There is hope at the end of the tunnel.

We have made great progress; some open source products are now very popular both in the server side and the client side. If we employ a little more business savvy strategies and generate strong partners and echo system we will grow the entire software market. We will not only drive the open source business, but also benefit others and even help fight recession.

One big happy family, Right?

Switch from Internet Explorer to Firefox?

Lately, I seem to have a problem log-in into Gmail from my Internet Explorer, this happens both at work (IE over Vista) and at home (IE over XP). 

I get this wonderfully informative error message: 

gmail

Doing a couple of “refresh” helps sometimes.

But what really helps is using FireFox instead of Internet Explorer- This problem does not happen in FireFox.

Some of my friend and colleagues have reported the same problem.

PHP calling .NET – Running WCF service with basicHttpBinding

I am Writing a PHP application that needs to run a back end .NET application. When creating a running the WCF web service out of the box, the PHP could not connect to the web service.

The problem:

The PHP returns "Caught exception: Cannot process the message because the content type ‘text/xml; charset=utf-8’ was not the expected type ‘application/soap+xml; charset=utf-8’."

 

The reason:

WCF is running a new version of web services than expected by the PHP.

 

The solution:

Change the binding type of the WCF service from binding="wsHttpBinding" to binding="basicHttpBinding".

This insures that your .NET web service would support clients and other services that conform to the WS-I standards.

 



You can see an example of such configuration in my blog posts named:

PHP calling .NET – PHP to WCF communication

and

PHP calling .NET – PHP to WCF calls with parameters

Tip: Visual Studio 2008 fails to debug WCF web service

When trying to debug a WCF ( windows communication foundation) .NET 3.5 framework library, you might encounter a problem where Visual Studio (VS 2008) refuses to run or debug the WCF web service.

 

the problem:

The error you get from the WCF test client when trying to debug the WCF service is this – "WCF Test Client: Unrecognized option ‘targetclientversion’ specified"

wcf fail

The solution:

1) Close Visual Studio

2) Install the latest version of Windows SDK for Windows Server 2008 and .NET Framework 3.5

3)  open Visual Studio again

 

This solved the problem for me.