Why aren't there more (any?) killer RIA desktop apps?
Asked Answered
C

5

7

I am in the beginning stages of a project that will feature alot of graphing and visualization. Making this a RIA app makes all the sense in the world, until I start looking at examples of killer RIA apps, and find... basically none. I've investigated apps in all the major RIA platforms including AIR, Silverlight, FlashFX, and Laszlo and find that most sites that list example applications lead to many abandoned projects, dead links, or out-dated looking startups. And most of the community interest in these technologies seemed to peak in 2008 and then fallen off.

In terms of wide adoption and good design, the only successful app I could find was Balsamiq Mockups. And even that one I had some misgivings about the responsiveness of the GUI. Are there more out there that I'm missing?

So my basic question is why haven't RIA apps been a bigger success? Why has developer and community excitement over them died down? I see two basic problems, one is the installation process can be messier and feel less professional than native apps. But the biggest one is the lack of support for native controls which ends up making all of these apps feel flimsy and hackish.

The bottom line is I'm considering abandoning the thought of making a RIA altogether since I'm concerned that it's a kind of a kiss of death for a startup. The visualization and real time features would be a nice asset to my software, but I'm feeling like I'd be fighting a losing battle against consumer reactions to RIA.

Also I can't think of any tags that would bring in non RIA-specialists to this question, and fear that it might make the answers unbalanced in favor of RIAs. I'm not trying to start an argument over the validity of RIAs, but am just asking why adoption of these technologies has not been higher.

EDIT: and to clarify, when I say "killer app" I mean some app that basically defines a category and has a large base of very passionate users. When AJAX first reared it's head killer apps sprouted all over the place in many categories, and many startups were founded by the fast adoption of users to this technology. I just haven't seen anything remotely similar (in any category?) with RIA. Is there or has there ever been real buzz about an RIA app?

Callisto answered 8/4, 2011 at 16:5 Comment(0)
U
5

Ah, a valid question :)

Well, there's a few factors in play here. I'm a Flex developer myself and have been for about 3 years now. I've built many Flex and Air applications but most Air applications I've seen have mostly been used as an internal tool for a very large company, hence you will never see it.

The other thing is the pro/con of the whole Air platform. Air is a good idea IMO, but it's still slightly limited. The only reason I can think of using Air is for Mobile development, local data storage for offline working (and syncing), and maybe having a multi-screen application setup. Air is slightly limiting when it comes down to having native functionality, however it gains in portability.

There's also a performance issue. Flex/Air is not all that fast (compared to say C#) because it still needs to go through a virtual machine. It's never been all that good at crazy number crunching and doesn't have the ability to do threads (yet). When doing a web application, we normally offload those calculations on the server, but if you're doing a desktop client, you might want to do it locally using the available offline data. It's not impossible, but it won't be as fast.

And lastly, one of the main reason why I personally think Air doesn't catch on as much is mostly because of the lack of 'push' Adobe is putting on their developers. Microsoft is freaking nuts at pushing tech at developers; they're very involved. Adobe isn't as much. Heck, many people still don't know that you can use the same codebase and have a web app, desktop app and mobile app easily deployed between all of them.

These are all the reasons I can think of now and this are of a personal opinion from being a Flex developer for the past 3 years. When it comes to if you should use the technology or not, it always comes down to the requirements of the project and what technology fits it best.

Ubana answered 8/4, 2011 at 16:57 Comment(5)
Many good points. The ERP project I'm on has been going strong for over three years. AIR is perfect for internal enterprise apps... and maybe the real answer to the OP's question is that all the BIG MONEY pulls in UI devs to bigger companies/projects. Just look at the current pull to find Android/iOS devs. If you are a developer who can deploy to iOS and Android, you have a job for $80/hr minimum. That said, though, I too have been doing Flex dev full-time for just over three years, so I do have a point of disagreement: performance....Illsorted
... To me, if your devs aren't making terrible development decisions, performance isn't really an issue and doesn't really have much to do with why the OP can't find RIA desktop apps. True, you can't kick off threads, but are there really any flex applications calculating the next prime number that has 10Billion decimal digits? 'Tis all about the right tool for the job.Illsorted
@jeremy, when you compare Flash/Flex to C++/C#, the former is rather slow. With that said, I do agree that if you make good decisions, it shouldn't really be an issue, however, I work in the financial world where I work with millions of data points every day. It's very hard to leverage Flex where you'll have to wait for a minute for the data calculation where the C# equivalent can be done in 10 seconds or less. It's easier to create apps in Flex (that's for damn sure), but performance is something that I need to think about every day which is sometimes lacking in Flex in this situation.Ubana
Yeah... There are certainly many a limitation to number-crunching in Flex (we too are a c# shop). We do have some of the same issues w/ tables that have millions of rows in our ERP app... even when we've gone down the typical Front-End optimization process (paging, limits, materialized views, etc.), we have had to add processing on a small RTMP server cluster, or a back-end method that kicks off a thread and a 'timerMethod' on the front end that polls a separate 'pid' method to see if the process is done. Sounds like our "nasty situations" are fewer a further between than you cats!Illsorted
"Flex/Air is not all that fast (compared to say C#) because it still needs to go through a virtual machine" C# and java are in a vm and both fast. It's probably better to say that the flash vm is not as optimized, though it has gotten much much better.Betseybetsy
J
6

Tweetdeck is probably another good example of an Air based desktop app.

Jeanene answered 8/4, 2011 at 16:27 Comment(0)
U
5

Ah, a valid question :)

Well, there's a few factors in play here. I'm a Flex developer myself and have been for about 3 years now. I've built many Flex and Air applications but most Air applications I've seen have mostly been used as an internal tool for a very large company, hence you will never see it.

The other thing is the pro/con of the whole Air platform. Air is a good idea IMO, but it's still slightly limited. The only reason I can think of using Air is for Mobile development, local data storage for offline working (and syncing), and maybe having a multi-screen application setup. Air is slightly limiting when it comes down to having native functionality, however it gains in portability.

There's also a performance issue. Flex/Air is not all that fast (compared to say C#) because it still needs to go through a virtual machine. It's never been all that good at crazy number crunching and doesn't have the ability to do threads (yet). When doing a web application, we normally offload those calculations on the server, but if you're doing a desktop client, you might want to do it locally using the available offline data. It's not impossible, but it won't be as fast.

And lastly, one of the main reason why I personally think Air doesn't catch on as much is mostly because of the lack of 'push' Adobe is putting on their developers. Microsoft is freaking nuts at pushing tech at developers; they're very involved. Adobe isn't as much. Heck, many people still don't know that you can use the same codebase and have a web app, desktop app and mobile app easily deployed between all of them.

These are all the reasons I can think of now and this are of a personal opinion from being a Flex developer for the past 3 years. When it comes to if you should use the technology or not, it always comes down to the requirements of the project and what technology fits it best.

Ubana answered 8/4, 2011 at 16:57 Comment(5)
Many good points. The ERP project I'm on has been going strong for over three years. AIR is perfect for internal enterprise apps... and maybe the real answer to the OP's question is that all the BIG MONEY pulls in UI devs to bigger companies/projects. Just look at the current pull to find Android/iOS devs. If you are a developer who can deploy to iOS and Android, you have a job for $80/hr minimum. That said, though, I too have been doing Flex dev full-time for just over three years, so I do have a point of disagreement: performance....Illsorted
... To me, if your devs aren't making terrible development decisions, performance isn't really an issue and doesn't really have much to do with why the OP can't find RIA desktop apps. True, you can't kick off threads, but are there really any flex applications calculating the next prime number that has 10Billion decimal digits? 'Tis all about the right tool for the job.Illsorted
@jeremy, when you compare Flash/Flex to C++/C#, the former is rather slow. With that said, I do agree that if you make good decisions, it shouldn't really be an issue, however, I work in the financial world where I work with millions of data points every day. It's very hard to leverage Flex where you'll have to wait for a minute for the data calculation where the C# equivalent can be done in 10 seconds or less. It's easier to create apps in Flex (that's for damn sure), but performance is something that I need to think about every day which is sometimes lacking in Flex in this situation.Ubana
Yeah... There are certainly many a limitation to number-crunching in Flex (we too are a c# shop). We do have some of the same issues w/ tables that have millions of rows in our ERP app... even when we've gone down the typical Front-End optimization process (paging, limits, materialized views, etc.), we have had to add processing on a small RTMP server cluster, or a back-end method that kicks off a thread and a 'timerMethod' on the front end that polls a separate 'pid' method to see if the process is done. Sounds like our "nasty situations" are fewer a further between than you cats!Illsorted
"Flex/Air is not all that fast (compared to say C#) because it still needs to go through a virtual machine" C# and java are in a vm and both fast. It's probably better to say that the flash vm is not as optimized, though it has gotten much much better.Betseybetsy
L
1

I disagree, I think there have been a lot of successful RIAs. I think if your use case is a clear fit and you have the right team in place, go for it. I personally have had great success building LOB applications on the Silverlight platform, some of which made heavy use of graphing and visualization (mapping, etc).

If you want to see a great example of a RIA, checkout Seesmic Desktop.

Laevogyrate answered 8/4, 2011 at 16:12 Comment(2)
I would disagree that this is a great app. It took a very long time to download and install, it has that tiny tiny badly rendered text and gray gradients that typify most RIA apps. It has unnecessary transition animations that slow down the navigation. Sorry, I appreciate the link but to me it's not a great app.Callisto
Interesting, the text and gradients look great on my machine, and I've been very happy with the performance. I typically let it run in the background connecting to Twitter and Facebook while I work (Visual Studio 2010, SQL Server, etc), and haven't had any issues. Good luck.Laevogyrate
C
1

I use Seesmic Desktop, which was mentioned in another answer. That is the one RIA that I know of, although are probably others.

RIAs were introduced at a time that mobile apps were on the rise. Many developers shifted focus from Flash and Silverlight base RIAs to iPhone and Android app development. At the same time, there was the HTML5 movement. Between those two things, RIAs had and still have some stiff competition.

As you mention, companies may choose to make internal tools out of Flash or Silverlight. This seems to be the primary market for these RIAs.

Circumambient answered 8/4, 2011 at 18:52 Comment(0)
D
1

My example is not a killer app, but I found it very interesting that Sweden´s biggest horse gambling company switched to Flex for its web-based player portal.

Check it out at www.atg.se, its pretty neat although you need an account to see all functionality.

Dexter answered 9/4, 2011 at 16:5 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.