Interview – Tanzim Saqib

Tanzim Saqib is a .NET Architect consultant, who won Microsoft “Most Valuable Professional” award couple times. He helped British Telecom build Web 2.0 for Business SaaS architectures complex widget ecosystem, hybrid MVC, and CMS Framework for their large customer-base. In 7 years in professional software development, he worked for companies like personalized Web 2.0 start-page Pageflakes, Vancouver based Sitemasher, a SaaS CMS platform and .NET controls developer Telerik. In addition, he developed many applications for ranging from financial institutions to university automation system. He is an open source activist and technology speaker. This year he also helped Microsoft arrange “Open Source in .NET” a daylong conference one of its kind in his country to showcase hidden .NET open source treasures to the community. While he is not jamming with the latest technologies, he writes articles for the community, blogs (http://TanzimSaqib.com), and tweets (http://twitter.com/TanzimSaqib).

What is your preferred Open Source platform and why?

I wish it was possible to be platform independent. Unfortunately, there will always be an operating system and a set of tools one enjoy working with, the most. In my case, it is Windows both on my workstations as well as servers for my job as .NET Architect. In terms of open source application platform, I use Dropthings (http://dropthings.googlecode.com) for most of my applications and WordPress for personal blogging.

Dropthings, is a personalizable widget powered web portal framework that can be used to build ASP.NET Web 2.0 websites as well as Enterprise Dashboards. It is a scalable and proven portal framework that is capable of demonstrating high-performance even with millions of users. Flexible layout and easily cloneable widgets make it a powerful, ajaxified rich UI platform for smaller and quicker prototypes to as large as Enterprise-class web portals. Internationalization, almost 100% test coverage, adequate documentation and tutorials make it an excellent choice for businesses. It is being successfully used by Canada Broder Protection, Microsoft UK, British Telecom, Intel and many others.

Some of the technologies that this open source framework uses are ASP.NET, Windows Communication Foundation, Entity Framework and Silverlight. It also takes advantage of a number of open source technologies for itself such as jQuery, xUnit, WatiN, AspectF and Moq.

What other/upcoming Open Source technologies are you excited about?

NuGet, a Visual Studio extension and its Gallery takes much like after Ruby Gems. Executing simple commands from Visual Studio, open source tools and libraries are discoverable and readily available in your application to use. NHibernate (http://nuget.org/packages/NHibernate), ELMAH (http://nuget.org/packages/elmah), Prism (http://nuget.org/packages/Prism), DotNetOpenAuth (http://nuget.org/packages/DotNetOpenAuth), jQuery (http://nuget.org/packages/jQuery), Modernizr (http://nuget.org/packages/Modernizr), knockoutjs (http://nuget.org/packages/knockoutjs), Ninject (http://nuget.org/packages/Ninject), xUnit (http://nuget.org/packages/xunit), Moq (http://nuget.org/packages/Moq) to name a few of some of the most popular packages from over 4000 of them that can be utilized to start building professional-grade softwares in minutes.

Speaking of package delivery, a great open source software distribution model Microsoft launched around three years ago that I use regularly is Web Platform Installer (Web PI). It has a directory of hundreds of open source softwares such as WordPress, Drupal, Orchard, from which user can pick and choose to install. Web PI automatically resolves dependent components, setups the project ready for run and delivers updates on availability. This free and tiny tool also includes IIS7, WebMatrix, Visual Studio 2010 Web Developer Express, Expression Studio 4 Web Professional, SQL Server Express, PHP, MySQL and many others. WebMatrix is an amazing piece of free development environment that helps web developers build and customize web apps based on PHP, Python and many others.

Because I am a Microsoft MVP award winner, I got an opportunity to attend MVP Summit 2010 in Redmond where we were demonstrated Orchard, another fairly new, community-driven, Microsoft-supported, Enterprise-ready great open source content management platform built on top of ASP.NET. It has a very deep integration of developer-written code called modules. It is also powered by a rich theme and module galleries to get started right out of the box.

What Open Source platforms do you see as having the most importance potential in the coming 12-18 months?

NodeJs (http://nodejs.org/) is revolutionizing server-side event driven concurrent programming paradigm. With its active package development community (http://npmjs.org/) and the power and simplicity of JavaScript, it may quickly gain as much momentum as jQuery managed to achieve in web application development. Speaking of jQuery, very interesting time is ahead for the Windows Phone developers with jQuery Mobile’s (http://jquerymobile.com/) first-class support for the platform. It is not hard to expect that this friendship will span across different form-factors, such as Windows 8 based PCs as well as tablets. Being the host of 6-hour long weekly workshop on “Building Windows Phone Apps” at the local Microsoft office, I am also very excited about PhoneGap’s (http://phonegap.com/) effort to support Windows Phone as its first-class citizen as well, because many of my attendees come from other backgrounds, especially from Web. Backed with a completely brand new approach to mobile operating system, HTML5 adoption and a very strong market prediction of Windows Phone platform, it clearly indicates that the friendships with these client libraries will continue to grow and go a long way.

Again, speaking of Windows Phone, Windows Azure platform releases various open source toolkits that ease and accelerate Windows Phone (http://watwp.codeplex.com/), Social Games (http://watgames.codeplex.com/), and rich client (http://watwindows8.codeplex.com/) development. Even more of such toolkits and frameworks we can expect to see released in near future in order to maintain the integrity of the software development ecosystem that Microsoft offers, because they are a heavily developer focused company. In addition, their cloud support for NodeJs and hosting apps written in almost any language not only opens up a new world of possibility, but also beautifully goes in line with Microsoft’s love and commitment to open source recent years, and mine alike.

In a nutshell, I am looking forward to innovations in all 3-tiers: Cloud, Server-side, and the Client (CSC), because the software development world is now more hybrid than ever before!

How do you think Open Source is affecting SMBs?

A simple enough reason to consider open source for Small and Medium-sized businesses is cost savings. SMBs usually start out with small investments, so lower up-front cost is the most lucrative reasons of all. Especially, when they are in startup mode, not generating revenues anytime soon, every penny counts. On the other hand, they may be in doubt with reliability and fear of lack of support of open source solutions. It often seems a potential risk to them particularly when there is no IT support in such small sized teams. However, automated tests, code coverage and load test results often help as convincing metrics to gain confidence on a piece of software that a group of people may have written in a highly distributed manner. If it is not a software intensive business, it may be wiser to decide based on projection of maintenance cost of the chosen open source solution in the long run, because there may not be developers in the team who can help reduce such costs if need be. Then again, open source offers you lower cost for experimentation.

How do you think Open Source is affecting enterprise level companies?

Enterprises choose open source for very different reasons than SMBs. Usually they have a lot of money, but very little frame of Time-to-Market to catch up or compete on time. Because time is one of the absolute critical factors to the success of the business, building is not always an option. Build vs. Buy is always a troubling decision, but the success with buying an open source license and tailoring it to the business needs often depends on the same software metrics that I have mentioned for the SMBs. Despite that fact, open source solutions are often used in the R&D departments before Enterprises actually go ahead and integrate into their existing solutions, so that they can reduce risks associating with adopting an alien piece of software into their currently running solution.
On the other hand, many proven open source solutions these days come with dedicated and professional support. They often collaborate with the Enterprises during development and rescue from disasters – from my experience it is no worse than calling the offshore center and crying out for help, rather often better. Additionally, many companies who have started out as open source, but taken their businesses seriously are as capable of delivering high quality software as just about any commercial company, and sometimes even better!
In the end, calculating ROI of open source is not always easy, but Enterprises can obviously take the freedom of it and make changes where applicable and see if it fits in their businesses, before they must purchase commercial licenses where applicable.

What do you make of Microsoft’s recent efforts in interoperability and to embrace the Open Source community?

Philosophically speaking, the world is neither completely black nor white. No matter how hard both try not to acknowledge the existence of each other, they remain strong in their positions and continue to signup people in their respective camps with their own charms and beauties. When both start to exchange each other’s strengths, it gets a new color called grey – a new partnership based on mutually inclusive benefits to achieve even more which was not possible otherwise. The bridge Microsoft has taken initiative of building between these two worlds does not only let us enjoy best of both, but also drives away the not-so-cool exclusionism we have been exercising in one way or the other over the past decades. In my opinion, with Interoperability, Microsoft has successfully caused to instill a brand new attitude towards software construction and consumption model which will definitely start to convince people in both camps to go hand in hand and build even greater softwares for a better and even more open world.

With new APIs, standards, tools, translators, converters, plugins, extensions, and ways of connectivity Microsoft is trying every possible way to treat open source community as the first-class citizen across the Cloud, Web Servers, Database and Windows ecosystem overall. I highly appreciate this initiative, although I must admit that Microsoft has a lot to achieve in this sector, however it’s better late than never.

How did you first get involved in Open Source development?

Back in 2004, I built a record management system project in Qt on Redhat Linux as a class project of “Object Oriented Programming – 2” course and I made its source available for no reason. That was my first going public with my code. Later that year, I also opened source to Planet Source Code (http://planet-source-code.com), later to Java.net Projects (http://java.net/projects/) of another class project that allows user to control a PC remotely and access its contents built on Java NIO technology. The responses and enquiries that I have received after that from many universities and educational institutes across the world including but not limited to those from Canada, UK, Italy, Pakistan, India, Malaysia, I started to realize the potential of open source and it opened the doors of my mind. Just so it is relevant, I must admit here that I still receive their feedbacks and request for support. :)

Since then I have been still working on Open Source development (http://tanzimsaqib.com/about/).

What makes you passionate about Open Source technology?

First of all, I like open source, because I can makes changes to those softwares according to however I like as well as fix bugs by myself without raising tickets or contacting support often times. Secondly, working with Open Source gives you the true sense of community. People across the globe get to know each other on a common ground, share perspectives, address issues, discuss potential resolutions, provide feedbacks, and offer support sometimes. Additionally, an open source project usually starts out to address a real life problem.