Media Kraken: keep track of your media in your POD

I suggest you err on the side of giving too much information. For a few reasons. First you can give a simple message, like “Sorry I couldn’t read your movie collection”, then a short but more technical “Network error loading https:…” and then if you have one a stack dump or whatever you have you can throw in which will give you and geeks a chance to figure out what is going on when you only have what the user reported. Remember also some users may not understand the tech at all, but they will recognize when the same thing happens again, and be able to build a map of where they can go and not go, and they will compare notes with friends and they will google it even if they don’t understand it and find others who done the same and found a way around it. My 2cents about good deep error messages anyway

2 Likes

Great app. I like this because it is works, and looks nice and I gather uses the type index. I like it is as it a great example of an app which combines a bunch of public data in IMDB with my private data to great effect. I hope other follow your lead with other things like say a public list of educational institutions as data to build my Curriculum Vitae, and so on.

One easy-to-fix things is the app has an RDF data file, like a catalogue card, for each movie in my collection, but in that file it confuses the movie and the catalog card. Best to use movies/Jaws as the URI of the card and say movies/Jaws#this or movies/Jaws#theMovie as the URI of the actual movie. The solid server gives information about dates for the card which are quite different from the dates for the movie.

4 Likes

Yes thank you, I’ll refactor all the error handling in the next iteration and I already have a couple of ideas in that direction :). Basically, basic error for users with a “view more” button for experts. And also better error handling overall, because I mostly catch errors and say “something went wrong”, so there’s a lot to improve there.

Thank you! I’m very glad to hear that :). I am using tmdb.org instead of IMDB because they don’t have a decent API, the top 100 IMDB movies is just something I did manually for the onboarding.

I see, this is something I was already aware of but I didn’t completely understand why, I thought it was just a convention to use #it. It makes sense though, I’ll keep it in mind :).

2 Likes

Hello! I work on GlitchTip.

I pulled Media Kraken, ran it locally, and through artificial means (changing this.$media.movies to {} in allMovies() in CollectionPage.vue), got it to report an error to GlitchTip.

If you show me a more realistic way to trigger an error, I’d be happy to take a look at it. We’re still working out kinks with SDK compatibility, so it’s possible that something might need to be fixed.

2 Likes

Hello @TallBlondeGuy, thanks for reaching out! I’ll give it another try and let you know how it goes. I’m currently on holidays so I’ll get back to you in a couple of weeks.

#{indexical} isn’t a superficial convention, that is the heart and soul of what enables the Web’s core magic. Basically, it’s the concept of indexicality via an HTTP URI.

What’s the Web’s Core Magic?
Use of the HTTP protocol to fashion unambiguous names for anything. Thus, if you simply stick to naming things unambiguously (like you do in the real-world) good stuff happens :slight_smile:

Simple example:

A single hyperlink offering powerful name->description indirection :slight_smile:

1 Like

I added the following to the Private Type Index associated with my pod, as per:

@prefix solid: <https://www.w3.org/ns/solid/terms#>.
@prefix schema: <https://schema.org> .
<>
    a solid:TypeIndex ;
    a solid:UnlistedDocument.
<#myMovies> a solid:TypeRegistration;
    solid:forClass schema:Movie;
    solid:instanceContainer </movies/>.

And it now works i.e., I can see my movies etc…

I would suggest you add an example to your setup notes so that folks can “cut, paste, and adapt” for their use :slight_smile:

I play some more!

Wasn’t this added to the type index when you started using the app? It should happen automatically, if it didn’t it was a bug.

It didn’t happen automatically, which is what tripped up my initial on-boarding experience. Creating it manually resolved the issue.

1 Like

I just released a new version with a bunch of updates. There isn’t any new features nor dramatic UI changes, but I’ve applied many of the suggestions in this thread :).

I’ve improved error handling overall, and I’m showing more debugging information now. @happybeing if you still want to try the app this version should give you more details about the problem. I think I saw your issue in Sentry and it was related with a malformed document. I’ve also implemented ignoring malformed documents, if that was the problem you should be able to use it now.

I’ve also refactored the way that resources are created, and I’m using the #{indexical} convention. Upon booting up, the application will ask for permission to run a migration script that will update the documents from your POD. This would also fix the app for solid.community users, given that the POD domain was hard-coded in previous versions.

You can read more about it in the release notes.

4 Likes