« AICPA says Security and Anti-Spam in top 10 IT priorities for 04 | Main | Microsoft's description of the main components of Longhorn »
January 6, 2004
Microsoft best of PDC highlights
Near the end of last year, I went over to Microsoft for a one day Best of PDC seminar. Basically a shrunk down version with all the smart guys from Microsoft. Here is a link to all the presentations: best of the Microsoft PDC 2003
As expected, this was all about Longhorn and how to get there. What the platform looks like today, what the interim steps are and how we get to Longhorn. All the heads were talking in sync, so it shows that Microsoft knows how to keep it's boys on message. Here are my impressions of the day along with some high level summary points:
Lightbulb moments:
I do not say that lightly. The entire thrust is how does Microsoft add more value to the OS and make it easier to write applications using their tools for the Microsoft platform. Multiple examples were given of applications that today required thousands of lines of code and under Longhorn would require a handful. I could actually hear the giant sucking sound pulling functionality down from the graphics, data, communication, and even application layer into the OS. If Longhorn gets traction, the biggest losers will be anyone in graphics software (Macromedia), middleware (BEA, IBM), database software (Oracle), Developer tools (Borland), or any other "value added" function today that is not a true end user application. Like the security, VPN, gateway, message bus, single sign-on, web services, or integration guys. At the end of the day, the only way to "add value" to the OS is to take it away from someone else.
Linux is still trying to replicate 20 year old features of Unix. They are doing a great job and are getting lots of traction from people switching over from higher prices proprietary UNIX implementations to lower TCO Linux builds. But there is still allot of work to do to get it up to enterprise grade on many levels. Meanwhile, Microsoft is offering a completely new and different programming model. Write less code. Use a generation of tools way more advanced than anything available on Linux or Unix. The investment in developing this model and getting it to scale is enormous and the open source community will be hard pressed to follow. Microsoft realizes a fundamental truth about IT development: The largest cost is in programmer and tester time, not in the tools or platform. If they can present a programming platform the performs satisfactorily and requires an order of magnitude less time to develop on, they can charge whatever they want for the platform. And we will all buy it.
Traditionally Operating systems have simply dealt with the lowest level interfaces between hardware and software. Allowing a developer to write to a (fairly thin) abstraction layer to get access to the hardware resources. Maybe you put in a few higher level functions in software that accessed multiple hardware resources (like a data get) but you were still at a pretty low level. Data that is used by applications was stored outside the OS in a database. Communication between software programs is done with middleware. Security is programmed in the application. Backup/restore is an application. VPN is an application. Network management is an application. Display and rendering of images is an application. User Interfaces require allot of coding.
In Longhorn you can do almost all this stuff directly in the OS. It is all in there. The level of abstraction has been raised significantly. The OS now is primarily an abstraction layer for software functions versus hardware functions. THIS IS A GIGANTIC FUNDAMENTAL CHANGE. The major architecture change Microsoft is calling Services Oriented Architecture (SOA). Nearly everything you need as an application developer (local or across the network) will be a "service" that you can call with a few lines of code. I know lots of developers who will not want to re-write their applications because 90% of their code (read value) will go away. This puts application developers in a conundrum. Do you rewrite your app and lower it's perceived value or face a competitor who develops one on Longhorn quicker and cheaper? Tough times ahead for app developers.
Some data on Longhorn:
Hardware Requirements:
Minimum requirements for the Longhorn preview call for
800-MHz Pentium III processor,
256MB of memory,
and a graphics card with 32MB of video RAM
The actual configuration they are building for is MUCH more beefy and pretty damn unbelievable today, although I am sure you could get one for under two grand in 2006.
Bill Gates showed a slide in his PDC keynote a month ago that they were targetting the following (desktop) hardware configuration for Longhorn when it ships in 2006:
4-6 GHz CPU, dual core
1 GB RAM
1 TB Hard disk
Radeon 9800 style graphics (all the PDC Longhorn demo's were on a 9800)
What is Longhorn?
Microsoft's high level description of what Longhorn is can be found here. Some of my impressions of each piece include:
Microsoft has defined there to be four main parts to the new OS. Presentation, Data, Communication, and Fundamentals. That is how they are now talking about all their OS's and how their current product plans migrate to the new architecture. In each bucket, the migration paths are roughly:
Presentation: Today Smart clients, Webforms, 2004 Whidbey Visual Studio, 2006 Avalon in Longhorn
Data: Today SQL Server, application specific data stores (Exchange, etc.), 2004 Yukon for SQL Server, 2006 WINFS in Longhorn
Communications: Today application specific protocols (IM, email, application) and middleware, 2004 a bunch of patches and little things, 2006 Avalon in Longhorn.
Fundamentals: Today API's in Windows and core stuff, 2004 various subsystem updates, 2006 Longhorn new kernel and Service Oriented Architecture.
Presentation:
What is the problem today?
There is no standard way to easily write a user interface separate from it's application. If you have to access resources in a local database and some across the net with web services, it gets even harder. You use HTML or Java/.NET for web front-ends and C for local application front-ends.
How does Avalon solve it?
Avalon is a single architecture for development of application User Interfaces, document viewing and media presentation. There is a new vector-based composition engine. There is declarative programming. There are security APIs in the presentation layer so you can handle access control with one line of code instead of a whole separate subsystem. Visual Studio will be the development environment of choice for all presentation layers. In VS you can develop front-ends seamlessly to local as well as network applications. Visual Studio will come with IIS built-in so in development you won't have to be running separate servers (this actually comes in in Whidbey VS). Expect allot more XML support and extensions to XML. Microsoft says Whidbey (2004) will allow you to write UI's with 2/3 the code you need today. Expect a further decrease in lines of code and a significant increase in what you can address with Avalon.
Data:
What is the problem today?
There is no unified file system. Search is different by application even within Microsoft suite. You search differently in Internet Explorer than inside Excel or Word, or SQL server or your local hard-disk. For applications, databases are very complex things. You need DBAs. Separate whole companies to support them. Many applications have their own data stores (Exchange). Everybody handles record locks differently. Cross datatype searching is a pain in the ass. Metadata is usually stored separate from the actual data and is usually easily accessible. Writing and retrieving data is non-standard. Why isn't there a unified way to find, relate to and act upon data?
How does WINFS solve it?
It is a unified file system. Documents, data, metadata, multimedia, custom datatypes all in the OS. Lots of data functions as well like sync, Transaction SQL, and many traditional DBA functions. You will be able to search ALL your data and datatypes local AND remote (tied with Active Directory of course) through a single interface. The OS will come with many pre-defined data abstractions that you can access through your application very easily. Like Contacts and Calendar. These will no longer be in your Outlook.pst file. That means that applications other that Outlook will have easy access to them. Great for Microsoft! The pitch from Microsoft is that now that you can access data through the OS, MORE applications can be written which are impractical today due to the amount of gluecode that must be written. As a VC investing in application companies, I hope they are right.
Communications:
What is the problem today?
There are tons of incompatible messaging protocols. Even within windows. The Instant Message protocol of MSN is not even the same as that in Outlook. There are various e-mail protocols. And application incompatibilities have given rise to a whole category of companies that focus on middleware. The other issue is trustworthy computing and the nature of trust between applications and systems. One of the main functions of middleware is to authenticate users and transactions between systems. And to handle things like transaction integrity, restart-recovery, presence, transaction state, message encryption/decryption, etc. The problem becomes especially acute if you have two applications talking with each other and maybe sharing executable code? How do you know you can trust the other system? Or the code? What level of authentication and authorization is required for what functions?
How does Indigo solve it?
Everything in Longhorn is a transaction. There is a unified messaging bus. Remember it has a Services Oriented Architecture. That means that every time you want something you send a message to a service that will provide it. Presence management is built in as well as state management. So is authentication and authorization. So when you sign-on to a device, any device, all your profile goes with you (think Active Directory +++). There is allot of stuff happening at the hardware level (through WINHEC) including new hardware encryption chip and secure memory subsystem that will be exploited by Longhorn to provide the improved level of authentication. Two Indigo servers will be able to exchange messages securely, quickly and reliably allowing them to share applications, resources, data, services, everything. Non-Indigo servers will be outa luck. Or have to write to the new message formats.
Fundamentals:
What is the problem today?
The basic things that an OS is supposed to do are at times shaky. Like stability. Think Blue Screens. Handling memory locks, record locks, application failures. Security, back-up and restore, network interfaces. There are many protocols that require add-on applications like HTTP (IIS) and IPSEC (a VPN server). Think about all those buffer overflow bugs.
How does Longhorn solve it?
Tons of focus on security and stability. A new transaction engine. Upgraded back-up and restore. More comprehensive support for network services. Many more protocols supported in the core like HTTP and IPSEC. There is also something happening with addressable memory and disk space (basically making them much larger). Remember, now under Longhorn your APIs won't just get you access to low level abstracted hardware resources, now you will have a couple levels higher up of abstraction and MANY more software services available!
Conclusions:
Longhorn is a bet the company strategy. It is a real innovation in the programming model. Only someone like Microsoft could come up with it or have a chance in hell in getting it adopted. But it grabs stuff pretty far up the stack. Will developers be willing to give ceed yet another major chunk of functionality to Microsoft. In the end, I don't think it matters because if current developers are not, competitors will be. Microsoft has enough resources to wait it out and fund plenty of upstarts in the ecosystem. Change is a'come'n. Now we gotta figure out how to deal with it.
Posted by Martin at January 6, 2004 1:17 PM
Trackback Pings
TrackBack URL for this entry:
http://www.nwventurevoice.com/cgi-bin/mt-tb.cgi/945
Listed below are links to weblogs that reference Microsoft best of PDC highlights:
» Martin's notes from the MSFT PDC summary. from a little ludwig goes a long way
Deep Green Crystals: Microsoft best of PDC highlights... [Read More]
Tracked on January 7, 2004 9:30 AM
Comments
Post a comment
Thanks for signing in, . Now you can comment. (sign out)
(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)