Jim has posted 66 posts at DZone. You can read more from them at their website. View Full User Profile

Should There be Enterprise RIA Style Guidelines?

12.23.2008
| 10423 views |
  • submit to reddit

This is my first JavaLobby post without JavaFX in the title, so please bear with me :-)  Anyway, I have a simple question to which I suspect there is no simple answer.  Nevertheless, I'm going to ask the question:

As Rich Internet Applications become more prevalent in the enterprise, should there be UI style guidelines for them?

One could argue that Web 2.0 has a fairly well defined and documented style (for example Web 2.0 how-to design guide), so we should just use the Web 2.0 guidelines.  Someone else could argue that because RIA technologies such as Flex, Silverlight and JavaFX offer richer UI capabilities, enterprise RIAs should have their own style guidelines.

I suppose that it would be good to make a distinction between:

  • browser-based applications that have embedded RIA technologies (e.g. a Flash or JavaFX applet that exists on a page), and
  • applications whose entire UI is enabled by an RIA technology, regardless of whether it runs outside of a browser, or fills an entire browser page

The question that I posed above assumes the latter scenario, and also assumes that the application is an n-tier enterprise application.  What should one of those look like?  Should the navigation include traditional drop-down menus in a bar at the top?  How should the iPhone style guidelines factor in, if at all?  Because Flex has a more mature set of tools, components, and styles, should JavaFX and Silverlight RIAs tend to use Flex apps as a guide?

Another answer, of course, is to not seek enterprise RIA style guidelines, but rather just let them evolve.  I don't care for that answer, as I think that the software development industry and its users have much to gain from common style guidelines, not the least of which are consistency in UI design and usability.

Please post a reply with your thoughts.

Learn JavaFX in Stockholm, Sweden in January 2009

I'll be speaking on JavaFX at the Jfokus 2009 conference in January. While in the area, I will also be conducting a two day public JavaFX class in Stockholm on January 29 & 30, 2009 entitled "Rich Internet Application Development with JavaFX".

Thanks,

Jim Weaver
JavaFXpert.com

Published at DZone with permission of its author, Jim Weaver.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Otengi Miloskov replied on Tue, 2008/12/23 - 10:12am

Guidelines, Patterns, Enterprisy, All this crap sounds bloated and slow to work with, it is not agile, it is like EJB2 a FAIL. This style of software development nobody wants anymore, it is a waste of time, It will FAIL.

Let please JavaFX more agile, more community, more OpenSource. What is the licensing schema right now of JavaFX? nobody knows.

2c.

Ryan Developer replied on Tue, 2008/12/23 - 10:56am

The previous poster sounds like a cowboy coder who's mindset is stuck in 2002.  Using patterns is bloated, slow and not agile? hahahaha  Thanks for the good laugh. 

Every professional looking application (desktop, web or RIA) needs UI guidelines.  That's why all Mac and Windows applications have a consistent look and feel and when someone breaks the UI guidelines the application feels home made.  I think there is definitely a need for RIA UI guidelines.

Cody A_ replied on Tue, 2008/12/23 - 11:00am

"Another answer, of course, is to not seek enterprise RIA style guidelines, but rather just let them evolve.  I don't care for that answer, as I think that the software development industry and its users have much to gain from common style guidelines, not the least of which are consistency in UI design and usability."

 

I agree that the industry and it's users have much to gain from using common guidelines in UI design, however UI is not something that can be standardized easily. I believe that we as developers need to retain our flexibility when attempting to standardize UI design. It is all too easy to make the standards so strict that future development efforts could diminish... On the other hand, we do not want the same mess that we are dealing with today, in that there are sooooo many "frameworks" to choose from. This to me is a symptom of not having very specific standards.

 I for one enjoy learning a "new" way of developing a given UI component, despite the standards used to develop it with...

 Just my 2....

GeekyCoder coder replied on Tue, 2008/12/23 - 12:17pm

I think that RIA style is a matter of need and priority.

The general enterprise RIA's priority and need are on delivering information application with GUI that solve business need with time to market priority, and the default L&F (be it Flex, Sliverlight, JavaFX, JAva Swing) of the GUI components are good enough to satisfy their business application requirement, and hence enterprise company is unlikely to commit resource and effort to make their application more cosmetically appealing at the expense of time and cost. The enterprise GUIs already have their own style which is defined by the default "look and feel" of the GUI toolkit, for example, Swing with default metal and nimbus L&F (even JavaFX takes on nimbus style). 

Having a colourful appealing design with attractive font style that characterised today's consumer RIA are sometimes perceived as distraction and unnecessary in the enterprise market. Ironically, even popular consumer softwares now adopt the plain look for more productive usage, for example, the Adobe CS4 (Photoshop, Illustrator etc) suite now use use mono look, foregoing those distractive colorful attractive icons.

On the other hand, consumer RIA's focus and need are cool looking functional application with their own distinctive appealing GUI that differentiate them from the rest. The appealing design and look are the main marketing and competitive factor because consumer like "beautiful and appealing" thing. Which to say that it is pointless to define a standard RIA style for consumer market because having a distinctive GUI style is a competitive advantage (which is why skinning function is a must for RIA).

Michael Azzi replied on Tue, 2008/12/23 - 1:57pm

geekycoder makes some very good points. So if I can elaborate, the first, and most important prerequisite for any RIA style guidelines is easy skinning, and styling of the UI. Break down the barriers between designers, and developers, and make that workflow between them as efficient, and as productive as possible. You need this strong foundation first, which only a RIA designed from the ground up with this support in mind can deliver. And then the rest, as far as guidelines are concerned, will follow, or like you said will evolve out of this enablement. That's why it's really crucial for Javafx to get this part right, and make it one of its core competencies.

Another important aspect of RIA UI guideline, which seems to have been lost in the current craze of AJAX, and other RIAs, is the ability to deep link to wherever you currently are in your application state. It may sound silly, but the ability to get a URI(URL) snapshot of wherever you are in an application, and being able to send it, or refer to it at later time is really powerful.

Coupled with that is the ability to index the content presented by a RIA application, in order to meanigful searches on it.

This is what I think a good RIA UI guideline should a least have.

Ronald Miura replied on Tue, 2008/12/23 - 7:22pm

Guidelines are not frameworks. Guidelines are conventions. Something like, 'OK and Cancel buttons align to the right', 'form margins should be of 5px 8px 5px 8px', etc., in plain text. And not some JCP-blessed framework that you call 'form.addButton('Save').addButton('Cancel')' and automagically their layout will adhere to 'The Guidelines'.

And yes, I'd like some sort of UI guidelines. That would help a lot maintaining a consistent (but not blindly 'the same') look and feel across applications. Not only for JavaFX apps, but web apps as well. But a fine and usable one, please :)

Andrew replied on Wed, 2008/12/24 - 12:08am

"The best way to get a good user interface is to get good designers to design it, not to write guidelines so that bad designers can design it." from “Debunking the myths of UI design”
http://www.ibm.com/developerworks/library/us-myth.html
and I agree with it 100 %.

And I don’t see anything wrong to learn from the industry leaders like Adobe. There are tons of Flash based UI applications we can learn from.

Just my 2 cents :)

 

Ronald Miura replied on Wed, 2008/12/24 - 5:37am

@Andrew, are there? Where are they? All I see is lots of games and menus :)

Andrew replied on Wed, 2008/12/24 - 8:34am in response to: Ronald Miura

Try google :)

Here is my random pick
http://www.scrapblog.com/
http://www.gskinner.com/gmodeler/app/run.html
http://www.usatoday.com/news/politics/election2008/poll-tracker.htm?loc=interstitialskip
http://www.balsamiq.com

My favorite is YouTube - simple and effective UI nothing is redundant.
You can argue that YouTube client is not exactly RIA but still it has clean UI.

 

Jeroen Wenting replied on Thu, 2008/12/25 - 8:13am

There's no need for some grand comittee of self-appointed "experts" to tell us how to design user interfaces. Libraries have been written full of books about that, if only people were to read them...

Every self-respecting shop should have some user interface design people, usability testers, people like that, and provide at least some training on the subject to those of their staff who need to actually make the darn things.
Sadly that rarely happens, but that's not for lack of wisdom on the subject. It's solely for lack of interest on anything that doesn't increase the time to market on the part of most managers (and any interface will do for that...).

It's the same situation as unit testing, refactoring, and things like that. It doesn't show an immediate ROI in the form of lower initial project cost, so it doesn't have priority.

We've all encountered it I'm sure. I've been told more than once that spending a few days cleaning up messy code is not something that should be done because "it works now so why spend the effort". It's the same with user interfaces.
The people on the project can slap something together, never mind how it looks. If it needs to look "pretty", just add some colour or visual effect to that. The quick and dirty way produces something that works quickly, your manager's manager is impressed with your manager so he's happy.
Whether it creates more problems in the future is not important because neither manager expects to be responsible for the project at that time (if they even understand the potential for trouble their shortsighted decisions create).

Ronald Miura replied on Thu, 2008/12/25 - 10:03am

@Jeroen, having guidelines doesn't exclude the need of having UI designers, since UI is not just colors and spacing. And I (and the original poster too, I guess) am talking about internal 'enterprise apps', I mean, lots of labels and textfields, not a visual mind-blowing eXperience. Having such guidelines (which are guidelines, not absolute rules), global (made by the community, or Sun, or some comitee, or some self-appointed experts, whatever) would be nice, since one could create standards templates and save ME a lot of time :)

@Andrew, sorry. Lots of games, menus, and media players :) (which, in my opinion, fall in the case of widgets, not applications). There are exceptions, of course. Parleys.com have a nice app for its videos (which is not only a simple video player). A little heavy and slow, but nice.

Ah, who of you like matisse's layout manager (GroupLayout)? It follows some simple guidelines, and one can use it to create applications with a consistent layout.

Jeroen Wenting replied on Fri, 2008/12/26 - 1:36am

Sun already has such "guidelines", Ronald, though they're published for Swing applications (which of course doesn't mean they can't be used elsewhere).

And in all those books that exist, there is a lot written down that a GUI designer or user interface specialist can use to create those templates.

That's all good, what I don't want is some "standard" imposed from up high, especially not one that's going to be enforced through compilers and design tools (thus making it impossible to deviate from it).
That's counterproductive, stifles innovation (as well as preventing at least some disasters), and locks down the toolkit to a specific style of application that's far from optimal for any other purpose.
We've all seen what happens to "tools" that work like that, force a specific style and workflow on you. They're extremely limited in what they can do and cause people to twist product requirements to fit the tool which is never a good thing.

If you insist on using such tools, Oracle (for example, I'm sure there are many others) has them, tools that will create all your screens for you based on the fields in your database according to some "user interface style" that someone decided was good.
The results are less than pleasing for all but the simplest of things, it's impossible to deviate from the "standard" without going through hoops, and of course you get a mess of user interface code mixed up with database access and business logic code (which is typical of all such tooling).

Tanya Huff replied on Thu, 2011/05/05 - 11:24pm

"Matisse's layout manager (GroupLayout) does follow some simple guidelines, and one can use it to create applications with a consistent layout."

Me and my team have used Matisse's layout manager for a little over a year now and it has been a godsend for us. Sewing Bobbins

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.