5
9 Comments

Sharing HD/4K videos made easy

I've this idea on the back of my mind for a while now, it's an issue I often have.

You film a video with your cell phone then you want to share it. Fine, send via Whatsapp or whatever chat platform. The issue is: the video quality is reduced to nothing.

Really. I film in 4K 60 FPS and then whatsapp just throws away all the beauty of the video. Or it drops the level of detail so much that the video doesn't really convey the idea it should have conveyed.

People already have cloud storage in place

My videos are backed up automatically by Dropbox. I guess most people have something like that, could be different solutions like Google Photos or iCloud.
For Dropbox, I can easily get a shareable link of the video and share the link with anyone.

The issue with cloud storage

I can only tell about Dropbox as that's what I use. The user experience for the person receiving the link is completely awful. And I have a paid membership for Dropbox, which doesn't help making this better.

I made a short video showing how the user experience isn't good: https://youtu.be/gNm_FSZja-E

Btw, if you watch the video above, you'll realize that this is a good experience for sharing a video. That's because YouTube has a really good user experience. But youtube isn't the answer for this issue.

What is the solution

So this is where my idea hits. And that's where I ask for validation for y'all :)

The idea is quite simple, but the details are what really matter. It has to be, obviously, a software solution. The characteristics I think it must have are:

  1. Be dead easy for the sender of the video to share it via a link. It has to be a link because everyone knows how to open a link.
  2. Whenever someone opens the link of the video, it has to ideally open in a web browser. Forcing someone to install an app is just nuts, doesn't work for this idea.
  3. Opening the link must lead to a clutter-free user interface (unlike the dropbox link in the video above). The video has to be there and start playing immediately or with a single touch.
  4. The video must play. It must play. A loading bar must only be necessary if the user's internet doesn't allow for consistent streaming, but the blame should never be on the server side. Think of the last time you waited for an YouTube video to buffer before playing -- it just doesn't happen.
  5. The video played must not be downsized in quality, unless someone tells so. This could be the receiving end (if buffering becomes an issue, they can choose to view in lower quality). It could also be in the sender end -- the person would then tell, when sharing the video, whether it's OK or not for the video quality to be automatically adapted for the viewer (for instance, based on their internet speed).

Final thoughts

I'm myself a software developer and I undestand how much processing power if needed for processing video and also how much storage is required to store it.
Given that, this would hardly be a free product. No idea on how to monetize that yet apart from the obvious which is to charge the one sharing the video.

Also, this ideally would not be a video storage/backup solution. It would require the videos to be somewhere (Dropbox, Google Drive, iCloud, etc). But having a storage solution could possibly be a business model itself.

So, what do you folks think of this idea?

on June 28, 2021
  1. 2

    This will run very soon into a storage or storage cost issue. Why do you think WhatsApp, Instagram, Twitter and so on compress the shit out of your video? Simply because the storage cost would spiral out of control. 4k 60fps even if it is less than a minute and with semi aggressive compression will take up double or tripple figure of MBytes of space. So where are you going to store all those potential PetaBytes of data unless you have a very short retention time (like snapchat)

    1. 1

      You are absolutely right. I think that's actually the main difficulty in terms of how to monetize the product in a way that it still can be profitable.

      It's hard because I'd guess that people wouldn't like to spend much money on that but yeah, video, especially with high quality, FPS and also high compatibility (speaking of codecs), just takes a lot of storage space.

      slightly technical section:

      The approach I'd go with would try to storage as much data as possible in a storage the user already has. That could be, like I mentioned, something like Dropbox or Google Drive. The idead would be that the user actually needs to have a storage elsewhere -- or the user could purchase storage separately with this product if they don't want to use a third party thing.

      I've played quite a bit with Dropbox's API in the past (as that's what I mostly use) and I found that uploading/downloading things using their API is actually quite fast, faster than the Dropbox client that one installs in their computers.
      If that's fast enough (not only dropbox, but also e.g. google drive or others), that could be a solution to store videos in the long run and then store in my own infra only a "cached version" which is ready to serve.

      For instance, let's say the user shares the video today. They would then upload it to dropbox (I'll use dropbox for the sake of the example). Then they'd go to my product and say they want to share that dropbox video (my product would be integrated with dropbox). Then my product would, in its servers, download the video via dropbox API and process it (e.g. re-encode for high compatibility and to decrease size while keeping quality). That final render of the video would then be kept locally (in my product's servers) and be uploaded to the user's dropbox, in a special folder managed by my product.
      The file would be kept locally and that's the file that'd be served whenever someone wants to watch the video. It would only be kept locally until the server detects (yes, a smart algorithm is necessary here) that nobody is watching that video very often anymore. It'd then delete the local video and just keep the copy at dropbox. Then when someone later on comes to watch the video, it'd copy the already processed video from dropbox again and store locally to serve it, then eventually delete it from the local cache again.

      This is just one of the possible solutions, of course. I'd actually have to run some tests to collect some data to estimate how viable that is.

  2. 2

    Sounds great, I like the idea.

    Let me play Devil's advocate for a little bit and see if some of these questions can help your idea process:

    • What does your app do differently than Youtube?
    • What would be different than creating an unlisted youtube link and sharing it with friends and family?
    • Have you ever created video web apps?

    Just trying to give you some ideas.

    1. 1

      hey thanks for the feedback.

      The main difference from YouTube for instance is the ease and lean UX. That includes ease to upload the video and choose the quality it will be shown. Also includes the ease of use for the one who's watching the video.

      I think the details matter and a lot of them are only on my mind right now and I'd have to do a more thoroughful work of writing them down so the differences become more easily explainable -- while also helping myself to visualize them.

      But in the end, user experience is the main focus.

  3. 2

    I would totally use something like this!

    1. 1

      Cool to know that! If I may ask your opinion: what do you think would be the single most important thing?

      1. 2

        Well, I like to make videos every once in a while and they are usually five minutes, 1080p60fps

        Making it easy as possible for the other people to receive is the most important.

        1. 1

          That what you said is exactly what I also do and find a hard time sharing those videos without losing quality.

          And losing quality comes in two ways: one is the platform now allowing high quality (e.g. most chat apps will re-encode and decrease quality) but the other one is the person receiving the video not knowing much about video things (e.g. resolution or FPS) and thus now knowing they're actually watching a low quality by accident.

          It's because of the latter reason that I think focus on User Experience matters so much!