Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
UPnP Search and MinimServer 0.8.1
02-01-2014, 18:21
Post: #1
UPnP Search and MinimServer 0.8.1
Firstly, a big thank you to Simon for implementing UPnP Search in version 0.8.1. When he first announced that this would be a new feature, there was a pretty enthusiastic response, but I don't think that anyone has mentioned the capability since 0.8.1 was released. Perhaps that is because there's not a lot to mention; as far as I can see, at the server end UPnP Search just works. I have enough experience in programming to know that things that just work usually represent a significant achievement, for which the programmer, in the nature of things, rarely receives the thanks that are due.

I'd like to know what experience other users have had with UPnP Search on MinimServer. The user guide says only that

"If your control point supports UPnP Search, you can use your control point to do full-text searches of the contents of your MinimServer library."

I have tried this with Bubble DS, foobar2000/foo_upnp and UPnPlayer, and it works (with the expected differences between control points) with all of them. However, it does appear that control points impose significant limitations on what can be done with the search capability. The following results are from Bubble DS, which has what I consider to be the most useful and user friendly search output of the applications I have tried (I imagine that Bubble UPnP would produce the same output).

If I use a search string that gets a large number of hits (I used 'sym' with a mainly classical collection), Bubble DS gives me results categorised into 5 lists: 'Albums: title', 'Albums: artist', 'Artists', 'Tracks: title' and 'Albums: artist'. Each of these can seemingly be the start point of a browse tree, though usually the filter effect of the search will mean that the tree is quite limited in scope (if only only album has matching results, only that album, and not the lists, will be shown); there are other differences from the ordinary browse tree, for instance the 'Complete Album' option does not appear.

It appears that the search is done only on the album, track title and artist fields, and I have not identified any syntax to search particular fields (e.g. composer = "Bach"). From statements in the Bubble DS release notes, I gather that these are limitations of Bubble; I don't know whether they are also, in any way, limitations of MinimServer. The on line product description of Asset UPnP (which I have tried in the past, but don't use) suggests that it can support searches on a wider range of fields, but presumably this is also limited by control point capabilities.

The capabilities I have described are a very useful addition to my system, but it would be nice if the search could be extended to cover all indexed fields. Do others have any views or experience they wish to share?

David
Find all posts by this user
Quote this message in a reply
02-01-2014, 19:12 (This post was last modified: 02-01-2014 19:12 by simoncn.)
Post: #2
RE: UPnP Search and MinimServer 0.8.1
(02-01-2014 18:21)DavidHB Wrote:  The capabilities I have described are a very useful addition to my system, but it would be nice if the search could be extended to cover all indexed fields. Do others have any views or experience they wish to share?

David

The support in MinimServer is intended to handle the queries sent by all control points that I know about. If a control point sends a search query that MinimServer can't handle, MinimServer will return a null result and will display a warning message in the log. I'd be interested to hear about any such cases.
Find all posts by this user
Quote this message in a reply
02-01-2014, 19:20
Post: #3
RE: UPnP Search and MinimServer 0.8.1
simoncn Wrote:  The support in MinimServer is intended to handle the queries sent by all control points that I know about. If a control point sends a search query that MinimServer can't handle, MinimServer will return a null result and will display a warning message in the log. I'd be interested to hear about any such cases.

This would imply that the limitations are indeed at the control point end. Is my description of them consistent with your more extensive research?

David
Find all posts by this user
Quote this message in a reply
02-01-2014, 20:17 (This post was last modified: 02-01-2014 20:48 by simoncn.)
Post: #4
RE: UPnP Search and MinimServer 0.8.1
(02-01-2014 19:20)DavidHB Wrote:  This would imply that the limitations are indeed at the control point end. Is my description of them consistent with your more extensive research?

David

Yes, it seems consistent, bearing in mind that I have been more focused on what queries are issued to the server than on how the results are presented to the user.
Find all posts by this user
Quote this message in a reply
02-01-2014, 20:42 (This post was last modified: 02-01-2014 20:44 by bubbleguuum.)
Post: #5
RE: UPnP Search and MinimServer 0.8.1
Search requests are indeed dependent on the Control Point.

BubbleDS / BubbleUPnP emits several predefined search requests that will probably cover 95% of a user's need.

UPnP allow arbitrary search requests such as "give me all albums between 1980 and 1985 whose genre is classical or punk".
Theorically, a control point could give the user the ability to build its own requests, possibly as complex as he wants. In practice no control point does it because:

- it is not user-friendly, especially on mobile devices where things are kept simple. You'd have to present a form to build search requests.
- most media servers do not implement UPnP Search or implement it partially or not correctly (this is slowly changing)

Speaking of foo_upnp searching MinimServer, current version only searches track titles. I will release a newer version soon that searches many more tags besides titles presented a single result list (unlike BubbleUPnP).
Find all posts by this user
Quote this message in a reply
02-01-2014, 23:09
Post: #6
RE: UPnP Search and MinimServer 0.8.1
Thank you, bubbleguuum, for this very useful input.

(02-01-2014 20:42)bubbleguuum Wrote:  Search requests are indeed dependent on the Control Point ... BubbleDS / BubbleUPnP emits several predefined search requests that will probably cover 95% of a user's need.

I agree that the current capabilities of Bubble DS meet most if not all the needs I have at present. But often the capabilities that are most used are ones users never knew they had a need for ...

Quote:UPnP allow arbitrary search requests such as "give me all albums between 1980 and 1985 whose genre is classical or punk". Theoretically, a control point could give the user the ability to build its own requests, possibly as complex as he wants. In practice no control point does it because:

- it is not user-friendly, especially on mobile devices where things are kept simple. You'd have to present a form to build search requests.
- most media servers do not implement UPnP Search or implement it partially or not correctly (this is slowly changing)

I take the point, but hope that, as servers support search better, control point UIs could evolve (1) to allow searching of more of the browse tree presented by the server and (2) to enable users to search on more than 1 term (that is with logic like 'composer IS "Beethoven' AND title HAS 'Symphony"). An optional form for the more complex searches need not, I think, be massively user-unfriendly. Mobile device apps often take 'simplicity' to the point where they use all usefulness, though this is very much not the case with Bubble DS.

Quote:Speaking of foo_upnp searching MinimServer, current version only searches track titles. I will release a newer version soon that searches many more tags besides titles presented a single result list (unlike BubbleUPnP).

This is good news. I mostly use my tablet for normal listening, but like to have foo_upnp on hand for test purposes, and for occasional listening via my PC.

David
Find all posts by this user
Quote this message in a reply
02-01-2014, 23:18
Post: #7
RE: UPnP Search and MinimServer 0.8.1
(02-01-2014 20:17)simoncn Wrote:  ... it seems consistent, bearing in mind that I have been more focused on what queries are issued to the server than on how the results are presented to the user.

Thank you. Your point of view is understandable, but of course users' perceptions of MinimServer's handling of the queries will depend on the way the results are sought and presented by the control point. Is collaborative effort between like-minded application developers too much to hope for Smile ?

David
Find all posts by this user
Quote this message in a reply
06-01-2014, 20:38
Post: #8
RE: UPnP Search and MinimServer 0.8.1
Nowadays, the experience you get when doing a search is Google is the reference for most of us.

But this is (understandable) not yet the case when doing a UPNP search (I use BubbleUPNP). Example:

I have a music track that has the following tags:

Artist: English Barok Soloists; Monteverdi Choir
Album: Bach - Cantatas, BWV 106, 118b, 198
Composer: Johann Sebastian Bach
Conductor: John Eliot Gardiner
Title: Cantata 106: Chorus: Gloria, Lob, Ehr und Herrlichkeit


Taking the Google experience into account, I would expect to find this track if I search on "bach 106", but I don't.

Also when doing a search on "gardiner 106" I would love to find this track, but I don't.


So any functionality that could help to do searches like this would be highly appreciated. Maybe there are also options to create custom tags that are a concatenation of all other tags and which can be the basis for such queries? Help is appreciated!
Find all posts by this user
Quote this message in a reply
06-01-2014, 20:57 (This post was last modified: 06-01-2014 21:14 by simoncn.)
Post: #9
RE: UPnP Search and MinimServer 0.8.1
(06-01-2014 20:38)Zee Wrote:  Nowadays, the experience you get when doing a search is Google is the reference for most of us.

But this is (understandable) not yet the case when doing a UPNP search (I use BubbleUPNP). Example:

I have a music track that has the following tags:

Artist: English Barok Soloists; Monteverdi Choir
Album: Bach - Cantatas, BWV 106, 118b, 198
Composer: Johann Sebastian Bach
Conductor: John Eliot Gardiner
Title: Cantata 106: Chorus: Gloria, Lob, Ehr und Herrlichkeit


Taking the Google experience into account, I would expect to find this track if I search on "bach 106", but I don't.

Also when doing a search on "gardiner 106" I would love to find this track, but I don't.


So any functionality that could help to do searches like this would be highly appreciated. Maybe there are also options to create custom tags that are a concatenation of all other tags and which can be the basis for such queries? Help is appreciated!

The limiting factor here is the UPnP Search specification. A UPnP Search request for 'bach 106' will return only items containing the string 'bach 106'.

As I understand it, the "smart" searches provided by Google require a large warehouse full of computers with power consumption equivalent to a small city. Doing this on a 1.2 GHz ARM NAS would be a huge challenge, to say the least!

An alternative approach would be for the control point to send a UPnP Search query for ('bach' and '106') instead of 'bach 106'. This should produce the results you expect. I'm not aware of any control points that do this.
Find all posts by this user
Quote this message in a reply
06-01-2014, 21:04
Post: #10
RE: UPnP Search and MinimServer 0.8.1
Thanks Simon.

Indeed, if only the control point could translate the "Bach 106" query into a "Bach" AND "106" query it would be a big help. Then this query should also be launched against all the tags. This would enable me to find the aforementioned track by searching on "Gardiner" AND "106" because "gardiner" is only tagged in the conductor field and "106" in another tag (title and album).
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)