The World’s Leading Microsoft .NET Magazine
   
 
The .NET Addict's Blog

My Top Tags

                                                           

My RSS Feeds








I heart FeedBurner

Latest Diggs - Programming

Computers Blogs - Blog Top Sites

Site Hits

Total: 4,904,749
since: 19 Jan 2005

Microsoft's Lofty Direction

posted Sun 05 Oct 08

Recently Microsoft announced some details about Visual Studio 2010 and the .NET Framework 4.0. There have also been other announcements related to a forthcoming "Cloud Operating System" that will be revealed at the PDC. What does this all mean, and is Microsoft finally heading in the right direction?

Visual Studio 2010

The marketing push from the folks in Microsoft around Visual Studio 2010 is that it will come with the Oslo modeling stuff. In other words, developers should be able to use high-level modeling tools to architect complex interconnected systems of services and service consumers visually and drop into the code implementation of each piece of the architecture at will. This is Oslo's goal... Whether it will be able to deliver on this promise is another thing entirely.

.NET Framework 4.0

The .NET Framework 4.0 is going to be another incremental improvement on the existing 3.5 framework. However, there are going to be some known overhauls, and probably some overhauls that those of us on the outside looking in aren't aware of yet. Scheduled to get major improvements are WCF and WF. WCF is reportedly getting large improvements in the area of REST and POX, including a potential REST client project that may be delivered via CodePlex. It will also be getting messaging enhancements, but I haven't heard what those enhancements might be. All my information is coming from blog posts and online news articles at this point. REST and POX support already exist in WCF today, but the fact that the are getting a facelift in the next version of the framework is a damn good thing. Now if the modeling thrust being done by the VS2010 team actually includes the ability to model and develop REST services in an interconnected enterprise of modeled services and consumers - then count me in, dag nabbit.

The Cloud

Microsoft's clear direction is toward the cloud. You can already sync your files to "the cloud" using the Live Mesh service. If you look at the list of publicly announced PDC 2008 sessions, you will quickly run out of fingers trying to count the numbr of times the word Cloud appears in that list. Like it or not, this is the future. This has been the known future for quite some time... I remember back in the good old days of Internet Explorer 4.0, I would wear my throat hoarse trying to tell people that the Web Browser as a standalone entity is doomed to eventually disintegrate... replaced by more tight integration of the Internet with the Operating System until eventually the Internet is so much a part of the Operating System that people take its presence for granted... people will eventually get to the point where they will expect to be able to sync to the cloud, store in the cloud, compute in the cloud, and socialize in the cloud, share files with friends via the cloud, and run applications that are so integrated with the cloud that functionality never before thought possible will become ubiquitous. This is Microsoft's direction, and it is the direction of many other big players right now. The question is, who is going to be able to pull off the killer Cloud first, and who will do it the best?

What is a Cloud Operating System?

To me, a Cloud Operating System is an OS that has been built from the ground up to be aware of Internet connectivity. Not just connectivity, but connectivity that can come from plugging into the home LAN, attaching to the Starbucks Wifi, or firing up the Sprint EVDO USB card, or even tethering via Bluetooth to a SmartPhone and borrowing its mobile broadband connection. A Cloud OS' file system is inherently synchronizable, allowing cloud-storage backups to take place seamlessly (think "Time Machine", but the backup storage device is in someone's data center). The file system of a Cloud OS also allows per-folder and per-file sharing with friends in the "Cloud" as well as public sharing. You should be able to designate a directory as a web folder and everyone should be able to access your web page, even when your computer is offline. Developers writing code to access a file stream will use the same API whether the file is in the cloud, on a local disk, or synchronized periodically to the cloud. Everything would be seamless and "just work". Think of the best aspects of MobileMe, Live Mesh baked into the operating system. Add to that the ability for developers to write apps that work against Cloud storage and compute grids in the Cloud using APIs that are part of the core operating system. This is what I think of when I think of a Cloud OS... We'll see if this is what Microsoft is envisioning after the PDC reveals all. If it is, then sign me up to test that sucker because it will be the biggest game-changing OS since Windows 95.

 

Regardless of what Microsoft is planning on doing... The future is looking pretty awesome from where I sit.

tags:            

links: digg this    del.icio.us    technorati    reddit

AddThis Social Bookmark Button




1. James Gregurich left...
Sun 05 Oct 08 11:52 am

So, instead of building a next generation OS to replace the WinNT codebase with something that doesn't annoy people and gives them a platform for all of this advanced stuff that will make it all work well, they will waste their time building the advance stuff on current crappy foundation. The software stack will eventually collapse under its own weight.

From where I sit, .NET is worthless to me because of the stupid virtual machine it runs on. If I can't easily and efficiently mix-in my cross-platform C++ code into it, then I can't use it. If ADO.NET doesn't synchronize threaded access to a data store, then I have no reason to use it for my nenxt generation application development.

MS needs to dig themselves out of the technology hole they are in before they go trying to build more stuff. However, based on what I see in these MS ads, MS management appears to have no clue of the true scope of their problems. They think their stuff is good and they only have a perception problem.

Time to buy more Apple stock while it is cheap.


2. Kevin Hoffman left...
Sun 05 Oct 08 12:30 pm

.NET can fairly easily invoke C++ code, and ADO.NET data providers can do thread-synchronized data access depending on the provider (just don't use a provider that invokes COM objects). The "Cloud OS" is something that nobody has heard anything about, so we have no way of knowing if this thing is going to be based on the current "crappy" foundation.. Windows 7 is not the same thing as this new Cloud OS thing... who knows, the Cloud OS may be a server-only OS... Its anybody's guess at this point. Just because Apple has a better product doesn't mean we can all drop our day job projects and start writing Cocoa code... People building apps need to consider who owns 92% (or whatever) of the desktop market, and if you build a .NET app you're in the 92% and if you build a Cocoa app you're in the 8%... Whether that Cocoa app was easier to write or more fun to write is irrelevant if your bottom line is making money or your target audience isn't specifically Mac users. I wish I had bought Apple stock about 4 years ago... I'd be happily well off ;)


3. leeg left...
Sun 05 Oct 08 2:03 pm :: http://iamleeg.blogspot.com

Presumably a good name for Microsoft's cloud-based APIs would be Web Template Framework… to join WPF, WCF, WF and so forth.


4. James Gregurich left...
Sun 05 Oct 08 3:28 pm

Honestly, my wish is that MS would create good products. I'm not as partisan as you might think. MS' technology is in shambles at this point, and rather than focusing on fixing the problems, they are pushing more half-baked, nebulous nerd-toys. If MS doesn't get its act together, it will continue to have its marketshare trickle away and one day that 92% will be 50%.

As for .NET and C++....yes....you can mix them, but you have to keep the coupling loose and not cross that managed/unmanaged boundary very often. My system is one where a big pile of cross platform C++ code parses binary data from a variety of proprietary file formats (on multiple threads) and shoves the data into a data store. The data store is an in-memory db.

It was fairly trivial to set this up with CoreData. The thread synchronization was done for me. The ManagedObject/ManagedObjectContext mechanism made it straight-forward to set up an abstraction layer to handle all the different document types I have to handle.

I tried to set this up with .NET. The in-memory db is not synchronized for me. I'd have to cross the managed/unmanaged boundary multiple times for every record posted to the db to convert the fields/properties from unmanaged c++ types to managed types.

So, after I would go to all the trouble to write the synchronization code, I'd probably find out that the the managed/unmanaged boundary was a killer on performance. I decided it wasn't a good gamble. If .NET wasn't going to save me any time on the DB layer, then why bother with the extra complication necessary to deal with mixing managed and unmanaged code?

I took a much safer gamble and bought licenses to Qt. I still get a fairly high-level API to work with that is mature and works as well as anything MS offers, but it is unmanaged code that I can understand and work with myself without having to learn a whole new operating environment.

I see about as much reason to go .NET for my work as the MS Office team saw for Office 2007. If MS' own internal commercial product development teams aren't converting to .NET, why should 3rd party developers take the risk?

I'm sure .NET works great for enterprise apps and web development, but for general purpose desktop development, I just don't see any advantage there.


5. Joe left...
Sun 05 Oct 08 9:03 pm

The real problem with .NET on the desktop (and its lack of adoption by Microsoft's cash cow applications) is the GC. Apple has the same view - the GC is switched off for their major apps. I would be expecting something to address that in .NET 4.0. Sounds like VS 2010 is taking the plunge with a WPF based text editor. So the pressures on.

As for Cloud aware OS. I would expect to see the Mesh OS to represent more of a WinFS style repository. Directories and files will be less important. It's going to be about entities and relations.


6. Alex Hoffman left...
Sun 05 Oct 08 11:47 pm

The cloud isn't about an OS or (yet more) low level services on the internet. It's all about a cloud that can *run applications* that are described through metadata not code. Metadata that is generated through modelling tools (and a new language) that result in executable code in the cloud. Applications that can seamlessly scale from 1 user to hundreds of thousands - on demand.

We as developers are about to undergo one of the biggest general paradigm shifts in general software development. It's big.

-- Alex Hoffman


7. Kazi left...
Mon 06 Oct 08 2:26 am

If you have Live Mesh installed, look into the "%USERPROFILE%\AppData\Local\Microsoft\Live Mesh" folder.

You will find something very similar to the silverlight runtime environment, especially in GacBase and Bin folders. It is not silverlight, it is the same runtime as silverlight uses. Cloud OS is a marketing name of a new platform. Silverlight applications run within a context of a browser, but Live Mesh applications run on the desktop, but using same bases. It is very similar to that the big .net can be hosted in different environments, as hosts can be the desktop, web browser, sql server, etc etc.

This is the client side. The server side is totally unknown yet, but my guess is that it will be .Net 4.


8. Kevin Hoffman left...
Mon 06 Oct 08 6:52 am

Alex, if you define an OS as an "environment that can run and manage applications" , then the Cloud OS may actually qualify as an OS and might not be just marketing hype. Time will tell. I also agree with the commenter that said that Cloud data will be more like entities and relations and less like files. I think, given the direction they went with Mesh (Atom/Feeds), that the Cloud OS could expose data more like a persistent-over-time-feed-of-feeds.


9. Kevin Hoffman left...
Mon 06 Oct 08 6:56 am

Also agree about Silverlight. Applications on your "Live Desktop" (or Cloud OS desktop or whatever they call it) will be Silverlight apps with mesh-aware manifests that allow them to be run from anywhere, including your desktop, and store their data in the cloud, sync their configurations and options to the cloud. It could be huge. Couple more weeks and we'll all know if Microsoft is all smoke and mirrors or really has something fantastic up its sleeve.


Tag Related Posts

Get Your Red Hot VS2010 Beta 2!

Mon 19 Oct 09 8:43 P GMT-05
tags:      

How to Build your First Azure-Powered MVC App

Tue 29 Sep 09 2:16 P GMT-05
tags:        

Configuration Settings in Azure Applications

Mon 28 Sep 09 2:59 P GMT-05
tags:        

Geneva Distilled

Thu 09 Apr 09 1:27 P GMT-05

WPF Control Development Unleashed

Wed 25 Mar 09 2:26 P GMT-05

What's New in Silverlight 3

Fri 20 Mar 09 2:38 P GMT-05

MIX 2009 - Day 1 Recap

Thu 19 Mar 09 2:17 P GMT-05

At MIX 2009, pre-keynote

Wed 18 Mar 09 2:50 P GMT-05

Live Framework April 2009 CTP is out!

Fri 13 Mar 09 12:11 P GMT-05

Velocity CTP3 coming up next week

Thu 12 Mar 09 4:44 P GMT-05
tags:            

SSDS loses an "S" and gains some awesome

Wed 11 Mar 09 11:42 A GMT-05
tags:              

My first day using Windows 7 Beta 1

Wed 25 Feb 09 1:58 P GMT-05

Live Mesh Tutorial 1 - Hello Live Mesh

Thu 06 Nov 08 2:33 P GMT-05

Microsoft Windows Azure Distilled

Tue 28 Oct 08 1:42 P GMT-05

Smart, Deep Property Notifications in CLINQ v2.0

Tue 07 Oct 08 1:15 P GMT-05
tags:          

The Evolution of the Cloud - Then and Now

Mon 06 Oct 08 12:34 P GMT-05

Microsoft's Lofty Direction

Sun 05 Oct 08 2:30 P GMT-05

MobileMe vs. Live Mesh Throwdown - Round 1

Wed 16 Jul 08 10:33 A GMT-05

MobileMe vs. Live Mesh - Round 1

Wed 11 Jun 08 12:20 A GMT-05

One Framework to Rule them All

Mon 25 Feb 08 6:49 P GMT-05

Microsoft Codename Acropolis - Unwrapped

Wed 20 Jun 07 3:22 P GMT-05
tags:              

Installing Orcas Beta 1 - VMware Style

Mon 23 Apr 07 12:16 P GMT-05

Orcas Beta 1 Released

Fri 20 Apr 07 7:09 P GMT-05

My Little Pony .NET Unleashed 2007

Fri 30 Mar 07 1:59 P GMT-05