Friday, May 25, 2007

Emails from the Edge; A Hodgepodge of Hodgepodge

More emails from my Peninsula Pal all given to you for free.

Email Number #1:


Very informative dissection. Look at the difference between SilverLight 1.0 and Silverlight 1.1

Silverlight 1.1 - which builds on 1.0 by adding a virtual machine for running logic inside the plug-in. (so here's where silverlight steps on the client agent concept in the XML Agent patent in association with Emily).

Silverlight 1.1 is essentially the Microsoft .NET framework masquarading as a portable Web plug-in.

May 1st, 2007

Dissecting Silverlight

Posted by Ed Burnette @ 7:53 am Categories: General, Java, AJAX, Scripting, Microsoft, Programming, Sun, Linux



Two new technologies from Microsoft should be on the radar of every Rich Internet Application developer. The first is Silverlight 1.0, a canvas-like control which is programmed by browser JavaScript. It's fairly light weight (1.4M download), and works in all major browsers on Windows and MacOSX (no Linux yet). It is currently in beta.

The second is Silverlight 1.1, which builds on 1.0 by adding a virtual machine for running logic inside the plug-in. This is much closer to the approach used by the Flash player. The advantage of bundling your own language and runtime is that developers are isolated from browser inconsistencies (it's hard work to write a Javascript program that will run in all browsers now). Silverlight does Flash one better by supporting more than one language (currently C#, VB, JavaScript, and Python). The Flash player is limited to ActionScript.

Silverlight 1.1 is not quite as light weight (4.3M download with the current alpha) because it does a lot more than 1.0. Let's take a look inside the install packages to see what you get. I'll just look at the Windows version because that's what I have.

Silverlight 1.0

Silverlight 1.0 installs only two files:

agcore.dll (2.2M installed) - This is the core ActiveX control that is responsible for Silverlight rendering and events, including audio and video decoding.

npctrl.dll (460K) - A wrapper for agcore.dll that makes it run inside Firefox.

Silverlight 1.1

Silverlight 1.1 uses the same exact files plus many others that add a stripped-down version of the Microsoft .NET Framework:

coreclr.dll (3.2M installed) - Microsoft .NET Runtime Common Language Runtime (i.e., the virtual machine).

mscorlib.dll (1.8M) - Microsoft Common Language Runtime Class Library.

microsoft.scripting.dll (556K) - Part of the .NET framework, supports hooks for support scripting in various languages.

mscorrc.dll (326K) - Resources (icons/text for natural language translations).

microsoft.jscript.runtime.dll (292K) - Microsoft's JavaScript language runtime. Note this JavaScript is running in the CLR not in the browser.

microsoft.visualbasic.dll (280K) - VisualBasic language runtime.

system.xml.core.dll (272K) - .NET framework libraries for XML parsing.

system.core.dll (224K) - Lowest level .NET framework libraries.

ironpython.modules.dll (216K) - Python language classes.

ironpython.dll (184K) - Python language runtime.

agclr.dll (132K) - This looks like glue to get the Silverlight control and the .NET CLR to talk to each other.

microsoft.jscript.compiler.dll (112K) - Microsoft's JavaScript compiler.

system.silverlight.dll (108K) - A .NET module that lets CLR programs access Silverlight specific APIs.

slr.dll (108K) - An abstract DOM library that lets CLR code running inside Silverlight access the browser it is hosted in. There are two versions, one for IE, and one for Firefox.


Silverlight 1.0 is the "camel's nose in the tent". It's small and useful, with what looks like a relatively small surface for security attacks. While writing portable JavaScript is not easy, it's not impossible either, and tools like the Google Web Toolkit (or its clones) could let you pretend to program in your favorite language, compile that to JavaScript, and run RIA's with a minimum footprint.

In Silverlight 1.1, the camel has his whole head in the tent and is rummaging around in your backpack for food. Silverlight 1.1 is essentially the Microsoft .NET framework masquarading as a portable Web plug-in. This can be both good and bad. MS .NET is a nice elegant system that was designed after Microsoft and Sun had their famous falling out over what constitutes "real Java". Some .NET fans describe it as "Java done right", while Java fans just call it a blatant rip-off.

As Joel once wrote, the reason companies spend millions on something they give away is not altruism, it's to promote some complementary technology. Adobe gives away the Flash player so they can sell more tools like Flash, Illustrator, and the Flex IDE. Microsoft is giving away Silverlight 1.1 to make .NET more ubiquitous. They can then monetize this by selling tools like Expressions and Visual Studio, and of course operating systems to run those tools.

A good question to ask is, where is Sun in all this? I've heard rumors of an answer to Silverlight and Flash coming out of Santa Clara, but nothing definitive. Expect to hear more soon. JavaOne is next week, after all.

Email #2:

This discussion gets to the heart of the matter but avoids making any points other than what was "five years ago". However, the update indicates the writer is aware of the blinders on developers and where things need to go... but are not getting there via MSFT.

The component alternative

I'd rather have lean visual effects with minimal distractions (which can look very attractive) and let desktop developers focus on getting programs to be more open to each other and work together more tightly. I'm getting tired of moving between one silo of an application to another, a division I'm finding increasingly arbitrary.

If I've developed a complex equation in my spreadsheet, I'd like to extract it and use it in other settings. If I write a powerful pattern-matching (regular expression) subroutine in Perl, I'd like to apply it to the page in my browser or the document in my word processor.

I explored this idea five years ago in articles such as Applications, User Interfaces, and Servers in the Soup, which tentatively suggested the end of the computer application as we know it. I had high praise for Microsoft's component architecture. I saw that it allowed tight integration of services from different vendors, but I haven't seen the same innovation on the part of small contributors. Integration is harder than it should be, a game only corporations can play. (One such corporation, Groove, is now part of Microsoft.)


Update, 17 May 2007: Thanks for the comments. The various histories of component technologies are nice to have here in one place, but I'm not talking just about using components. It's one thing (and a necessary foundation) to build programs out of reusable, pluggable components. It's another to expose them to end-users in ways that make it convenient for users to bypass large-scale applications or plug in their own little scripts, and that's what I'd like to see next. –Andy

Email #3

Remember who red hat is to us. I think they are the nest for our eggs and birds with IBM walking Red Hat through the concepts of building environments embedded into linux.

Email #4

May 20th, 2007
Microsoft and patent claims: ‘Business as usual’?

Posted by Mary Jo Foley @ 6:59 pm

Microsoft is holding an Open Source ISV (Independent Software Vendor) forum on May 21, just before the Open Source Business Conference kicks off this week. Let’s see this week if Microsoft’s open-source partners back Hilf’s claim that it’s all business as usual ….

Email #5

Yeah, wasn't that the same Amazon IBM was suing for IP infringement?,1895,1571583,00.asp

Microsoft's Helland Paints the Big Enterprise Architecture Picture By Mary Jo Foley

Microsoft platform architect Pat Helland has lots to say about SOAs, cities and hooking systems together.
Nine-year Microsoft veteran Helland came to Microsoft from Tandem Computers, where he was chief architect and senior implementer of the transaction monitoring facility. He has done lots of work in high-end computing arenas, such as parallel processing, clustering, 64-bit computing and the like. He was one of the chief architects on the Microsoft Transaction Server.

May 20th, 2007

Pat Helland 2.0 rejoins Microsoft
Posted by Mary Jo Foley @ 7:25 pm

Looks like former NetDocs leader Brian MacDonald isn’t the only former Softie to come back to the fold.

Former Platform Architect Pat Helland — who spent the past couple of years over at helping the company with its service-oriented-architecture (SOA) strategy — quietly rejoined Microsoft in early March.

Before he left for, Helland was working on big-picture strategy at Microsoft. He was instrumental in helping Microsoft build and ship Microsoft Transaction Server/COM+.

No comments: