On Monday I counted down 10 reasons to embrace the RIA, and the post generated some good comments. When I talk about RIAs, I often get a few of the same responses as to why my view isn't possible, and I understand where that comes from. But I also think it is misguided, and I want to talk about a few of the big ones and why now is different.
Java tried this and failed
Java was once heralded as the great cross-platform solution that would run anywhere. Now it's a shell of its former self residing in a company that seems to have lost all direction. If cross-platform didn't work then, why should it work now? In two words - the web. The web has enabled us with a way to connect all of our devices like never before and changed the way we view content. We manipulate it, and take it with us. Java was simply too early, and the web too young for cross-platform to be meaningful. We don't have that problem now. The web is mature, steaming ahead, and full of even more potential.I need access to my data even when I'm offline
In the short term, RIAs need to solve what people have called the online/offline problem. The first step is getting over the idea of storing most of our data online. Once that happens, RIAs need to allow people to take the important parts of that data with them even when they aren't connected. But that's the short term. Think about how we accessed the web 5 years ago, and think about 5 years from now. Is it inconceivable that we'll live in a world that really is "always on"? It isn't - especially with the speed of technology.This is going to cause more problems in the enterprise.
When talking about RIAs in the enterprise I hear quite a bit about how 1) keeping runtimes updated for RIAs is going to be a pain (true) and 2) the thin client model works better and because it is less dependent on the client means IT can manage it better. Point 1 is a problem, but it goes beyond the scope of this post. It involves talking about what runtime should be used, what a runtime footprint should be, and how much lock-in you should allow. Point 2 is narrower. The problem with a typical thin client approach is that it is too restrictive of devices. At the risk of sounding like a therapist, RIAs should blend with the device, creating an experience optimized for the controls and smaller screen, but related to what would be seen on a desktop or a laptop. As the enterprise gets more "on the go" having a familiar experience will help productivity and RIAs can provide that.
Even if you are tired of the Web 2.0 hype, you can't deny that people are flocking to the web in new ways. It's no longer just being used as a place to see content, but to actually interact with it as well. Within this environment, the RIA will gain traction where it wasn't able to before. People are more willing to embrace online storage, devices, and cross-platform, because the web has helped them take the first step. The ideas have always been there, but we're finally at a point that they can see the blinding light of reality.