Skip to main content

Need help with research for graduate class

5 replies [Last post]
mustangqa
Offline
Joined: 2005-10-08
Points: 0

Hi,

I'm doing a project for a college course on Software Quality Engineering. We've been assigned to perform SQE tasks on an open-source project and I've chosen Mustang for this. For anyone who would be willing to help, I'd be very grateful if you could answer some questions about the new features that are going to be included in this release of Java. If you can help, please either post a response to this message or send your reply to my mustangqa@verizon.net email address.

I've selected a small number of new features and am asking two questions about each one: how likely are you to use that feature at some point in the future, and how important that you believe it is for the feature to be bug-free / work as documented. The features I'm asking about were taken from the list found here: http://java.sun.com/developer/technicalArticles/J2SE/Desktop/mustang/ind...

For each question, please provide an answer of 1 (High), 2 (Medium), or 3 (Low) based upon how likely you are to use the feature at some point in the future. For example, if you think it's very likely that you will use the pop-up splash screen at some point, your answer to part (A) would be 1 (High). However, if you don't think that it's critical for the feature to work correctly, then you might provide a value of 3 (Low) for your answer to part (B).

Assuming that I receive some responses, I'll tabulate them next weekend, post them here, and will use them as input to the testing process that I do for my project. Thanks in advance to all of you who are willing to help out.

I. JTable sorting and filtering -- The ability to sort, highlight, and filter the contents of tables.
A. Rate the likelihood of your using this feature
B. Rate the importance of this feature working as documented

II. Text printing -- Printing support in JTextComponent, including the ability to specify a custom header or footer and layout to printed page size.
A. Rate the likelihood of your using this feature
B. Rate the importance of this feature working as documented

III. New modality modes -- Additional flexibility with respect to dialog boxes and the modes available (e.g., frame-modal)
A. Rate the likelihood of your using this feature
B. Rate the importance of this feature working as documented

IV. Pop-up splash screen at the beginning of Java startup -- Show a splash screen during Java startup.
A. Rate the likelihood of your using this feature
B. Rate the importance of this feature working as documented

V. API to add a Java application to a system's app-launching panel / toolbar -- Add a "tray icon" to the "system tray area" and provide the ability to listen for events related to it.
A. Rate the likelihood of your using this feature
B. Rate the importance of this feature working as documented

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
rickcarson
Offline
Joined: 2004-03-04
Points: 0

Hi.

I think that if features do not work as documented they should not be included. This was one of the nice things about Java in the early days, and part of the reason why I jumped ship away from the M$FT offerings. In VB or the win32api if something doesn't work as advertised you have two choices: either the frustration of fiddling with it till it works (hello blue screen! hope you saved recently!), or giving up and telling the client it can't be done. A classic example was the ASP Dictionary object, which spat back random garbage, even with only a couple of items in it.

Whereas with Java you can look under the hood to see what is happening.

VB had (mostly) great help files (pre version 6, after that they were worse than useless) - something Java and other languages could still learn from. But every programmer who'd been round for a while knew that there were two answers to many questions: the microsoft sanctioned 'official' answer, and the other was the undocumented way which actually worked.

That said, I won't even bother to answer your B items. Things should work or they should not be released. End of story.

Ia JTable sorting - why bother, its not hard to do yourself (and i can use mergesort instead of quicksort if I want). Will use it if they put it in, will keep rolling my own if they don't.
Ib JTable filtering - filtering can be done easily through the existing model. Will use it if they do it right, will keep rolling my own if they don't.
Ic JTable highlighting - not sure if there is an easy way to roll your own highlighting in the existing classes.

Overall I rate item I as (3) low.

II Text printing - this has been a bugbear of Java for a while now. Last time this was an issue we used a 3rd party framework to write out pdfs and send them to acrobat for printing. Worked really well. If this is implemented as well as they did Webstart then it will be a dismal failure and we won't use it. It will have to be better and easier than writing to pdf (which shouldn't be *too* hard, but am not convinced.

Overall I rate item II as (3) low

III New modality modes - Am trying to get excited about this one... eh. Whatever.

Overall I rate item III as (3) low

IV Splash screen - YES!

Overall I rate item IV as (1) high

V Adding programs to system tray - Well... this already happens to a more or less limited extent, but I think that anything which makes Java programs more native like without hurting cross platform is a good thing.

Overall I rate item V as (1) high

Obviously I rate item IV as higher than item V if you are interested in finer levels of discrimination.

mustangqa
Offline
Joined: 2005-10-08
Points: 0

Rick,

Thanks for your response! Perhaps I should clarify, though, that I wasn't necessarily asking about a case where the feature didn't work at all. Like you, I would hope that it wouldn't be included if it isn't pretty much completely functional. Having said that, though, it's difficult to make sure things are bug-free (which is what my class is about).

I have to confess that I'm a little disappointed at having only gotten one response so far. I wonder if it's the case that nobody is reading this or rather that people just aren't interested in responding.

tlund_
Offline
Joined: 2005-04-21
Points: 0

I was going to write a reply, but i've been busy lately :)

like rickcarson wrote, I'm not goint to answer the B questions, mainly because i don't understand what you are really asking. Either it works (like documented), or it is supposed to work, but doesn't (then it's a bug and will/should be filed as one). If a new feature is buggy (in a release version of the JDK), and it takes a long time to fix it, then of course, that will be frustrating, and might lead to people not using it at all. If I'm not going to use a particular feature, then this issue (not working as documented) isn't that important to me, and vice versa. In other words, the B answers would be the same as A.

Now to the A questions. They all depend on how you are using Java of course. If you are a server app developer, then you probably won't use these features at all. I mainly write JSP/servlet apps, but have a few small desktop projects.
In my opinion, Java has never been big on the desktop, but maybe that will change with Mustang :) But new desktop features are important none the less.

1. I already use JTable sorting provided by my own class, so using the new api will help me clean up my code (remove the extra class and use the Java API instead). So, assuming that the new API has everything I need, yes, I rate this 1 (High). I might use filtering and highlighting as well in the near future.

2. haven't had the need to do text printing from any desktop apps yet, but when I do, I might use this feature. I rate this one 2 (Medium).

3. At the moment, no. So i rate this one 3 (Low).

4. Yes, this is an important part of reducing the perceived startup-time for an application, and starting the splashscreen separatly from the application is quicker than doing it from within the application code.
So i rate this 1 (High).

5. I already use JDIC's systray implementation (the basis for the mustang version), so it's just a matter of using the mustang version when 6.0 is released. That way I would have less libs to distribute.
I rate this 1 (high).

If you are interested in finer level rating (expected usage by myself), then this would probably be:

5. Systray
4. Splashscreen
1. JTable Sorting
2. Text printing
3. New Modal

mustangqa
Offline
Joined: 2005-10-08
Points: 0

tlund,

Thanks for your response as well. And thanks again to those of you who responded via e-mail; your responses are very helpful.

I was planning to summarize the responses and post them here, but given that the number of replies I've received has been smaller than I hoped for, I'd like to wait a little longer. So if you would be willing to take the time, please reply in a post here or email me at mustangqa@verizon.net and let me know how likely you'd be to use each of the following new features in Mustang:

I. JTable sorting and filtering -- The ability to sort, highlight, and filter the contents of tables

II. Text printing -- Printing support in JTextComponent, including the ability to specify a custom header or footer and layout to printed page size.

III. New modality modes -- Additional flexibility with respect to dialog boxes and the modes available (e.g., frame-modal)

IV. Pop-up splash screen at the beginning of Java startup -- Show a splash screen during Java startup.

V. API to add a Java application to a system's app-launching panel / toolbar -- Add a "tray icon" to the "system tray area" and provide the ability to listen for events related to it.

prunge
Offline
Joined: 2004-05-06
Points: 0

Hi,

firstly, I think that any new feature must work as documented. All (B) responses are therefore High for me.

I. JTable sorting and filtering: High
Written my own implementation for this - good that this is in the JDK.

Another reason I like this in the core JDK is that each look and feel would have a custom way of showing sorted columns. Currently I've got a sad arrow icon doing the job that looks the same on every L&F. End users will be happier if the sorting column looks more native to each L&F.

II. Text printing: Low
Never had to do any printing from Swing components before. I guess this would be useful to those who need it.

III. Modality modes: Low
Might be useful if a Java application has multiple frames in the same process (e.g. multiple browser windows) and a dialog box should only block one. I've never had to do anything that needed this though.

IV. Pop-up splash screen: High
Very useful feature. Customers using our software will get a good impression from this since our apps will appear more responsive on start-up.

V. System Tray: Medium
Used a third party library that used native code for doing this for an app that needed this functionality. Having this in the core will be useful since we don't have to worry about having native code that works on all different platforms.