Future work for gaideo.com

I have really enjoyed working on this project and I have several ideas for ways to add more value to what is currently built. I would like to get a basic idea on the most interesting thing to start with from the community before writing up the full grant request. I can post this in the discord chat as well but here is a list of items I think would be good to focus on:

  • Separate re-usable code into their own repositories

    • gaia-video-player,
    • video encrypt/transcode utilities
    • library for saving files to gaia that allow for searching and sharing with others (this might need to be worked out with existing solutions like Radiks)
  • IOS web view application to support running on an iPhone. Currently there is a problem showing encrypted videos on IOS since it does not support Media Source Extensions. An IOS web-view application would allow for intercepting requests to the media files including the key file which we could then request instead of the “browser” and decrypt using our stacks application private key

  • More configuration for video transcoding. Gaideo makes a lot of assumptions about the quality of video that gets transcoded in order to optimize transcoding time. Currently videos that have a vertical resolution higher than 720 will get set to 720 during transcoding. We can make this more flexible in the profile settings allowing the user to pick the quality they want.

  • Create comment/emojii section for media. There is no way to respond to another user’s media and let them know what they think either with a comment or emojii. This feature has its own challenges since each comment/reaction would be owned by the user in their gaia storage and would need to be aggregated together

  • Desktop app (electron?) for backup/restore, native ffmpeg. A native application would allow for better access to third party tools like ffmpeg and direct file system access. Transcoding/encryption could be performed much faster in this mode and the user would be able to backup/restore all of their gaideo.com media which would open up offline sharing support for their media files. If Gaideo ever got taken down people could have backups of all of their data in a format that would still be usable on other domains using the same Gaideo source code or simply view locally on the native application.

1 Like

The question was asked by dan:

have you looked into using Radiks for the social/sharing parts? Also, I think you mentioned being able to share audio as well. I might be making that up, but we tried last week and it wasn’t working. If audio sharing is not on the roadmap, is that something you can add?

I initially considered using Radiks but it was a server-based solution. The architecture that I favored so that I did not have to host anything other than the React app was to use only Gaia for persistent storage of data. Inside of Gaia there are various index files which are maintained by the client application. For quick access and searchability, the pointers to information are aggregated into the browser’s indexdb using a background web worker. I would like to explore a way that we could merge the two solutions together so that application developers have one place to go to solve problems like this but with the flexibility to avoid having to host a server-based solution. I think that could be part of a new grant application if that is something that makes sense to everyone else.

Gaideo never has supported audio files, but is built in such a way that it would be fairly easy to add. I think it would need its own section called Music to go along with Videos and Photos. But yes that is something I could focus on for the next grant depending upon what the general consensus ends up being.


I would like to see a better support for sharing with my contacts! Which would me bringing collections back to Connect: https://github.com/blockstack/ux/issues/321

Furthermore, I would like to use gaideo as a subscription platform for e.g. educational Clarity videos.

  • Users buy a friedger token which is similar to be mutual friends.
  • As long as we are friends they have access to my private videos.
  • Would it be possible to share a gaia video bucket with a co-creator so that two people can upload to gaideo?

I love the idea of having a domain agnostic way to store user’s data. I have looked at the collections work a bit but not sure if the intent of that code is the same as what I would like. What I would really like is for the app to optionally dictate a custom name instead of the domain name. In this way the user would always be able to see their data as long as they were running gaideo code. It could be hosted on other domains or run locally on their machine.

I think this would require a small change to the blockstack set of libraries to support. And there may be some security issues with doing something like this, but hopefully not since you still have control as a user of your data. The storage bucket would be defined as a combination of the custom name from the app and the user’s private key. Collections seems like it is designed to support a flavor of this use case but with strictly defined structure for the data that is stored which can be limiting to an application’s needs.

I think gaideo should already support a scenario where you can charge a subscription fee (separately from gaideo), and then you add the subscriber as a friend to a user which publishes your private/encrypted content. If the subscription is no longer valid, you can remove them as a friend and they will no longer be able to see your content.

I am not sure if you were wanting a more automated approach to the friend/unfriend process based upon some external subscription event.