Leading Light: S. "Soma" Somasegar
An interview with the head of Microsoft's Developer Division -- S. “Soma” Somasegar.
When S. “Soma” Somasegar joined Microsoft in 1989, he worked as a systems-level programmer in the operating systems group of what was then primarily a “desktop” company. Today he heads the Developer Division during what promises to be one of the
most ambitious release schedules
in Microsoft's history.
“When you think about platforms,
the people that are the
most important to you are the
developer audience,” says the
corporate vice president. With
Windows Vista, the .NET
Framework 3.0, Visual Studio
(code-named “Orcas”), VS tool
sets, 2007 Office System and
ASP.NET 2.0 AJAX on the
launch pad, we asked Soma
what enterprise development
managers can expect from
these technologies and his take
on the industry trends driving
You've been at Microsoft
a long time.
you to software development
When I was in school, I was
always fascinated by systems-level
programming and I got this
opportunity to join Microsoft and
to work in an operating systems
group. For the next 14 years, I
stayed in the Windows organization
working as part of the
If you look at Microsoft today,
we do have a fair number of
technologies, products and
businesses, but fundamentally
in our hearts we are still very
much a platform company.
When you think about platforms,
the people that are the most
important to you are the developer audience -- it's all about
making developers successful
on our platform. So having a
chance to come and run a division
that builds products and
platform technologies is a great
mission to be a part of.
In your blog you note that
developers are asking you
they can take advantage
of the new features in
What are key issues
they should consider?
I think there are a couple
different dimensions. One is
developers are divided into three different buckets. There
are people who have an application
that's running today on
either XP or Windows Server or
older versions of Windows who
want that application to continue
running on the Windows
desktop. And we have done a
lot of work to ensure applications
compatibility. We have
been telling developers, "Hey,
now's the time to test. Let us
know if there's anything that we
can do." Now's the time to make
sure that your application continues
to run well on Vista.
The secondary category is,
"Hey, I have an application
that"s already running on an
older version [of Windows] but
I really want to make it light up
on Vista. I don't want to remake
my application but I want to
make a tweak here or there that
takes advantage of the new
features. How do I do that?"
And the third bucket is, "Hey
I'm going to write an application
from the start, what are the new
features that are available in
Vista for me?" If you look at it
from a developer perspective,
there really are a ton of new,
exciting features in Vista. For
example, the .NET Framework
3.0 connectors, which include
Foundation, Windows Workflow,
Foundation and the CardSpace
stack. That's all new functionality
targeted at developers building
modern connective applications.
If you want to continue
writing in a native application,
native code, we have about
7,000 new APIs that we've
added in Windows Vista.
You're starting to release
some of the tools that
.NET 3.0 application
Visual Studio (VS) Orcas
also be used in VS 2005?
The goal of releasing Visual
Studio Orcas is really to enable
customers to build applications
that are targeted at Windows
Vista, at the Office 2007 system
and at Web developers. So if
you want to use Office as a
development platform or you
want to write a Web app or you
want to write a rich client app
that runs on top of Windows
Vista, Orcas is going to be the
best tool set to deliver that
application in a highly productive
way. Along the road to
Orcas, we're going to make
some technologies available.
"... most important to you are the developer audience -- it’s all about making developers successful on our platform."
S. “Soma” Somasegar, Corporate Vice President, Developer Division, Microsoft Corp.
We have a technology code-named
“Cypress” that we're
going to make available by the
end of the calendar year or early
next year called Visual Studio
2005 Tools for Office 2007
Microsoft System, second edition.
Think about it as, hey, Visual
Studio Tools for Office lets
developers target Office 2007.
That's the technology that's
going to make it easier for developers
to do that and we're going
to make that available integrated
into Orcas, for example.
We've been doing some work
on Atlas -- ASP.NET AJAX. If you
want to develop a Web application
using the AJAX collection of
technologies, we now have a
framework and a set of tools that
make it easy for you to do that.
We've been doing CTPs of that;
it's going to be a part of Orcas.
We've been doing some work
on designers for “Avalon,” or
Foundation. The continuum exists all the way from
HTML on one end of the spectrum to Windows
Presentation Foundation on the other end of the spectrum.
I can use HTML to display my UI. I can use AJAX
technologies, or if I want a really, really rich UI that supports
running on the fly then I can use [Avalon].
What's your perspective on key trends you
see going on
in development, and how
Microsoft is evolving its
platforms and tools
to accommodate them?
The trends that I see happening are the following: The
performance and benefits that you can get out of a
single processor, or a single threaded application, I
think we're coming to the end of that era. If you talk to
the hardware companies -- Intel, AMD and the like --
they will tell you that the future in processing is multi-core
and mini-core. But from a software perspective
we have a ton of work to do to enable people to write
truly parallel programs easily. Parallel programming
has always been a hard problem to crack and we've
made some progress over the years, but we really
haven't hit a breakthrough there. That's a trend that I
see in the next three to five years.
Another trend that I see is that there's a class of
applications where people really care about the reach.
So we need to trade off a little bit of functionality for
the developer. People like the friction-free deployment
of Web-based applications, so the more we can make
it easy for people to have a set of frameworks and
tools to enable them to build those types of applications
and knowing that if they want to, to make the
jump from being a Web-based application to taking
advantage of some of the richness of the client, [we
can] make it easy for them to provide the mobilization
back and forth [that] I think is going to be critical.
Another is Web services -- you can call it Web services,
you can call it Service-Oriented Architecture
[SOA], whatever it is -- the notion that an application is
going to be a set of composable elements that will be
running on multiple systems that need to work together
in a connected systems world, in a secure, reliable
fashion; I think you're going to see more and more of
this happening. And so having a platform and set of
tools that enables you to do this, that's another one of
the trends I see.
What about open source development?
I think we've learned a number of great things; knowing
how important the developer community is, this is a
lesson for me personally that I got from the open source
phenomena. More recently, we've talked about
CodePlex from Microsoft. You can call it a shared source
or open source site. Basically, it is a site where you as a
developer can put your product in, you can open up your
source code and you can invite members of the community
to participate or contribute and get more control of
how you want to run your project, and we've seen some
good success with that.
We still need, I think, a boundary between things
[where] we want to own the IP and things we want to
enable the community to be a part of and have the community
provide some of the IP, so to speak, and really
benefit the broad community base. We're learning as we
go along here, but I think that is one that we can tweak
and figure out what works well and what doesn't work.