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

Rebuild menu items for Web, UPnP #2349

Open
tesshucom opened this issue Sep 5, 2023 · 0 comments · Fixed by #2473
Open

Rebuild menu items for Web, UPnP #2349

tesshucom opened this issue Sep 5, 2023 · 0 comments · Fixed by #2473
Assignees
Labels
in: UPnP Issues in UPnP in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement

Comments

@tesshucom
Copy link
Owner

tesshucom commented Sep 5, 2023

Prerequisites: #1879

This issue has a lot of work to do, so it will likely span several versions until it is finally resolved. Related subtasks and pull requests will be created accordingly.

Overview

  • Web Page menu items will be renewed
    • Left page (drawer) items will be recreated anew
    • Users can enable only the items they need from the settings page. Sorting and renaming will be also supported
  • UPnP Top nodes will provide similar functionality. Similar functionality will be provided, except for technically unacceptable.
Problem description

The web page hasn't changed much since Subsonic/Airsonuc. As a result, traditionally recurring complaints about the UI have not been resolved much. So how should we solve them. Well... the menu should be in place first and foremost. When you enter a restaurant, the first thing you do is look at the menu.

Of course, the ingredients and seasonings included in each dish are also important. But it all starts with the menu. The menu must include dishes that the restaurant offers. It's not like you can just order sushi at a prestigious French restaurant.

Current situation
  • Subsonic had a decent UI for its time. At least the era before that was much less sane, and the era before that didn't even have a UI. We can show some respect for that. Several improvements were made during the Air Sonic era.
  • Most of UPnP was developed after Jpsonic.
    • UPnP remains the most versatile protocol for performing media-related communications. It is impossible to achieve sufficient Player functionality using a browser. To get a fairly good playback experience, you'll need to use Supsonic's client or the more advanced UPnP Player. Alternatively, by diverting the download and cache functions attached to those existing apps, it is possible to indirectly link even with local players that do not have network functions. If you want essential features such as sound quality, battery saving, and gapless, this will be the main way to use it.
    • Therefore, Jpsonic places as much emphasis on UPnP as the Subsonic API. (The roles required of Web pages are also slightly different from those roles. Web pages are not given less weight.)
    • In Jpsonic's UPnP, Items similar to or complementary to the original Web Page Items were added. For example, ID3 browsing, etc.
  • Looking at the whole thing, there is something that somehow seems like that. However, it is quite chaotic.

Let's roughly categorize them. Items that exist in General classification are likely to exist as menu items in Music Player. It's something you see often. It would be nice if there was a browsing features that most users would intuitively understand when they click on them.

It's OK if you can use roughly the same functions on the Web and UPnP, support folders and ID3, and be able to server-side search full text in Japanese on the Web and UPnP. (If you can handle Japanese, you can probably handle other languages as well. Or maybe you can manage with a little arrangement.) That's all. It's not that difficult of a requirement, right?

image

  • What is marked to be IMPOSSIBLE does not mean abandoning possibilities. For example, if you are using it completely alone, there is no need to worry about account conflicts. On a limited basis, it is possible to provide these by specifying an account. You know that such highly unique tricky specs aren't a priority, right?
  • It doesn't mean abandoning what isn't here. It just shows the status quo. For example, the first thing that comes to mind is that Rating-browsing doesn't exist. It is not important right now to propose or announce such things. The problem is that there is no design that allows systematic management.
  • I think at least the top half of this table should be of the highest standard quality. If these are of sufficient quality, different viewpoints can be derived from them.
  • It is also important to note that Web pages and UPnP operate on almost the same Browsing specifications. They should be so seamless that you won't notice them. This is because there is a use case of editing on a web page and using it from UPnP.

Goal

It will likely span several versions until it is finally resolved.

  • Create a setting page that can control web page and UPnP menu
  • Link existing features and new menu settings
    • In the case of a web page, the link organization will be slightly different from Subsonic or Airsonic. If anything, please think of it as a transitional period where the menu structure/GUI will change to something similar to that found in general Music Players.
    • The number of items on the Home screen gradually decreases. To use from the menu.
  • Add Missing Web Pages or UPnP Processors
Non-Goal
  • Basically, existing Web pages will not undergo any major changes yet. That's another topic.
    • However, in reality it is not so easy. When setting the menu while considering the excess or deficiency of data relations, you will also need to consider the View to some extent.
  • Improvements and verification of background data CRUD are always prioritized. It will gradually improve to fill in the gaps.
  • Replace with React? Oh, I won't deny that, and I might do it if I feel like it. However, I don't think we should design a web page and replace it at the same time. If done simultaneously, it is difficult to estimate the total time, and the total period increases. If you make an estimate based only on the impression of the implementation part of React, I think the conversation will probably not go well. If someone could do it, it would have already been done.

Draft

  • In the future, you will probably need to redesign your web pages. Or it will be done if necessary. Listed here are web pages that would definitely need to be reimplemented if the menu structure was replaced.

image

Related

Examples of menus cited by users of Air Sonic in the past. Or related features. In order to avoid repeating the discussion, I will post links to past topics.

@tesshucom tesshucom added type: enhancement A general enhancement in: web Issues in web modules (web, webmvc, webflux, websocket) in: UPnP Issues in UPnP labels Sep 5, 2023
@tesshucom tesshucom added this to the jpsonic 113.0.0 milestone Sep 5, 2023
@tesshucom tesshucom self-assigned this Sep 5, 2023
@tesshucom tesshucom pinned this issue Sep 5, 2023
This was referenced Sep 5, 2023
@tesshucom tesshucom mentioned this issue Oct 23, 2023
4 tasks
@tesshucom tesshucom linked a pull request Dec 3, 2023 that will close this issue
@tesshucom tesshucom unpinned this issue Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: UPnP Issues in UPnP in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant