“Innovation has nothing to do with how many R&D dollars you have. When Apple came up with the Mac, IBM was spending at least 100 times more on R&D. It's not about money. It's about the people you have, how you're led, and how much you get it.” - Steve Jobs

2 core attributes of RIAs

In looking at my upcoming workshop on RIAs and IxD I thought I’d write a bit about defining an RIA in terms of user experience but also technology (sometimes they are inseparable).

The Page

“There is no [page].”
— Neo

What Neo had to figure out in “The Matrix” (I can’t believe you haven’t seen it so I have no sympathy if you haven’t) is that when living in a virtual environment it is all metaphor, or to say it is all a mental construct and that can be easily disassembled or re-arranged. The other side of metaphors is that their existence while intangible are framing. So until the very moment you say “there is no spoon” (the real line) there is definitely a spoon (or trash can, or page, or site map, etc.)

This relates in (its own metaphor) to the traditional page metaphor of the web. This paradigm shift while almost second nature at this point for most of us designing for RIAs is the KEY change in thinking designers need to make to really enter the RIA arena.

Distributing the GUI in real time
Not as neatly and cutely described, but is something that most people talking about RIAs forget about it. The very method of deploying the GUI is something that does NOT change from non-RIAs web sites to RIAs. Why does this define them, but it does separate RIAs from desktop applications and network applications (new term, I’m making up now … join in, its fun!).

So what is a desktop application and does this mean that RIAs have to be in a web browser? First, a desktop application is one that has its GUI (those elements that the user interacts with separate from the data exposed inside those elements) fully installed (and thus pretty static) on an end-users device (PC or mobile device). And network application is a type of desktop application and this is a continuum as much as anything else. But a good poster child of both of these is Microsoft Word and Microsoft Outlook. Word for the most part is used completely locally. There aren’t any data points of the network that get manipulated and re-sent back to the network, short of networked file systems. (Yes, translate and other Sharepoint functionality is available in the sidebar, but these are exceptions). On the outlook side, you can do a lot disconnected from the network, but the primary point of the application is to receive data over a network stream and sending information over the network. It is a class client-server application. But the GUI itself has to be installed. Yes, it can be customized with new “forms”, but those forms have to be installed.

What does it mean to be distributed. E.g. couldn’t I easily send that custom Outlook form in an email (over the network) to an end-user and have them install it at that time. Sure! and this model is purported by many such as the “update” model in AIR applications and other desktop applications. But once installed it is not reset in real time. Like pure HTML applications the display of the GUI is rendered in real time and with each new return to a site or page the GUI can be changed. Add in JavaScript and you can change the GUI elements themselves offline (of course you can do this in desktop applications too, provided all the logic is installed on the system).

Again, there is a continuum here. For example an AIR application can access SWF files (the equivalent of an HTML file) that is built in real-time using a system like Adobe Flex could be done. However, I’ve noticed that this hardly happens and that most AIR applications do the classic “update” instead of real-time rendering. This is for performance reasons I would imagine.

Now, both of these defining moments define RIAs from both ends of the spectrum, and they both have deep ramifications to how and what you design with RIAs. For more come to my 1-day workshop, “Interaction Design for RIAs” through SmartExperience.org. Use the discount code “Synapse” to get some more off the regular price, and contact SmartExperience.org to find about corporate discounts for sending multiple students.

Also, if you take this class on Oct 16 and add my class, “Sketching for Interaction Design” on Oct 17, you get an even bigger discount.

See ya in a couple of weeks!

Be Sociable, Share!


The archives run deep. Feel free to search older content using topic keywords.