aspose file tools*
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes B&S: sufficient GUI? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "B&S: sufficient GUI?" Watch "B&S: sufficient GUI?" New topic
Author

B&S: sufficient GUI?

Oliver Weikopf
Ranch Hand

Joined: Feb 17, 2004
Posts: 58
I've really got no idea what else to do with my client GUI. All it has is a table containing the data and three buttons for the required function (Show All, Search, Book). It looks just plain blunt, but there's nothing missing, either. Have you all got such a simple GUI or have you gone out of your way to make it more appealing by adding anything else to it?

I've taken care to implement the GUI correctly (mnemonics, keystrokes, sortable table, MVC, easily extensible, etc). But anyway, do you think such a (plain|straightforward|blunt) layout is sufficient?

My GUI currently looks like this:
Tom Nicki
Greenhorn

Joined: Jun 21, 2006
Posts: 25
I think it looks really good. I thought about something similar.
Based on what I have read on this forum, having "cool" GUI does not guarantee good results. More - I have seen GUIs similar to yours with very good score.

Have you thought about arrow keys to move between records?
I thought about kind of "mode" where user can do everything with keys without touching the mouse. I belive it is just a question of good keystrokes.
I thought about advertising it a little in my user manual.
I hope it increases user fiendlyness.

I hope you will post your results on this forum.

BR Tom


SCJP1.4, applying for SCJD [URLy1.2.1]
Oliver Weikopf
Ranch Hand

Joined: Feb 17, 2004
Posts: 58
Originally posted by Tom Nicki:
I think it looks really good. I thought about something similar.
Based on what I have read on this forum, having "cool" GUI does not guarantee good results. More - I have seen GUIs similar to yours with very good score.

Just what I had hoped to hear, thanks.

Have you thought about arrow keys to move between records?
I thought about kind of "mode" where user can do everything with keys without touching the mouse. I belive it is just a question of good keystrokes.

When you use a JTable, you can navigate with arrow keys anyway, without any additional programming.
And yes, I have keystrokes and/or mnemonics for everything in my application. I think that's imperative as this kind of application is likely to be much more efficient to use without a mouse.


I thought about advertising it a little in my user manual.
I hope it increases user fiendlyness.

I definitely think so.

I hope you will post your results on this forum.

BR Tom

Sure, if I ever finish.

[ June 27, 2006: Message edited by: Oliver Weikopf ]
Tom Nicki
Greenhorn

Joined: Jun 21, 2006
Posts: 25
I wish I have "If I ever finish" problem.
My problem is "If I ever start". I have read 10 books, about 1000 patterns etc. and I am more stupid I was before.

One more 3 things I forgot:
- What about disabling buttons? For instance "book" is switched off when there is no record selected.
- do you use "Mediator" pattern?
- i hope you server GUI looks the same good

Tom
Jeroen T Wenting
Ranch Hand

Joined: Apr 21, 2006
Posts: 1847
Looks nice.
Here's what I came up with...


Different colours to show booked and available contractors.
Subframe to show the contractor data in a more userfriendly fashion automatically.
Keyboard shortcuts for everything, menu items for everything, and a toolbar with buttons for the most useful commands.


42
Tom Nicki
Greenhorn

Joined: Jun 21, 2006
Posts: 25
I am not an examiner and I havent even created my own GUI yet.
As a user I would choose GUI of Oliver.
Everything looks good and has its reason to be there but somehow
it is not my taste.
I am also not objective - I am developer with my own idea.

I like that "different colour" thing. Looks useful.
What I do not like is:
- you have to think what that icon-button could mean; of course user will learn it but "at-first-glance" impression is confusing for me (that "B" looks like "Bold"); text buttons give much more info + mnemonics; big button is easier to hit (no aiming)
- i see a horizontal scroll; do I have to scroll to see "charge" column? Can I see all column at once? How much do I have to extend that window if I want to see "owner" and "name" field in one view?

Tom
Mihai Radulescu
Ranch Hand

Joined: Sep 18, 2003
Posts: 918

Hi people,


I come with stupid question.
How I can link(or attach) some of my screenshots to a post ?


Tom, I have a similar UI - on my the buttons are align to left.

What about disabling buttons?


I disable (from the controller of course) some of the buttons if something happen(e.g. the server goes down).


For instance "book" is switched off when there is no record selected.


I'll disable the book(& release) button if the selected record is not "bookable" - you know the 48 hours rule. Otherwise you can have always a selected row in the table.

What you display when the client start first time the client(here, I presume that the client is right configured) ? No records ? Or you just get all records ?


Jeroen, nice UI also but I have one question
1.why you don't have any "bottom buttons" ?


ThanX
M.


SCJP, SCJD, SCWCD, OCPJBCD
Oliver Weikopf
Ranch Hand

Joined: Feb 17, 2004
Posts: 58
Originally posted by Tom Nicki:
I wish I have "If I ever finish" problem.
My problem is "If I ever start". I have read 10 books, about 1000 patterns etc. and I am more stupid I was before.

I skipped the reading bit. Actually, all I've read so far are the RMI and RandomAccessFile APIs as I'd never used those before. Other than that, I just started coding after some initial contemplations. I'm kind of impatient that way. When I run into problems I can't figure out, I use Google as my main "source of inspiration". I know that's the worst approach I can take, but I'm under a pretty harsh deadline here (for finishing, not for handing it in) and didn't have the time for a lot of reading beforehand.

One more 3 things I forgot:
- What about disabling buttons? For instance "book" is switched off when there is no record selected.

I don't do that. I considered it, but finally went with an informative message instead. This is a question of taste, I think: I believe just disabling a button has the disadvantage of not allowing the user to find out why it's disabled. But as a solution it's just as fine, I'm sure.


- do you use "Mediator" pattern?

No. I didn't find it necessary. The absence of any complexity in the GUI simply didn't seem to require it.

- i hope you server GUI looks the same good

Tom

Sort of. This is the server GUI. Well, nearly. I use the same GUI, but the table is replaced by a text field for debug output and the edit actions (menu and buttons) are replaced by server actions.
Oliver Weikopf
Ranch Hand

Joined: Feb 17, 2004
Posts: 58
Originally posted by Mihai Radulescu:
I come with stupid question.
How I can link(or attach) some of my screenshots to a post ?

You can't. You must upload it somewhere else (like Photobucket) and include it with an img tag.

What you display when the client start first time the client(here, I presume that the client is right configured) ? No records ? Or you just get all records ?

No records. I've been weighing my options, but I believe this to be the better approach. Imagine the database becomes bigger. If you start with all records, you'll transfer a lot of information that noone wants to see anyway.
Tom Nicki
Greenhorn

Joined: Jun 21, 2006
Posts: 25
No records. I've been weighing my options, but I believe this to be the better approach. Imagine the database becomes bigger. If you start with all records, you'll transfer a lot of information that noone wants to see anyway.


I thought about setting default search options (like 48 checkbox) and initialize first view with such results.
One of my ideas is to not even give possibilities to choose 48 hours or something else. Just display "48 hours" all the time (filtered by search).
Do you think it is "requirements risky"?

plus/minus:
+ this is what CSRr need
+ not so much data transfered by each request
- risk it does not fit to requirements


Tom
Mihai Radulescu
Ranch Hand

Joined: Sep 18, 2003
Posts: 918

Oliver, thanX for the photobucket tip. It works !

Hi Tom
I am not shore that I understand but
do you set the 48 H roule on the client side ?

I think that by default the table can be empty.

+this is what CSRr need

How you can be shore about the CRS intends ?


- risk it does not fit to requirements

I'am not shore, in my specs I don't have anything about a default view.

Regards M
[ June 28, 2006: Message edited by: Mihai Radulescu ]
Tom Nicki
Greenhorn

Joined: Jun 21, 2006
Posts: 25
Hi Mihai,

How you can be shore about the CRS intends ?

I am not sure. My interprettion comes form the problem description.

They (CSRs) take bookings only within 48 hours of the start of room occupancy.

It is not said you must take care about 48H in your GUI. It is not said you should do it. I guess it is good what you decide and well argue.

My idea is:
Only records from next 48H frame are shown to the CSR (now<records<now+48H).

My argumentation (plus/minus):
+ it fits to this room broker company (48H is what they only do)
+ client works faster (less data to get from server)
+ easy search panel (name, city, and/or)
- CRS cannot see historical data (does he need it? it can take forever to get all historical data)
- CSR cannot see ">48H" records (but what shall he do with it? book it? this company does not do it.)

My implementation:
48H is set on client side. Easy to change or add to search if it is wished.


I think that by default the table can be empty.

For me it would look really strange.
What will be the first thing that almost every user does when he connects?

Tom
Mihai Radulescu
Ranch Hand

Joined: Sep 18, 2003
Posts: 918

Hi Tom

Im my specs on the User Interface section I have something like :

It must allow the user to search the data for all records, or for records where the name and/or location fields exactly match values specified by the user


As you can see here is a must so I don't like to take any risk. On the other side it can be useful for CRS just to search in all the records for some
thing - let's say a room which can get available in the some (10) days and to inform the customer about it - remember no booking.

What you mean by :


easy search panel (name, city, and/or)


And now about :

48H is set on client side. Easy to change or add to search if it is wished.


IMHO the 48 H is a business rule and the client only use it not to alter it. Also if any client has his own rule you must transport first the
whole search result from server to the client and then to filter it (using the client specific rule).

RegarDs, M.

P.S : I think that we go away from this thread topic, how about a new thread about the 48 h thema.

[ June 28, 2006: Message edited by: Mihai Radulescu ]
[ June 28, 2006: Message edited by: Mihai Radulescu ]
Tom Nicki
Greenhorn

Joined: Jun 21, 2006
Posts: 25
As you can see here is a must so I don't like to take any risk.

Ok. You are right. I will not risk it too

What you mean by :
easy search panel (name, city, and/or)

I meant search window (or something) which appear after pressing search button. I guess there should be more options in order to increase user friendlyness espaecially when all file records can appear in JTable.

is a business rule and the client only use it not to alter it. Also if any client has his own rule you must transport first the
whole search result from server to the client and then to filter it (using the client specific rule).

Iteresting idea
but I thought rather about server side business rules which can be used by client programs. Server provides ready results.

P.S : I think that we go away from this thread topic, how about a new thread about the 48 h thema.

If you think there will be much more to discuss - go agead.
On the other hand we are still discussing search GUI

Tom
Jeroen T Wenting
Ranch Hand

Joined: Apr 21, 2006
Posts: 1847
Jeroen, nice UI also but I have one question
1.why you don't have any "bottom buttons" ?


I follow general application design as will be familiar to most users.
That means a toolbar, a menu, and a data area.
The main window isn't a dialog, so there are no buttons on the bottom or the sides (look at Excel, Word, web browsers, for example).
The dialog boxes do have buttons on the bottom, arranged logically.

The B icon is a placeholder until I can figure out how to make something that looks better
I got the magnifying glass done, haven't yet had the inspiration for something to signify a reservation.
Mihai Radulescu
Ranch Hand

Joined: Sep 18, 2003
Posts: 918

Hi, Jeroen

God point with the bottom buttons. But I stil think about.
About your B icon I use the "Preferences16.gif" from the :
[url=http://java.sun.com/products/jlf/ed2/book/index.html/url]
for booking and I modify a little this icon (just take off the checks) for release.

Regards, Mihai
Mihai Radulescu
Ranch Hand

Joined: Sep 18, 2003
Posts: 918

Hi Tom,
I forget to answer you. I found in your last opst something like :


but I thought rather about server side business rules which can be used by client programs. Server provides ready results.


It is eays to have a single (busines) rule for all participants than one rule for each.
Is like in football there are some (busines) roules and all the football palyers need to foolw them (even if they like it or not). Thats make this sport easy practice/understand.


Regards, M
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: B&S: sufficient GUI?