views:

108

answers:

4

RIA adoption rates in the corporate intranet world seem higher than that of the Internet because the cost-effectiveness and efficiency is being recognized there. (A growing number of job postings asking for Flex experience in my IT-heavy region demonstrates this.) Why not also on the Internet?

Reasons you get from people who favor hacked-together JavaScript/AJAX/DHTML solutions just don't hold up to scrutiny. For example you hear RIA 'downsides' like:

  • Vendor lock-in... Using supposedly "standard" web techs you are still locked in to whatever JS framework tool you choose. What's the difference? It's even worse because the heavy competition between the multitude of "AJAX frameworks" means your FW of choice is more likely to be abandoned some day.

  • Search engine indexing... This is an issue for AJAX websites (anything with very dynamic content) too, not just RIAs. And for static content, Google has been indexing SWF (Flex) content for some time now. Anyway, this is a problem for web-SITES, not web applications: two entirely different things. And deep-linking is not a problem for a Flash app, even basic research can dispel that myth.

  • Performance/interoperability... Flash/Flex is JIT compiled. (If Silverlight isn't, I'm sure it will be eventually.) JavaScript is interpreted. Poor performance? Really? Flex runs in a platform independent virtual machine. Compared to the 'platform incompatibility' problem within browsers for AJAX scripts, saying a VM approach is not as cross platform is completely backwards thinking which completely ignores the browser wars and compatibility problems.

  • Accessibility... Any large website needs to think about this. Contrary to what many believe, Flash has accessibility capabilities--it's not vastly harder like many claim, just different.

  • Player 'upgrade nightmares'... Not an issue for a consistent backwards compatible platform like Flash. Actually the non-standard, inconsistent DOM and DHTML browser incompatibility problems common in AJAX applications seem like the real nightmare in comparison.

To make it worse, the list of "downsides" (such as O&M maintainability issues in response to new versions of browsers which break AJAX scripts) is much longer than any list of issues with virtual machine application deployment. Why do so many hesitate to adopt 21st century innovation and abandon the 1990's legacy JavaScript era? Is it just job security and learning fatigue from a rapidly evolving IT environment? What is the difference between the software and hardware world where they are adopting virtualization technologies so readily?

A: 

I feel like I'm reading flame bait, and I'm not sure exactly what sort of responses you're searching for. But, here are my thoughts.

RIA adoption rates in the corporate intranet world seem higher than that of the Internet because the cost-effectiveness and efficiency is being recognized there. (A growing number of job postings asking for Flex experience in my IT-heavy region demonstrates this.) Why not also on the Internet?

RIA stands for Rich Internet Application. People in the corporate world building these type of applications are using the Internet. Anything you see there is on the Internet.

the heavy competition between the multitude of "AJAX frameworks" means your FW of choice is more likely to be abandoned some day.

Thankfully, Adobe and Microsoft have a history of never abandoning projects or products, right? So we can rest well at night knowing that Silverlight and Flash Player will be here forever to run the applications we want to build.

I, personally, want to thank all those graphic designers who keep buying the Adobe CS Suite and fund the Flash Player / AIR development. All that time is one big sink hole and it is not unfeasible in my mind that at some point in the future the "powers that be" at Adobe say "enough is enough, this distraction into RIAs and the Flash Platform was a nice attempt, but didn't work. Reshift focus back onto our money maker." I don't expect this to happen anytime soon, but it's not out of the realm of possibility.

Google has been indexing SWF (Flex) content for some time now.

Adobe had a headless player that they gave to Google [and other search engines] to index SWF content. But, no one is quite sure how it works or how such items end up in search results. The fact that the capability exists in theory does not help when trying to put it in practice.

Why do so many hesitate to adopt 21st century innovation and abandon the 1990's legacy JavaScript era? Is it just job security and learning fatigue from a rapidly evolving IT environment? What is the difference between the software and hardware world where they are adopting virtualization technologies so readily?

Why are people people? Beats me! Many stick with what they know and do not want to change. That is not unique to technology.

www.Flextras.com
"RIA stands for Rich Internet Application." Interesting, because I actually develop an "RIA" on an intranet. :) In fact just about every serious production Flex app that I'm aware of is completely hidden from public view. That's just semantics - RIA doesn't imply public/Internet availability, it implies desktop-like functionality delivered through a browser. It's a valid complaint about the RIA term I suppose, but I'm just using the terms everyone else is using.Is Flash anywhere near as likely to be abandoned as some AJAX framework with 20 other alternatives ready to take it's place?
Crusader
Crusader
An Intranet is just the Internet with added security. It still uses the same technology stack (TCP/IP; HTTP; web servers, etc.. ). Comparing Flash to an AJAX framework is bit of a misnomer. It is better to compare Flash (a runtime) to Browser JavaScript (also a runtime). Better to compare an AJAX framework (JQuery, EXTJS), to a framework (Cairngorm, Robotlegs, Mate, etc.. )
www.Flextras.com
I know what an Intranet is, I do develop on one, so I fail to see your point. It is a personal "guess" that Intranet RIAs are more common, but my personal experience most definitely hints that this is the case. It's hard to point to a large number of public facing Flex or other RIA apps, but I know of many deployed internally "off" the Internet. I'm comparing Flex (SDK) to AJAX/DHTML 'frameworks', I mostly agree otherwise.
Crusader
+2  A: 

In intranet solutions, corporate have complete control over installation and compatibility issues, however Flex is very powerful and we have deployed it for our internet based solutions for more then 3 years and we have been able to achieve greater customer satisfaction then before.

I guess, people are just following some blogs/articles that furiously say "swf requires flash to be installed, so more changes that you may loose customer if he chooses not to install it", however more then 95% of internet users except mobile users have flash installed already.

And also on internet, mobile users are growing so fast, that is still a big reason to stay on html/js as Apple is not supporting flash/silverlight on iPad/iPhone.

However, Android and other mobile platforms are now coming up with Flash/Silverlight solutions, Apple's policy will soon get diluted and then I would see no other reason except SEO to avoid RIA platforms.

I am personally more interested in RIA instead of HTML/JS because, W3C has been sleeping for long time to bring any more new features in HTML and there is no corporate control over W3C's decision of how to improve HTML, where as in case of Flash/Silverlight, competitive vendors keep up with customer's need and they bring new features that will probably be always 10 years ahead of html.

Akash Kava
Crusader
Well, all the keyboards on the world uses "qwerty", I thought it may be the best, but when I did research on it, there are some keyboard types which are better for our health because of layout that puts keys of high occurances in middle giving less stress, however since it was used before and it is used now, people continue to use whats more popular notion regardless of best quality, google went for ajax and so the whole world went after it, and its the way wave of poeple works, it is not necessarily best way to work.
Akash Kava
That's true. But also realize - some day we'll have keyboards with little LCD (or something) screens on the keys which can be reconfigured instantly to Dvorak. ;) (Actually I think they exist now for about 2k$ so the price needs to drop.)Luckily the odds aren't so bad against virtual platforms since they have so much going for them, and HTML5 has so little ultimately going for it...
Crusader
+1  A: 

I love the question... hence the questino up-vote.

My view, however -- unless your website provides a core business service instead of a glorified business card, then who cares? (ours is woodward.com, fyi... and i work on the internal erp app... flex + c#). Yes, Air Force uses a flex application for internal resource management... they also have a flash-based public site. They have a vested interest in having an awesome user experience to keep users on the public site. Most businesses, however, even $billion+ businesses, can't be bothered to pay tens or hundreds of thousands to focus on UX for the public-facing business-card site.

This isn't a question of apple vs. adobe, to me. For large enterprise development, Apple simply isn't a consideration... it may be someday, but currently, ixnay. If I get a request to build an application on an android scanner to save something in our oracle database, I can almost guarantee that the development time will be less than a couple short days and I will be able to utilize portions of 3 years worth of flex library project to complete the request quickly and easily.

To side with the questioner: If a business wants to give a great user experience and takes any time to think about the 5 points detailed in the question (and the multiple html5 / apple comments in other answers) AND the business decides to run with AJAX, then I would hope there is a good reason for making the decision.

jeremy.mooer
Unfortunately there isn't always a "good" reason for a decision to make use of some buzz-word technology that some IT manager read about during his lunch break. Sometimes--as in the case of large, bloated, complex AJAX development projects that I've heard of--developers are asked to use more costly tools simply because they're popular/common, or because the hidden costs of using that over an alternative aren't understood.That said,Apple = iPhone = toy/game platform = kiddie's phoneEveryone else = Droid = business platform = adult's phone (and it's not crippled with no Flash too!)hehe
Crusader
A: 
  • Vendor lock-in... Using supposedly "standard" web techs you are still locked in to whatever JS framework tool you choose. What's the difference?

Adobe is a for-profit company, so they theoretically could have a real interest in making it difficult for their customers to move to a different platform.

JavaScript frameworks are written by volunteers, often to solve problems they have writing apps in JavaScript. There isn’t the same motivation for framework authors to make their users lives difficult.

Equally, Adobe own Flash and Flex, like Microsoft owns Silverlight. No-one owns JavaScript, CSS and HTML. They’re controlled by several companies working together in standards bodies. So they seem safer to rely on, because no single company can move them in a direction that’ll hurt others.

  • It's even worse because the heavy competition between the multitude of "AJAX frameworks" means your FW of choice is more likely to be abandoned some day.

But it’s better, because JavaScript frameworks are written in JavaScript, so if your framework did get abandoned, you can adopt it, or rewrite your own. JavaScript frameworks aren’t as complex as something like Flash.

Search engine indexing... this is a problem for web-SITES, not web applications: two entirely different things.

That’s debatable.

deep-linking is not a problem for a Flash app, even basic research can dispel that myth.

Could you point to a reference? (I’m not disputing it, it’d just be good to have a reference.)

What is the difference between the software and hardware world where they are adopting virtualization technologies so readily?

I don’t really see what problem virtualization solves with regards to browser application interfaces.

Paul D. Waite
But also "theoretically" Flex can integrate with most anything you can think of, Adobe is much more OSS friendly than most companies, and the main problem people have with 'proprietary' is that it's proprietary.JS frameworks are written by volunteers--this is the problem. Volunteers have other things to do, they get bored, move onto other 'free' projects, may get tired of fixing the problems in their 1990's JavaScript code after years of adapting to new browsers. And I really feel bad for you if you have to resort to maintaining your own AJAX framework--good luck explaining that to mgmt.
Crusader
Crusader
On the proprietary versus volunteer thing, I’m with you on “for profit” not being inherently bad. I’m just saying that with a framework like jQuery, even if everyone in the world suddenly lost interest in it, you can fix stuff yourself, whereas if Adobe decided that Flex wasn’t worth the effort, that’d be it. Re virtualisation, I see your point now, having one environment to target is a big time-saver. (Although, ironically, the deep linking page you linked to contains the phrase “Deep linking only works with certain browsers.”)
Paul D. Waite
True that deep linking isn't consistent (because you have to rely on that inconsistent non-standard environment again), but how often do entire JavaScript-based sites *completely* fail to work due to a browser compatibility problem? (Also IMO deep linking isn't so important for a web-application. Bookmarks are for web-*sites*, you don't "bookmark" pages in an application like Eclipse.)Also, it's important to note that Flex **IS** open source, so you could also maintain that yourself if you really did needed to.
Crusader
True points all. I hadn’t realised Flex was open-source, that takes care of that. I know what you mean about big JavaScript sites: I think Google Docs was/is unsupported in Safari (I’m guessing that’s fixed now that Google have their own WebKit browser). I think the mistake there is imitating traditional desktop apps — to me, the web is built on HTTP. The more your app works with an HTTP model, the better it’ll fit with the web. That’s my issue with Flash and its like — they create a little island within HTTP.
Paul D. Waite
It sounds like you're referring to RIAs in general. I see the isolation aspect as a positive thing. One thing RIAs do is bring desktop-like functionality (which users generally prefer over web for various reasons) without having to install/update actual applications. This is great on Intranet applications for business and such since deployment and "pushing out updates" is simple. My concern isn't with this, it's that I can see using JavaScript to solve this is much more clumsy, fragile, and unreliable than deploying to a consistent 'virtual' target platform like Flash/SL/Java.
Crusader
But I guess since my question is "Why not also on the Internet?", some of that doesn't address the question. I suppose internal corporate IT efficiency isn't really a driver on the Internet.So what is the driving force behind the movement to use scripting technology never intended to be used in the ways it is now? This is what I can't grasp. Most reasons I've heard are really attacks on the 'virtualized' approach (red herrings), requiring you to completely ignore the problems with the status-quo scripting approach if you are to come to the conclusion that a virtual platform is 'worse'.
Crusader
Users prefer desktop-like functionality over web? Really? I don’t think there’s ever been a piece of software that more people have *chosen* to use (so I’m discounting software that people have to use at work) than Facebook. I don’t think attacks on RIAs are necessarily red herrings. When I’m making software for myself, I really want it to work well with keyboard access. Flash, at least, tends to steal keyboard focus from the browser, so I can’t use my keyboard to get back to the location bar after doing Flash stuff. That’s a deal-breaker for me, hence I’d go with JavaScript.
Paul D. Waite
Yes, overwhelmingly users prefer local software. I think you misunderstand what I mean by "desktop-like functionality". It means a *fast*, responsive, richly-interactive application beyond what you can reasonably achieve within a browser. Facebook wouldn't make sense if you had to install it, so desktop software isn't an option there. An RIA gives you almost total 'desktop like' functionality *without (most of) the downsides* of an old HTML/web interface, yet it also gives you *the best of web functionality* as well. (no installation, mobility, and a simple upgrade/deployment process for devs)
Crusader
Flash (at least the Flex SDK) does allow you to tab back to the browser though. (If it doesn't, maybe it's an issue with a specific crummy browser?) If it didn't 'steal' focus, it wouldn't work the way people wanted it to (like a desktop app), so I think you're being unfair there. It's like saying you want a Windows sidebar but you don't like the side effect of it taking up screen space. :) Actually I believe keyboard-only usability is an accessibility concern, and Flash is just as accessible (on statistical average) as a typical JS site based on what I've read on the subject.
Crusader