appeal for usability

Dear EAPers,

We are planning to put dedicated efforts to greatly improve the user
experience in IDEA 7. So, as always, we ask for feedback from our
beloved EAP users.

At first, please answer the following questions:

1. Do you find something hard/annoying to do in IDEA?
2. Do you find something hard to find/understand in the IDEA interface?
3. Do you find something inconsistent in different places, which has
different look and interaction scenarios?
4. (Optional) Do you find something what you can say about: "it's not
modern, no good program does it this way". This is kind of emotional
experience from IDEA, but we want IDEA to be emotionally attractive as well.

All you responses are valuable, as always.

--

Kirill Kalishev
JetBrains, Inc.
http://jetbrains.com
"Develop with pleasure!"

0
168 comments
Avatar
Permanently deleted user

Stefan Arentz wrote:

Maybe Colors & Fonts is a bad example since it has a preview, but I was annoyed by for example the Live Templates dialog also being modal .. not very user friendly to go back and forth between opening and closing two layers of model windows before you can try out a simple change to a template.

+1

Cheers,
N.

0
Avatar
Permanently deleted user

Do you find something hard/annoying to do in IDEA?


Managing plugins.

It is very odd that disabled plugins are deleted from IDEA. There is no easy way to get them back.

Also what would be REALLY nice to have is a search field there. There are now so many plugins that it is sometimes very difficult to find a specific one. What about a simple text search on name and description?

S.

0
Avatar
Permanently deleted user

Ah I did not know that. But many times you just have the class name without a line number as in a stack trace.

S.

0
Avatar
Permanently deleted user

On 2007-01-16 08:14:25 -0600, Sergiy Dubovik <ideatasks@gmail.com> said:

It will be nice if IDE replace imported project with the one from
repository, for example subclipse does that. Or make it possible to do
inside Idea without opening command prompt.


+1

it's so annoying to go through several steps to just add a new project
to source control with subversion right now: upload, check it out
again, copy workspace files, turn on subversion on the project
manually... there should be one step "add project to source control" in
Idea allowing all of this

0
Avatar
Permanently deleted user

I would propose to have one common action (ctrl-space) for all
completions. Possible solutions:
1) Put all completions into one list, smart goes first, then basic and others
2) Put smart completion first, if you hit ctrl-space again show basic and so on


+1

0
Avatar
Permanently deleted user

Hello Oliver,

>> It will be nice if IDE replace imported project with the one from
>> repository, for example subclipse does that. Or make it possible to
>> do inside Idea without opening command prompt.
>>

+1

it's so annoying to go through several steps to just add a new project
to source control with subversion right now: upload, check it out
again, copy workspace files, turn on subversion on the project
manually... there should be one step "add project to source control"
in Idea allowing all of this


In fact there is one since 6.0.2, and it's called "Share Directory". You
can find it in the Subversion context menu.

--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0

-1

please god no. that's a feature i totally dislike in eclipse.
i always know exactly which type of completition i want. the ide doesn't.
if i start like "li", how is idea going to know weither i want to type
"ListImplementationOfMyself]]> foos = getData()" or "librarymanager.doWhateverYouPlease()"?
currently, this is not a problem.

also, the list would be HUGE (all classes would be included), which is why eclipse refuses to autocomplete until you entered the first letter, which annoys me. idea's smart type completition doesn't need a first letter. when i'm calling a method with 5 parameters, i can often just shiftctrlspace, choose if necessary, enter, repeat.

0

Gosh, nooo.
Just learn to use Idea's completion feature correctly rather than pressing random modifier keys. It takes more to describe it than to actually use it. I do not even have to think anymore about what completion mode to use:

*Class completion: *
First of all decide wether you want a class name. If so use always use class completion (ctrl-alt-space).

Next check wether a value is expected in the completion context. This could be an argument to a method call like after "frame.setVisible(" or the initializer of a declaration or assigment like after "int age = ".

*Basic completion (ctrl-space): *
If no value is expected or you want to only complete the first part of an expression (e.g. chained method call) use basic completion.

*Smart Completion (ctrl-shift-space): *
Only ever use if a value is expected and you want to insert one of these
- a reference to a matching variable/field/constant
- after a reference: a method call with a matching return type, e.g. after "textField.setText(resultObject."
- a matching cast after "(" - though I often ommit the cast completely and insert it afterwards using the first quickfix available when I press alt-enter)
- after "new" if you want to create an object of a matching class or a new anonymous class

*Word completion (ctrl-alt-shift-b): *
Inside strings/non java code. (I guess - somehow I never need this.)

It's not that hard to distinguish and once you get the hang of it you are much faster than in Eclipse. It dramatically limits the number of items you have to scan in the last and many times you won't even see a popup at all if you use smart complete.
The "favorite" items in the popup list of eclipse in fact make matters only worse, because more often than not they do not include my wanted completion, so now I have tio scan two lists, first the favorites and then the rest of the list. Urks.

0
Avatar
Permanently deleted user

Well, it doesn't have to replace current functionality.
I (and perhaps Oliver :)) will be happy to have an action which I could
bind to ctrl+space. Actually I have a plugin which does similar thing,
but API is closed and as a consequence it doesn't work in some cases as
it should.

HamsterofDeath wrote:

-1

please god no. that's a feature i totally dislike in eclipse.
i always know exactly which type of completition i want. the ide doesn't.
if i start like "li", how is idea going to know weither i want to type
"ListImplementationOfMyself<Foo> foos = getData()" or "librarymanager.doWhateverYouPlease()"?
currently, this is not a problem.

also, the list would be HUGE (all classes would be included), which is why eclipse refuses to autocomplete until you entered the first letter, which annoys me. idea's smart type completition doesn't need a first letter. when i'm calling a method with 5 parameters, i can often just shiftctrlspace, choose if necessary, enter, repeat.

0
Avatar
Permanently deleted user

First, I didn't ask JB to make code completion similar to Eclipse. Read
carefully.
Second, this is a topic about usability, in my opinion, having 3
shortcuts for the same thing is a bit too much. Also JB guys have
statistics about smart code completion invocation, they should know if
there are problems with the feature or not.
Third, you just proved, that if I want to use code completion feature I
need to learn something. To me there is obvious usability problem.
And last, don't say to people what should they do and you won't hear
where you should go.
:)
-serg


Stephen Friedrich wrote:

Gosh, nooo.
Just learn to use Idea's completion feature correctly rather than pressing random modifier keys. It takes more to describe it than to actually use it. I do not even have to think anymore about what completion mode to use:

*Class completion: *
First of all decide wether you want a class name. If so use always use class completion (ctrl-alt-space).

Next check wether a value is expected in the completion context. This could be an argument to a method call like after "frame.setVisible(" or the initializer of a declaration or assigment like after "int age = ".

*Basic completion (ctrl-space): *
If no value is expected or you want to only complete the first part of an expression (e.g. chained method call) use basic completion.

*Smart Completion (ctrl-shift-space): *
Only ever use if a value is expected and you want to insert one of these
- a reference to a matching variable/field/constant
- after a reference: a method call with a matching return type, e.g. after "textField.setText(resultObject."
- a matching cast after "(" - though I often ommit the cast completely and insert it afterwards using the first quickfix available when I press alt-enter)
- after "new" if you want to create an object of a matching class or a new anonymous class

*Word completion (ctrl-alt-shift-b): *
Inside strings/non java code. (I guess - somehow I never need this.)

It's not that hard to distinguish and once you get the hang of it you are much faster than in Eclipse. It dramatically limits the number of items you have to scan in the last and many times you won't even see a popup at all if you use smart complete.
The "favorite" items in the popup list of eclipse in fact make matters only worse, because more often than not they do not include my wanted completion, so now I have tio scan two lists, first the favorites and then the rest of the list. Urks.

0

To me it sounds just like you think this is better
http://upload.wikimedia.org/wikipedia/en/8/8c/Chisel.jpeg
because you would have to learn something new (oh my) to use this
http://www.tool-net.co.uk/data/tools/of1010ebq.jpg

0
Avatar
Permanently deleted user

Stephen Friedrich wrote:

To me it sounds just like you think this is better
http://upload.wikimedia.org/wikipedia/en/8/8c/Chisel.jpeg
because you would have to learn something new (oh my) to use this
http://www.tool-net.co.uk/data/tools/of1010ebq.jpg


LOL, good one ;)

0
Avatar
Permanently deleted user

Although it would be especially beneficial for new users, this feature has been requested for ages by people from all levels of IDEA sophistication.....IDEA with the chisel and the power tools.

0

"in my opinion, having 3

shortcuts for the same thing is a bit too much"

that's where you're wrong. it's 3 different things.

need to learn something.


it's just 3 hotkeys. t-h-r-e-e. if that's the price for better usability, i'll pay it.

0

Well, actually there currently are 6 short cuts. And yes, I use them all. I can understand that can be a bit overwhelming for some users though.

Bas

0
Avatar
Permanently deleted user

Plus I'm not sure it's worth the mental effort if JetBrains invents a good unified approach that matched what I'd want on first attempt 95% of the time and allowed me to easily cycle through the remaining options the other 5% of the time.

0

what are the others?

0

In fact there is one since 6.0.2, and it's called
"Share Directory". You
can find it in the Subversion context menu.


Great! Thanks!

-serg

0

1. Basic completion (Ctrl+Space)
2. Smart type completion (CtrlShiftSpace)
3. Class completion (CtrlAltSpace)
4. Word completion (CtrlShiftAlt+Space)
5. Cyclic expand word (Also known as Hippy completion, Alt+/)
6. Cyclic expand word (Backward) (Alt+?)

The last two are new since 6.0

Bas

0
Avatar
Permanently deleted user

last one is AltShift/

and is afaik new in 6656, in which usability is improved for those last two completions by highlighting the other references.

0
Avatar
Permanently deleted user

5. Cyclic expand word (Also known as Hippy completion, Alt+/)
6. Cyclic expand word (Backward) (Alt+?)
new since 6.0


Anyone know where/whether IDEA's help system covers Cyclic expand words? I didn't see it.

0
Avatar
Permanently deleted user

Could you tell us which specific dialog you hate to have modal?


I don't know about hating them modal, but there are plenty of lightweight modals that would be improved going non-modal....dialogs besides the big modals like the Settings dialog or the modals associated with long-running processes.

As an example, the modal CtrlF12 (File Structure Popup) won't allow me to do anything outside of the dialog. I just now pulled it up and wanted to check something else in the Project while keeping the FileStructurePopup with my narrowed list. It would be great if the window would go semi-transparent when you click somewhere else in the Project to check on something then allow you to return focus to the FileStructurePopup and continue. This non-modal approach would be nice on any lightwight modal. Kirill, if you want either a specific feature request issue on CtrlF12, a general issue about this, or both, just let me know.

0
Avatar
Permanently deleted user

While I can certainly see the use and reason for three different types of completion, I can also see the point of view that it's somewhat ridiculous to have three different shortcuts to activate three variations of what is basically the same thing.

Perhaps there are ways the different types of completion could be combined into one shortcut:

1. SmartType completion becomes part of Basic completion by grouping entries at the top of the Basic list which match the expected type, with the rest of the Basic list below a separator.

2. Class completion becomes part of Basic completion when Basic completion doesn't produce a match. However, that doesn't cover the case where the Basic completion matches one or more imported class names but not the one you wanted because it hasn't been imported yet. In that case, you could add the Class completion list below the Basic completion list with a separator.

One of the things you'll lose from this is SmartType's immediate completion of the only matching item since the list will contain items from the Basic list. However, it's not much of a hardship to look at the list that pops up and press Enter to choose the entry at the top of the list which was suggested by SmartType.

Thoughts?

0
Avatar
Permanently deleted user

There are certainly ways to do it well. This was discussed more than once & ages ago. A few proposals were floated including one I suggested. The real obstacle seems to be that JetBrains doesn't have the appetite to implement this.

0
Avatar
Permanently deleted user

I have been using IDEA for 3 years now, and I still get
confused about which type of completion to use. This is
the one of the area of the project which I think I learned
purely through trial and error -- like training a neural
network.

If you ask me what each completion command does, I couldn't
tell you, but when I'm coding by brain somehow knows which
one to press.

I would also lump in Live Templates along with completion.
There's go to be a more intuitive and/or powerful user
interface for completion and live templates. This is one
area I would like IDEA to invest something new, along with
keeping up the work on refactoring and inspections.

0
Avatar
Permanently deleted user

On 2007-01-23 17:03:41 -0600, Jon Steelman <no_reply@jetbrains.com> said:

>> 5. Cyclic expand word (Also known as Hippy completion, Alt+/)
>> 6. Cyclic expand word (Backward) (Alt+?)
>> new since 6.0


Anyone know where/whether IDEA's help system covers Cyclic expand
words? I didn't see it.


see, here is what is the point about usability - I wouldn't want to
force anyone to abandon their shortcuts, but couldn't there be one
action that would let the user select the possible completions... at
least in the beginning? problem is IDEA has so many great features
buried behind obscure keystrokes that unless you use it ever day, read
the help for each release and follow the newsgroups you would hardly
ever stumble across them. wouldn't it be nicer to have one additional
completion option that would pop up a selection menu (or toggle through
options or whatever) and actually show you what's there?

here is another thought: why do completion UIs only have to drop down?
you could show alternative completions for two (or more?) completion
methods by having one drop down below the current line, the other pop
up above the current line. it''s then a matter of moving the cursor
up instead of down to select the other one...

O

0
Avatar
Permanently deleted user

On 2007-01-23 21:49:57 -0600, Alex <no_reply@jetbrains.com> said:

I would also lump in Live Templates along with completion. There's go
to be a more intuitive and/or powerful user interface for completion
and live templates. This is one
area I would like IDEA to invest something new, along with keeping up the work
on refactoring and inspections.


also, why is e.g. "surround with if-try/catch-etc" different from
"surround with { }"...?

0
Avatar
Permanently deleted user

one more that is always getting me: why can't I have favourites and/or
MRU lists in the directory browser? there are a couple of directories
that are vital on my systems (eg: /usr/java, ~/.maven/ or
~/.m2/repository etc). a set of system and/or project specific paths
shouldn't be too difficult, right?

O

0
Avatar
Permanently deleted user

Jon Steelman wrote:

There are certainly ways to do it well. This was discussed more than once & ages ago. A few proposals were floated including one I suggested. The real obstacle seems to be that JetBrains doesn't have the appetite to implement this.


Have you tried to ask them to open API to request code completion items?

0

You are right, the last one is new in Selena. Also the featere "Cyclic Complete Word" used to be called "Expand Word" in 6.0. There is no mention of it in the help files yet, as far as I can see.

Bas

0

Please sign in to leave a comment.