Please, don't destroy Nextcloud by 'improving' it!

Nextcloud’s beginning was so bright. A nimble file sync and share application underpinned by honest free and open source software principles.

I was so disappointed to see Nextcloud degrading with every new version. With every new version it became slower and slower, new unnecessary features that nobody asked for were added into the core instead of being offered as separate optional apps, highly questionable user experience decisions were made. Nextcloud is on the verge of becoming one of the best examples of ‘how to destroy an application by “improving” it’. Let me be specific:

  1. ‘Rich workspaces’. Who asked for this feature ? Why is this feature imposed upon the user, being activated by default, in every new installation. I can understand that in certain rare situations, some users may find it useful, but this doesn’t mean it should be enabled by default. The best approach would have been to include this feature in an app and let the users decide if they want to install it or not.

  2. ‘Recommendations’. Who asked for this feature ? Aren’t we all tired of things the Internet recommends to us ? Isn’t it obvious that a simple, clean and clear dashboard is the key to ease of use and better user experience ? I can understand that one user in a million may want to see recommendations, but this doesn’t justify to have them enabled by default.

  3. The ‘Dashboard’ app. Again, I can understand that some users may want to see a ‘Dashboard’ page with status, events, weather, etc., but why is this app installed and enabled by default ? Why don’t you let the user decide if they want to see such a page each and every time they log in ? Instead of clarifying things and helping, the ‘Dashboard’ app will most likely confuse
    and disorient new users. Isn’t file sharing the core of Nextcloud ? Then why does every new user see a page with weather and status the first moment they log in ?

  4. The ‘Text’ app. In the old Nextcloud versions, the ‘Text’ app was decent from the user experience point of view. Unfortunately, in the last Nextcloud versions a decision has been made to cover Nextcloud upper bar with the ‘Text’ app’s upper bar when the ‘Text’ app is open. This way, when the user opens a txt or md file, they can’t see the Nextcloud’s upper bar. This is a huge mistake. I understand that the developers who introduced this feature thought that they will gain screen space on mobile devices, but the upper bar of Nextcloud is too important to have it covered and it doesn’t take that much space. Please ask every UX expert and they will tell you the same thing: the user needs to always know where they are when they open various files or apps inside Nextcloud. Thus, the Nextcloud upper bar has to be visible at all times, including when the ‘Text’ app is open. If a user opens a md file, the only bar that they see is the black upper bar of the ‘Text’ app. They don’t know if they are still in Nextcloud, or they have entered something else, etc. ? This mistake of covering the upper Nextcloud bar with an app’s upper bar is repeated in the ‘PDF viewer’ app.

  5. The ‘PDF viewer’ app. Exactly the same problem as with the ‘Text’ app.

Please understand that the layout of all the items displayed in a Nextcloud window cannot be improved endlessly. There is an optimal layout for everything: that layout that is
logically constructed and that it is found to be the most intuitive and easiest to use by the majority of users. After you think you have found that optimal layout, for Nextcloud as a whole or for an application inside Nextcloud, keep it. Don’t try to improve it even further because you will just destroy the good things that have been achieved.

In the future, when you want to introduce some radical layout changes, please consider organizing polls to see how users find those changes.

Instead of adding more and more features to the core, which will inevitably make Nextcloud slower and slower, please try to focus on having the leanest core possible, maybe by getting some code out of the core. Add every new feature as an optional app. The page loading speed is of the utmost importance for a successful application. Also, the ease of use will make the difference between a popular application and an application that will slowly wither and die. The world that we live in is already very complicated. Nobody likes programs that look complicated.

Also, modularity is very important. The core should only implement the basic features closely related to file sharing. All the other features should be implemented as apps. This way, if one application breaks, the other will continue to work. Also, the users will have the freedom to choose and install only the applications that they need. This is what made WordPress so successful. If you try to add more and more functionalities to the core, such as an ERP, a CRM, etc., it will ruin everything.

Regarding future development, some suggested to consider switching from PHP to Node.js. This would be the worst mistake imaginable. Node.js has a structural deficiency because it is based
on JavaScript which has been ‘stretched’ to work for server side programming, when it barely works for client side programming. The Node.js hype will pass and like Ruby, Node.js will
see its decline, but only after a generation of programmers will have wasted their time with this mediocre technology.

I’m not writing this for the pleasure of criticizing. I’m writing it because I consider Nextcloud one of the most important free and open source software applications, I liked it and I believed in it and I still hope it will recover and find its way back to sound structural principles.

Please analyze my criticism objectively. Nextcloud has already begun to loose users because of its ever increasing core and slow performance: https://www.reddit.com/r/selfhosted/comments/ay2jj1/alternatives_to_nextcloud/

Later edit: Please, don’t suggest that the first 3 problems that I mentioned above can be avoided by disabling ‘Rich workspaces’, and ‘Recommendations’ from Settings or by disabling the ‘Recommendations’ app, and by disabling the ‘Dashboard’ app or by limiting the use of apps to user groups. I know they can be disabled. I’ve already done that in my installation. The whole point of my criticism is that all these features were enabled by default so that they appear in every new installation. The admin has to take additional steps to disable them. This wouldn’t be a big problem if it didn’t signal a very wrong understanding of user experience, a wrong path for future development. What I’m saying is that if Nextcloud developers continue on this wrong path, in time, Nextcloud can loose its user base and will trigger the apparition of cleaner looking alternatives. The ever decreasing speed of Nextcloud will also make users look for alternatives.

As about the ‘Text’ app and the ‘PDF viewer’ app, the fact that their upper bar covers Nextcloud’s upper bar when they are open, can’t be disabled. These two apps are too important to have them disabled and forget about them. In fact they are the best proof of ‘breaking things while trying to improve them’. The developers probably thought to simplify the look of these apps and gain screen space, but in fact they covered up the Nextcloud upper bar confusing the user.

I thought of posting these problems as an issue on github but these are general problems related to the direction that Nextcloud development took, to the long term strategy, so this is the place to post them.

8 Likes

You do have some flexibility here, so hope this helps.

‘Rich workspaces’. The best approach would have been to include this feature in an app and let the users decide if they want to install it or not.

Any user can hide Rich Workspaces and Recommendations in the Files app under Settings on bottom left hand side. As far as I know
image

You can also disable it as an admin via occ config:app:set text workspace_available --value=0

Good news, this is an app. Your can force Recommendations to only be accessible to a specific opt-in group under /settings/apps/installed/recommendations
image

You can disable Recommendations under /settings/apps

I do not see an option to hide it for users by default, so request submitted.

You can restrict access to the Dashboard app by group. Just make a group under /settings/users called “Dashboard” so users can opt-in. Then force Dashboard into the group under /settings/apps/installed/dashboard along with each individual integration as well! So, no more automatic weather status.
image

Or, disable Dashboard app entirely. You can also disable each part of the Dashboard since each integration is an individual app as well.


Text app can also be restricted by group or disabled.

PDF Viewer can also be restricted by group or disabled as an app.

Highly encourage you to submit feature requests for anything not working as you were expecting. :+1: Github is where all of these changes are considered and recorded. Cheers.

1 Like

Please, don’t suggest that the first 3 problems that I mentioned above can be avoided by disabling ‘Rich workspaces’, and ‘Recommendations’ from Settings or by disabling the ‘Recommendations’ app, and by disabling the ‘Dashboard’ app or by limiting the use of apps to user groups. I know they can be disabled. I’ve already done that in my installation. The whole point of my criticism is that all these features were enabled by default so that they appear in every new installation. The admin has to take additional steps to disable them. This wouldn’t be a big problem if it didn’t signal a very wrong understanding of user experience, a wrong path for future development. What I’m saying is that if Nextcloud developers continue on this wrong path, in time, Nextcloud can loose its user base and will trigger the apparition of cleaner looking alternatives. The ever decreasing speed of Nextcloud will also make users look for alternatives.

As about the ‘Text’ app and the ‘PDF viewer’ app, the fact that their upper bar covers Nextcloud’s upper bar when they are open, can’t be disabled. These two apps are too important to have them disabled and forget about them. In fact they are the best proof of ‘breaking things while trying to improve them’. The developers probably thought to simplify the look of these apps and gain screen space, but in fact they covered up the Nextcloud upper bar confusing the user.

I thought of posting these problems as an issue on github but these are general problems related to the direction that Nextcloud development took, to the long term strategy, so this is the place to post them.

2 Likes

Hi! Bit late to the game, stumbled upon this while looking for something else.
I really agree to the core points. While I can understand the devs/maintainers want to promote new “cool” features instead of letting them be somewhat hidden in the app store/list, it’s sometimes really annoying for the user experience. It’d like to add “Social”, which I never got to work reliable with my setup, and the comment area above file lists (hell, I really don’t want to create an empty file by clicking in an area that mostly just wastes space anyway…).
I don’t think performance really is an issue, features you don’t use don’t use don’t add up there significantly. It’s more a thing of UX, like having to leave the dashboard and skipping recommendations and comment area to finally get to the files I wanted. (Yeah, as already said, with using the defaults.)
I think the best way would be some kind of “wizard” after the update, where the admin can select which new features should be enabled. This makes all the more sense to promote bigger and platform dependent apps, like OnlyOffice. By default, they should be disabled, so that users have a consistent experience until the admin thinks the changes make sense for the use case of the installation.

2 Likes

I am agree with OP because Nexcloud added a lot of features I disabled at the second day of use.

It could be better if Core be more lightweight and have a wizard to setup at the first start up to install some apps. It is always annoying disable bloatware.

EDIT: I keep enabled my NC Usage survey to share with developers I have disabled this type of apps… I hope they could analize data to know that

I’d be careful about saying that nobody asked for such features. There are plenty of people asking for plenty of features all the time.

Conferences, hackathons etc. can be very useful for that which is difficult at the moment. But if you see things that got worse from one version to the other, the bugtracker is for that as well.

Can you name at least two persons who asked for the ‘Rich workspaces’ and ‘Recommendations’ features ?

The features that I mentioned don’t have bugs, and they cannot be considered bugs. Why should I mention them on the bugtracker? They are just features that indicate a wrong path in development. If the development of an application steers in the wrong direction, in time, it wil make the application loose its user base and will ultimately bring about its total decline. I don’t want such a future for Nextcloud. I’m sure that Nextcloud core developers will understand the point of this thread and will be more careful when implementing new features and making them default.

If in doubt when implementing new features that radically change the user experience, the developers could organize polls, maybe using the very ‘Poll’ app which is perfectly functional, to see if all the active Nextcloud developers agree with the new feature (after careful consideration and free from any pressure). If regular users could participate in those polls it will be even better. I know this can be time consuming. I didn’t say to organize a poll for every new feature: only for new features that radically change the user experience, such as the ‘Rich workspaces’ and ‘Recommendations’ features mentioned above.

They were not asking for it, but seem to use it and they would like to extend the feature of these apps. And there are people to integrate a wiki, mail client (even mail server: Nextcloud Mail Server), and many more app ideas: https://help.nextcloud.com/c/apps/app-ideas

Well if they make user experience worse (at least in your case), they perhaps didn’t see this use case. There was a discussion about the three dot menu recently (Generic UI discussion.. "three dots menu"), as useful as it might be on a mobile device (where I rarely use the webinterface) but it is painful on a desktop computer. And you could detect if the page is accessed through mobile or desktop.
So reverting it back to the previous version would make it an enhancement and you can request it.

Before releases, they invite for some beta testing and like to get some feedback. I usually just check out my basic use cases, if I see any problems. However, I though about setting up a very basic test system (like raspberry pi) and just benchmark the pure sync performance.

Polls are not used here on a regular basis. I thinks it’s a great idea to get a better feedback from the community to improve Nextcloud.

3 Likes

I do not want to dismiss @greg-trent point of view.
Yet I read the link he posted ( https://www.reddit.com/r/selfhosted/comments/ay2jj1/alternatives_to_nextcloud/ and I discovered that several complaints are for missing functionalities…!

There are several people that suggest either programs that target only the file synchronization (a la Syncthing) or even more bare-bone (e.g.: “just use WebDav”).
There are others that complain because Deck has less functionality than Wekan (which I find obvious) or that the Notes app could be more rich…

So even in the reddit discussion it is clear that we either have people that want ONLY filesync and others that want that nice functionality that is soooo useful to them.
It is clear that that functionality, available in a specialized software, has to be integrated with all the other functionalities available in Nextcloud core and apps… :grinning:

Between the two options (filesync and only filesync versus filesync and all the other functionalities) Nextcloud picked the second one.
In my opinion this means that a change in the interface is compulsory, so to say: given that more functionalities are available, the interface has to adapt.

Concerning Node.js, it seems to me that @greg-trent can be reassured. Nextcloud seems to be more interested in Rust (GitHub - nextcloud/notify_push: Update notifications for nextcloud clients ) which, as far as I’ve read, seems to be a quite solid language.

2 Likes

I agree with everything you said, except:

I do not think so:

Ruby on rails was released in 2004, Node.js in 2009. RoR had a 5 year hype, came never near PHP and is since then declining. Node.js is going straight up for 12 years and is now on par with PHP.

Furthermore Ruby never had such an outstanding performance compared to Node.js. There is also nothing “stretched”. They just improved and updated the language and added new features. There are thousands of features in PHP that were added later and changed completely. The language was never made for what it is used today.

Still, I think there is no good reason, why someone would want to migrate such a big project to a new programming language as long as there are no huge drawbacks.

Where can I sign this? NC is becomming huge (~150MB of php-code, that’s ridiculous), due to all those functions included in standard server installation. BTW, I have disabled 23 of them, but they are still using space and increase risk of bugs that could be exploited.

Overall, I have impression NC-development is too frantic. New features (i.e. dashboard, whiteboard, etc) are implemented before those already included can reach maturity level (i.e. talk) or are broken with update and takes months to fix it (i.e. e2ee). I do not think it is the right way to go…

1 Like

For my local hosted system (used by Friends and relatives) I am still on 19.x and updated it these days to the latest 19.0.10

That’s all we need in real; and for the terrific Improvements with some fixed and even more new bugs I have no time to explore.

I wholeheartedly agree with the OP. Especially the Dashboard “feature” totally threw me off with its utter uselessness when I was suddenly confronted with it. Please don’t make the mistake oh so many really good software projects made by adding baloney that served no purposes when the software started becoming mature. NextCloud rocks, please keep it simple …

1 Like