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

Show apps in header #3008

Merged
merged 12 commits into from
Mar 16, 2017
Merged

Show apps in header #3008

merged 12 commits into from
Mar 16, 2017

Conversation

juliusknorr
Copy link
Member

@juliusknorr juliusknorr commented Jan 10, 2017

This is a experimental implementation of what we've discussed with @jancborchardt @eppfel and @skjnldsv to make apps accessible directly without a popover. See juliusknorr/direct_menu#51

I'm still not totally happy with this, but I guess we should have some discussion so please have a look, @nextcloud/designers

Screenshots (updated)

Up to 8 apps:
2017-03-03-151204_458x97_scrot

More than 8 apps:
2017-03-03-131705_491x96_scrot

2017-03-03-131718_586x153_scrot

2017-03-03-131727_446x230_scrot

Mobile:
2017-03-03-151025_342x168_scrot

ToDo

  • Show 8 apps in total
  • Mobile/small screens
  • Cleanup CSS code to make use of scss
  • Fix css formating issues
  • Fix positioning in mobile view
  • Hide popover app names when popover menu is shown
  • Fix popover positioning after window resize
  • Fix app name position on small window sizes
  • Adding apps doesn't work any more

@juliusknorr juliusknorr added 2. developing Work in progress design Design, UI, UX, etc. labels Jan 10, 2017
@mention-bot
Copy link

@juliushaertl, thanks for your PR! By analyzing the history of the files in this pull request, we identified @skjnldsv, @Henni and @jancborchardt to be potential reviewers.

@raimund-schluessler
Copy link
Member

What happens when I open Notes in your example? Will there be an indicator that I am using Notes anywhere?

@skjnldsv
Copy link
Member

I like it a lot!

@eppfel eppfel self-requested a review January 10, 2017 12:27
@MorrisJobke
Copy link
Member

Up to 3 apps

But this is "Up to 4 apps" - > otherwise the first 3 apps are shown plus the menu opener ;)

@juliusknorr
Copy link
Member Author

juliusknorr commented Jan 10, 2017

But this is "Up to 4 apps" - > otherwise the first 3 apps are shown plus the menu opener ;)
 2

🙈 Changed it. I was not counting the apps management as an app.

@juliusknorr
Copy link
Member Author

What happens when I open Notes in your example? Will there be an indicator that I am using Notes anywhere?

@raimund-schluessler I would prefer to show the icon somwhere, not only an indicator at the 3 dots menu. Does anyone have an idea how we could do that?

@MariusBluem
Copy link
Member

would prefer to show the icon somwhere, not only an indicator at the 3 dots menu. Does anyone have an idea how we could do that?

Maybe by showing the current app as the first 🤔 @juliushaertl

@Espina2
Copy link
Contributor

Espina2 commented Jan 10, 2017

I don't think this are a good solution. It breaks after the third/four app. I talked with @jancborchardt at the Berlin conference that maybe the best solution is to have navigation on the right.

https://codepen.io/nikhil/pen/sicrK (example)
example (example not public) from another project Im working on

Why I think its best?

Its versatile and works on mobile.
You can list more apps.
You can even change the order and personalize.

I am with a little time to make a proper mockup so I hope that I can explain what I mean.

@skjnldsv
Copy link
Member

I would be fine with that too :)

@juliusknorr
Copy link
Member Author

I talked with @jancborchardt at the Berlin conference that maybe the best solution is to have navigation on the right.

@Espina2 We also had some discussion about that over at https://help.nextcloud.com/t/is-this-the-most-awesome-or-what/6163/3

I'll just quote @jancborchardt on this:

Yes … I was more thinking about integrating it to the left navigation without losing horizontal space (compare iCloud.com) but there are just too many drawbacks. Mainly the issue of the responsiveness and how to handle it on mobile where the navigation just hides.

@skjnldsv
Copy link
Member

Oh common guys, i barely have the time to follow everything on github. What can I do if you discuss on nextcloud forums now? 😆

@Espina2
Copy link
Contributor

Espina2 commented Jan 11, 2017

This is not new, even before you launch the version with icons on the topbar I have called attention to @jancborchardt at conference that in my opinion this is not a good solution.

And like you quote

Yes … I was more thinking about integrating it to the left navigation without losing horizontal space (compare iCloud.com) but there are just too many drawbacks. Mainly the issue of the responsiveness and how to handle it on mobile where the navigation just hides.

The solution that I am suggesting don't add extra space. You only remove the icon for the second menu entry and add them to the first level.

So you have icon + label on the first "menu" and only label on the second, because it's not needed the icon.

Tooltips is a crime in User Experience, if you need them its because the information or the interface isn't clear enough. For not talking about mobile that don't have "hover" capabilities.

The solution that you are working now, its patching a problem not resolving them. This is my opinion.

@eppfel
Copy link
Member

eppfel commented Jan 13, 2017

Tooltips is a crime in User Experience

🚨 Call the UX Police 😂

I think @Espina2 proposal could work. I agree that app names are not necessary as long as we have distinct icons. Problem could be external sites. We should add an option to upload a custom icon there.
And I don't see problems with the mobile version. This could be integrated into the side-menu as well.

@Spartachetto
Copy link

I am not at all an UX expert, and I get that a single user feedback and preferences have a really limited usefulness.
Yet I really like @Espina2 proposal! :-)

@SonRiab
Copy link

SonRiab commented Jan 20, 2017

I would stick with the current default behavior when accessing the site with a mobile phone. Pressing on the current app name is easier then hitting small icons. But using icons and hiding the current app name for the desktop view is totally fine for me. Maybe we could add the icon in front of the app name in mobile view.
nav1
nav2

@juliusknorr
Copy link
Member Author

juliusknorr commented Jan 20, 2017

Tooltips is a crime in User Experience, if you need them its because the information or the interface isn't clear enough.

I think they work quite well here, especially for a menu, that you use more often. At the beginning you might need some information about what the icons will do, but after some time you'll start to remember them, so there is no need to show a title always and we can use a tooltip instead.

For not talking about mobile that don't have "hover" capabilities.

I would like to keep the current menu for mobile, as requires no screen space while not using it. Just as @SonRiab proposed.

It breaks after the third/four app.

I don't like that very much either, it was just an idea to avoid a too crowded header bar.

The solution that I am suggesting don't add extra space. You only remove the icon for the second menu entry and add them to the first level.

Ok, that could work. Feel free to do a mockup. 👍

Copy link
Member

@jancborchardt jancborchardt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some code nitpicking inline, and bigger design considerations here:

  • Only showing 4 apps until having the »more apps« menu is too few. Let’s increase it to 8 apps. This will also fix the issue @Espina2 mentioned. Of course on mobile or when the screen gets narrower, the menu should show accordingly to make sure there’s no overflow with the username or avatar.
  • How about we layout the »more apps« menu like user menu, in a list view. Fits better rather than showing bigger icons in the dropdown than there are in the bar.
  • If app from more-menu is open, don’t put it first in list. Either:
    • put it as last in the list (before the »more apps« menu icon), switching out the one which was there before temporarily
    • or just put a triangle below the 3-dot-menu to indicate it, and don’t switch places
  • Fix placement issues of notifications and search on the right
  • Consider opening more apps and user menu on hover, like menus on Amazon
  • Again, we won’t introduce a left bar for the apps again because we had that in the past and decided against it because the apps/content should get as much space as possible. We have a header already.

text-align: center;
color: #1d2d44 !important;
vertical-align: top !important;
position: relative;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces → tabs :)

float: left;
display: inline-block;
vertical-align: top !important;
height:44px;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces → tabs

}

#appmenu li a {
opacity: 0.6;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No leading 0 required here :)

#appmenu li a {
opacity: 0.6;
margin: 0;
padding: 12px 0px;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No unit required when it’s a 0-value :)

border-top-right-radius: 0;
margin-top: 0;
border: none;
color: #333;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we rather do this with an opacity value, or best do we have a variable for that?

-moz-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
-ms-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
-o-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No leading 0 required for the 0.75 either :)


#appmenu li:hover a:before,
#appmenu li a.active:before {
content: " ";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Single quotes in CSS

width: 0;
position: absolute;
pointer-events: none;
border-bottom-color: white;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#fff

pointer-events: none;
border-bottom-color: white;
border-width: 7px;
top:36px;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

space after colon

top:36px;
transform: translateX(-50%);
left: 50%;
z-index: 100;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On this whole block: spaces → tabs ;)

@skjnldsv skjnldsv mentioned this pull request Jan 25, 2017
7 tasks
@Espina2
Copy link
Contributor

Espina2 commented Feb 7, 2017

@jancborchardt

Again, we won’t introduce a left bar for the apps again because we had that in the past and decided against it because the apps/content should get as much space as possible. We have a header already.

This is not a valid point, Like I already said this left menu will have the same space.

I only see advantages with that approach.

First you can navigate directly to a page in a app without open the "home" app page.

The navigation are on the same place and are more natural. Like we have now you change from context from two different locations, one on the "header" and another on the left bar.

Can you say why this is a bad pattern or give some reason to why you think this will not work?

And I want the opinions of all the others designers here
@nextcloud/designers

@eppfel eppfel self-assigned this Feb 7, 2017
@jancborchardt
Copy link
Member

jancborchardt commented Feb 14, 2017

This is not a valid point, Like I already said this left menu will have the same space.

It won’t. We already have the header bar there with room for icons. The left menu will be an additional element.

First you can navigate directly to a page in a app without open the "home" app page.

How is this different from the approach outlined here? Maybe it’s not entirely clear from the screenshot you posted. Please do a detailed mockup in that case.

The navigation are on the same place and are more natural. Like we have now you change from context from two different locations, one on the "header" and another on the left bar.
Can you say why this is a bad pattern or give some reason to why you think this will not work?

Yes, precisely for the reason that they are in the same place. Because the icons will be confused as icons for the other navigation entries, or conflict with navigation entries where there are icons. It will be a mass of icons on the left, some with text, some without. They do not have the same relevance so they don’t need to be in the same place.

Anyhow.

A bigger issue I have here is that we discussed a lot and still didn’t change anything from the status quo. The direct menu as done by @juliushaertl is the top rated app in the store and really useful to let people know we have a bunch of apps – which is not apparent at the moment.
So we should get this change in for Nextcloud 12. @nextcloud/designers @Espina2 don’t forget one of our tenets is to be pragmatic. It’s always iterations. But right now we’re brought to a stop.

@eppfel
Copy link
Member

eppfel commented Feb 15, 2017

I support @jancborchardt, we have to go forward here.

The biggest issue with @Espina2 approach is the horizontal space. And the app navigation + the sidebar is not a typical multi level menu, as the sidebar can function quite differently in different apps.

The biggest issue with the current approach is the mystery meat. But at least it would not be as mysterious as it is now. We could add some height to the header and add labels beneath the app icons. But I think this should not block us implementing it.

@Espina2
Copy link
Contributor

Espina2 commented Feb 15, 2017

@jancborchardt @eppfel

Like I said more than one time, the horizontal space is the same, it will not add extra space.
screen-shot-2017-02-15-at-22 02 46
What I propose is like this. Have the icon for the app on the left and the pages of the app on the right.

This have exact the same horizontal space as before. So this issue doesn't exist at all. Can you point wich app use the bar different? Because I can't see any advantage with my approach.

@jancborchardt I dont get what you mean with this

or conflict with navigation entries where there are icons. It will be a mass of icons on the left, some with text, some without.

At the moment I don't have the time to make an high fidelity mockup so its the best I can do.

@eppfel
Copy link
Member

eppfel commented Feb 15, 2017

@Espina2
bildschirmfoto 2017-02-15 um 23 48 48
bildschirmfoto 2017-02-15 um 23 49 17
bildschirmfoto 2017-02-15 um 23 51 42

@juliusknorr
Copy link
Member Author

@jancborchardt I've rebased and fixed some more issues. I'll try to get this a bit more polished tomorrow. 🙈 The code is still a bit messy. If you want to jump in, feel free to do so. I've updated the todo list in the first post as well.

@juliusknorr juliusknorr force-pushed the appmenu-experiment branch 2 times, most recently from 71dcb9f to a55c2f7 Compare March 3, 2017 01:15
@juliusknorr juliusknorr changed the title [WIP] App menu experiment Show apps in header Mar 3, 2017
@juliusknorr juliusknorr added 3. to review Waiting for reviews and removed 2. developing Work in progress labels Mar 3, 2017
@juliusknorr
Copy link
Member Author

Ok, this should be ready to review now. I've also updated the screenshots in the first post.

cc @jancborchardt @skjnldsv @eppfel @nextcloud/designers

Signed-off-by: Julius Haertl <jus@bitgrid.net>
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Signed-off-by: Julius Haertl <jus@bitgrid.net>
Copy link
Member

@MorrisJobke MorrisJobke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and works in IE11, Firefox, Chrome, Safari 👍

@MorrisJobke
Copy link
Member

@nextcloud/designers Please review

Copy link
Member

@MariusBluem MariusBluem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had no problems so far with Safari and Chrome on my instance 💪

Copy link
Member

@LukasReschke LukasReschke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works nicely

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3. to review Waiting for reviews design Design, UI, UX, etc. enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.