NoelDeMartin/media-kraken

Allow me to share my movie collection with a URL for the view of it

Closed this issue · 2 comments

timbl commented

Allow me to run the app specifically pointed at my collection, no matter who is logged in

Maybe like

https://noeldemartin.github.io/media-kraken/?collection?collection=https://....

Hey, thanks for opening an issue!

I suppose this would work with public documents, right? In that case, the input would be a url to a Solid POD and I could read the public type index. As it stands now, all the movies are stored in the private type index by this application, but of course other applications can change the permissions.

Ok, I could look into this :) I suppose I only need to move some code around, hide all the functionality related with adding/removing/updating movies, and create a new user friendly page to access this functionality. Maybe the url could be /media-kraken/browse?collection=http://... to avoid conflicts with the authenticated pages.

What worries me, though, is what I mentioned in this forum thread. There are performance issues with node-solid-server, and the application isn't really usable without caching. For large collections, the initial log in is excruciating. In my collection with 1464 movies, it takes 2 minutes on desktop; an eternity on mobile. And considering that this feature wouldn't have authentication, I don't think it makes sense to use caching. So every refresh would suffer from this, and that makes this feature only usable for small collections.

But it is interesting. One idea I had in mind was to share lists publicly, once lists are implemented. This could be related to that. I'll keep it in mind when I start working on new features!

TLDR: Check out the Media Kraken Viewer.


I am still planning to implement lists and sharing capabilities at some point, but until I do that I've decided to implement an intermediate solution. I'm calling it "Media Kraken Viewer", and the idea is that this would be used to share collections with anyone who's got the link, in a read-only fashion.

I think this is only useful for advanced users, because you need to create a separate container with the movies you want to share and make it publicly readable. Here's a little tip for anyone who wants to do that: Media Kraken uses the first container that is registered in your private type index as a solid:instanceContainer for schema:Movie. So you can create a new container and add it to the type index to manage this public collection. In addition to the data that's created with Media Kraken, it's important that you update the rdfs:label and rdfs:comment of the container because those will be used in the viewer.

If you want to see an example, here's a collection of my favorite movies: https://noeldemartin.github.io/media-kraken/viewer?c=https%3A%2F%2Fdata.noeldemartin.com%2Ffavorite-movies%2F

As always, I'm open to feedback so let me know if there's something I'm missing to make this better :). I plan to move this into the user-facing parts of the application at some point, and it'll be possible to share collections with specific people (by asking them to log in with their Solid account). But that requires some refactor and I prefer to wait until I tackle the lists feature. I hope this is useful until then.