nextcloud / calendar

📆 Calendar app for Nextcloud
https://apps.nextcloud.com/apps/calendar
GNU Affero General Public License v3.0
977 stars 240 forks source link

show whole text of event summary #615

Closed florom closed 6 years ago

florom commented 7 years ago

ping @georgehrke

Overview picture/ Actual behaviour:

nextcloud screenshot cut text month

Marking Error in Acutal behaviour:

nextcloud screenshot cut text month_error

As illustrated the event text is cut off at the end of the column, which depends on monitor/window size. A small window means almost nothing to see.

Better behaviour:

no text cut

As seen new lines for the event text are created. Column width still fixed, row height gets larger compared to other rows.

Using: nextcloud 12.0.3/calendar 1.5.5/php7.0/firefox 55.0.3 64 bit

georgehrke commented 6 years ago

I'm actually not sure about this, most other calendar applications just do a proper ellipsis: 3a352b00-1dea-43ec-b3f1-560b75005d4e

Displaying very big / multi-line summaries in the calendar-grid will take up a lot of space.

georgehrke commented 6 years ago

cc @nextcloud/designers

florom commented 6 years ago

@georgehrke You are right it could use lots of space. But every bit of information in the header is vital for a real overview. In most cases when planning a new event this is necessary. I really like nextcloud as you see I have two raspberrys but I am still using owncloud: Please compare and keep in mind that are only two days. Keeping all information in the header is a fast way for organising oneself and you can still scroll down. Although too long words are cut off too you can still manage to guess the word with 6 characters. Trust me I am using owncloud calendar on firefox on an 5'' SmartPhone and it works great.

Screenshots are of course made from PC:

Owncloud: image

Nextcloud: image

georgehrke commented 6 years ago

But what's the use-case for these huge titles? And what's the use-case for all events starting with the same string?

georgehrke commented 6 years ago

and as long as we don't have #6 we should be careful with using vertical space

florom commented 6 years ago

Please expect my answer in the next two days

jancborchardt commented 6 years ago

How does Google and iCloud calendar handle this?

I would say one-line is the expected behavior. Maybe maybe 2 lines at most. But enlarging entries based on their title length gives them importance based on an unrelated metric.

Of course we should properly ellipsize them though. :)

florom commented 6 years ago

@georgehrke "But what's the use-case for these huge titles?" Advantages (and see Examples further down):

User Szenarios: 1, PC - Big Screen Open Browser -> toggle Calendar -> Month View -> Every information visible -> Adding new event -> Klicking on day -> Write all information including time and location and things you need in title -> Save Scroll down if something is not shown (which is not this bad) 2, Smart Phone: Open Browser -> toggle Calendar -> Month View -> Every information on screen visible -> Scroll down for the other events (gesture is enough) -> Adding new event -> Tap on Screen -> Write all information including time and location and things you need in title -> Save

"And what's the use-case for all events starting with the same string?"

I apologize for the example, I don´t use identical first or second words very often: Usually i use this syntax: [MainWord] [StartTime] [Important Information] Location

Sometimes I need more information (and therefore longer titles):

Of course this does not happen often and i can scroll down so its ok.

Comparison: On PC (Month View)

@jancborchardt

"How does Google and iCloud calendar handle this?"

I don´t have a Google or iCloud calendar but I am afraid they are cutting it. I think these companies do it cause they want to force people to use the appropriate fields which makes it easier for them to make statistics and use the information properly for monetary reasons.

"But enlarging entries based on their title length gives them importance based on an unrelated metric."

This is a strong argument and i can see its ground. But this is not advertisment and you only give it importance when you want to look at it this way. The other way would be it just holds information i can use instantly. Importance can be given through color if you choose it this way. Or transparency like you chose it in nextcloud. Making it big with no information would give it importance which it does not have. Here it just has more information (which the user entered).

Last but not least I made two screenshots of my smartphone from nextcloud calendar (I apologize again this is not my main calendar so I just have a few enteries with a few movies):

As you can see you can hardly guess the movie names. Either you use day view which is really unpractical cause of no continous scrolling - or you tap every entry which is again unpractical. I am afraid one or two lines won´t do the the job.

screenshot_20180208-185621_ver

screenshot_20180208-185649_ver

THANK YOU for reading all the stuff.

georgehrke commented 6 years ago

Hm, that's not how we anticipate that users use the calendar app and you are the first person that I'm hearing of that is using a calendar application like this.

Never have to use any other fields if you don't want to

Well, we put those fields there for a reason. First of all so users can better organize their calendar data and second of all so that we can display it better

See all information in one glance

This should help: https://github.com/nextcloud/calendar/pull/84 We are working on a popover that shows when you hover the event. In the first iteration, we will only display the description, but later on we can also display location, attendees, reminders, etc .

Don´t need to open events (Server - Client Interaction)

That's not the case. Whenever you open an event for editing, no request is send to the server. All the necessary information is already gathered when fetching the events for displaying.

Don´t need to switch to other fields when adding an event

I can see that some people don't want to use their mouse as much, but you can simply navigate with Tab and use CTRL / CMD + Enter for saving.

SmartPhone and Touchscreen suited (no curser available)

To be honest: I'm not putting lots of effort into making the calendar app mobile ready at the moment. iOS supports CalDAV natively, for Android there is a free (as in free speech) app to provide CalDAV support. Given how much effort it would be to make this app work perfectly on mobile devices, I'm rather putting that effort into other features users ask for, like FreeBusy / better handling of recurring events / etc.

There is one very important feature that has to work smoothly even on mobile devices and that's sharing a calendar with other users / publicly, because you can't do that from your mobile apps. And that's the case.

Starbucks 1500 Sandra the new one (remember does not like Milk)

If i was creating the event, I would be doing it like this: 832bf0a9-5490-41da-af6d-da90ff2f7af8

I don´t have a Google or iCloud calendar but I am afraid they are cutting it. I think these companies do it cause they want to force people to use the appropriate fields which makes it easier for them to make statistics and use the information properly for monetary reasons.

The very first iteration of the calendar standard from 1996 already contained location and description, long before Google existed. https://web.archive.org/web/20000816001520/http://www.imc.org:80/pdi/vcal-10.txt ;) And with Nextcloud your data never leaves your own devices, so no one can use it for any kind of monetary reasons.

This is a strong argument and i can see its ground. But this is not advertisment and you only give it importance when you want to look at it this way. The other way would be it just holds information i can use instantly. Importance can be given through color if you choose it this way. Or transparency like you chose it in nextcloud. Making it big with no information would give it importance which it does not have.

The fact that title length gives something more importance is not only the case for marketing / advertisements. It's true for any kind of information you are visualizing. And if you have one event with 7 lines, but the others only 3 or 4 lines, then this will introduce a certain imbalance to the information hierarchy. The 7 line event will automatically look more important at first glance.

The biggest issue I see here is with shared calendars. When people use the long titles and share them, then suddenly 9-line titles pop up in the calendars of people who usually only use 1 line.

florom commented 6 years ago

@georgehrke

Thank you for your reply.

After reviewing the lenght of my answers I think it´s better to give you the summery - the details are below. It virtually boils down to one issue - mobile devices.

Calendar app would work on mobile devices perfectly. Long touch for adding events. Short tap for viewing/editing events. Two fingers for scrolling. If I dont enter time it leaves in month view about 6 characters of title, which is better then nothing but still very little and most times too short. If I enter time (as it is supposed to) it leaves in month view only about 1 and half characters of title which is virtually nothing. Week view does only improve it slithly.

Really unfortunatly this makes calendar app in Browser on Mobile devices unusable and in my opinion it does not deserve that fate. It has not to be perfect just usable - For example with an option.

Hm, that's not how we anticipate that users use the calendar app and you are the first person that I'm hearing of that is using a calendar application like this.

I am really happy this way.

Never have to use any other fields if you don't want to

Well, we put those fields there for a reason. First of all so users can better organize their calendar data and second of all so that we can display it better

Unfortunatly if I enter time (as it is supposed to) it leaves in month view only about 1 and half characters of title which is virtually nothing.

See all information in one glance

This should help: #84 We are working on a popover that shows when you hover the event. In the first iteration, we will only display the description, but later on we can also display location, attendees, reminders, etc .

Yes, i agree this will greatly improve Calendar on PC (Big screens with mouse). Unfortunatly not on touchscreens.

Don´t need to open events (Server - Client Interaction)

That's not the case. Whenever you open an event for editing, no request is send to the server. All the necessary information is already gathered when fetching the events for displaying.

OK, did not know that - I withdraw the explanation and the argument on PC cause of #84. Unfortunatly still not on touchscreens.

Don´t need to switch to other fields when adding an event

I can see that some people don't want to use their mouse as much, but you can simply navigate with Tab and use CTRL / CMD + Enter for saving.

That´s really nice again on PC.

SmartPhone and Touchscreen suited (no curser available)

To be honest: I'm not putting lots of effort into making the calendar app mobile ready at the moment. iOS supports CalDAV natively, for Android there is a free (as in free speech) app to provide CalDAV support. Given how much effort it would be to make this app work perfectly on mobile devices, I'm rather putting that effort into other features users ask for, like FreeBusy / better handling of recurring events / etc.

I know that there are many apps but I did not download them so I don´t know how they handle it. Please correct me if I am wrong but all these apps store the very secure data on the server on the (in my opinion) unsecure mobile device. If there is no calender on the SmartPhone no other app can read it. Unfortunatly calendar in Browser on Mobile device is in my opinion unusable. If I dont enter time it leaves in month view about 6 characters of title, which is better then nothing but still very little and most times too short. If I enter time (as it is supposed to) it leaves in month view only about 1 and half characters of title which is virtually nothing. In my understanding calendar app works except this "see whole title (or more title)" on mobile devices perfectly. Long touch for adding events. Short tap for viewing/ediding events. Two fingers for scrolling. When adding an event all Buttons are visible - It would work perfectly.

There is one very important feature that has to work smoothly even on mobile devices and that's sharing a calendar with other users / publicly, because you can't do that from your mobile apps. And that's the case.

I am sorry to hear that, but isn´t that working now? The buttons are there, you only need left click (short touch) - so it works.

Starbucks 1500 Sandra the new one (remember does not like Milk)

If i was creating the event, I would be doing it like this:

And I can understand this way of doing it and the beneftis for sharing etc.

I don´t have a Google or iCloud calendar but I am afraid they are cutting it. I think these companies do it cause they want to force people to use the appropriate fields which makes it easier for them to make statistics and use the information properly for monetary reasons.

The very first iteration of the calendar standard from 1996 already contained location and description, long before Google existed. https://web.archive.org/web/20000816001520/http://www.imc.org:80/pdi/vcal-10.txt ;) And with Nextcloud your data never leaves your own devices, so no one can use it for any kind of monetary reasons.

I can see the befenfits too it´s just like its so much easier without.

As written above I am not so sure if I save calendar data on the mobile device other apps cannot read it. So I use Browser and apps are not meant to use browser data which are temporaily saved on the device.

This is a strong argument and i can see its ground. But this is not advertisment and you only give it importance when you want to look at it this way. The other way would be it just holds information i can use instantly. Importance can be given through color if you choose it this way. Or transparency like you chose it in nextcloud. Making it big with no information would give it importance which it does not have.

The fact that title length gives something more importance is not only the case for marketing / advertisements. It's true for any kind of information you are visualizing. And if you have one event with 7 lines, but the others only 3 or 4 lines, then this will introduce a certain imbalance to the information hierarchy. The 7 line event will automatically look more important at first glance.

Yes, I understand the theory behind that. Without wanting to stress a philosophical dicscussion calendar isn´t a one glance application so brains can render its importance right.

The biggest issue I see here is with shared calendars. When people use the long titles and share them, then suddenly 9-line titles pop up in the calendars of people who usually only use 1 line.

If there pop up a 9 line title then I think that even with short titles 4 lines are always filled so it does not gain so much more "importance". And I can see the big benefit for example making an option "Display whole title" to quickly have a view at all new events coming in from the shared calendar or just the new event. With hovering you would need to hover them all - which again you cant do on mobile devices.

Again thank you for reading.

georgehrke commented 6 years ago

It virtually boils down to one issue - mobile devices.

As I told you above already, that's not really a priority because there are apps for all mobile platforms

Please correct me if I am wrong but all these apps store the very secure data on the server on the (in my opinion) unsecure mobile device. If there is no calender on the SmartPhone no other app can read it.

Even Android asks you nowadays whether you want to allow apps to access your contacts / calendar and you can simply deny access. So it should be just safe to use the native Android calendar. Furthermore DavDroid is free software.

I am sorry to hear that, but isn´t that working now? The buttons are there, you only need left click (short touch) - so it works.

Yes, it does. And as long as it works, full mobile support is very low on the priority list.


I'd be happy to increase it to two lines per event, but really not more. Increasing it to more would have a negative effect on the general usability of the calendar app how we anticipate its being used.

I'm sorry, but we can't implement every feature request we get, especially if its about a very special use case like this and about using the app in a different way than anticipate it.

I'm always happy to discuss new concepts for the calendar app if they are improving the usability, but I honestly can't see how the concept you suppose is superior. Many aspects of it are way inferior imho.

florom commented 6 years ago

@georgehrke

Thanks again for reading.

Even Android asks you nowadays whether you want to allow apps to access your contacts / calendar and you can simply deny access.

Many apps need access to storage and the data is still on the device storage which is I think not secure. That´s where I see the risk.

I'd be happy to increase it to two lines per event, but really not more. Increasing it to more would have a negative effect on the general usability of the calendar app how we anticipate its being used.

I gave you thumbs up for increasing it to two lines per event - i see that you could understand a little bit (even if its not mainstream) probably you could point me to the source where I can edit it and use 10 lines instead of 2 lines if it is possible.

I'm sorry, but we can't implement every feature request we get, especially if its about a very special use case like this and about using the app in a different way than anticipate it.

You all do a great job and even if it is unfortunate for me two lines would be a good deal for many users too.

I'm always happy to discuss new concepts for the calendar app if they are improving the usability, but I honestly can't see how the concept you suppose is superior. Many aspects of it are way inferior imho

I am glad you discussed the concept in this length with me. Like you said I am using it in a different way like using an "engine" in a motorbike, a car or an airplane. __

I am sad that I could not convince you but I am happy that you still see that two lines are an Improvment so I won´t give up hope :)

Thank you for discussing the thread.

jancborchardt commented 6 years ago

Sorry, but the replies are getting a bit too long for a focused or productive discussion.

Other calendar apps on mobile like the open source "Etar" also force events to one line in month view. Again, this is to not give events with longer titles arbitrarily more importance.

If you would like them to be bigger in week or day view, simply increase the length of the event.

That and our previous comments should clear it up. A simple tap on the event will reveal more info – yes the performance of that could be improved, but that's a different discussion.

jancborchardt commented 6 years ago

So I'll be closing this hence. However yeah – maybe @georgehrke has a piece of code so you can increase the lines?

florom commented 6 years ago

@jancborchardt

I expected that the discussion comes to an end soon but please don`t close it. If it is closed not even two lines will ever be done and unfortunatly more then changing one number is out of my abilities.

jancborchardt commented 6 years ago

@florom no worries, that's why I mentioned @georgehrke probably has a piece of code. :)

georgehrke commented 6 years ago

@jancborchardt Do you mean to increase it to two lines for everyone or to provide a patch for @florom so he can patch his instance to show the whole text?

florom commented 6 years ago

Whoa thank you for even considering this.

@georgehrke I would love to get second :) :) but frankly if you could point me to the file and line of code I would be very very happy. I can google like "php break lines" and try and sooner or later I will succeed and provide the source.

Again thank you.

jancborchardt commented 6 years ago

@georgehrke simply provide a small patch here to @florom, or point them to the code where to change it. :) Not changing it in the main app.

florom commented 6 years ago

@georgehrke That would be really great :) :) @jancborchardt Thank you!

Again thank you!

georgehrke commented 6 years ago

All it takes are these two CSS rules:

.fc-day-grid-event .fc-content {
    white-space: pre-line;
    word-break: break-all;
}

You should be able to append this to css/public/app.min.scss

florom commented 6 years ago

@georgehrke @jancborchardt

Thank you! It work's. I could never done it by myself although it looks really easy. I googled (now I know what to google) and change it to word-break: normal its much easier to read.

Again thank you for the discussion and the answer.

florom commented 6 years ago

@georgehrke @jancborchardt

I migrated completly to nextcloud and used the calendar app now for quite some time. I did not come accross any bug described here so I think it is really a good app.

Thumbs up :)

florom commented 6 years ago

Hi @georgehrke ,

I am sorry to restart this. I upgraded from 13.0.6.1 to 14.0.1.1 an now it seems it does not work anymore. Probably it is now the wrong file I edited so please point me to the right one. It worked perfectly before I upgraded.

Thank You.

florom commented 6 years ago

Hi @georgehrke ,

it would be really nice if you could point me to the right file.

Thank you.

florom commented 6 years ago

@georgehrke nevermind - I mixed up - my bad. Sorry.

florom commented 4 years ago

Hi @georgehrke and @jancborchardt ,

I have a new issue which is rather annoying for me so could you please point me which and what to edit that I do not get the "+x more" on the calender view.

Like in this screenshot:

image

" .fc-content { background-color: inherit; / text-overflow: ellipsis; / white-space: pre-line; word-break: normal; "

does not seem to work unfortunatly.

Thank you!

georgehrke commented 4 years ago

@florom there is a setting for that in the calendar. It’s called “Limit visible events” iirc

florom commented 4 years ago

@georgehrke

Ok thanks - I am feeling dumb right now.

Probably you can point me where to add

" .fc-day-grid-event .fc-content { white-space: pre-line; word-break: break-all; }

I kind of got used to not having it cause all updates seem to break it but after all I still like it better my way.

Thanks.

georgehrke commented 4 years ago

Version 2.0.x of the Calendar app is using an updated version of FullCalendar, version 4. Iirc they renamed quite a lot of classes, so you need to check what classes the event element has in the developer console.

AlexandreBonneau commented 4 years ago

With version 18 of NC, only ellipsis are show in events if said event is small. Before (in NC10), you could at least read the start of the string. This makes using the weekview very hard: 2020-07-13_093131_Screenshot.

Is there a way to get back the tried and true way of displaying as much text as it can, then add an ellipsis at the end?

georgehrke commented 4 years ago

@AlexandreBonneau If you find a bug, please open a new issue and fill the entire issue template, instead of commenting on issues closed years ago.