28 Jan 2009

What the ‘Microsoft’?!

I’ve had about enough of Microsoft and its approach to help small businesses develop application. The .NET platform is FAR FAR from ‘working everywhere’ and being compatible to everything. Let me write down some points to what I mean.

Windows Applications that are developed in Visual Studio.NET by SMBs usually (almost always):

  • Do not work on other machines, even when its .NET. Don’t assume a .NET application will work on every machine. You need an installation of visual studio for each machine you want your application to work on.
  • Do not work with Crystal Reports. It might work “ok” on your computer, but if/when it doesn’t print on someone else’s machine, try to find some support.
  • Stop working when you update windows. Update at your own risk
  • Randomly disconnects from the network or has DNS problems. From the words of my system administrator “its being windows”.
  • Randomly doesn’t connect to the database. See above.
  • Locks up the database with all the open connections. That’s what happens when you distribute fat clients to everyone.
  • Crashes when some windows services mysteriously stop working.
  • Have issues when being deployed and make you click 10 ‘OK’ buttons just to open it. I do not know why, but someone previously decided to have a shared network drive with the .NET files on it, so that we can update one place and everyone goes there to run it (every single time). But try as they might, they still needed to put some config files on each machine.
  • Have a low learning curve which lets idiots make decisions on software architecture which afterwards are too complicated to change.

My personal opinion is that the Microsoft lock-in, is the problem. It starts off with
  1. Oh yes, its so comfy and easy using Excel sheets
  2. Oh.. lets write some functions using my macros
  3. Now lets try some VBA/VB6
  4. Hmm… we need a database… oh.. lets use Access.
  5. (A year goes by….)
  6. Hmm.. we need something more serious, we have more people using our system…. lets call someone and ask what we need…
  7. Salesman: “yes, what you need is first of all 2 Windows servers, one with a domain controller/Active Directory and one with MS SQL database. Then you will need lots of CALs (licenses). If you are already there, you might as well use Exchange too. Then you need 2-3 copies of Visual Studio.NET team edition for your small development team. You know what?.. I think you will need a BizTalk server as well, just to be on the safe side. Oh.. and finally, installation and maintenance fees will come to ££££££££££££££££££!”.
  8. Managing Director *gulp*.

Maybe nowadays this scenario may not be so common and more people would be happy cutting down costs. Perhaps by using MySQL instead of MS SQL. However, then you have interfered with the natural order of the way Microsoft wants things to be.

I don’t know, obviously this is a rant because I’m frustrated about some things. I guess I am glad I decided to do something about it.