Feature #3351

ideas for better usability and easy setup

Added by C vH over 1 year ago. Updated about 1 year ago.

Status:FixedStart date:2015-11-27
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:User Interface
Target version:4.2

Description

!Probably include it at Extjs rewrite (4.4?) to avoid double work!

Bring back the usability to Tvh.

As the features count is rising and rising (tx) the usability getting worse and worse - of course Tvh was never in a good shape in this department.
It is a bit like vim vs nano - vim is is awesome but why the heck did I have to learn a program to change a single line.

I'm doing a bit support for Tvh since a while and getting always the same problems.

1. the regular user have near to 0 chance to get it working because the necessary steps are "nowhere" described - without an tutorial nearly impossible
2. the setup order is not intuitive
3. the most people are simple overwhelmed by the options (look at channels-old.png ...) - too much "useless" (for >95%) stuff is displayed

Now is the question how we could fix that without to sacrifice a lot of settings and features.

1. We need some kind of setup wizard (I don't know how easy this could be implemented, because it has to be working with every kind of setup)

just name some ideas

- some kind of window or frame what tells you what you have to click or that you could only click to the next logical window (this way the existing windows/tabs could be reused)
- a "slideshow" at the first use - to get a basic idea how it works at all (shows pictures of the setup procedure of a basic setup - maybe you could choose if you use iptv, dvb-t ...)
- a YT video that shows a basic setup - displayed at "first" login and with an button at a eye catching spot
- a real setup where you get asked for adapters to use and so on in a typical setup view - only basic setup - probably the most problematic way
- a better "work flow" see 2. (to avoid the use of a tutorial)

2. If I had never used Tvh, I would do these steps like I done it at every receiver & software I used

1. Tab 1-1: choose/activate tuners
2. Tab 1-2: setup the sat/network...
3. Tab 1-3: scan
4. Tab 1-4: sort channels

current situation (my questions in (...) ):
1. Tab 3-3-2: setup the sat/network... (fairly easy if I know to do this first - if not apt-get remove tvheadend)
2. Tab 3-3-1: choose/activate tuners (wtf I had to conf the positions ? for what? - why are there no networks ?)
3. Tab 3-3-2: scan (did it scan, what happens, I don't see anything, is it finished?)
4. Tab 3-3-4: map muxes (pls what? I have no idea, what is a mux? services ?)
5. Tab 3-4-1: sort channels (difficult due to the giant list with useless informations)

solutions:
for 1: call this window if you activate the tuners
for 2: change the window layout to include these setting at a higher level and let it complain if there is no network chosen
for 3: a proper feedback (not only at status) if a scan is running and how much is finished
for 4: no idea how to fix it properly - maybe do the map-mux directly after scan (include the map window at scan)
for 5: a channel sort window - a special window only designed to sort channels quick and easy

3. pretty simple idea, hide what isn't needed for basic setup

add a hide tag to each column-button-setting which is not necessary and include a "button" to make them visible at press/switching - without reloading the site (also at config a "show advanced settings at default")
some examples are at the pictures to show the main benefits without loosing the basic functionality
channel window LOL !

adapter-global.png (86.7 KB) C vH, 2015-11-27 23:07

adapter-global-old.png (137 KB) C vH, 2015-11-27 23:07

adapter-tuner-old.png (136 KB) C vH, 2015-11-27 23:07

adapter-tuners.png (91.4 KB) C vH, 2015-11-27 23:07

channels.png (120 KB) C vH, 2015-11-27 23:07

general.png (60.3 KB) C vH, 2015-11-27 23:07

channels-old.png (213 KB) C vH, 2015-11-27 23:07

general-old.png (102 KB) C vH, 2015-11-27 23:07

muxes.png (87.9 KB) C vH, 2015-11-27 23:07

muxes-old.png (133 KB) C vH, 2015-11-27 23:07

History

#1 Updated by cilin dro over 1 year ago

if you're using tvh for first time you should search information about how it works and functions
It is not just install it and make magic. To everything there is extensive documentation mention is just find and read. may be this works for you.

http://docs.tvheadend.org/#tvheadend-42-user-guide

#2 Updated by Meindert Oldenburger over 1 year ago

I fully understand the message C vH tries to give. I'm a software engineer myself and I'm always struggling with the functionality needed by the program and how do I present this. Users are all different and it would be great if, and also good for tvheadend, that the usability will be improved.

Don't understand me wrong I like tvheadend a lot as it is, but sometimes confused about all the options, and not all of them are described.

Functionality that is not used often, or never, must be hide somehow. Take a look at Kodi for a possible example, if you are an expert you will see all but are you a Rookie the options displayed are not more than necessary.

#3 Updated by saen acro over 1 year ago

+1 for such "Startup wizard menu"
some style of http://www.formwizard.biz

#4 Updated by C vH over 1 year ago

if you're using tvh for first time you should search information about how it works and functions

We should give a fu about a majority of users? What you describe is the opposite of usability.
Tvh should be an end user software - why did I have to read a manual for set up basic functionality? Advanced features needs advanced knowledge - no problem with that.
The regular Tvh user is at least a bit technic affine - we don't talk about lusers - but even for this people it is impossible to use without a tutorial. (I got ~12+ years into [email protected] and had tested nearly everything what is/was available and I had no chance to setup Tvh ~2.x without the manual because of illogical steps)
Receivers, TV's, VDR, DVBViewer, WMC, MP ... could be basic setup without the need of a manual!

What benefit does Tvh has from this unnecessary complexity? Less users (at the moment YES)? More support effort (of course)?
What are the downsides of a easy setup? Sorry couldn't name one.
We wouldn't lose a single feature but gain a lot of simplicity. Also the coding effort isn't that high.

#5 Updated by Jaroslav Kysela over 1 year ago

In my opinion, the "wizard" should not be specific to webui (HTTP). There should be possible to setup the TVH from pvr.hts or any other client. And yes, we were asked if TVH can be set from Kodi without HTTP access. Of course, the complex setup is probably better to maintain using the webui, but I don't see any reason to not share the "wizard" from webui and pvr.hts.

I have an implementation idea - I added a HTSP proxy to all HTTP API calls in v4.1-1079-gf44dcce . It just the first step. The current idnode system can already expose the GUI controls so the setup won't be dependend on the client (the UI client should translate the description from the C code to a specific GUI forms - so TVH has chance to update the setup process itself without waiting for the client updates).

#6 Updated by C vH over 1 year ago

For sure the best we can get is that the wizard could be used via pvr.hts - but honestly I it looks, from my perspective, after a lot of work (its a bit awkward to demand this commitment)
Also a solution where we can import/export our settings via pvr.hts would be great. This isn't even possible at the webui (split it into settings, channels, users ... and save it as xml.gz ...).

Some things like channel sorting would be also nice to have at pvr.hts but honestly who like to sort his channels with a remote :)

#7 Updated by Jaroslav Kysela over 1 year ago

The initial UI level code is in the master. I reconfigured only the General configuration / DVR configuration / Channels grid as a demo...

#8 Updated by Meindert Oldenburger over 1 year ago

Nice done, but is the placement of the "UI level" button not better of on the right (after help)?

Configuration - Channel/EPG - EPG grabber modules: missing ADD and DELETE

#9 Updated by Mario D over 1 year ago

I think that I tab-specific level switch is very uncomfortable: willing to switch the interface on level different than the default one (e.g., expert) I have to switch one-by-one all the tabs...
I would like a global interface level (like Kodi) that switch all the interface on the desired level. I would move such global setting near the login/logout controls.

@Meindert Oldenburger: I don't think you can add/remove EPG grabber modules. The XMLTV grabber are automatically discovered.

#10 Updated by C vH over 1 year ago

As said, per tab levels are not that handy - better switch every lvl with the button.

Also a additional idea, the lvl button should only be temporary till the next login, then fallback to the level chosen at general settings. At the moment the lvl choosing is done twice - it is unclear that the botton does the same like the setting at general.

The button should be always at the same position - not ideal to search for it at every tab, next to the help on the right is too far away to be eye catching (we are lazy users) - maybe [status] [about] [level] ? Of course would make only perfect sense with the global level change idea from above !

#11 Updated by Jaroslav Kysela over 1 year ago

Update:

- fixed the global uilevel settings (general config)
- moved from button to menu
- moved the button position to right before Help

#12 Updated by Jaroslav Kysela over 1 year ago

Another update: reduced toolbar in the channel grid to support lowres monitors.

#13 Updated by Mario D over 1 year ago

Even with latest change the selected level is still local to the tab and not global. It looks that if I want to switch on the view on all the available options I have to change the level tab-by-tab. My personal vote is for a global level switch like Kodi: I switch once from basic to expert in order to restore my previous experience.

#14 Updated by Mario D over 1 year ago

Sorry, just seen the global/default setting in the General->Base tab.
But:
- I can't distinguish the tabs where I switched on a non-default level
- no way to restore the default (so global) level on all "weird" tabs

This fine-grain management looks overwhelming for the former goal. IMHO

#15 Updated by C vH over 1 year ago

I'm also a fan of a global level control like Mario wrote (at the moment unnecessary complex). The menu is nicely done !

A bit concerned about the location of the button (also the help button), inexperienced users higly need this button but they are far away :)

Another "problem" is the missing columns resulting in unnecessary spacing.

There is no need that enable, play etc columns are wider as the name of the columns (change it to fit the margin of the table names ? - would fit to the translation too).

#16 Updated by Jaroslav Kysela over 1 year ago

There is the global control - see your screenshot - first image - second field in the form - "User interface level". Just save it and you set the default level for all grids/form. You may override this settings also per user (see ACL).

For columns width - I accept patches!

#17 Updated by Mario D over 1 year ago

If you 'dirty" some tabs with a value different than the default one, there is no way to revert on the default value.

#18 Updated by Jaroslav Kysela over 1 year ago

Ohh, I see now. I think that it would be acceptable to reset the view level to the default when the tab is re-focused.

#19 Updated by C vH over 1 year ago

Jaroslav Kysela wrote:

For columns width - I accept patches!

A bit research shows that http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.grid.column.Column-method-autoSize would be perfect in addition to minWidth / maxWidth.

but ExtJS >4.2 - so lets delay this

#20 Updated by Jaroslav Kysela over 1 year ago

@CvH: be brave and override ExtJS class :-)
@MarioD: the level view state should be reset to default now... if you find another mismatch, let me know

#21 Updated by Jaroslav Kysela over 1 year ago

Also, if you find anything which should be moved between simple/advanced/expert settings (fields, columns) let me know, too. I went through all dialogs and grids, but most probably, I missed something.

#22 Updated by Prof Yaffle over 1 year ago

I wondered if there are entire tabs that perhaps belong in "advanced/expert", e.g. the stream filters or CA elements.

I can also see (build 4.1-1120~gda15d97) that the UI level on e.g. DVR -> Upcoming/Current Recordings only seems to set to the master level (Config -> General -> Base) on a web refresh or a "tab away and tab back" - so a tab refresh? That could be a quirk of extJS, though.

Re: comment above about ACLs... should "User interface level" be a visible column in the Access Entries tab? At least, it should be selectable - it should probably also appear if you set that view to "expert" (as you're now clearly playing with the levels).

#23 Updated by Mario D over 1 year ago

Prof Yaffle wrote:

I can also see (build 4.1-1120~gda15d97) that the UI level on e.g. DVR -> Upcoming/Current Recordings only seems to set to the master level (Config -> General -> Base) on a web refresh or a "tab away and tab back" - so a tab refresh? That could be a quirk of extJS, though.

Maybe you are talking about the feature introduced by Jaroslav in comment #18.

#24 Updated by Mario D over 1 year ago

Could I suggest to hide the local-to-tab switch control if the default/global level is set on "Expert"? Why an expert should be annoyed by this constant presence? "For testing and development" should not be considered a good counter-example.

#25 Updated by Prof Yaffle over 1 year ago

Mario D wrote:

Maybe you are talking about the feature introduced by Jaroslav in comment #18.

Sort of. You can reset the tab on a re-focus, but you need to tab away and back. If you simply switch back to, say, Digital Video Recorder and land back on the same tab (e.g. if you had Upcoming open last time), it will always have whatever level it had previously, even if you've changed it in General. Moving then from, say, Upcoming to Finished and then back to Upcoming and you'll then get the new level.

So yes, that could well be the same issue. I think :)

#26 Updated by Mario D over 1 year ago

Jaroslav Kysela wrote:

Also, if you find anything which should be moved between simple/advanced/expert settings (fields, columns) let me know, too. I went through all dialogs and grids, but most probably, I missed something.

Some pure suggestions:
- Configuration->DVB Inputs->TV adapters->any sat>ip tuner node: 'UDP RTP port number (2 ports):' should be moved to advanced;
- Configuration->Channel/EPG->Channels->edit on a channel: I would move 'Tags:' on basic level;
- Configuration->Channel/EPG->EPG Grabber: I would move on advanced all the settings using the cron-style for its nature;
- Configuration->Channel/EPG->EPG Grabber Modules: I would move all the priority settings under advanced;
- I would hide under advanced the entire 'Streaming profiles' tab or at least many of the details related to the codecs; a basic user should at most be able to enable/disable some of them but this could even create a lot of problem (changing the default profile...);
- Configuration->Stream: all the '* Filters' tab should go under expert (or at least advanced); no way a basic user can understand anything on these settings;
- 'CAs' and 'Debugging' tabs should be reserved to advanced users.

All IMHO

#27 Updated by Jaroslav Kysela over 1 year ago

@MarioD: all done (perhaps I overlooked something).

Tried to resolve the inconsistencies for the view level among tabs and forms and I wasn't successful, but I added 'persistent user interface level', so you may lock (remove) the level selection button/menu completely.

#28 Updated by Mario D over 1 year ago

Jaroslav Kysela wrote:

@MarioD: all done (perhaps I overlooked something).

With respect to my suggestions, some points are missing. I'm reporting them here, but maybe to decided to skip them:
- Configuration->Channel/EPG->EPG Grabber Modules: I would move all the priority settings under advanced;
- I would hide under advanced the entire 'Streaming profiles' tab or at least many of the details related to the codecs; a basic user should at most be able to enable/disable some of them but this could even create a lot of problem (changing the default profile...);

#29 Updated by Mario D over 1 year ago

I'm on 4.1-1128~g1a604ee build: if I switch 'User interface level:' on Basic (without persistent setting on), the interface is automatically reload but the level switch in set on 'expert' (but only basic tabs are shown).

#30 Updated by Jaroslav Kysela over 1 year ago

Mario D wrote:

- Configuration->Channel/EPG->EPG Grabber Modules: I would move all the priority settings under advanced;

I don't see priority settings in the basic level.

- I would hide under advanced the entire 'Streaming profiles' tab or at least many of the details related to the codecs; a basic user should at most be able to enable/disable some of them but this could even create a lot of problem (changing the default profile...);

Changed.

I'm on 4.1-1128~g1a604ee build: if I switch 'User interface level:' on Basic (without persistent setting on), the interface is automatically reload but the level switch in set on 'expert' (but only basic tabs are shown).

Fixed.

#31 Updated by Jaroslav Kysela over 1 year ago

  • Target version set to 4.2

#32 Updated by Jaroslav Kysela over 1 year ago

Wizard demo is committed. More work is required but the basic C code / ExtJS interactions are resolved.

#33 Updated by Jaroslav Kysela about 1 year ago

  • Status changed from New to Fixed

Initial wizard is finished now - the basic configuration should be straight now.

I'm closing this "huge" issue now assuming to fix the bugs and little extensions in separate issues.

#34 Updated by C vH about 1 year ago

tx for your work on this !!!

Also available in: Atom PDF