« CMX sidebar | Main | Internet Explorer Compatibility Evaluator »
March 22, 2005
RIA definition
RIA definition: [500K PDF link] The term "RIA" was used frequently this past month, but it was only while reading the piping-hot comments at a Scoble article about "Microsoft Outlook Web Access being one of the first and best AJaX apps", that I remembered there actually is a functional definition of "Rich Internet Application". It's contained within that RIA whitepaper Jeremy Allaire wrote for the Macromedia site in March 2002, which was the first use of that phrase on the web (according to searches later done at recall.archive.org, which has since disappeared). I've copied the first section which describes some of the requirements for "rich internet applications", so that it's easier to get at in the future... just click that "More..." button to read....
[apologies for the formatting -- Acrobat's "Copy Text" introduces linebreaks, and I got tired cleaning them all]
[start quote]
In the mid-1990s, explosive growth in the Internet and the World Wide Web drove widespread adoption of a new model for content and applications using personal computers connected to the Internet. Coined ‘thin-client’ computing, this new model promised to lower the cost of developing and delivering applications to end-user desktops, customers and business partners, and to increase the range of application types that could be delivered. This model centered on a very thin client based on HTML, and powerful application servers
that dynamically composed and delivered ‘pages’ to web browsers.
So far this model has proven successful. However, it has also suffered from
significant drawbacks and limitations, especially around the richness of the application interfaces, media and content, and the overall sophistication of the
solutions that could be built and delivered. Indeed, for many traditional
application developers, while the web has offered significant conveniences in
terms of ease of deployment, the capabilities of the programming and user
interaction models have forced users to suffer. In many respects, much of the
web application development and deployment technology of the late 1990s has
had to adapt to the challenges imposed by the architecture inherent in the web.
The Internet of 2002 will be different. End-users and businesses are demanding
more from their investments in Internet technology. The ability to deliver true
value to users is forcing many companies to look towards richer models for
Internet applications; models that combine the media-rich power of the
traditional desktop with the deployment and content-rich nature of web
applications. Companies are also anticipating a growth in the use of web
services, or reusable software components that are used as services over the
network, and looking towards a world where applications will need to share
functionality and data across many types of client devices. These trends are
driving the industry towards next-generation rich clients.
This is the backdrop upon which Macromedia built Macromedia Flash MX and
Macromedia Flash Player 6.
Before detailing the technical aspects of the Macromedia Flash MX client
environment, it is important to note what we consider to be the crucial aspects
of rich client technologies. Rich client technologies should:
- Provide an efficient, high-performance runtime for executing code, content and communications. The principle here is that the end-user experience of HTML-based web applications suffers from a variety performance related challenges. These include the request-response page rendering model; the need to dynamically generate large blobs of text for transmission of simple data; the lack of client-side data storage; the inability to easily invoke and use remote business logic, and even the basic graphics model of HTML. These all must be improved.
- Integrate content, communications, and application interfaces into a common
environment. The end-user experience of the Internet today is fragmented into
the HTML browser for textual content and basic application interfaces;
multiple messaging clients for performing communications functions; and
multiple media players for handling audio, video, and other forms of media.
Rich clients need to provide deep integration for all of these types of
interaction. - Provide powerful and extensible object models for interactivity. While web
browsers have progressed in terms of their support for interactivity through
the Document Object Model (DOM), JavaScript, and DHTML, they still lack
the richness needed for building serious applications. Rich clients need to
provide a powerful, object-based model for applications and events. This
common object model must integrate user interface, communications, and
system level services. - Enable rapid application development through components and re-use. Rich
clients should support powerful component-driven development, enabling
both third party and corporate developers to easily reuse visual components
to accelerate development, and give junior developers access to complex
functionality. These components should integrate seamlessly into the designtime
environment for ease of development. - Enable the use of web and data services provided by application servers. The
promise of rich clients includes the ability to cleanly separate presentation
logic and user interfaces from the application logic hosted on the network.
Rich clients should provide a model for easily using remote services provided
by back-end components, whether hosted in an application server or accessed
as XML web services. - Embrace connected and disconnected clients. While many users have gotten
used to having to be online and in a web browser to perform work, the reality
is that most applications would benefit from the ability to be used offline on
occasionally connected devices such as personal digital assistants (PDAs) and
laptops. Likewise, many applications require support for persistent
connections with two-way, notification-based communications. Rich clients
must enable both of these types of applications to be easily built and
deployed. - Enable easy deployment on multiple platforms and devices. Internet applications are all about reach. The promise of the web is one of content and
applications anywhere, regardless of the platform or device. Rich clients must
embrace and support all popular desktop operating systems, as well as the
broadest range of emerging device platforms such as smart phones, PDAs,
set-top boxes, game consoles, and Internet appliances.
Macromedia Flash MX attempts to address and enable all of these opportunities.
[end quote]
Posted by John Dowdell at March 22, 2005 05:30 PM
Trackback Pings
TrackBack URL for this entry:
http://weblogs.macromedia.com/mtadmin/mt-tb.cgi/5755
Comments
Hey John!
Thanks for appreciating my comments on Scoble's blog :) Landed here from Bill Perry's blog. I attended the Macromedia MAX India 2005 conference. Was awesome! Had the privilege of attending sessions by Greg Rewis and Bill Perry among others. Flex is ubercool! In fact this is where I first heard of RIA. So I'm not the authority to talk about it!
Also not sure about OWA being the pioneer of AJaX, but I'd think it does qualify for being one, if not a RIA. to me, an RIA is a web-based app which gives me freedom and features anywhere anytime. Flickr is my fave :)
Posted by: Kaushal Karkhanis at March 23, 2005 03:47 AM
Thanks you John
Posted by: ä¸‰æ´‹ä¼ºæœ at February 3, 2007 01:41 PM