INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Watched() function - A few problems/bugs  (Read 9703 times)

MrHaugen

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 3774
Watched() function - A few problems/bugs
« on: January 23, 2013, 01:25:36 pm »

I've been using the Watched() function for a while to test it. It's given me several challenges.

This is what I use for Movie captions:
Code: [Select]
<font color="C3FFB3">Watched(2)<//font>[Name] <font color="C3FFB3">[Critic Rating Stars]<//font>This should give me a green watched check mark for each of the movies that are fully watched. I also use the Watched function to remove movies I've seen, in some views.

This gives me several problems.
1. The Watched(2) function returns true if you watch more than half the video. This makes it hard to find the partially watched video's you have left. Refresh of views might remove them totally.
2. When using the function Watched(1), it seems impossible to return the value of 1. It's supposed to give you 3 states. 0 for not watched, 1 (I guess) for partially watched and 2 for fully watched. I have 500 movies, and not a single one have the partially watched value. Everything is either 0 or 2. I have multiple movies with watched percentage between 50-90.
3. When I remove the bookmark, the movie is still marked as watched. It does not help by removing the Playing Now counter either. This makes testing things on a production environment a hazard.


Would it be possible to look into this, please? Or perhaps I'm doing something wrong here?
Logged
- I may not always believe what I'm saying

MrHaugen

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 3774
Re: Watched() function - A few problems
« Reply #1 on: January 24, 2013, 04:17:06 pm »

I have a hard time believing that I'm the only one who have noticed this. It's part of the default caption after all :)
Logged
- I may not always believe what I'm saying

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.
Re: Watched() function - A few problems
« Reply #2 on: January 24, 2013, 04:37:48 pm »

It does seem broken.  The video in the screenie should have a 0 value for Watched(1).
Logged
The opinions I express represent my own folly.

MrHaugen

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 3774
Re: Watched() function - A few problems/bugs
« Reply #3 on: January 29, 2013, 03:10:15 am »

There seems to be a bug which affects all Theater View users with default video views. Could you please look into this?
Logged
- I may not always believe what I'm saying

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42376
  • Shoes gone again!
Re: Watched() function - A few problems/bugs
« Reply #4 on: January 29, 2013, 02:33:44 pm »

I'm a bit puzzled on this one.

If we play more than half and stop, we increment the number of plays.

If the number of plays is more than zero, it counts as watched.

So it seems like logically partially watched would be anything with no plays and a non-zero bookmark. 

As you've found out, this isn't what it's doing.

I'll tighten it up for the next build.
Logged
Matt Ashland, JRiver Media Center

MrHaugen

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 3774
Re: Watched() function - A few problems/bugs
« Reply #5 on: January 29, 2013, 03:21:13 pm »

Thanks! I little warning first...
I think it's important not to relay solely on the Number Plays.

Imaging all of the times you stop the video above 50%. It will count as watched, and not partially watched. This makes a huge gap where files will vanish from views if people use this as a Limiter to views. And people will have the watched mark on movies and TV Shows even though their not completed.
Also think about the times when you double click the stop button, and clear the bookmark. What will that do to the partially watched flag?

I really hope you can look into some logic that will also work for the times you watch past 50% and up to, let's say 90%. I found 95% was to high, but 90% covers the most videos as watched, and you'll not likely leave any not watched behind.

This is what I used for some weeks, and it worked very, very well imo.
If(!isempty([Number Plays]), if(Math(!formatnumber([Bookmark]) | above(formatnumber([Bookmark]) / [Duration,0], 900)), √, !
Logged
- I may not always believe what I'm saying

rjm

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 2699
Re: Watched() function - A few problems/bugs
« Reply #6 on: January 29, 2013, 04:16:12 pm »

I rely on self-discipline. If I have not entered a rating it means the video has not been completely watched. Or it means I need to watch it again before I consider it watched because I did not pay attention or did not understand the first pass.
Logged

MrHaugen

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 3774
Re: Watched() function - A few problems/bugs
« Reply #7 on: January 29, 2013, 04:42:17 pm »

And how many would actually do that? :) An automatic experience is the key here. Perhaps not suited for you, but the masses will probably be much more happy with this, than rating everything they watch.
Logged
- I may not always believe what I'm saying

bunglemebaby

  • Galactic Citizen
  • ****
  • Posts: 469
Re: Watched() function - A few problems/bugs
« Reply #8 on: January 30, 2013, 06:29:52 pm »

Quote
I really hope you can look into some logic that will also work for the times you watch past 50% and up to, let's say 90%. I found 95% was to high, but 90% covers the most videos as watched, and you'll not likely leave any not watched behind.
I've often wondered why this hasn't always been the case, even in the case of music and the like. Is there a reason, or was it arbitrary? I would definitely prefer using 90% as the watched/played threshold.

I could also see some sense to using a file's setting for "Use Bookmarking" (whether via default or specific setting) to determine the threshold for a play/watch. e.g. A file set to not use bookmarking uses 50% to mark it as played, while a file set to use bookmarking uses 90%, or something along those lines. This assumes that there is some reason for using 50% (presumably for music?) to begin with. But the theory here being that if the file is just going to start over again anyway, then count it as played earlier but if it will be resumed then the user isn't finished watching it and will come back to finish it later and wants it to count as played/watched once they have done so.

My two cents and all...
-Jon
Logged

MrHaugen

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 3774
Re: Watched() function - A few problems/bugs
« Reply #9 on: January 31, 2013, 04:19:45 am »

Exactly. When playing stuff with longer duration, the 50% mark is just not logical. It leaves to much to coincidences. For music and short clip video, sure. Here it might be a problem if the Number Plays increases just when it's reached the 90% mark. Some people change tracks often, or often before it's quite finished.
Logged
- I may not always believe what I'm saying

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Watched() function - A few problems/bugs
« Reply #10 on: April 15, 2013, 11:23:46 am »

Exactly. When playing stuff with longer duration, the 50% mark is just not logical. It leaves to much to coincidences. For music and short clip video, sure. Here it might be a problem if the Number Plays increases just when it's reached the 90% mark. Some people change tracks often, or often before it's quite finished.

I just stumbled upon this problem too and decided to try to do something about it today.  Watched(1) is pretty much useless (and the Watched checkmarks trigger too easily).

It should really be decoupled from the [Number of Plays] and triggered where:

Watched(1) = 0:

[Number of Plays] = 0 and the bookmark is at 0%.

Watched(1) = 2:

[Number of Plays] > 0 and bookmarks is at:
>50% for any file with [Duration] < 10 minutes or so (this specific number is open to debate)
>~90% for any file with [Duration] > whatever number you picked above

Watched(1) = 1:

Everything else.

With the checkmark being equivalent to: [=Compare(Watched(1),<,2)]=1

However, if this is too "complex" for the simple function, then I'd much, much rather it always trigger at 90% (or so) than the current "1/2-way watched" behavior.  The problem is that, especially with kids, now I end up watching 1/2 of a show and then stopping, intending to come back later.  This makes building views that depend on the Watched status impossible, and makes the checkmarks have dubious value, for the vast majority of my use-cases.

It works as-is for Music Videos and other short stuff, but that's a tiny fraction of my files, and I can't think of a good use-case where you'd care about the "partial vs. non-partial" watched status of a music video.  You just want to count plays, for those.

The logic of the current system doesn't work well at all for watching TV shows or Movies if you ever come back and finish an episode/film later.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Watched() function - A few problems/bugs
« Reply #11 on: April 15, 2013, 11:44:21 am »

The percentages for the Watched/Partial status should be the same as the percentages used to determine keeping the bookmarks, actually.  That's a scheme already being used, and it works fine for me as-is.  They are really trying to "accomplish" the same thing.  Is this thing partially watched (and you might want to come back at the same spot), or did you finish it and want to start over.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Watched() function - A few problems/bugs
« Reply #12 on: April 15, 2013, 11:48:13 am »

And, while you're at it, a Watched(4) mode that simply outputs a machine-readable (integer) value for the percentage watched would be very handy.  With that, I could make my own column or expression filter that works exactly the way I want it.

Without that, it is probably possible, but more difficult.  You're already doing the math to output the human readable version, so it doesn't seem like much of a stretch to give us a simple percentage output too.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Watched() function - A few problems/bugs
« Reply #13 on: April 15, 2013, 03:53:42 pm »

Just recently, I posted what I have been using to display the progress of TV shows. I think it does what you want:

Code: [Select]
listitem(;left(watched(0),3);if(isrange(left(watched(0),2),5-95),left(watched(0),3),✔), watched(1), ;)
If the file has not been watched, the field is blank.
If the file has been watched between 5-95%, the field displays the progress as a percentage.
If the file has a play count of 1 or more, it is marked as being watched if progress is outside of the 5-95% range.

There's more detail on how this expression works, and how to customise it in this post.

EDIT Wait, I need to fix this. I had been using 50-95% rather than 5-95% and I changed it so that it would still display the percentage when play count was above 1, but that just broke the expression. (displays the wrong values for files that are played now)
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Watched() function - A few problems/bugs
« Reply #14 on: April 15, 2013, 04:30:03 pm »

Just recently, I posted what I have been using to display the progress of TV shows. I think it does what you want:

Code: [Select]
listitem(;left(watched(0),3);if(isrange(left(watched(0),2),5-95),left(watched(0),3),✔), watched(1), ;)

Clever.  Just stealing it out of the human readable output using the left() function.

That works, so long as they never change the formatting of the output.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Watched() function - A few problems/bugs
« Reply #15 on: April 15, 2013, 04:31:20 pm »

Clever.  Just stealing it out of the human readable output using the left() function.

That works, so long as they never change the formatting of the output.
The problem is that if a file has been played to completion, it puts the date in there with no progress. (so 98% on 15 Apr becomes 15 Apr and the field displays "15" because that's in the 5-95% range)

This should fix the expression though:

Code: [Select]
listitem(;left(watched(0),3);if(isequal(regex(Watched(0), /#^(\d+)% on#/),1,2),if(isrange(left(watched(0),2),5-95),left(watched(0),3),✔),✔), watched(1), ;)regex thanks to MrCʼs post

The one I was using only worked if a file had not been played at all, this one should display the progress even if the play count is more than zero. (in the 5-95% range, which you can change)
Logged

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.
Re: Watched() function - A few problems/bugs
« Reply #16 on: April 15, 2013, 06:39:22 pm »

You can use Regex() in test mode so you don't have to compare its output to a 0 or 1.

Alternatively, Regex() can be run in no-output mode, to just fill in [R#] values.  Maybe you'll find this simpler:

ifelse(isequal(watched(1), 2),
   regex(Watched(0), /#(\d+)%#/, -1)/
   if(isrange([R1], 5-95), [R1]%, ✔))
Logged
The opinions I express represent my own folly.

6233638

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 5353
Re: Watched() function - A few problems/bugs
« Reply #17 on: April 15, 2013, 07:08:40 pm »

Thank you - that was mostly the result of me trying to find a quick fix for my previous expression, which was only to show progress on files I had not played before, rather than to show progress on files whether it's the first time they have been played or on subsequent plays.

I thought there must have been a smarter way to do it, but it's been years since I've had to use regex, and I'm only just getting a handle on MC's expressions language.
Logged

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.
Re: Watched() function - A few problems/bugs
« Reply #18 on: April 15, 2013, 07:25:53 pm »

Yeah, it can take a while to discover the quirks of new languages so that the constructs can be employed most efficiently.

If I might add, I think you're doing a fabulous job, and I'm sure others appreciate your thoughtful help.
Logged
The opinions I express represent my own folly.
Pages: [1]   Go Up