Bug 550897 - Allow to create a folder as top-level element in Eclipse
Summary: Allow to create a folder as top-level element in Eclipse
Status: REOPENED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.13   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2019-09-09 08:09 EDT by Lars Vogel CLA
Modified: 2021-09-27 17:27 EDT (History)
5 users (show)

See Also:


Attachments
Proposal with "Project Folder" (47.99 KB, image/png)
2021-09-27 10:53 EDT, Mickael Istria CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lars Vogel CLA 2019-09-09 08:09:03 EDT
Currently it is difficult to model non-project focused scenarios in Eclipse. For example a Dart implementation may contain a server and a UI part under the same root folder.

I assume we have the same situation for JavaScript implementations.

Currently the user must create a project instead of a folder as top-level element. Would be nice if we allow also folders as top-level elements or at least hide the project creation better. 

I think we have some low-hanging fruits here: 

- Rename the "General -> Project" Wizard to Top-Level Folder so something like this
- Allow the creation of a project of type general from the existing Folder wizard
Comment 1 Lars Vogel CLA 2019-09-09 08:09:25 EDT
Mickael, WDYT?
Comment 2 Mickael Istria CLA 2019-09-09 08:33:06 EDT
(In reply to Lars Vogel from comment #0)
> Currently the user must create a project instead of a folder as top-level
> element.

I don't think this is a particularly difficult thing for a user.

> Would be nice if we allow also folders as top-level elements

External folders as top level element is already discussed in some other issues IIRC.
It would be a relatively difficult thing to implement properly, especially in term of UX as the Project Explorer would then become inconsistent from a folder to another depending on whether it's IFolder or external folder.

> at least hide the project creation better. 

I don't think hiding would help as the term "Project" is widely used everywhere else. So it must remain for users to understand the term and concept early enough when it makes sense.
But we can indeed try to facilitate the understanding of "Project"

> - Rename the "General -> Project" Wizard to Top-Level Folder so something
> like this

Improving the name and/or the description of this wizard could be nice. I indeed see nowhere explained what a "project" is (ie a folder with some metadata which is usually shown as a top-level element), the fact that it can be a pre-existing location or a new one...

> - Allow the creation of a project of type general from the existing Folder
> wizard

I don't see any folder wizard.
Comment 3 Lars Vogel CLA 2019-09-09 08:35:54 EDT
(In reply to Mickael Istria from comment #2)
> > - Allow the creation of a project of type general from the existing Folder
> > wizard
> 
> I don't see any folder wizard.

File -> New -> Other -> General -> Folder
Comment 4 Alexander Fedorov CLA 2019-09-09 09:04:36 EDT
(In reply to Mickael Istria from comment #2)
> (In reply to Lars Vogel from comment #0)

> > - Rename the "General -> Project" Wizard to Top-Level Folder so something
> > like this
> 
> Improving the name and/or the description of this wizard could be nice. I
> indeed see nowhere explained what a "project" is (ie a folder with some
> metadata which is usually shown as a top-level element), the fact that it
> can be a pre-existing location or a new one...
> 

May be something like "Open folder as Project" may fulfill the gap we have with other "free style" IDEs like VSCode. I understand that VSCode "platform resource" API is about several percents of funtionality have in Eclipse, but people are looking for simplicity first.
Comment 5 Eclipse Genie CLA 2021-09-24 15:25:42 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 6 Mickael Istria CLA 2021-09-24 15:43:51 EDT
Still relevant.
What about renaming the new "Project" wizard to new "Project folder" wozard, so newcomers would immediatly understand a project is a folder?
Comment 7 Eclipse Genie CLA 2021-09-27 10:34:01 EDT
New Gerrit change created: https://git.eclipse.org/r/c/platform/eclipse.platform.ui/+/185858
Comment 8 Andrey Loskutov CLA 2021-09-27 10:39:45 EDT
(In reply to Eclipse Genie from comment #7)
> New Gerrit change created:
> https://git.eclipse.org/r/c/platform/eclipse.platform.ui/+/185858

Could you please attach a screenshot - where is this used and how it looks like now? "Project Folder" sounds confusing to me, but may be I miss context.
Comment 9 Mickael Istria CLA 2021-09-27 10:53:11 EDT
Created attachment 287215 [details]
Proposal with "Project Folder"

> Could you please attach a screenshot - where is this used and how it looks like
now? "Project Folder" sounds confusing to me, but may be I miss context.

Here it is.
Comment 10 Andrey Loskutov CLA 2021-09-27 11:12:19 EDT
(In reply to Mickael Istria from comment #9)
> Created attachment 287215 [details]
> Proposal with "Project Folder"
> Here it is.

It sounds like "You can create a file, folder or a project folder".

So "project" in "project folder" sounds like adjective to the folder, like a "another kind of folder". But that is a "project", not a "folder", project is very basic to Eclipse code management in the workspace.

I'm not a user of VS Code or Netbeans, is there anything similar known?

Also please note - that would imply the change in many other places, if we start replacing "Project" with "Project Folder" - or it will be inconsistent, because nowhere else user would not be able to find that "Project Folder" thing.

=> it is still confusing, I don't like this proposal :-(

Can we address the original request in a different way, or could we may be explain better what we are trying to solve with this renaming?

If it is about "How do I start with empty workspace" - I think the new empty workspace content inside Package Explorer is a nice addition that simplifies the start for newcomers?
Comment 11 Mickael Istria CLA 2021-09-27 11:17:31 EDT
(In reply to Andrey Loskutov from comment #10)
> I'm not a user of VS Code or Netbeans, is there anything similar known?

Most "competitors" don't introduce an IDE-specific vocabulary, they call a Folder a folder (be it a top-level folder or not), just like the whole world apart of Eclipse IDE does ;)
VSCode for instance has "Add Folder to workspace" or "Open Folder".
Comment 12 Andrey Loskutov CLA 2021-09-27 11:25:29 EDT
(In reply to Mickael Istria from comment #11)
> (In reply to Andrey Loskutov from comment #10)
> > I'm not a user of VS Code or Netbeans, is there anything similar known?
> 
> Most "competitors" don't introduce an IDE-specific vocabulary, they call a
> Folder a folder (be it a top-level folder or not), just like the whole world
> apart of Eclipse IDE does ;)
> VSCode for instance has "Add Folder to workspace" or "Open Folder".

I've searched online docs and it says there *is* a concept of projects:
https://code.visualstudio.com/docs/java/java-project
Comment 13 Mickael Istria CLA 2021-09-27 11:39:01 EDT
(In reply to Andrey Loskutov from comment #12)
> I've searched online docs and it says there *is* a concept of projects:
> https://code.visualstudio.com/docs/java/java-project

This is a Java-specific view, which is not installed by default, and is not part of the main navigation panel.
Comment 14 Andrey Loskutov CLA 2021-09-27 11:58:04 EDT
(In reply to Mickael Istria from comment #13)
> (In reply to Andrey Loskutov from comment #12)
> > I've searched online docs and it says there *is* a concept of projects:
> > https://code.visualstudio.com/docs/java/java-project
> 
> This is a Java-specific view, which is not installed by default, and is not
> part of the main navigation panel.

Well, Java part in Eclipse is installed by default (in many packages), so why should we rename Projects to Project Folders then?

What about https://www.jetbrains.com/idea/? How do they manage Projects (at least the first screenshot shows that name).

You can rename a Cat to a Dog, but it wouldn't help much at the end, only confuse everyone.

I think just renaming something that everyone knows to be a Project to something else wouldn't help newcomers, because in all places in Eclipse they will find Project anyway.

What you need here is to find a concept that addresses the problem, and I believe it is not a simple rename. And to do that, you should first identify where the actual problem is. I believe the main problem here is that you are trying to forcibly fit pure file oriented workflow into project oriented one. 

If that is true, one can try to find a solution that makes both project oriented workflow and file oriented workflow happy, or separate them from very beginning so concepts do not interfere. But that must be carefully designed to not make existing users angry because "Cats" are now "Dogs" for no obvious reason.
Comment 15 Mickael Istria CLA 2021-09-27 12:31:49 EDT
(In reply to Andrey Loskutov from comment #14)
> What about https://www.jetbrains.com/idea/? How do they manage Projects (at
> least the first screenshot shows that name).

They call the workspace a "Project", and a project can have different "modules" (which are the projects in the Eclipse world), but I've also read some people complaining about that vocabulary "why not calling a folder a folder?". So they have more or less the same problem.

> You can rename a Cat to a Dog, but it wouldn't help much at the end, only
> confuse everyone.

I strongly disagree here. Wording and vocabulary are the essence of communication and the very basics of user interface. Remember how the best rated feature a few years ago was renaming some buttons so people were less confused and felt more empowered? We're in the same category here.
I'm not proposing to rename a Cat to a Dog, as a Project created with this wizard is a Folder, I'm suggesting we use more explicit terms to help end-users in finding the right solution or taking the best decision.

> I think just renaming something that everyone knows to be a Project to
> something 

"Everyone"? Are you aware that less than 10% of developers in the world have ever started Eclipse IDE, and that all people who start an IDE for the 1st time won't know anything about the IDE-specific vocabulary and will start reasoning in term of what they manipulate without the IDE (eg filesystem or Git repository concepts)?
While we need to think about our current users, an important criterion of success is to think also about the users we miss and what are the many small things that make them turn their back to Eclipse IDE in favor of whichever competitor. And that starts with real software beginners and students, who are also now less patient with software and learning than what we could expect from the average developer 15 years ago.

> wouldn't help newcomers, because in all places in Eclipse
> they will find Project anyway.

What matters is that people who want to get started understand that what they want is a Project, so "Project Folder" is supposed to hint them about that. Once they're familiar with the term "Project" for having it read and understood when getting started, it's OK to keep Project everywhere else, especially since not all projects are actually folders on filesystem.

> What you need here is to find a concept that addresses the problem, and I
> believe it is not a simple rename. And to do that, you should first identify
> where the actual problem is.

The problem has been defined in comment #0 and repeated in some other comments: people who want to start working with the IDE and don't think (yet) about "Project" because they feel like they're just starting to hack things and writing a couple of lines for that are looking for a way to have a folder in their Project Explorer, and a Project seems to be much more than what they're looking for (although it is what they're looking for).

> I believe the main problem here is that you are
> trying to forcibly fit pure file oriented workflow into project oriented
> one. 

In the wizard, the Projects *are* folders; the wizard doesn't allow to create abstract or virtual or remote projects. So, in the wizard, Project Folder is accurate and precise; "Project" is hiding a useful part of the information for some users to take the deciison.

> But that must be carefully
> designed to not make existing users angry because "Cats" are now "Dogs" for
> no obvious reason.

Can you please elaborate on a concrete and plausible user story of a user who gets angry because the wizard labels changed? And would we loose such user as much as we miss new users because of apparent complexity when getting started?

IMO, you're extrapolating in several ways:
* Cats are not renamed to dogs; I'm more suggesting we rename a "Cat" wizard into a "Domestic cat", qualifying the term a bit more
* I don't think we need to propagate the "Project Folder" term everywhere, it's really just in the main entry points (wizard, empty Project/Package Explorer...), to help newcomers familiarize themselves with this term with less confusion
* I don't get how renaming "Project" to "Project Folder" in the wizard would really be really annoying to anyone in practice.
Comment 16 Wim Jongman CLA 2021-09-27 15:08:49 EDT
(In reply to Mickael Istria from comment #15)
> (In reply to Andrey Loskutov from comment #14)

TL;DR; so I might repeat some arguments

+1 for the new name. I use General/Project very often. The term "Project" implies some magical settings meaning where in this case and unlike a java project, does not contain any.

I find 'Project Folder' a better name because it tells you this is just a folder where you can organize any project. No magic.
Comment 17 Andrey Loskutov CLA 2021-09-27 15:50:04 EDT
Please consider one thing: if you insist on "Project Folder" name change as *the* solution for this bug, it must be made consistent through the Eclipse UI. 
One basic thing about UI usability is that it should be consistent. Users whi created "Project Folder" exlect to fimd "Project Folder" later in the rest of the UI.

If "Project" is bad and is "Project Folder" explains everything better, consequently the user should build "Project Folder", have "Project Folder" properties, see "Project Folder" in all other wizards, preference pages, menus, errors and warnings, Help etc. 

So logical consequence is a total make over of Eclipse, used by some millions of people who learned the "Project" concept in last 20 years, for a very controversial name change, because some script based development cannot find a good use for the "Project" concept. Is that really the right approach to solve this bug and worth the effort? What about "classic" Java/C++ development, where "Project Folder" is an unknown thing and doesn't mean anything?

What it the goal here? Make Eclipse easier to use for script developers? And the only thing that hinders them to use Eclipse is the "Project" world? Do you really thing *that* will make it? They will migrate to Eclipse from other IDE's because we will rename or hide the bad "P" word? 

Could you please consider an alternative solution, that would not be so inconsistent and controversial as renaming the basic concept element of Eclipse?

If there is a strong need to create a file without a project, change "New File" wizard to allow file creation in "automatic" project with some default name in the workspace that can be created by wizard. Hide "new Project" wizard in that script based IDE. Hide all the "workspace" etc preferences, "Project" menu and properties. If users don't need it, they shouldn't care where project is located or how to configure it, and they could rename "the Project Folder" afterwards if they don't like default name. Create that project automatically, and that is it here. No need to change any concept. Good, that would require more than just a name change - but if we want attract "script developers" and believe that this is the way - it should be worth the effort?
Comment 18 Jörg Kubitz CLA 2021-09-27 16:07:30 EDT
I liked plain "Project". It is unusual from plain java but it is a common type for big development tools. Even in Microsoft Windows: Movie Maker for example starts with creating a project too. If you use Eclipse the term "Project" is omnipresent. you better quickly know what it is.

The question would rather be if it should be allowed to create *plain* folders on the root level (which are not projects). And that would be a major refactoring not just a renaming.
Comment 19 Wim Jongman CLA 2021-09-27 16:19:29 EDT
(In reply to Andrey Loskutov from comment #17)

I see this as a trivial change. It is just the "General/Project" that gets a more clear name "General/Project Folder" in the "New Wizard". It will still be a Project.

It is not worth the aggravation IMHO, so your -1 is fine with me.
Comment 20 Mickael Istria CLA 2021-09-27 17:27:57 EDT
(In reply to Andrey Loskutov from comment #17)
> One basic thing about UI usability is that it should be consistent.

I don't think refining the label of the wizard breaks consistency. And as mentioned, a project may *not* be a folder on the filesystem in general. So Project has to remain as the central term.

> If "Project" is bad

Let's remind the context: "Project" is bad... for new users who want to start working and have no idea what "Project" means and start thinking out of the blue in terms of folder on their filesystem.
So the scope is not the general term, it's this term in that context of getting started and attempting to start working with Eclipse IDE for the 1st time.

> What it the goal here? Make Eclipse easier to use for script developers? And
> the only thing that hinders them to use Eclipse is the "Project" world? Do
> you really thing *that* will make it? They will migrate to Eclipse from
> other IDE's because we will rename or hide the bad "P" word? 

Yes, it's one detail among many others. And the best thing is that this one would be easy to fix.

> Could you please consider an alternative solution, that would not be so
> inconsistent and controversial as renaming the basic concept element of
> Eclipse?

Again and again, please read things as I write them. I only suggest refining the wizard label, nothing more.
Everything else is your extrapolation, I have never advocated for changing the term everywhere.

> If there is a strong need to create a file without a project [...]

I think this is more a topic to discuss in bug 538713.