Thanks Silverlight, you just validated RIA (Wrong, here’s why)


In 2002 one of the guys ( Jeremy Allaire) whom I owe my house & lifestyle to, came up with an idea that Rich Internet Applications (RIA) should exist in a certain way, with a certain direction going forward. I trusted his idea, as the last one was Coldfusion and it paid off for me so I went with it (had been using Flash prior to this so figured it wouldn’t hurt).

Redsquares were evil.
I spent enormous amounts of time trying to either extend Flash’s V1 Framework to suite my own needs or beat it with a version of my own framework. I was vocal about it, saying how hard and annoying it was and had zero love for “mix-in” approach (Decorator pattern to all you design pattern folks). I ended up supporting ghostwire.com’s components as they were more mature and decided to build on from them.

The running joke in my cubicle in these days was “Barnesy, you going to upgrade to a blue circle” as for weeks on end, I’d have a Redsquares on my screen which represented a placeholder for code.

Point, I wanted RIA to succeed like the next guy, but it meant time and energy to build it.

Royale with Cheese please.
Around 2003. I remember reading up on DENG, this idea that Claus had where you could use Flash to read XHTML pages and it would render accordingly (as Flash had most of the primitives in place). I thought this was awesome as from there you could extend upwards and take a normal web page to the next level, so it was kind of like having a runtime within a runtime.

I decided to have a go at using this concept by reading in XML that would produce runtime applications that talked to Coldfusion. I posted about it on Macrofun.pvpers.com a blog I ran at the time. Libby Freligh (Former Product Manager for Flex) contacted me offline and asked if I would be interested in seeing this project Macromedia was working on, called Royale.

They showed me FLEX and I was hooked. I loved it’s concept and it was 10 times more mature then anything I could ever come up with and so I built a career from there on out around it. I wanted RIA as badly as Jeremy had painted it.

Price is what killed RIA.
I got a call one day, it was missed one at that. I remember hearing the message “Scott, we are about to release the price tag and I know you don’t like it, but could you not blog about it for a while” (as inside the GMC List for FLEX, we were told ahead of time and I was vocal about it). My blog at this time, Mossyblog.com was one of the first generation of Flex related blogs outside Macromedia and so I guess they thought folks would read and get spooked.

I hated the price tag, but I felt I owed Macromedia for letting me in on the Alpha, Beta and RC stages, so I complied. I also thought if more people use it, then it has to be a good thing for me right?

Wrong, the uptake was painfully slow, for weeks on end I’d get no love in the FLEX space and went back to coding Coldfusion 80% of the time.

People wanted FLEX SWF’s outside the server but were told in order to use FLEX you must house the product on the server itself. Yet everyone whom knew FLEX agreed that the server was taking up valuable CPU and caught on that it was due to price tag that kept the reason for it’s existence in place.

They got greedy.

Flex 2.0 came out and it was free.
Finally FLEX was given back to the people, the RIA movement in 2002 would move on and I even wrote an article for MX Developers Journal celebrating this. I thought, this is what we need, the RIA concept will take the world by storm and life would be good.

Adobe acquires Macromedia was the headline in blogs and I got nervous about all of this at the same time. I didn’t know what was going on with Flash anymore and so I waited patiently. In doing this, A friend told me about Microsoft’s movements have gotten mature, I had already known about XAML but didn’t realize how mature it had become until around this time.

I was thinking “why would they want to enter the RIA space” as these guys aren’t built for this kind of thing, design is foreign to them.

Can’t beat them, join them.
I began to learn more about Microsoft, how Windows Form Development was easy to use and so on. These guys had their act together and once you got past the whole “Microsoft is evil” campaigns, you start to uncover that Microsoft has a valid offering here. If only they would use the technology in smarter ways. I caught onto WPF in its early form, and later WPF/e (Silverlight) and I started to see a picture immerge.

Late last year, I saw a job advert (“Developer Evangelist”) and I actually thought it was Adobe, so I figured hell yeah, why not.  I got a phone call it was Microsoft, and I was shocked. I made the interviews and got the job and was sent to Seattle for chip implants.

I arrived and was shown around the product stacks, meet some of the brainstrust behind WPF and Silverlight, and was amazed at the level of thinking they have around the products. They got it, it’s not about runtime it’s about experience, going beyond the browser and doing so in as many ways as possible that reflect the developers themselves.

Good Experience (HTML/CSS/AJAX), Great Experience(Silverlight), Ultimate Experiences(WPF).
These are the three tiers of emerging technology coming out of Microsoft and they are going to offer developers three channels of distribution. It’s not about Flash being a killed, it’s about offerings.

Did Microsoft come to the table late? or is Adobe just not equipped to handle Jeremy’s theory? Are we competing? or did Microsoft just grow impatient with all this RIA development happening at snails pace? I don’t think it’s an evil plot, I just think it’s Microsoft catching onto the simple fact that DHTML (AJAX) development still to this day happens in a wide variety of solutions. In order to help these web applications go beyond the browser were possible, they came up with the above three tiers of execution.

Adobe will do their thing and they will eventually do it well, much better than what they are doing today. I hope LiveCycle doesn’t end up being the new price tag killer for the FLEX 3.0 equation and I’m seeing signs of this in Apollo (hence why I’m so vocal about it). I look back on the first days of RIA, FLEX & so on and ponder as to where we would all be if Flex 1.0 was given away and was integrated with Flash Professional instead of going after Enterprise aggressively as they did.

Microsoft are getting back to basics, empowering developers & designers to talk with one another through languages like XAML. Make no mistake, this isn’t about validating Adobe, it’s about focusing on the user experience.

I’ve been doing RIA both pre-2002 and post-2002, Jeremy put the ideas to words but i’d love an update to this RIA paper though.

Comments (13)

  1. I totally understand your history. It is definitely all in place as I remember it as well.

    You are definitely in the know more than I am but I don’t see how the paths cross. Silverlight (last dev’ release I used) had a different code structure (mainly JS) than WPF (XAML+CS or whatever). It seems as if MSFT is only offering 3 *separate* ways of doing things. That’s fine but not revolutionary by any means unless I misunderstand.

    With that said, WPF is HOT! I regret I can’t work with it more because I really like what MSFT has done. It seriously is the best option for Windows development, IMO. The way they integrated graphics within the code is sweet. It truly makes for a great designer/developer workflow (prob best available).

    Silverlight is looking great as an alternative to Flash, to me, BUT…this isn’t even a version 1!!!!! Wow! Silverlight is impressive for a first-run "beta" (or whatever stage it is). It has some features Flash just got as of late (namely full screen; which works quite nicely).

    My only disagreement is in the fact that RIA’s are "stagnant" (to put my own word on your post). Adobe is integrating things so nicely now that I seriously doubt LiveCycle will become a negative. Right now this is definitely a middle area for RIA’s. It isn’t where it *could* be, I agree, but I don’t think the Flash Player is far off from where it needs to be. We just need the tools (Flex, Flash CS3, or whatever) to be improved to allow us to easily do more. This is definitely where MSFT beats their competition (IMO, asp.net is pretty hard to write without Visual Studio unless you’ve been submerged in it for years, aka…ScottGu). 😉

    Things will only get better. Silverlight doesn’t look like an RIA tool to me, at this point. It is Flash 5 (maybe 6) at best right now BUT…I haven’t dealt with it more than just toying around with simple stuff (the JS part got on my nerves at first).

    Anyways…Mac vs PC, black vs white, Flash vs Silverlight. Neverending arguments, IMO. No one is right or wrong, in terms of which one is better. What floats your boat? What does your project call for? Use it.

  2. judah says:

    great post! remember, the web has broken applications up into two entities. the client side portion and the server side. people seem to forget that. the term RIA stands for rich internet applications. applications that run on the internet. the RIA architecture gives the powerful application paradigm and technology back to the developer. this is opposed to the web’s current document centric paradigm where documents link to other documents. correct me if wrong but i think RIA and better user experience are synonymous. i think the difference then is broken down in features we’ve never had in this arena before. what does silverlight offer over what i’m using now? does it have animation, transparency, skinning, powerful cool and new components, layout containers, etc. that benefit the developer and the user. does it have remoting where i can call methods of services on the server with one of the fastest protocols on the net? can it send serialized data, primitives, objects and classes back and forth with the server? can it push data and video to the client like RTMP? is it cross platform and cross browser compatible so it runs the same in every browser and os? does it neglect the linux community? many of my servers are running on linux sorry to say MS. some are by choice some are not. i need to be able to run some of my apps on linux. end of story. Flash Player is supported on linux.

    thats what i want to know before i choose a technology to develop in.

  3. John Dowdell says:

    fwiw, I also originally attributed the acronym to a single author, but learned later "RIA" principles came about through a larger group effort within Macromedia.

    "Rich Internet Applications" preceded Flex by quite a bit… "RIA" introduced in March 2002; first word of Macromedia Royale in June 2003; Flex 1.0 ship in January 2004.

    That "good/better/best experience" metric misses the tradeoffs of potential audience (OS choice), plausible audience (browser installation), development costs (multi-target HTML).

    jd/adobe

  4. scbarnes says:

    Server-side does play a role in RIA, but it shouldn’t be about one thing it should be about many. That being said, something has to support the research & development going forward so I understand why both Microsoft and Adobe will try and position serer-side components of their choosing (provided it doesn’t comprimise the client-side potential).

    RIA was about internet applications, but we got smarter in the end. We found better ways to be offline/online and so i’m not entirely sure whether the word "internet" still is relevant. I was shocked like jd, when we (Microsoft) started using "Interactive" and so I asked around, and found out why. I agree that it should be about interactive as the applications themselves don’t always have to be internet enabled.

    NYT Reader for example is online/offline. eBay Apollo is online/offline?

    jd: I’m not sure I get what you mean about the tradeoffs. These are the three tiers of offering that Microsoft is putting on the table, there are tradeoffs at every tier and it’s not a perfect firt for universal compliance and so on. The deeper you want access to an operating system, the more focused you have to be (Apollo is understanding this with its security context as to give reach, rich has to be comprimised). It’s the nature of the beast as we want to have rapid development turn-arounds, but at the same time retain security! 🙂

    WPF intends to give deeper richness, which means it needs access to GPU level goodness while at the same time it will utilise the pre-built power of the operating system for most of its grunt work. Sorry, but until we figure out how to make a universal operating system that runs off say  USB key this is the playing field for now…

    Scott/Microsoft.

  5. Hi Scott,

    I understand that MS pays for you for the PR work you are just doing, somewhat aggressive to my taste but, fine, I guess. But come on! I don’t see how you can defend redefinition of RIA? I think moves like this make you lose your credibility.

    As a Flash/Flex guy, you were independent. You voiced your concerns about Flex 1 pricing, so did I.

    Now you work for MS, you should at least try to sound objective IMHO.

    ‘Interactive Applications’ definition is just pathetic. On such scale that I’d consider defending it an insult to human intelligence.

    The truth is obvious: MS wanted to own the RIA acronym (because MS positions Silverlight as Flash killer etc.)…

    But then this is an ‘evil’ move.

    I want to go past ‘MS is evil’ campaigns too, but here it is again. Anyway, that was not my point.

    My point is, you are losing your credibility mate.

    Take care,

    Best regards,

    Burak

  6. scbarnes says:

    Aggressive in what way? Outlining my history and where I see MSFT going in the future?

    It’s a word, yet you’re defensive about it? Internet was used when the playing field was -a- runtime within a browser. In that case and context it holds somewhat steady.

    Given both brands are looking to break the browser mould, with products like WPF or Apollo for that matter, he term RIA is starting to shift ever so slightly. In order to help describe this to non-Adobe developers, it’s much easier to now say the word "Interactive" as in the end, aren’t they?

    How does one explain a RIA application that uses Dashboards talking to a database via an intranet? "Rich Intranet Applications" ? will there be a blog hell about the word Internet being swapped out for Intranet?

    I’m all for what your looking to get out of this Burak, I’m not 100% convinced either that "Interactive is the word" – i am however convinced "internet" needs to be swapped out for a much easier word, yet all we have to deal with is "I".

    Wouldn’t it also be funny if Microsoft accidently used the word "Interactive" because of a typo or misunderstood it, thus creating a world-wide debate on the merits between Interactive vs Internet and how it’s a much bigger plot then it seems.

    Now I work for MSFT be damned, I get paid to socialise with developers on a number of topics, this is purely me talking here 🙂

    p.s

    I never had credibility 🙂 hehehehe it’s a misunderstood perception :)_

  7. > Aggressive in what way? Outlining my history and where I see MSFT going in the future?

    I was not referring to just this post, but also your posts at JD’s blog and debate with Ted and your posts at Flashcoders etc. I meant aggressive as ‘very active’.

    > yet all we have to deal with is "I"

    That’s where we disagree. RIA is already defined in its context. MS should have found a new acronym if RIA was not OK. But no, Flash/Flex does RIA, so Silverthing should also do it…

    > the term RIA is starting to shift

    Disagree. RIA is RIA. RIA is not defined as what you do with any application be it Flex or any other. Actually the ‘Rich’ part may shift meaning as technology evolves but remove the ‘Internet’ part, the term loses its soul.

    > I never had credibility 🙂

    Damn, they must be paying really good, or is it the Redmond chip implants? 🙂

    Best regards,

    Burak

  8. scbarnes says:

    Burak,

    Fair call. Maybe I’ve overstepped the bounds a little so I’ll take your crit as being constructive and try a different approach.

    RIA i take your point, I wouldn’t also buy to much stock into a plot by Microsoft to own RIA, it’s merly a play on words to get people thinking I guess about being interactive, focus on the user experience – experience matters that sort of thing.

    Internet i dunno, i think it’s the wrong word but i must confess, I’m not entirely sure what the perfect word is, internet isn’t it (to limiting).

    Chips are good, except when they run out of batteries in which case I’m ranting on my blog 😉 hehe.

    Thanks for your feedback though Burak, I respect you enough to take it as being accurate.

    Scott.

  9. John Dowdell says:

    <em>"Internet was used when the playing field was -a- runtime within a browser."</em>

    The Internet is the "network of networks", through which information can be transferred by various protocols.

    Browsers are for navigating the World Wide Web of hyperlinked documents, using the HTTP protocol upon the net. The Web is one part of the Net.

    Network activity may be asynchronous, as noted in the March 2002 Macromedia whitepaper introducing the term Rich Internet Application.

    jd/adobe

  10. scbarnes says:

    So you’re saying "Intra-net" and "Inter-net" are one in the same by your definition?

    define: intranet

    computer network within organization: a network of computers, especially one using World Wide Web conventions, accessible only to authorized users such as those within a company

    define: internet

    global computer network: a network that links computer networks all over the world by satellite and telephone, connecting users with service networks such as e-mail and the World Wide Web

    I think there’s a difference and given that most LOB FLEX applicatons are housed inside a firewall? *shrug* RIA starts to have fluid "I" based words.

    I think the real issue here is we all just "accepted" internet as being an ok word and never gave it much though. Yet, the moment someone changes it (being Microsoft also added more fuel to that fire) it began to make people more aware and sensitive to the issue at hand. I wonder if the same fallout would of ocurred had Jeremy came forward and said "Ya know, actually Interactive is much easier to live with"…

    Yet, because Microsoft did it, well it must be bad by default right?

    I’d love Jeremy’s take on this as it would settle this debate once and for all.

  11. John Dowdell says:

    fwiw, I also originally attributed the acronym to a single author, but learned later "RIA" principles came about through a larger group effort within Macromedia.

    <em>"So you’re saying "Intra-net" and "Inter-net" are one in the same by your definition?"</em>

    No. Ravens and writing-desks, perhaps…?

    jd/adobe

  12. John Dowdell says:

    Yesterday’s comment here never made it out of the moderation queue… "intranet" and "internet" remain discrete terms, of course. There was also a reprint of the first paragraph of my first comment here, because it appears it had not been read.

    jd/adobe

  13. scbarnes says:

    heh, no idea what you are talking about 🙂 heh (sorry was confused).

    p.s sorry for the comments, was on plane from Australia to Seattle so there goes a bulk of my online time 😉