“Understand That Writing Scalable Code Is No joke”

Prasanth Viswanathan, President of Querisoft
Systems, a Pune-based application developer on NT, was also a member of the NT development
team in the early days. We touch base with him to find out more about NT, the development
platform.

You were in the early development
team for NT. What was the mandate for NT at that time? To what extent has that been
delivered? What is missing?

Very few companies around the world would undertake building an operating system platform
from scratch. Microsoft has the wherewithal to not only begin building a Mac-based
micro-kernel architecture but also support legacy applications on DOS, 16-bit etc. while
pushing the envelope on another Intel-only OS Windows95. [Tongue-n-cheek response] The
first mandate was it should sell in the millions! The second mandate for the team was to
build an object-oriented, scalable, high-performance, secure, hardware-independent
application development platform. Period. It really is what it is today because of it
Microsoft has delivered on it and their competitors know it! What is missing? Well, it
depends in what context. Microsoft is completely a market-driven company. In the early
nineties it was to get enough features to beat Novell in the File/Print server business.
They beat it [Novell] in the small-biz market (60 percent in the US). Now these services
are in kernel-mode, it is hard to match that kind of price/performance ratio. Then, in the
next couple, it was to beat Unixes in the application server business. In the last couple
of years it has been to deliver on a high performance Web Server. If the context is NOW,
people expect Microsoft to play in the enterprise/large corporate space. The traditional
Big Blue or Unix turf. Then I’d say, the in-the-box features that are missing are
enterprise-wide management tools and a global Directory Service. Hey, but that is why WE
exist.

To what would you attribute the
current success of NT as an OS? Is it just the product itself or is there anything
else-some innovating marketing by Microsoft, for example-that has contributed to it?

True to both of your assessments-applicable to both product and marketing. And then some.
Marketing, by itself, does not help push a product. You have to recognize that Microsoft
is the ultimate Developer Company. Nobody, I repeat nobody, coddles and nourishes a
developer like Microsoft does. It comes from its BASIC days! Windows NT is a platform. To
push a platform you need applications. To build applications you need really good
developer tools, access to developer support, SDKs, early drop to sources, their
ubiquitous logo programs, and a good base of companies complementing the out-of-the-box
experience. Upfront Training: Developers going to Microsoft’s highly ballyhooed TechEd,
Professional Developers Conference etc. is like going to Mecca for Haj. In my humble
opinion, this type of technical evangelism is probably the most significant factor I’d
attribute to NTs (and most of its products) success in the marketplace.

As a developer, how would you
compare NT with other operating systems-Unix, NetWare, and Windows 95? What is the biggest
advantage of developing for NT?

This is like comparing apples and oranges. Each OS was designed and built at various
stages to meet multiple market requirements. With Unix, the question is always "which
one?". With NetWare, it was easier getting your teeth drilled than writing an NLM.
The Win32 platform allows you to write applications for both NT and Win95. With the coming
releases of NT you can have one binary executable for multiple languages! That’s
"cool". Writing for NT has many advantages, including better developer tool
support, multi-language support (it’d be cool to ship our products in Mandarin or Tamil),
multi-platform etc. Perhaps, Windows NT was revolutionary to the software world in the
sense that it was the first time that the OS was ready before the actual hardware chip
that could run it! Case in point PowerPC! Sun’s SunSparc is the last holdout-from a
processor perspective, where NT does not reside.

Your web site states: "The
security tools market for Windows-based PCs has not matured beyond virus scanners. Even
information privacy and integrity, which represent basic human needs, have not gained mass
acceptance. Querisoft believes that the problem is primarily related to the high cost and
difficulty associated with using existing products." Couldn’t this lack of maturity
be a result of the fact that the Windows family of operating systems are inherently weak
in their implementation of security as compared to say Unix, and that it is comparatively
difficult to implement effective security on NT?

You are partly right. Windows 3.x and Windows 95 were consumer products meant for use for
desktops to support spreadsheets and wordprocessors. Now, NT is a US DoD defined
C2-compliant security system-what does it mean? Well, it means that security was NOT an
afterthought. It was designed to meet Intranet requirements. When the Internet boom
occurred the out-of-the-box NT security was just not enough. You needed security that
protected a network of NT and many non-NT systems and required a human to actually
configure the system. The Unix world just happened to take a beating for 20+ years to iron
out most of the security, and still there is a lot to be desired from both systems.

NT has a reputation for crashing
regularly. Why does this happen? What steps do you recommend to users to avoid/overcome
this?

One of the downsides of writing an operating system that is flexible, that supports
multi-vendor products etc. is the fact that whether it is the hardware’s fault, or the
application writer’s fault or the peripheral device problem, the onus lies on Microsoft!
This is actually quite unfair to them. When you want to write high-performance,
high-availability scalable applications, you need to get closer and deeper into the
operating system. There the code has to be really spiffy; so when Microsoft exposes APIs
that allow you to talk natively to the base, the application write or the device driver
has to be really careful; the design and programming considerations are enormous. Writing
to an OS, one that supports multiple processes and threads is a non-trivial task.

There are a number of freely
available programs like NTFSDOS and SAMBA that can mount and read NTFS volumes, thereby
nullifying whatever security is implemented on NT. Any comments?

The operating system can protect itself if its own OS is running! In the NTFSDOS case, the
C2 requirements never said anything about protecting content when the operating system
[i.e. NT) was not running. It’s like singing a lullaby to an already sleeping baby. By the
way, the installation of drivers like the ones mentioned can be done only by the
administrator or by someone in the administrator group. Remember that Security is about
Configuration. All security is MOOT without a really good policy across the enterprise.

Microsoft had recently made a big
show of the scalability of NT. Any comments?

If you want to play in the enterprise space and go against the Oracles, IBMs, and Suns,
you have to do more than just a show. You have to have customers that actually push the
limit of the hardware/software. Understand that writing scalable code is no-joke. Things
like Microsoft Viper (Transaction Server) really allow you to do some interesting things
in this area.

Leave a Reply

Your email address will not be published. Required fields are marked *