# New developer tool / app: Penny

**URL:** <https://forum.solidproject.org/t/new-developer-tool-app-penny/3837>\
**Category:** App Testing\
**Created:** [January 22, 2021, 9:09am UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837 "2021-01-22T09:09:49Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vincent](https://avatars.discourse-cdn.com/v4/letter/v/e9bcb4/32.png) [@Vincent](https://forum.solidproject.org/u/Vincent)\
**Post date:** [January 22, 2021, 9:09am UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/1 "2021-01-22T09:09:49Z")

</div>

Hi all! Last weekend while working on an app I got a bit frustrated that there was no easy way to view and change data in my Pod. So my side project for this week was a small app that let’s you do just that 🙂

With Penny, you can browse the files in your Pod, upload new ones, and most importantly, see and change the data in there. The goal is to help developers understand how to model their data in a Pod, and to debug issues when writing their own. In other words, this is a **developer tool** , i.e. not intended for regular users.

**Give it a try at [https://Penny.VincentTunru.com](https://Penny.VincentTunru.com)**

Let me know what you think, and if there’s anything that could make it more useful to you.

![Penny-demo](https://europe1.discourse-cdn.com/flex017/uploads/solidproject/original/2X/f/fbc2b82142d2ffe31e2c4dcedd266ab5e3d7c8ea.gif)

---

<div class="post-metadata">

**Author:** ![adventure](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/adventure/32/1152_2.png) [@adventure](https://forum.solidproject.org/u/adventure)\
**Post date:** [January 22, 2021, 10:01am UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/2 "2021-01-22T10:01:26Z")

</div>

I like it!!! As usual, great job! Are you able to incorporate mashlib data browser so that we can actually see the file?

---

<div class="post-metadata">

**Author:** ![aveltens](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/aveltens/32/3987_2.png) [@aveltens](https://forum.solidproject.org/u/aveltens)\
**Post date:** [January 22, 2021, 2:18pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/3 "2021-01-22T14:18:04Z")

</div>

Very nice and helpful tool! I am going to use it.

---

<div class="post-metadata">

**Author:** ![Smag0](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/smag0/32/310_2.png) [@Smag0](https://forum.solidproject.org/u/Smag0)\
**Post date:** [January 22, 2021, 4:54pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/4 "2021-01-22T16:54:02Z")

</div>

Great ! 👍  
Must just check width on mobile

 ![Screenshot_20210122-175222_Chrome](https://europe1.discourse-cdn.com/flex017/uploads/solidproject/original/2X/6/6bee6b8f7332cab5e82e6ded8eb91e964ed7a768.jpeg)

---

<div class="post-metadata">

**Author:** ![Vincent](https://avatars.discourse-cdn.com/v4/letter/v/e9bcb4/32.png) [@Vincent](https://forum.solidproject.org/u/Vincent)\
**Post date:** [January 23, 2021, 3:54pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/5 "2021-01-23T15:54:50Z")

</div>

Why must URLs be so darned long? But thanks for pointing it out, should be better now 🙂

---

<div class="post-metadata">

**Author:** ![Vincent](https://avatars.discourse-cdn.com/v4/letter/v/e9bcb4/32.png) [@Vincent](https://forum.solidproject.org/u/Vincent)\
**Post date:** [January 23, 2021, 3:56pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/6 "2021-01-23T15:56:46Z")

</div>

> Are you able to incorporate mashlib data browser so that we can actually see the file?

Integrating mashlib is not trivial and I doubt that it would look good, but I just added the ability to preview images and text files. Hopefully that covers some of your needs 🙂

(I might add the ability to edit data as raw Turtle as well at some point, but that’s not something I tend to do often, so probably not any time soon.)

---

<div class="post-metadata">

**Author:** ![RCD](https://avatars.discourse-cdn.com/v4/letter/r/ecccb3/32.png) [@RCD](https://forum.solidproject.org/u/RCD)\
**Post date:** [January 24, 2021, 11:33pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/8 "2021-01-24T23:33:45Z")

</div>

Hi, Vincent et. al. Newbie here. I’m getting up to speed on how Solid works and tried this tool.

How do I modify permissions? When I very first connected to Penny, I didn’t give it permission to read all the files in my pod.

I then added “[https://penny.vincenttunru.com/](https://penny.vincenttunru.com/)” to “trusted connections”. Penny still can’t read what’s in my pod.

It gives “An unknown error (403) occurred.” as an error.

How do I reset the permissions that it asks for in the beginning?

---

<div class="post-metadata">

**Author:** ![bourgeoa](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/bourgeoa/32/291_2.png) [@bourgeoa](https://forum.solidproject.org/u/bourgeoa)\
**Post date:** [January 25, 2021, 9:39am UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/9 "2021-01-25T09:39:35Z")

</div>

To help understand solid you could try [https://jeff-zucker.github.io/solid-ide](https://jeff-zucker.github.io/solid-ide)

---

<div class="post-metadata">

**Author:** ![Vincent](https://avatars.discourse-cdn.com/v4/letter/v/e9bcb4/32.png) [@Vincent](https://forum.solidproject.org/u/Vincent)\
**Post date:** [January 25, 2021, 11:18am UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/10 "2021-01-25T11:18:41Z")

</div>

Hi Ruben, that would be neat, but unfortunately it’s a bit too much work for me at the moment to figure out how to do that. Hopefully some day though 🙂

---

<div class="post-metadata">

**Author:** ![Vincent](https://avatars.discourse-cdn.com/v4/letter/v/e9bcb4/32.png) [@Vincent](https://forum.solidproject.org/u/Vincent)\
**Post date:** [January 25, 2021, 11:21am UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/11 "2021-01-25T11:21:01Z")

</div>

Hi RCD, good to hear you’ve tried it out! Unfortunately, as you’ve experienced, the app permissions process is currently still somewhat cumbersome in the software used on [inrupt.net](http://inrupt.net) and [solidcommunity.net](http://solidcommunity.net). There’s some documentation on how to fix that [here](https://github.com/solid/userguide#manage-your-trusted-applications). If you share the name of your Pod, I can probably give you some more detailed help as well, in case that doesn’t solve it for you.

---

<div class="post-metadata">

**Author:** ![adventure](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/adventure/32/1152_2.png) [@adventure](https://forum.solidproject.org/u/adventure)\
**Post date:** [January 25, 2021, 3:03pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/13 "2021-01-25T15:03:03Z")

</div>

@RubenVerborgh I am interested in seeing how this all works out, can you put the pieces together so we can all see as an example of what your proposing. It sounds like a great idea.

---

<div class="post-metadata">

**Author:** ![Vincent](https://avatars.discourse-cdn.com/v4/letter/v/e9bcb4/32.png) [@Vincent](https://forum.solidproject.org/u/Vincent)\
**Post date:** [January 25, 2021, 3:28pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/14 "2021-01-25T15:28:10Z")

</div>

Thanks for the detailed description Ruben. One question:

> [@RubenVerborgh](#):
>
> include any [assets](https://github.com/solid/community-server-mashlib/blob/2b8bbc3e3b8d4d928cc3ef113faad531457cf3ce/config-mashlib.json#L47-L54) Penny uses

Is there a way to just point to a directory of assets? Since their names change whenever their content changes to make sure the old versions aren’t loaded from the cache.

And as a note to self for creating the issue: one additional step would be to set up CD to publish to npm as well.

---

<div class="post-metadata">

**Author:** ![adventure](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/adventure/32/1152_2.png) [@adventure](https://forum.solidproject.org/u/adventure)\
**Post date:** [January 25, 2021, 5:34pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/16 "2021-01-25T17:34:04Z")

</div>

Thanks will take a look.

---

<div class="post-metadata">

**Author:** ![wagedomain](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/wagedomain/32/2221_2.png) [@wagedomain](https://forum.solidproject.org/u/wagedomain)\
**Post date:** [January 25, 2021, 8:01pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/17 "2021-01-25T20:01:43Z")

</div>

This looks pretty cool Vincent!

Is there any way to integrate this with shex, or other Shapes?

Only comment I have is the UI itself uses very large elements, which makes it hard to read larger data sets since it causes a ton of scroll. Tighter UI might benefit this, especially since it’s a dev tool and not intended for a community audience.

---

<div class="post-metadata">

**Author:** ![RCD](https://avatars.discourse-cdn.com/v4/letter/r/ecccb3/32.png) [@RCD](https://forum.solidproject.org/u/RCD)\
**Post date:** [January 25, 2021, 11:30pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/18 "2021-01-25T23:30:20Z")

</div>

@Vincent I’m not sure if you reset anything, but it appears to be working now. I wasn’t sure if it was a simple cookie issue at first.

All–is there any documentation on setting up VSCode? I’m set up for QT6 on Ubunutu 20.04 but have yet to circle back to web development. Solid would be a fantastic exercise to get up to speed with.

---

<div class="post-metadata">

**Author:** ![SharonStrats](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/sharonstrats/32/1441_2.png) [@SharonStrats](https://forum.solidproject.org/u/SharonStrats)\
**Post date:** [January 26, 2021, 2:59am UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/19 "2021-01-26T02:59:18Z")

</div>

This is awesome Vincent! I can even see my movies directory created by media kraken, which I couldn’t before.

---

<div class="post-metadata">

**Author:** ![Vincent](https://avatars.discourse-cdn.com/v4/letter/v/e9bcb4/32.png) [@Vincent](https://forum.solidproject.org/u/Vincent)\
**Post date:** [January 26, 2021, 4:23pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/20 "2021-01-26T16:23:52Z")

</div>

I’ve got two requests for being able to collapse Things already, which I think would help here. (Edit: collapsing is now supported.)

As for shapes: if they’re defined as RDF, you can modify shapes on your Pod already. Of course, a friendlier shape-specific interface could be added at some point (likewise for ACLs), but I don’t expect to get around to that any time soon unfortunately.

---

<div class="post-metadata">

**Author:** ![Vincent](https://avatars.discourse-cdn.com/v4/letter/v/e9bcb4/32.png) [@Vincent](https://forum.solidproject.org/u/Vincent)\
**Post date:** [January 26, 2021, 4:26pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/21 "2021-01-26T16:26:40Z")

</div>

Good to hear it’s working for you now! VSCode is getting a bit off-topic, but I’ve found it relatively straightforward, and otherwise it has [its own docs](https://code.visualstudio.com/Docs) that look fine too.

(And while we’re getting off-topic, be sure to check out my other side project from a while ago: [this VSCode extension](https://marketplace.visualstudio.com/items?itemName=VincentTunru.flatuscode) 😛 )

---

<div class="post-metadata">

**Author:** ![Vincent](https://avatars.discourse-cdn.com/v4/letter/v/e9bcb4/32.png) [@Vincent](https://forum.solidproject.org/u/Vincent)\
**Post date:** [November 12, 2021, 3:37pm UTC](https://forum.solidproject.org/t/new-developer-tool-app-penny/3837/22 "2021-11-12T15:37:07Z")

</div>

> [@Vincent](#):
>
> (I might add the ability to edit data as raw Turtle as well at some point, but that’s not something I tend to do often, so probably not any time soon.)

It was indeed not any time soon, but [the ability to modify Turtle](https://gitlab.com/vincenttunru/penny/-/issues/14) is here now. Scroll down to “Danger zone” when viewing an RDF Resource.
