big optimization

in #steem7 years ago

Things are moving really quick behind the scenes for DTube. I have been away from my work computer for almost two weeks (with SteemFest and stuff), so when I came back I realised the two other devs @hightouch and @superkoala had done a lot of work on their own. It's only been a month since 0.4 and I'm happy we can keep the pace in developing DTube into a stable project.

DTube is obviously a major player in the STEEM blockchain ecosystem, there is no denying that. I receive countless random thank you messages on both steemit.chat and Discord on a daily basis for my work on DTube. When I asked at my DTube presentation at SteemFest who knew about DTube, it looked to me like everyone in the room raised their hand. That's pretty rewarding. I am confident that this new version will be the most stable yet to use for everyone. Version 1.0 isn't so far away anymore as only a few items of my original roadmap are left.
Jussi

I woke up yesterday and DTube was broken. The steem node we were using in 0.4 had just died apparently. So we decided to patch a bit earlier to 0.5. DTube now uses Jussi just like steemit.com does. Every page will load faster in general :)

This is a great performance improvement for DTube, so thank you @steemitdev for putting Jussi into production recently succesfully!
New Upload

There is nothing that destroyed the DTube experience like waiting 30 minutes for your upload and receiving an error message. Ever since 0.1 I have received countless hate messages because of the bugged uploads. Even @dollarvigilante mentioned it during his SteemFest 2 speach. :facepalm:

The new uploader should fix that problem. This part of DTube is completly open sourced, so you can inspect how it works and what happens to your files if you want: https://github.com/dtube/ipfs-uploader

On top of that, the new uploader adds a bunch of new features:

Server-side encoding to 480p

A big problem for DTube was the complexity of converting a video to the proper format for a random user. Our new uploader does that for you, by creating a new web-compatible 480p encoded video file from your original file upload. That file will properly play in every browser, and load quickly even on a potato internet connection.

This was a much needed feature. Not only a lot of users are uploading videos that have an improper format for the web, a lot of users have a low bandwidth and cannot properly stream the source file.

I personally believe this feature is the best optimization we could do for DTube. It fixes the two biggest issues at the same time.
Queuing System

If I'm correct, you shouldn't encounter it too often, at least with our current upload volume. But basically the new uploader will make you wait before encoding your files and dumping them on IPFS. This will make the upload process much more reliable and easier to reproduce issues when they inevitably happen.
100% Power-Up

You can now power-up 100% of your rewards through DTube. Just click the 'Advanced' button in the new uploader and enable the power-up. Get that fancy icon on Steemit.com to show you are a supporter of the STEEM blockchain.
Choose your Steem Article

Instead of requiring you to go to steemit.com to edit your article, you can now directly do that inside DTube. If you want a custom Steem Article (that doesn't get generated from your video description), you can now do that in the advanced part of the upload page.
Let's talk about tags

Tags are a needed functionality for DTube right now. Everything displayed on DTube needs to have the 'dtube' tag. If we want to make tag browsing possible, we need to have special 'dtube-xyz' tags to be able to fetch the newest, hottest and top trending for this tag. This is why all your tags were messed up when using DTube.

Tag Input is now much more clear

A lot of users have complained how the tags get modified and they do not get added to the normal tags, and they had to edit through steemit.com. Now your normal tags are also added, at the price of creating more than 5 tags sometimes. For instance, if you use 3 tags on DTube, then you will end up with 7 tags in total (dtube, tag1, dtube-tag1, tag2, dtube-tag2, tag3, dtube-tag3). This is actually possible to do in the blockchain, and while waiting for the community feature, there is nothing else we can do to make tag browsing possible in a sane way, i.e. without relying on a 3rd party database.

Update 1am: Actually we changed that again to limit it to 5 tags, it was creating some bugs where some videos wouldn't get displayed in new videos. :(
Edit your video

This was a hugely requested feature, and it's finally here! To edit one of your videos, just head to your video and there should be a blue 'Edit' button. It took us this long to introduce this because it's so closely related to the upload page that we had to do both at the same time. And sorry for all typos y'all couldn't fix :)

By the way, if your video is more than 7 days old, then you won't be able to edit your video. This is a limitation of the STEEM blockchain and not much can be done about it.
Switching to different quality in the player

Available as a small button in the control bar of the player. Of course, the source file will remain available as before as the default. Switching between qualities isn't automatic yet, so if you encounter a source file that doesn't play, I invite you to try to switch to the 480p version.
Video Duration shown on the picture

Another basic feature for most video platform websites: displaying the duration of the video on the snap picture. Basically you now know how long a video lasts before clicking it. Convenience for all.
Optimized UI/UX

While 0.4 greatly improved the mobile experience, this patch goes even further. The player now takes the full width of your screen if you are watching on small device or half of your computer screen. By the way all devices and resolutions will be able to adjust pages to get a proper render. We will keep working hard on it to propose the best user experience to everyone. We also made some changes on UI and the general look is approaching what we want.

Channel Page improved

The channel page went through a few changes that are probably only temporary. We now display your cover picture (thanks to img.busy.org) like steemit.com does, and you can subscribe from the page. It's still lacking a bunch a features but it will come :)
Persistant Volume

DTube now remembers your volume settings and keeps it at the same level, instead of turning it back up to 100% on every new video. This is something that is going to improve greatly the comfort while browsing DTube, and I'm unsure why that wasn't done earlier.
Video Description limited in size

Steemians have a tendency to write a lot of text in the description of their DTube videos. That is not a problem anymore, as only the first few lines will be displayed. Users will need to click the 'More' button to read the full description. This will greatly increase the visibility of top comments.
Hidden sub-comments

This is something we are testing in DTube. Instead of showing all comments by default, it will only display the top level comments, and you need to click to open the replies. Again, increasing the visibility of top comments. If you have the #2 comment on a popular video, it doesn't get hidden by the worthless replies to the #1 comment.

This change, if everyone likes it, would also help us move away from the nasty get_state call on the API. This call is very heavy and loads a lot of useless information, but we need it to fetch all comments from a video (and that's how every app does it)
Bug Fixes

We actually introduced a lot of bugs in 0.4 by adding too many UI changes too quickly. This version solves most of the common bugs that were reported, such as the grey screen, the player refreshing after an upvote or comment, etc. If you still encounter some weird errors while using DTube, please keep the bug reports coming. Doing a quick DTube video is a nice way to showcase your bugs.

Final Words

Overall, I am really unsure where DTube will be heading in the future, so the conclusion to this article will be a bit longer.

I said in my previous article that I would publish about the DTube SMT plan, but after coming back from SteemFest, and after talking with interesting persons and learning so many new things, I actually came back home more puzzled than anything on my plan for DTube.

On the budget side, I am not able to pay developers for what they are really contributing yet because all our income is in Steem Power and takes a while to power down. Also we need to pay 3rd parties (AskSteem and IPFS Store) for their services with this income. On top of that, we finally got a dedicated server for DTube that will cost a bit every month. Of course, it would be easier to have money if SMTs were a reality already...

All I am sure of right now, is that whenever Smart Media Tokens go out, the DTube Token will be created. And I want it to be a pretty fair start, unlike the token we are currently using ;-) I also want to reward current DTube users with tokens, in exchange for providing our current small income (content creators as well as curators).

We have been focusing a lot on improving the product. The whole DTube 'Staff' is developers. And I believe this was normal for this project where doing videos right is actually a bit complex and requires a little thinking before coding.

From this version, if the new uploader works smooth and all videos load (which should be the case considering IPFS improved greatly past few versions), I believe we can start doing some 'marketing' and accelerate the growth of DTube.

Recruiting popular YouTubers into DTube and grow the STEEM userbase really quickly. I noticed a recent example of that when a popular French YouTuber talking about crypto @hasheur recently started posting on DTube, a lot new french speaking users joined SteemIt (and DTube probably).

I am thinking about how to give reasons to steemians to upload and upvote DTube videos. We can see nowadays how many people have suddently started using Utopian (mostly producing translations or suggestion ideas), because of the huge delegations received after @elear announced his plan to redistribute beneficiary rewards to delegators. I am thinking of creating a similar system for DTube, but right now we cannot afford to send back our income to other people...

As usual, feel free to vote and comment about your ideas, suggestions, bug reports, questions, if you like our new pictures for this article, or whatever you'd like, I will try to answer all relevant comments in the upcoming days

Coin Marketplace

STEEM 0.23
TRX 0.26
JST 0.040
BTC 98098.76
ETH 3483.62
USDT 1.00
SBD 3.27