Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In-app settings buttons and user settings section [$15] #4

Closed
oparoz opened this issue Jan 4, 2015 · 31 comments
Closed

In-app settings buttons and user settings section [$15] #4

oparoz opened this issue Jan 4, 2015 · 31 comments

Comments

@oparoz
Copy link
Contributor

oparoz commented Jan 4, 2015

Arbitrary choices have been made for some parameters such as the preview scaling or zoom factor

A user should be able to set his own preferences

The IConfig interface should allow any developer to collect the user's preferences to configure the view

Ideas

  • Enable/disable advanced graphical interface (also available via shortcut)
  • Exclude (.nomedia) or include (gallery.cnf) folders
  • Set maximum zoom factor
  • Enable/disable upscaling
  • Show/Hide broken pictures

There is a $15 open bounty on this issue. Add to the bounty at Bountysource.

@libasys
Copy link

libasys commented May 18, 2015

Updated my gallery git repo with usersettingsdialog, so you can watch and save time on programming! I think it's not heavy to add this for your gallery!
https://github.com/libasys/ownCloud-8.1-Gallery-App

It looks like:
settingsgallery

@deMattin
Copy link

I like it - also as a possibility to activate pre or testing features.
As we have no left sidebar in gallery (and don't ever will get one in gallery, I hope) this seems to be a good solution for user settings on gallery.
These settings should be remembered and valid for all folders and not only for active session or folder.

@oparoz
Copy link
Contributor Author

oparoz commented May 18, 2015

@libasys - Thanks! Too bad it's not a PR ;)

@jancborchardt - Is it OK to have the settings button there since we don't have a side-bar in the Gallery? I would use the same grey slidedown already in use for the info button

@oparoz
Copy link
Contributor Author

oparoz commented May 18, 2015

@deMattin - The settings are stored in the DB.

@libasys
Copy link

libasys commented May 18, 2015

@oparoz lol ... are you kidding ;), but you have methods how to store userconfig values in json format and to db only one line for every user!

@oparoz
Copy link
Contributor Author

oparoz commented May 18, 2015

Yeah, the controllers are not really the time consuming parts :), but I will probably be able to steal the HTML and maybe some of the JS.

@jancborchardt
Copy link
Member

Please in the spirit of the ownCloud design goals let’s not just put a lot of checkboxes in the settings.

People would rather have something which simply works instead of needing to waste their time configuring someting. They expect the program to work well by default and only present them with necessary configuration options.

@oparoz (maybe @libasys as well if you want): Can we have a call on the design of the Gallery app? For example tomorrow? Let’s talk further in #owncloud-design on IRC.

@deMattin
Copy link

Is it really the goal of Owncloud to reduce features to make all simple?
I agree, that there should be no need to define thousands of settings and give good defaults - that is "ease of use"!

But do you really think, that setting all in the way, how owncloud core team thinks it's best, is the solution for "ease of use"?
PLEASE give the users itsself the possibility to decide on there own, how their OWN cloud look like or work!
Hiding opportunities forces the user (or admin) to hack or modify code if they have another workflow as you think and that is surely the opposite of "easy of use and easy setup".

So ease of use shouldn't and mustn't be the same as less possibilities or configuration options.

It's like you want to decide, that everybody has to drive a VW Golf with 100PS with the basic-equipment because it may be a car, that fits most (80%?) of drivers well ... But even if 80% would fit, why do so many other cars exist and are needed and bought?
(germans like to compare everything with cars ;-))

I know, I'm no developer. I'm just a user (with more than 30 years of private and professional use of IT) and a homeserver admin with only some users.
And I'm a user, that doesn't fit to the simple tablet user, that seems to be the target group for actual webdesign.
I like to have many information without massive scrolling, less waste of visible space and the possibility to set things, like I need or like it.
But I think, I'm not alone and so please don't forget the users, that are able to set more than 2 options, can use a mouse and don't want or need to touch on their screens.

Setting all in the one way, you think it is the best, also means, that you infantilize any user, who would like or need to have it another way.

Btw: Many software has a setting for "enhanced options". So you are able to hide or show more options to set.
Maybe this could be a solution for gallery and also for owncloud!

Finally I want to say, it's really hard to find a good solution or GUI, that fits most usecases. And all in all I like the oC core GUI and look (except of the big spacings in files app).

Discussing this, is really hard here in thread and for me also in english even harder (it's more weird, as I know, most users here are german speaking ...)

@libasys
Copy link

libasys commented May 19, 2015

I agree with @deMattin! In my case I like options to have all the features that I wan't! I am happy, that I am a developer, so I can code all the features that I want. But for other users which are no programmers, but have good ideas, it's really hard to get this features! For the future, i think oc will loose a lot of devs who are able to write good apps but get restricted from the core team. (Ease of use as the strongest point of design)

@oparoz
Copy link
Contributor Author

oparoz commented May 19, 2015

@deMattin - That's the discussion I started in core owncloud/core#15775 a month ago :)
It's not easy to find the right balance.
I think we should start with some information architecture and opt for a design similar to the share dialogue where more advanced settings are revealed as needed.
I don't mind having defaults which fit ownCloud's goals, but I do think we need to be able to enable more advanced features since, as @deMattin has pointed out, it is our cloud after all :)

@jancborchardt - Let's try to have a chat tomorrow afternoon on IRC and see if voice is required. I should be available between 2pm and 6pm. @libasys will you join the convo?

@jancborchardt
Copy link
Member

Ok, I have said this several times in the past but let me be clear again:

You do realize that as developers and very technical users who are on Github you represent a very very small amount of our general userbase, right?

We need to know who we design for – there are plenty of tools for technical people with lots of configuration options who solve what ownCloud does. rsync, FTP tools, a bunch of other software projects with maybe 1 or 2 contributors. But with ownCloud we aim to provide people with a real viable alternative to Google services, Dropbox, Apple products and such.

These have no doubt grown that popular because of their ease of use and extremely well-thought out design. All the popular open source software (Firefox, Ubuntu, Wordpress, Android etc.) got so widely-used not because they provide a ton of options but because they made it a core goal to be very easy to use and still extensible. Same we do with ownCloud, and our simple design is one of the big reasons we are where we are today with over 2 million users!

For anything which goes beyond that, people can develop custom apps. But the core apps like Files, Calendar, and a simple Gallery have to be as streamlined as possible. There can always be a more extensible Gallery app developed by someone who might need it.
But honestly, do some user testing and you will see that most people will be confused by it and not use the settings beyond the defaults anyway. So that’s time better spent on stabilizing an app and making it faster – which is the major complaint you will hear as a developer for a popular software project.

So let’s work together on making ownCloud not just a hacker project where everyone throws in their code. But rather one where there’s a big drive with lots of people working towards a common product. A product which will make the world better for lots of people – not just those who like to spend time at computers, but especially those who like to spend less time with them and just get work done.

cc @owncloud/designers

@oparoz
Copy link
Contributor Author

oparoz commented May 19, 2015

That's one reason I'd like this to get in #128
That way I wouldn't need to maintain a new Gallery+ once this becomes Gallery. I could simply add plugins for people who want more.

@LukasReschke
Copy link
Member

Let me jump in on this one as well. First of all: I'm pretty much what one can describe as hacker. I like computers and being able to configure stuff as much as possible. Isn't configuring the must fun part of when getting new things? :)

But then again I am what I am: A hacker. A part of a very small fringe group. – An awesome one and important one of course, besides that pretty much what @jancborchardt described.

Turns out, in reality most people are really really really pissed when setting up stuff and just want to have the "damn thing" running and do what they expect. A gallery app shows photos and allows to send them to other people etc. – And this is exactly how other had and have really big success, just think of the experience when setting up an iPhone or Mac Book: It just works fine out of the box.
Sure, the apps from Apple for example miss a lot of features and only do the "bare minimum" but what they do, that do they very good and about 95% of the users are perfectly happy with the feature set. And as part of the other 5% I can also quite well live with the functionality.

I know that it is really tempting to add features because writing stuff is fun and of course you need it. But thing is that really a lot of people tend to get confused very fast if it gets a little bit too technical but these are the people that we want to reach. Because they pretty much resemble a huge percent of our user base.

In the past I was also one of these people that added switches everywhere but over all the years that I know @jancborchardt he has showed me what it means to have an easy user-interface. :)


@oparoz That plugin system looks like a nice addition. Good idea.

@jancborchardt
Copy link
Member

@oparoz yes, let’s do tomorrow. 16:00–17:00 (CEST). #owncloud-design on freenode IRC, please join that channel (you too @libasys).

@deMattin
Copy link

@jancborchardt : I understand your point of view and your arguments - already did it on the spacing thread in core ... ;)
But I think, owncloud can satisfy both groups of users and admins:

  1. the easy and straight forward thinking people [like the apple strategie: 1 way, 1 solution, we know, what you (have to) want].
  2. the users who like to have the options to do it, like they want (more the android way: many solutions, more options, many ways to do things but also sometimes more complicated)
    Sorry for the iOS / Android comparison, but I think, this fits and gives you a clue, what I'm thinking of.

For sure there is the possibility, that developers like libasys or oparoz create or enhance their own apps but this github project won't ever reach the masses like an official app will ever do.
So why should oparoz go on to enhance gallery+ and libasys also does it with his much enhanced gallery branch/app?
This way and with 3+x different gallery apps you will lose the influence on design and we have it like with the desktops on linux -> confusing and noone knows, what to use.

And this independend apps thing is also problematic with future releases of oC. It's a hard work to stay in touch with actual core development and it's not good, if this is on a one man show!

Especially if you have a look at the enhancements, that libasys did (gallery, calendar), you can see, what's possible (1 man show) and also this gallery+ has been a 1 man show.
For me as a interested user, it would be great, if some of these things will find a way in the official part of owncloud.

Ok - during writing this, more comments came in.
Plugin system with a basic functionality (apple way) with plugins for the android way ... I hope, this could be a solution for core team maybe also for other apps?!
But the plugin integration system has to be simple useable/updateable and part of the (gallery) app.

I hope you'll find a solution or a way to fit it to all tomorrow ...

Edit:
@LukasReschke : You described the way, apple users think - but it's not only the price, why there are more androids/windows/linux than Mac/iPhones in the market ... ;))

@oparoz
Copy link
Contributor Author

oparoz commented May 20, 2015

@LukasReschke - I'll repeat what I said before, a smart design so that 99% of the population gets it: YES please, but a well designed interface can adapt to the level of knowledge of the current user.

A standard user may only care for a backup feature from his phone to oC and will only care about sharing a few pictures once that's done, but a business user needs to know what's on his cloud (diff between design_a.psd and design_b.psd per example) and to be able to perform repetitive tasks quickly and efficiently (cut/paste/copy/move anyone?).

When iOS launched, what a huge percentage of users did was to root it so that they could customise it (and for the stolen apps of course), but at some point a system has what you need and you can use it out of the box (or let the sysadmin configure it for you :D).
Apple takes its time to add features, even basic ones such as being able to resize a window from anywhere on OSX, etc.), because they want to cream their customers, they only add features people want (larger screens) when their sales goes down.

What I got from previous conversations is that due to resource constraints and the target market, the priority is the beginner and I get that, but we need a way to integrate more advanced features, because we or clients need them and the product to compare oC to is not one's favourite, simple to use, cloud OS, but a desktop OS filesystem. They offer more features and yet everybody is able to use them. We're at a stage where Javascript can do a lot of powerful things (even run entire OSes), so the browser is not really limiting us (well unless you insist on making oC run on IE8...).
Speaking of old versions of IE, that's probably 10% of users and yet you spend a lot of time making oC compatible. It bloats the code even more than adding wanted features ;)

@jancborchardt - I'll be there :)

@deMattin - Gallery+ should be part of 8.2 mostly as is. I'm happy to make minor UI changes since power users can re-enable hidden buttons, etc. My goal was simply to modernise the architecture and then I got caught up in fixing the performance issues. The next steps will be to make it flexible so that we don't have to use forks, because that's a waste of resources, but it will take a long time for features found in @libasys' version to be available in Gallery since the base is different.

@jancborchardt
Copy link
Member

Well – what more can I say. The priority is not »the beginner«, it is a simple design which is easy to understand and use. Everyone likes that, even coders / technical people like us. See how many coders use OS X because the Linux distros got so caught up in pleasing »power users« that they forgot that most people like stuff to just work.

Look at Dropbox for example. How are they one of the most popular file sync & share services even though there exist plenty more »powerful« projects (badly designed with lots of features) out there?

Seriously read some of the blog posts, tweets and feedback through the last years. Rarely ever have people complained about missing features (especially not settings), but often about lack of stability and polish.

@oparoz
Copy link
Contributor Author

oparoz commented May 20, 2015

I like the simplicity, but there are things I can't do I wish I could and I'm not talking about being able to zoom in on pictures taken on Mars :D

I'd say what's hurting Linux is the Free as in Freedom of speech. Too many forks, not enough hardware support.
The Ubuntu family got popular because someone imposes a vision and they execute. It's fairly reliable and there is lots of documentation and alternative repositories available.
I think coders turned to OSX because of the laptops. Hardware which supports an environment close enough to a production box. Windows laptops are now powerful enough to run VMs of proper staging environments and are still cheaper.

I don't buy the simplicity argument for Dropbox. It was one of the first out there and it did one simple thing well. What got it to take off? Marketing, followed by an API and partnerships. Once you reach a certain size, you can then reach ubiquity. Why is it still popular? Well, it's not easy for standard users to move TB of data to other clouds... So you pay the bill and use what you have.
Mega is really popular too, but it's not because of it's interface ;) (even though it works well).

I think oC should do quarterly surveys in order to get proper feedback. Github, Twitter, blog posts are not representative enough. People won't necessarily ask for features on social networks, etc.

@deMattin
Copy link

People are complaining about stability and reliability because this has been the main issue up to oC 7 (with version 6 me too lost data because of failed syncs).
Reliability is the base of all and if it doesn't work, you don't need to think or complain about other things like enhanced features.
But now the base or core is working really well and oC is useable and that's the point, where it's possible to think further!

There are many users complaining the Android flat style, the Windows modern UI, the Microsoft ribbons and so on.
All this is or may be good for beginners (and this is, what this useability testers only research) but after a while, you need or want more functionality and you miss many features, that sometimes are hidden or not even there at all.
And OS X or iOS are big players because of the great marketing guru Jobs - not only, but it's a big point.

What's the target of ownCloud?
a) A server sync tool with a basic and rarely used emergency GUI for files (picturesview, calender, contacts)?
b) Or shouldn't it be more a real webapp like Outlook Webapp or Google products with nearly the same functionality as a desktop application gives it to you?

If a) is the goal, there's no more discussion needed and I have to look for other solutions or hope some developer like libasys (or rainloop mail app) create enhanced apps, that work well and give real functionality.

But if b) there is a need of more functionality and now there is the point you decide, where ownCloud will go in future.
And I don't think, the future should be "only basic features".

I love ownCloud, because I want to have my data at home on a server and get acces from everywhere even without syncing and am able to work with my data - simply by logging in a web app.

There is so many lack of features, that are really needed and actually only can be realized by workarounds. Just to mention some:
-calendar:
no copy of events (have to use my android or desktop for that and sync)
no alarms editable (have to use my android or desktop for that and sync)
-mail:
rainloop (with integration in oC) is great and it will last years, until oC mailapp will reach this
-files:
no real copy or move functionality
gui optimized for mini touch devices and hard to work with many files because of spacing and not customizeable like in google mail apps par example (sorry, have to mention it)
-gallery:
view meta data
different sorting and searching (meta) options
edit (crop, rotate) pictures
...

Why do you think, nobody or not most of users (urgently) need this?
If there's one feature request, there will be no more request (or been closed as dub).
And we have some of those requests since months or years listed.

Actually, oC is a good working sync app but it can and should be more.

The future are desktop replacing web apps and ownCloud has the potential to be a big player for a solution for users, who want to have control over their data and won't give it to Google, Dropbox, specialized Picture WebApps or others.

If you block this now and stay at the "all simple" goal, ownCloud will have no real future.

And to say it again:
I don't see a problem giving the user more features or options.
As long as defaults are working well, there is no need for users to go in this options.
But if you need it and there are developers, that like to implement it, it should be possible and provided by owncloud core team!
Edit:
And if you block feature development, we will get the exactly the state, linux has:
Many branches and different solutions instead of a great package, everyone likes!

@jancborchardt
Copy link
Member

I will reply some other day because this is too much discussion and too little actual work.

To answer a few key points:

  • @oparoz »The Ubuntu family got popular because someone imposes a vision and they execute.« Correct. And it’s a good, well-designed vision. We aim to do the same.
  • @oparoz »I think oC should do quarterly surveys in order to get proper feedback.« You’re kidding, right? Surveys are useless for getting feedback, we have to do more user testing if anything. And I did plenty of user testing (maybe you forgot but I’m a designer / user researcher and have some experience in that field) – in barely any of the tests people screamed for more configuration settings.
  • @deMattin On lots of the Calendar features (and Gallery) I totally agree. There has been a lack of work there. So please contribute! But the solution is not to just add and add buttons for everything, but solve it right, and do some stuff automatically!
  • @deMattin »customizeable like in google mail apps« – since you don’t seem to be a developer, let me tell you that each different view takes a mountain of maintenance effort and instability. No one in their right mind wants that.
  • In general yes – let’s discuss on specific features. But not on just introducing a ton of Settings!

@oparoz
Copy link
Contributor Author

oparoz commented May 20, 2015

@jancborchardt - Are the reports of these tests published somewhere? Just like with surveys, I think the sample is key. Nonetheless, I was glad to hear that you had conducted a few :)

@jancborchardt
Copy link
Member

They are mostly directly filed by me as issues. One of the most important results which hasn’t been fixed yet is the ability to add / upload pictures through the Gallery app itself: owncloud-archive/apps#82 – so that would be a good one to start, to improve. :)

@deMattin
Copy link

@jancborchardt : K.O. argument: I'm no developer ... :/
Yes, but I know enough, to hack ownCloud to fit my needs and also have written freeware software long time ago.
But "hacking" or complicated theming won't be neccessary, if the developer regards different workflows or demands during development and then it is easy and less problematic!
And further more this may possibly even lead to better and more logical code.

The spacing in file app may be a good example (thus nothing to do with gallery)
I think if you always had it mind, that this has to be or should be customizeable, it would have been not hard to create all these things dynamic depending on only one (spacing) parameter.
Now, with this "feature" not regarded, it's a real "hacking" on different places to customize this because of so many different hardcoded values.

I thought many times about working this out and giving a pull request for this but I give it no chance to get in core exactly because of this "we know, what's the best" and "no features, we think that noone needs or wants" point of view of core team, that I have seen in some threads.

@jancborchardt
Copy link
Member

K.O. argument: I'm no developer ... :/

@deMattin I don’t use it as a K.O. argument, I just want to make clear why we can’t just »make it configurable« and add several different views. It would require people & time to maintain that which we don’t have.

Even if you work on this and open a pull request for it we still need to maintain it. And honestly we have enough problems and issue reports with the one view we have. If we should introduce another view eventually, then a thumbnail view, not a separate way to do the list view.

@deMattin
Copy link

I havn't thought about a different view, but about to modify code to let spacing depend on only one value and so give the user the option to modify spacing simply by setting this one parameter/value.
The final solution can be more easily to maintain I think, because this way it works relative and more like a template or based on a template.
You are right, this will now mean some work for you (although if I would do the base work) and so it is no issue now.
But I wrote this more as an example for it, if one "thinks" hardcoded with having one solution and no options in mind.
Now it would be much work to realize another spacing - having it in mind in the past won't neccessarily mean more work or more problems writing the code but more flexibility to give options or change something if you want.
But it will go too much off topic now.

It has been good to discuss this - also to show, that there are some other points of view out there.

I hope (and am shure) I won't be forced to give Google, Microsoft and Dropbox my data again (have used all of them and now almost completely replaced with ownCloud) and oC will go the right way in the future ... ;)

@jospoortvliet
Copy link

Thanks for having a respectful conversation, guys and girls (?).

It isn't easy to look at the big picture when you are building something - but it is important and Jan usually does a good job pointing people at it ;-)

I strongly suggest to come to the conference to not only hack together with others, but also drink beer, share thoughts, ideas, vision and inspiration with each other. Especially these more complex discussions are best done with beer in one hand and a slice of pizza in the other, face to face ;-)

@oparoz
Copy link
Contributor Author

oparoz commented May 29, 2015

No beer is large enough to quench my thirst for advanced settings ;)

@oparoz oparoz added the design label Jul 8, 2015
@oparoz oparoz changed the title Add a user settings button and section Add a user settings button and section [$5] Jul 13, 2015
@oparoz oparoz added the bounty label Jul 13, 2015
@jancborchardt
Copy link
Member

@oparoz soo, some time has passed on this issue. I presume we had enough talk about settings and good defaults that basically it’s clear we can do most of these things automatically and don’t really need settings for a Gallery app? ;)

@oparoz
Copy link
Contributor Author

oparoz commented Jul 28, 2015

Well, my position hasn't changed :p
Default settings impose a workflow and a specific workflow works for a specific category of users. I think it's still wise to provide the means for other types of users to define their own workflow.

I can implement the whole thing in my fork, but I think that it's inevitable to have some settings at some point. They exist in every app out there for a reason.

The first one could be about disabling the background switcher.

I'm in favour of contextual settings because that's what gives the greatest benefits to the user and because it's less overwhelming.
Slideshow settings in the slideshow
User settings, such as external share support on the user settings page
etc.

So, user settings should be easy since there is little design involved, but we would need a dropdown in the slideshow and another one in the photowall and that's where we need someone to design them.

@oparoz oparoz changed the title Add a user settings button and section [$5] In-app settings buttons and user setting section [$5] Jul 28, 2015
@oparoz oparoz changed the title In-app settings buttons and user setting section [$5] In-app settings buttons and user settings section [$5] Jul 28, 2015
@deMattin
Copy link

@oparoz: 👍

@oparoz oparoz mentioned this issue Jul 29, 2015
12 tasks
@oparoz oparoz changed the title In-app settings buttons and user settings section [$5] In-app settings buttons and user settings section [$15] Oct 22, 2015
@oparoz oparoz added the 20 label Feb 24, 2016
@oparoz
Copy link
Contributor Author

oparoz commented Sep 4, 2016

This issue was moved to nextcloud/gallery#12

@oparoz oparoz closed this as completed Sep 4, 2016
@oparoz oparoz removed the bounty label Apr 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants