Coffeehouse Thread

17 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Why Does Microsoft Have a problem with a ported Indigo and Avalon?

Back to Forum: Coffeehouse
  • User profile image
    Deactivated User

    Comment removed at user's request.

  • User profile image
    rjdohnert

    Shmuelpro wrote:
    Here is the article.
    I understand Microsoft's stand on the subject; they invest the hard work then someone else clones it.
    Though why suddenly now? why wasnt it a problem with the first Mono?


    The first Mono doesnt have an implementation of Indigo or Avalon.

  • User profile image
    wkempf

    "Less stable ground" is an understatement.  If MS chooses to go after them, it's not likely they'd even fight, just removing those stacks from the distribution.  If they did fight, in all likelyhood they'd lose.  And quite frankly, that sucks.  MS should open these APIs up, like they've done with the rest of the base class libraries.  (One could argue that WinForms is specific to the Windows platform and shouldn't be opened up, but in that case it's in everyone's best interest to have a UI stack that's open and portable.)

    Why?  Because ADO.NET and ASP.NET are not Windows specific APIs, and have counterparts in the competitor stacks, such as Java.  If MS doesn't open these, it's likely that others will attempt to step in and close the gaps, with the result being fragmentation in the market with likely inferior solutions, which isn't beneficial to anyone, including MS.

    Avalon and Indigo fall under similar umbrellas of thought.  Web based Avalon solutions won't be adopted as quickly or thoroughly if they are a MS only technology, and competitors such as XUL and MyXAML will try and fill the void, causing fragmentation in the market, at best.  Indigo already has counterparts in other technologies, even if it does more in a cleaner manner.  We're better off with a single solution, then with fragmentation.

    We can argue about why MS got into the portable arena by standardizing C#, the CIL and the base libraries, but since they did, it should now be in their best interest to continue down that path, only making APIs proprietary that are truly necessary to do so (i.e. APIs that interact with proprietary parts of the OS).  Compete by providing the better implementation, not through vendor lock-in.

  • User profile image
    thepuffin

    Why doesn't Microsoft open Indigo? Surely the answer to that is obvious? Indigo will communicate using Open Standards (WS-x) when communicating with other systems, and using proprietry MS binary serialisation when communicating with other indigo servers. Opening up Indigo does nothing other than remove MS's competitive advantage. Leaving it closed doesn't prevent indigo working with systems on other platforms. You do the maths.

  • User profile image
    nightski

    Indigo is open.  Any protocol Indigo uses is open (even the binary ones).  They just don't want someone duplicating the API that they have created for developing messaging applications.

    Plus, Indigo's messaging format is highly customizable.  So it can be made to meet just about any need.

    Indigo is a freaking sweet messaging platform, and I am sure they just don't want someone making the same awesome developer experience available over on Linux or Unix.

  • User profile image
    rhm

    I don't know much about Indigo so I won't comment on that.

    Avalon and XAML I believe are conceptually flawed and Mono would be better off developing it's own technology if it feels the need for something like that (it's not really clear if there is any need for it at all on Windows or on Mono).

    Moreover I believe the point of the Mono project is to provide Linux (and other OSes but mostly Linux) with a dev environment that offers the same advantages .NET does to Windows developers. The project is not so much about binary compatability and letting Windows apps run on Linux (although they are not adverse to making things compatable). For example they promote the use of gtk# instead of S.W.Forms for applications that are primarily going to run on non-Windows platforms. Therefore there isn't much case for 'cloning' Avalon in a way that would infringe any of Microsoft's "intelectual property" (whatever that means).

  • User profile image
    geekling

    Its not made by Microsoft, Beer. Wink

  • User profile image
    geekling

    I don't understand what your point is, Beer28. Can you clarify?

  • User profile image
    geekling

    Touche'! I had thought to lure you into your typical 'Linux has this too, all you need to do is pull out an engineering diagram and start whacky-glueing these Lego blocks together' mind-set that you display so often.

    Pleasant argument you have. Wink

  • User profile image
    eddwo

    I've not looked at Indigo in much depth, nor have I dug up specific patents that reference it. As I understand it, it works similarly to the .Net XML Serializer, you decorate your classes with .Net Attributes which describe how the data should be serialized and what security and reliability properties should be applied to it etc.

    They obviously want people to be able to make interoperable systems that work with the same message formats and protocols, or they would not be spending all this time working to get the protocols through the standard process. The WS-? Web service standards have become so complicated that some sort of wrapper API will be needed to implement the standards on whatever platform you are coding on, so just the matter of having an API layer cannot be a potential infringement.

    I suspect the parts of Indigo that would be subject to patents are more to do with the specific implementation of reflecting over the Attributes, formatting the messages, and setting up secure and reliable channels with minimal developer involvement.

  • User profile image
    Michael Griffiths

    XAML Intranet sites will spring up overnight with Avalon.

    With the internet, developers have to wait until technologies have a deep enough penetration to start using them - businesses do not have to jump this hurdle.

    Should XAML be useful, it will keep corporations tied to Microsoft. If they could use Linux and still have XAML, they might be sorely tempted.

    It's a strategic decision, far above the developers of either system.

  • User profile image
    eddwo

    If you make an API that reflects over the same source code attributes and produces the same messages through a broadly similar implementation then you might be infringing the patent.

    If you make an API that allows developers to simply specify message contents, formats and channels that allows an application running on one platform to interoperate with an Indigo based appliction running on Windows you would not be infringing the patent.

    The whole point of Indigo is to enable that scenario.

  • User profile image
    eddwo

    Xul is basically an XML dialect for describing widget layouts. Graphics, Interactivity and styling must be built on top of that using SVG, Javascript and CSS.

    Avalon is a presentation platform that combines Widgets, Vector Graphics, Text-flow and typography, media elements (video, pictures etc.), 3D animations, styleing, interactivity, event handling, accessibility etc into one consistent programming model. All content is hardware accelerated where appropriate through the DirectX API and GPU hardware.
    Xaml is an XML dialect that lets you describe and instantiate .Net object graphs. Xaml can be used in conjunction with Avalon to describe user interfaces, vector illustrations, animations etc.

    Any way Here is a patent application that seems to deal with the overall Indigo programming model.

  • User profile image
    eddwo

    The parts of .Net that are open specifications are the C# language, the CIL bytecode format and runtime, and the base class libraries. Mono can reimplement those with no worries.
    Other parts like WindowsForms, ADO.Net and ASP.Net are not covered by the ECMA specifications. Mono has nearly recreated those without any interference from Microsoft so far, but they are on less stable ground.

    Avalon and Indigo are part of Microsofts next big move to make the Windows Platform the place for developing next generation applications and services for the next decade. By offering developers higher level APIs to simplify complex applications they hope to maintain their lead.

    Microsoft are aiming to get many patents on the ideas and frameworks behind Avalon and indigo to prevent them being implemented elsewhere.
    This patent includes a description of nearly the whole Avalon presentation system, and this one covers Avalon's animation system.

  • User profile image
    geekling

    Beer28 wrote:
    Michael Griffiths wrote:XAML Intranet sites will spring up overnight with Avalon.

    With the internet, developers have to wait until technologies have a deep enough penetration to start using them - businesses do not have to jump this hurdle.

    Should XAML be useful, it will keep corporations tied to Microsoft. If they could use Linux and still have XAML, they might be sorely tempted.

    It's a strategic decision, far above the developers of either system.


    What's the huge difference between XAML and XUL/SVG
    Like
    http://www.google.com/mozilla/google.xul

    That lets you use desktop gui elements inside web pages and from the web right now. Plus it's not IE dependant.
    Is DirectX the huge difference? I don't see why they wouldn't add that to XUL very soon as well. Not that a whole lot of people use 3d on the web to begin with.


    That is such a crappy XUL example I'm suprised its hosted by Google!

  • User profile image
    eddwo

    Avalon does not expose win32 window classes. It implements even the standard widgets in terms of their underlying vectors rendered through the 3D pipeline. By default the widgets adopt the current desktop style but they may be explicitly composed of arbitrary vectors and yet still remain a widget in terms of functionality and accessibility.

  • User profile image
    nightski

    Beer,
    There is a *huge* difference between Indigo and Axis.

    You really should just use these technologies for once.

    Plus, does Axis implement full support for the WSI profiles?  In an extremely easy to use and customizable way?

    Plus it is pluggable.  You can define your own events and custom message pipelines.

    Indigo is a platform for creating SOA applications, not just a simple SOAP over TCP API.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.