Skip to main content

RIA is nowhere. RIA is uglier than current non RIA apps.

First I want to explain that saying RIA I mean Flash, Adobe AIR, Microsoft Silverlight and Sun JavaFX. I am not speaking about AJAX,CSS, JavaScript etc.

Everyone is talking RIA is the here now, RIA applications are beautiful, RIA applications are fast, you can develop RIA applications very easy.

I will prove that :

  1. RIA is not here or maybe it is here but nobody care about it.
  2. RIA is not beautiful, in meter of fact standard WinForms application or Swing application or QT application can look more beautiful.
  3. RIA is fast. Hahaha If you ask me RIA is slower than Java Swing.
  4. RIA can be developed very easy – LOL really we will see ?


First lets see how beautiful is RIA.

I will create a simple Silverlight 3 application. It contains only TextBox, Button and Calendar and uses the default look and feel for Silverlight 3 application.

Can you see the fonts? they dont look native. My Windows have clear type enabled and this is not clear type. Check the regular normal WinForms application :

You see the difference right ?

You can check the Telerik demo application too :

You can see it the live demo here : http://demos.telerik.com/silverlight/#Calendar/FirstLook

So is this “beautiful” this fonts are bad for reading and for me a PC user that uses his PC for 10+ hours every day the fonts are the most important part.

So lets speak about Flash. I will use a screenshot from http://www.parleys.com/

This fonts look terrible they are even worse than Silverlight.

And last lets see JavaFX I will use the sample app from http://javafx.com/samples/ProjectManager/index.html you can see it with your eyes.

See the grey area this is the JavaFX applet. Can you see the difference the text before and after the applet are standard HTML which is rendered by mozilla rendering engine.

So RIA is not beautiful. Even miranda IM created with MFC 6 with Windows Classic look and feel looks better and have better fonts :

RIA is fast ?

Check out the JavaFX demos at http://www.javafx.com/samples/ or check out this http://demos.telerik.com/silverlight/#Scheduler/Silverlight/Providers/Xml are you kidding my Google Chrome is faster than JavaFX, Flash, Silverlight.

So RIA is NOT FAST !

RIA can be developed very easy

Are you kidding ? When I start Visual Studio 2008 SP1 with Silverlight 3 update and I’ve created my first Silverlight project I saw only this :

And when you create WinForms application you see this :

HOW THE FIRST ONE IS EASIER THAN THE SECOUND ?

Ou there is a tool called Expression Blend which is not free and when I’ve opened my project I saw :

O my god so many “things” to click on no no way to learn to use it.

In JavaFX world the things are the same. The JavaFX plugin for NetBeans have only code editor with autocomplete but the Swing Matisse designer is like Visual Studio WinForms designer. There is even no tool like Expression Blend.

So creating regular normal applications is easier.

So I don’t know where is RIA future if you ask me RIA is in the past. Even QT under KDE 4.2 looks better than current “awesome” ria frameworks for windows.

So maybe standard Control Based UI libraries + some animation framework are better, faster, more beautiful than “RIA”.

Comments

Unknown said…
What a DUFUS!

HTML was slower, less flexible, and really apthetic when it came along, when compared to anything else we were doing at the time.

Why did we spend time making it work?

Yeah, there was a reason, but you wouldn't have got that either.
ChinmaY said…
Lets take it one by one:

1. No one care about RIA: I think people use youtube on a daily bases. MLB.com is just another example. so people do care to use RIA based app.

2. RIA is not beautiful : u gave the example of only a datepicker(calender) control n that too u commented most of stuff only on Fonts. Please check out the latest text engine released in FP 10 and you will find the difference.

3. RIA is not fast : please check this link http://www.jamesward.com/census/

4. RIA cannot be developed very easy : Do you mean to say that a menu can be developed faster in pure HTML compare to RIA technology?

Thing is that you probably not getting the model of RIAs. They are able to do such things which can only be dreamed in HTML. Nad it gives you a single platform to do everything all together. You dont need to use 3rd party plugins+custom API+HTML+JavaScript all together.

-Chinmay
Unknown said…
Does it correct to compare RIA and desctop applications?
Sachin More said…
I am not expert in any of the technologies mentioned above. I am simply a netizen! My feeling is RIA Rocks, there is no doubt about it!!!

I am going to get into these technologies sooner, so can comment more on this point then.

However by reading the heading i was curious to know what the author has to say, now I think that's all useless...
jNayden said…
So there is a different "speaking" in dzone comments. I will use some of the thinks I said there.

The blog post was created to show that "RIA" is not the best think here. Maybe it will be some day but there are big problems with all RIA technologies. Flash ActionScript is slow, Silverlight tools are not the best and there is no Silverlight in the internet maybe there is but I cant see it. JavaFX is in too early stages so there is no designer and believe me I have experience with JavaFX and developing simple forms like regular HTML form is a BIG PAIN. I even used the FXtras project for Cell Layout and it was a nightmare I prefer to use HTML DIVs and Tables if I have choice.
The fonts problem exists and I think no one cares about it. The Java 1.6 Update 10 gave to Swing components native font rendering under windows and they look AWESOME like native apps like SWT apps but JavaFX component dont use it ? I dont know why only the wraped Swing components in JavaFX have clearTyped fonts like SwingLabel but I CANT use SwingLabel everywhere right ? Why do I have native node based components when I cant use them.

@ChinmaY:
About the latest text engine I am using FP 10. The screenshot you see is with FP10 I didnt notice difference with FP9 under Windows vista.

About the "fast ria" I dont believe on statistics I believe on my eyes check out :
http://labs.adobe.com/technologies/tables/ and http://labs.adobe.com/technologies/presentations/ this is Flex/Flash now check out all http://www.chromeexperiments.com/ but with Google Chrome Beta/Dev version.

About how fast it will be to create such a control pute HTML. HTML is created for documents it is not perfect using HTML/CSS/JavaScript + JavaScript libs that run on every browser and OS maybe I will create it faster but I don't know how match time Telerik have spend for create this component so I cant say. They sell components maybe because they make it "production ready" i will be faster even If i dont use third party javascript libs (maybe only jquery it is a 'MUST').

@Sergey :
Why not ? the RIA idea something like lets make the web apps like desktop apps, rich, fast, beautiful without "refresh".
So I can start any Java Desktop application as Java Applet or Java Web Start right? so The Desktop and the Web using "plugins" is the same.
jNayden said…
Ou after some investigation I found that Designer for Silverlight in Visual Studio 2008 exists BUT it was removed when you install Silverlight 3 WTF?
I've red here http://silverlight.net/forums/p/113970/256872.aspx that :
"It used to be there in VS2008. It was taken away after SL3 RTW because of "performance reason". There are tricks to unhide the design view (search this forum). In VS2010 you have the design view and I heard it's better (though I don't use VS2010 because for some reason it's very slow for me)."

Hah welcome to the JavaWorld .net developers pay for Expression Blend or start typing ! :)
Anonymous said…
Try CRUDfx SDK for JavaFX. See examples at http://jfxstudio.wordpress.com/author/surikov/ . Is it nice? Is it easy?
jNayden said…
Hello Anonymous Yes I know this project :) I like it but in most cases you will need to modify and redesign everything at some point ( and you will need this to be done by the designer ) without tools that designers can easy use it is impossible anyway the CRUDfx is nice idea. I am not fan of "CRUD" thinks but anyway someone will enjoy it.
Anyway this demo http://www.javafx.me/crudfx/examples/derbydemo/blueDerbyDemo.html is nice and the fonts on the main page are nice too but when you click submit and when you have error the dialog have bad fonts check this out :)
jNayden said…
Hmm Adobe is working on "fonts rendering" direction check out this blog post : http://www.jamesward.com/blog/2009/08/11/fonts-in-flex-4-flash-player-10-air-1-5-make-me-happy/ but I didn't see big difference there is a difference but ... lets hope things will be better and better in the future.

Popular posts from this blog

Convert PFX certificate to JKS, P12, CRT

I recently had to use a PFX certificate for client authentication (maybe another post will be coming) and for that reason I had to convert it to a Java keystore (JKS).  We will create BOTH a truststore and a keystore, because based on your needs you might need one or the other.  The difference between truststore and keystore if you are not aware is(quote from the JSSE ref guide : TrustManager: Determines whether the remote authentication credentials (and thus the connection) should be trusted. KeyManager: Determines which authentication credentials to send to the remote host. Ok that's enough what you will need is openssl and Java 7+ ;) ! First let's generate a key from the pfx file, this key is later used for p12 keystore. openssl pkcs12 -in example.pfx -nocerts -out  example .key   Enter Import Password: MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase: As shown here you will be asked for the password of the pfx file, l

Hibernate Generic DAO.

When you use Hibernate and DAO pattern it is a good idea to use a Generic Base Dao. The fallowing code snippet contains GenericDAO that is a base class for all my DAO classes. This GenericDAO uses HibernateDaoSupport from Spring for its implementation if you want you can use JpaDaoSupport or JdbcDaoSupport in your projects. My Generic DAO interface looks like this : package org.joke.myproject.dao.base; import java.io.Serializable; import java.util.List; /** * @author Naiden Gochev * @param <E> * @param <PK> */ public interface GenericDao<E,PK  extends Serializable> {     PK save(E newInstance);     void update(E transientObject);     void saveOrUpdate(E transientObject);     void delete(E persistentObject);     E findById(PK id);     List<E> findAll();     List<E> findAllByProperty(String propertyName,Object value); } All method names are very common so I don't

Patching a Maven library with your custom class.

Sometimes you use a library that has a bug. Or maybe it doesn’t has a bug but you want to change something. Of course if it is an open source you can get the sources… build them … with your change and so on. However this first takes a lot of time and second you need the sources. What you usually want .. is to just replace one class.. or few classes with something custom… maybe add a line .. or remove a line and so on. Yesterday… I had an issue with jboss-logging. The version I was using was 3.2.0Beta1 and it turns out that using this version and log4j2 2.0 final basically meant that no log is send to log4j2. The reason was a null pointer exception that was catched in jboss logging class called Log4j2Logger. The bug I submitted is here https://issues.jboss.org/browse/JBLOGGING-107 and it was fixed at the same day. However I will use it as an example since I didn’t knew when this will be fixed.. and I didn’t want to wait till it is fixed. So I was thinking what I want.. to take the j