DTube 0.8: The grand upgrade is finally here. DTV, DTalk, VIP system, etc

in #dtube5 years ago (edited)

Version 0.8 took a while, this article will explain why. But it comes packed in with a lot of new things that were highly requested. Almost a year since our inception, we are now hitting the 8th iteration of DTube, and how far we've gone. This update once again introduces more new features to make the experience more complete and similar to the mainstream video platforms. But before talking about new features, I have a big announcement:

DTube is now fully open-sourced

Up until now, everything was open-source, except the main application which was only available in minified format, which was apparently very frustrating for a lot of people.

I'm glad to announce that DTube is now a 100% free open-source software. Our main application is now is available for all to read or modify on github.com/dtube/dtube. This is another move in the hope of improving the transparency of our project and allow contributions from anyone.


I've talked about notifications a lot in the past articles, and it is something I thought we would have earlier in our development. Finally, here it is. It required a bunch of changes in DTube so that any content could be viewable in DTube, including non-video content.

Our notifications are totally similar to what busy.org implemented, only the client-side is slightly different and should allow you to better identify which notifications you have clicked on already.

DTV: Livestreaming now available on DTube

A big new feature, that I am sure everyone will enjoy, is livestreaming. We are using MistServer, a centralized livestreaming server, with an open-source version.

On top of Mist, I built an api to safely generate streaming keys that are associated directly to a steem username. When you click the button to get your stream key, it will create a custom dtubeStreamVerif transaction in the background that will verify your steem identity and authorize your stream token. This means you can start livestreaming, without necessarily having to publish a new root post on the blockchain.

Of course, this feature is indeed monetized. Once streaming, just publish your stream on the 'Go Live' page, and a new steem content will be created. Your livestream will then be displayed on the DTV section of DTube. Just like for videos, as you keep getting more and more upvotes, your stream will go up in the listings and grow your audience organically.

While decentralizing livestream would be good, it's a hard task that will take time. It is our end goal. However, unlike mass video encoding, livestreaming servers is a very open market with a lot of alternatives, including open source ones. We decided that it is a good choice to use just that for now, as it doesn't create much cost or maintenance time for us, while fulfilling the biggest demand of our community.

I wanted to release this as just a basic streaming feature, but many private users complained that a livestream in itself would serve no purpose if the video wasn't available later. We are therefore storing all of your livestreams inside our infrastructure, and clicking on an old content will show up the video matching the time of the publication on the steem blockchain. These videos, as well as the livestream feeds, are both unencoded (a bit how our videos were unencoded in earlier versions of the project), so keep that in mind, and make sure that your stream quality isn't too high if you want users with bad internet to be able to follow your stream.

In the next MistServer release, we should also have access to WebRTC broadcasting which will enable direct in-browser streaming through WebRTC, i.e. no more need for software like OBS or Larix Broadcaster to start streaming.

DTalk: Steem Private Messaging

Steem Private Messaging is a subject that seems to come back into life once in a while, without ever finding a working solution. I personally believe that if all top social networks have implemented messaging, there is a reason. Currently, most steemians are using steem.chat or Discord. These solutions are poor because they require users to verify who they are speaking with, if they don't want to get hustled. If we want a true way to message between steem users, we shouldn't need a secondary account on Discord on Steem.chat.

Some other developers have tried to come up with solutions to this issue before, such as Mangosteem by @mynameisbrian or Steem Messenger by @therealwolf. These solutions failed to get adopted by the community because they are on-chain. Mangosteem was spamming the chain as comments and became unusable after a short time. Steem Messenger is using transfer operations to send (short) messages, so each message will cost 0.001 STEEM or SBD. Also, even if you wouldn't be able to decode a message, you'd still know who is speaking with who.

After carefully considering these facts, and badly enough wanting to allow DTube users to send themselves messages, I've tried coming up with solutions. A simple centralized solution would be using a modified irc server that can can login STEEM users by asking them to decode a message only them can decrypt. This solution works fine, and should scale as good as a traditional IRC server (pretty good).

But, can we decentralize it?

If we can do it for pictures and videos, why not text strings? Because if we do not want to use the STEEM blockchain as a database like we usually do, storing messages would serve no purpose as we would have no way to fetch all messages from the same discussion easily... What we need is a decentralized database that runs inside the browser, inside the DTube app...

Yes we can!

For this purpose, DTube is now using Gun, a decentralized graph database technology. It's created by @marknadal, with whom I had the luck of collaborating to make DTalk reality. A good example of gun being used in production today is notabug.io, a decentralized reddit, running 100% on gun, no blockchain, no backend. DTube is now another big example of the capabilities of Gun.

Just like for IPFS, DTube will have a Gun node running 24/7 inside the infrastructure, which should help correspondants seeing new messages even if the sender disconnected, and keep your encrypted messages stored somewhere even if you wipe all your browsers.

All the messages are encrypted end-to-end, and finding out who speaks with who is impossible if you cannot decrypt the message. The only caveat, is that you will need to publish your gun key inside your profile in order to be discoverable and receive messages from other users. You should see a red button on the DTalk part of DTube. It's a one-time thing to do, except if you reset your STEEM keys, in which case you will need to do it again and all your old conversations will be lost.

So while the first option would most likely have worked better and with less work, the second option is our final goal, that's why we are starting this feature directly with a decentralized approach, even if it might be slightly buggy in the first weeks while we handle all the details.

Handling DMCAs

Not really a good feature, but we have started blocking a few videos from the d.tube domain based on DMCA complaints we have received. We are now running a super slim 18-lines server that identifies DMCA'd videos.

This is unfortunate, but all of the requests received so far have been 100% legit, mostly reposted movies or links to pirated software. A large majority of our users are playing fair and uploading only original content, let's keep it that way!

Clustering our infrastructure

After the previous update, we were managing about 10 different size specialized servers for D.Tube. Some were focusing on storage (storage servers), some on computational power (encoding servers), some were for general purpose things or testing. This was convenient and simple to manage while we had a low number of server, but the growth of the project required us to professionalize that part, even though in the far future we aren't supposed to run anything server-side, it isn't the case currently.

Clustering everything, is a bit like creating one big machine by merging all other machines together. This big machine is what we call a cluster. Then with virtualization tools like Docker, we are able to launch many small instances of the same software inside the cluster, without having to rent a new server and wait everytime.

Dockerification of all our software

These small instances are all ran through Docker, a popular way to achieve this. Most STEEM witnesses are also using docker for running the STEEM blockchain.

Most of the software we run server-side is our own code, and the ipfs-uploader for example wasn't quite ready for cluster support. We had to adapt everything so it would be easy to start/stop any number of the same DTube service and scale up.

At the moment, our cluster runs a total of 7 services:

  • traefik: the service that handles all the traffic and reroutes it to the good docker container
  • IPFS Uploader: our upload service (ffmpeg encoding, snap resizing, ipfs node)
  • Streaming: MistServer combined with our own stream keys api.
  • Direct video delivery (more on that later)
  • GunDB node
  • MariaDB (our small sql database for accounting and @dtube.rewards)
  • vip.d.tube: a small website for quickly creating steem accounts if you have a code

Data storage and redundancy

Another big issue of our old setup, was what happened when a drive died. All the data inside it died with it, and unless the file was copied on another ipfs node, or the author reuploads the same file, the video would never load again. Managing redundancy with IPFS was the original plan, but using ipfs pin lson large datastores like ours takes far too long and isn't manageable.

Instead, we tried to use existing enterprise-grade solutions to basically create a huge cloud folder for all our videos, and every bit of data inside this folder, gets written on at least 2 different real physical machines. We first tried 'GlusterFS', which ended up being really slow because of all the small files created inside the IPFS datastore. We are finally using Ceph which seems to do what we want it to do.


An important part of the cluster project, was to move everything from our simple setup, into the new thing which had no prior testing. We did a few testing days where half of our uploads would go on the cluster, and half on the old setup. We finished migrating the ipfs uploading and video delivery into the cluster on June 19th.

IPFS getting slow, adding direct video delivery

In the middle of all this change, the IPFS network gateway started getting slower to load videos, even when using our old-school way of doing things. Users were complaining. We had to do something. We built a new service running on the 'video.dtube.top' domain, which serves videos straight from our cluster, exactly like IPFS, but without going through the IPFS network. Files are still kept inside the IPFS datastore and fetching the video from IPFS still works.

While this was true 1 month ago, it seems IPFS manages to load videos quite quick again. Wait & see

Issues we had

All these changes in the infrastructure came at quite a heavy cost. Our service has been unstable at times during these past months.

We had a big incident on July 15th which caused a ~6 hours downtime of the uploads and video delivery.

We also had multiple short-term incidents, mostly during the migration period. Either super long queues for the upload, or videos not playing.

On behalf of the DTube team, I'd like to apologize for all these failures. Our service has been running uninterupted for the past 3 weeks now, and we think it will be good now. In case of issues, please keep contacting us in the #upload-issues channel like you've done in the past, this greatly helps us.

Get started on DTube development with Utopian.io

While I am only announcing today on our blog about the fact that the main DTube app is open-source, we already collected 75 stars and many pull requests from contributors, mostly coming from Utopian.

Contributing to DTube's development with Utopian is a unique possibility today for open-source developers, and we already had multiple positive experiences of developers doing work for DTube, out of their own motivation, without expecting a payout. Except they end up with crypto on their account, and a lot of visibility for their work.

The process is easy:

  1. Find something to work on. Either in our tagged GitHub issues or by reaching out to me directly on discord.gg/dtube
  2. Write good code and submit it as a pull request on GitHub.
  3. We will check your pull request and merge it, or comment on the issues we discovered.
  4. Within the next 14 days of the merge, submit a post on the STEEM network. It can be a DTube video.
    • The first tag must be utopian-io
    • The second tag must be development.
  5. ???
  6. Profit and become famous

DTube 0.8 Open Source Contributions

New Curation Style

Contributor: @wehmoen | Utopian post | New Repo
Since a couple of weeks now, we have a new discord bot that helps our curators do their work more precisely.

Instead of simply voting always at the same percentage (20%), curators can now control the voting weight of the bot through emojis! Each reaction (👍,👎,💯,🎲 or ❤) has a different impact on the vote.

DTube Onboarding Platform: vip.d.tube

Contributor: @wehmoen | Utopian post | New Repo
It's something that has been requested to me many times, and that I didn't want to do before, but it's getting important now. We will now be able to generate voucher codes that enable people to get an instant STEEM account. We plan to distribute these codes at events, probably directly on our business cards as a forst. We can also give codes to popular Youtubers wanting to make the switch without having to wait in the future.

Small UI and graphical lifting (menu, upload, homepage, etc)

Contributor: @happyrobot | PR
0.8 looks better than 0.7, and all of that is thanks to our new contributor @happyrobot. Most noticeable changes will be in sidebar and on the upload page, but almost everything got a small lifting.

Bottom Drawer for languages and notifications lists

Contributor: @happyrobot | PR
Our language selection menu was getting quite long, even on desktop, making languages at the end of the alphabet get out of the screen. Notifications were also running into this issue on mobile where it was impossible to display a floating menu with all notifications inside. Therefore we created a new way to display long list of informations in DTube.

Remembering user settings for nightmode and voting weight.

Contributor: @kirkins | Utopian post | PR
Another small annoyance when using DTube was how your voting weight or nightmode settings was reset when you opened a new tab or refreshed the current one. This is now working as expected and will be remembered.

Final words

This update is another big step towards the completion of a large project. Last year when I originally published about the 0.1 version of DTube, I had honestly no idea where things were going to go, I wasn't even sure it would work.

I want DTube to go away from the proof-of-concept stage and turn into a fully-integrated product. Right now the machinery isn't very polished, but things are getting plugged in at a quick rate.

There are still tons of features which will be needed to make DTube the video platform that producers and consumers equally want to use in the future. Playlists, VOD, Twitch-style donations, analytics, ads platform, I keep coming up with good feature ideas as the project goes along.

Join DTube's Discord server: https://discord.gg/dtube
Put some stars on our GitHub repos: https://github.com/dtube
Translate DTube to your language: https://crowdin.com/project/dtube
How to login on DTube: https://about.d.tube#faq1
DTube: https://d.tube

This post is one of the most informative that I have seen related to DTube and related services. I believe the topics you bring up are of greater importance toward the growth of Steemit and its user base than any other application or interface seen as of yet. Very nice blog.

I would sincerely hope that requests to silence content which is being demonetized and/or banned on another video site would not be taken down on DTube. That is, if we can attract said users.

The DMCA process applies to copyrighted contents. We have no choice but to comply on this aspect for our d.tube domain.

If you are thinking about contents which are demonetized/banned for different reasons on YouTube, then I don't know, we haven't received any of that yet, all of the complaints have been legit (full movies uploads mostly)

DMCA and illegal actions / promoting illegal actions should be the ONLY things that get taken down.

When the law itself becomes the abuse, DMCA will be the problem. See The Nuremberg Trials.

  • I was under orders
  • I was just enforcing the law
  • name your legal poison

you sir just won a godwin point clap clap

UPvoted and followed for that kind of comment mate! Excellent! 🙃


Honestly I am very impressed with how you share with others with your help they can get something they never expected.
And I always help you post next from you mr. @done
Thank you for what you have done for us

You may want to consider flagging as a pre-filter for content that comes up as high risk in your DMCA identification server. ..with an option to appeal ofcourse..That way user is disincentivzed to initiate such events.

Flag.s on Steemit are most times used to punish users for speaking out and they fundamentally demonetizing the user for months at a time. This is the sad reality. They often become tit for tat never ending vengeful tools. Not the answer.

Steemit investors do well when it comes to identifying copy/paste blogs. I do not see a problem with us doing the same for video content.

Ideally, the one that comes up with a decentralized solution will win. I have never heard of a blockchain currency having to undo a transactions based on a DMCA or any other illegal activity. Once a line is drawn and the possibility exists to take down anything, there is room for abuse.

Very well explained about flag issue. Well done @done

yeah, but as soon as the first flag is made that has a serious impact against the creator... you can't just unflag and get the steem. A vote is a vote, and if a bot starts flagging people unjustly while it is reputable, then that will have serious ramifications for upcoming users..

you can always remove the flag , no?

Yes, but the flag would still be registered on the blockchain, its permanent regardless of what the actions are in the frontend (after flagging).

I am not sure if I follow you , in my understanding whatever damage a flag causes can be undone as soon as it is removed...

am I wrong ?

Not from my understanding of how the blockchain works. Each vote is permanent regardless if you "unvote". Just like each post you make is permanent, regardless if you edit, all you're doing is just updating the frontend content, but all the previous data is still registered on the blockchain.

I openly understand the use of dtube.
Please upvote me

Regardless of DCMA, some content like mine (DJ Mixes) clearly fall under "fair use". Anyone can use copyright content as long as it's altered (Remix videos/Full mixes) and doesn't hurt the market (Free DJ promotion). DCMA has hurt legit independent DJ's the most.

Fair use isn't that simple. It's possible in some circumstances to change very little and still be able to win a fair use defense, and in other circumstances to change a lot and still be found to have infringed the copyright. I encourage you to study how it actually works, and maybe ask a copyright attorney. In fact, I happen to know of Leonard French, an attorney who talks a lot about copyright (including fair use) and other topics, as well as various cases in the news, on his YouTube channel.

That said, the DMCA is being abused a lot. Something needs to be done to stop that abuse. Lenz v Universal was a step in the right direction, but I don't think it actually did as much as it could have. It's even worse when people make DMCA claims that are completely invalid, as e.g. someone did sometime back to Imagos Softworks and quite a number of their fans. At least they got a positive resolution, but a lot of damage was already done.

Hi bro this my first dtube video chack please


Posted using Partiko Android

Hi bro this my first dtube video chack please


Posted using Partiko Android

Hi bro this my first dtube video chack please


Posted using Partiko Android

Hi bro this my first dtube video chack please


Posted using Partiko Android

YouTube, DMCA, Sony, CBS, destroyed thousands of my OJAWALL videos in 2017.

I wanna ask to be sure. After this update my videos don't gonna disappear over a time? Put in my work will gonna be available forever? :D

The cluster storage is another temporary solution, but yes we plan to host your videos for much longer than before, but we can't promise that we will store it forever.

Our end goal for storage is to have every file available on IPFS / WebTorrent / DAT for a pretty long amount of time on our servers (which mostly will depend on our budget for infrastructure, something that is hard to foresee today), but we will need our users to use either a desktop or a mobile application running at least one of those 3 techs to keep old and inactive videos online.

Another solution would be to incentivize Steem witnesses to run IPFS nodes and pay them proportionally to their used storage, but I don't see how that'd work.

Hi dude. @exnihilo.witness is ready to run a IPFS nodes if needed.
By the way, good job Auvergne, as usual.

Why not use a system similar to STORJ for distributed hosting of video files? This would distribute the load while also solving any redundancy issues. Uploaders could contract with storage nodes on chain for the space and bandwidth usage. Give uploaders control over the level of redundancy as well, which would reflect in the cost of the contract. You could have both short term contracts as well as long term archive type contracts or whatever you want to call them. I think it would be a bad idea to limit something like that to steem witnesses though... it would be a bottleneck for one, but it also wouldn't be very pro-decentralization if you catch my meaning. I've got a large file server on a fiber line just sitting idle waiting for the right decentralized storage network to come along. Storage is cheap... if you create the right inventive people will support it.

talking about running an IPFS node: currently it looks like my local DHT hardly contains any hash from the DTube peer. Is it possible that you could make the peer ID of the D.Tube Peer (or several if you have it) public? So far I have not found a way to get them and so it is often the case that I could not find a single peer via ipfs dht findprovs here in Germany and therefore the operation of an own node has hardly any sense. The peer ID can be entered as bootstrap peer, so this would certainly be a good step to get more people to run a local peer.

Did you ever get an answer to this?
I'm trying to setup a small ipfs node to "auto pin" videos and related assets that I upload to d.tube.

Hi @magali,
currently, D.Tube no longer uses its own IPFS node (as you can read here, they now have their own solution). Back then, they all re-initialized the nodes regularly (so there is no unique peer ID). If you now want to pin videos again (but they are no longer streamed via D.Tube), then download the video first using wget and then add it normally with your node.
Big f_cking Edit: Since when do they use IPFS again?!! 😮 Can they make up their minds? Seems to be running IPFS again now, but I think the problem will still exist, but I will stay on it.


Our end goal for storage is to have every file available on IPFS / WebTorrent / DAT for a pretty long amount of time on our servers (which mostly will depend on our budget for infrastructure, something that is hard to foresee today), but we will need our users to use either a desktop or a mobile application running at least one of those 3 techs to keep old and inactive videos online.

I know you guys have been banging on this problem for a while now, so I'm pretty sure you considered decentralized storage solutions with their own internal currency solution for hosting like Sia or Filecoin.

It would be interesting to hear your reasons for going with Ceph over a more decentralized solution. Are the blockchain-based storage solutions just not up to the amount of traffic that DTube can/will produce or…?

Another solution would be to incentivize Steem witnesses to run IPFS nodes and pay them proportionally to their used storage, but I don't see how that'd work.

This bit in particular is why I inquire about coin-supported storage solutions, since they are effectively doing exactly this, albeit on a different blockchain but with people who are specifically engaged and interested in providing distributed storage. It would be really cool if some steem witnesses wanted to provide some extra support for storage in general and used their server capabilities to help do that, but as I understand it they're pretty strapped just providing enough computational and storage power for the steem blockchain as it is. That's why we have multiple kinds of provider for people who are interested in providing different services for pay.

It would be interesting to hear your reasons for going with Ceph over a more decentralized solution. Our the blockchain-based storage solutions just not up to the amount of traffic that DTube can/will produce or…?

Because decentralized storage doesn't mean as a IPFS node hoster you don't want to use an efficient way to store IPFS content.

Because decentralized storage doesn't mean as a IPFS node hoster you don't want to use an efficient way to store IPFS content.

Except that doesn't answer the question at all.

One of the things that the DTube folks have set on a regular basis is that they want to be censorship and access control minimalized, using IPFS as a deliberate choice for moving toward that goal. However, obviously, IPFS isn't up to being that performant in this case, or they wouldn't need to go to an enterprise cluster storage solution.

Since they have stated their desires and that cluster storage is a temporary solution, I assumed that they had looked at other blockchain-based solutions which literally involve incentivizing other people to provide decentralized storage and compared that to the cluster storage option.

Talking about that sort of thing and the trade-offs involved is what I was interested in hearing about, from people who had actually been involved in being elbows deep in solving the problem.

If you need a secondary storage solution for hosting IPFS content, you might as well use that storage solution instead of IPFS if it solves the problem. If it doesn't solve the problem, and there are other systems which purport to solve the problem, and you don't use them – the reasoning around that should be interesting.

Sia and Filecoin (and even Storj) purport to literally solve the problem that DTube has said that they have and I was curious about their analysis of why going with a more traditional cluster storage solution won out. Is it truly a temporary measure until they finish assessing more decentralized solutions? Is it considered a midpoint solution, acting as a storage buffer between front end users and more decentralized, less attackable storage architectures on the backend? This is good stuff to know for other people who might be interested in building digital applications which interact with the steem blockchain and require their own storage capacity.

It'd be nice to know what someone who knows something about it has to say.

You people went waaaay to deep, i just want the answer about Decentralised solution vs Ceph too @heimindanger

Brings into question whether or not they truly want to decentralize it. Think about it... how do you decentralize information while retaining centralized like control in order to abide by DMCA's? Or blanket ban Alex Jones? Now that doesn't mean this content can't be distributed. If I understand correctly, anyone can already download any video and re-host it themselves out of the kindness of their heart. There's no monetary incentive for this however, and it has to be done manually. So it would appear that all that's really needed would be a platform to monetize and automate this while retaining the ability to remove content to satisfy DMCA's, or whatever else someone doesn't like. You wouldn't actually need to incorporate any of the existing decentralized applications, and there wouldn't really be a need for encryption since the files are publicly available anyway. In the end though, none of these types of platforms will truly be decentralized because well... people just simply aren't ready to accept the consequences of decentralization yet. You know, I find it ironic that we've practically banned freedom of speech because of our intolerance, yet we continue to do things like pay taxes and suck down fluoride without question. Really makes you wonder who's actually in control.

Brings into question whether or not they truly want to decentralize it.

I'm not quite enough obsessed with conspiracies to ask that question. Especially since given a fair amount of experience with large projects and the necessity of making certain concessions in order to get a project working at all, much less how you want it to work, I've been there.

There are certainly ways to have decentralized file storage and be compatible with the DMCA and have some degree of control of content visibility – and the secret is just that, visibility. Whether things are visible to a user is an entirely different thing to whether or not it's being stored in a distributed manner. In fact, these are orthogonal things; they have nothing to do with one another.

I think people are perfectly ready to deal with the results of decentralization and in fact are eager for the effects of decentralization, and in fact really want the results of decentralization, especially when it comes to distribution of file storage on the backend of a database, which is what we're talking about.

But, like I said, I'm not about to take up conspiracy when a perfectly reasonable, logical, and sensible explanation which doesn't require hidden motives is clearly available.

You can continue to see secret lizards under every face, but that doesn't change the mechanics of the world.

I'm not claiming conspiracy. Or are you just reacting to my mention of Alex Jones (who I do not support by the way) which I was simply using as a recent and well known example of censorship which in itself might very well be a conspiracy, but that's irrelevant to this conversation.

There's a big difference between decentralized and distributed. Decentralized meaning there is no central authority or control, and distributed meaning the data itself is not centralized however control over it still is. You cannot truly decentralize while retaining control to censor without the consent of the majority. So the real question is how to distribute the data in a way that takes advantage of some aspects of decentralization while retaining the control to censor, because let's face it... even though many of us are willing to accept the consequences of decentralization in the interest of freedom, the vast majority are not.

I may be wrong, but it sounds to me like your focusing mainly on the benefits of decentralization from a technical standpoint and what that means for computing and I completely agree with that viewpoint. On the other hand, most people outside of the tech world associate "decentralization" solely with eliminating central authority which, aside from greed, is the driving force behind decentralized currencies in the first place.

What I mean by saying people are not ready for the consequences of true decentralization is that people have to be tolerant of material they don't like or agree with since the very nature of decentralization means giving up the ability to censor all the ugliness that comes with it. Until people wake up and accept the personal responsibility that's required for our freedom we will never have true decentralization (or freedom for that matter). People not wanting that responsibility is what got us into the mess were in in the first place.

Having witnesses to host IPFS servers is brilliant!

So far I have not seen a witness offering that (I have not been too much involved in steem it lately, though)

Other important thing is that DTube should inform creators on how to host their own content in their own IPFS nodes. That way, they have their own backup(s) and ensure their content is more available. Perhaps writing a guide that helps them set up a IPFS node and pin their content.

There ain't no such thing as a free lunch
"There ain't no such thing as a free lunch" (alternatively, "There is no such thing as a free lunch" or other variants) is a popular adage communicating the idea that it is impossible to get something for nothing. The acronyms TANSTAAFL, TINSTAAFL, and TNSTAAFL are also used. The phrase was in use by the 1930s, but its first appearance is unknown. The "free lunch" in the saying refers to the nineteenth-century practice in American bars of offering a "free lunch" in order to entice drinking customers.

Amazing update! Made a YouTube video about it telling the old Tubers about it! :D

I rank fast haha :D

Screen Shot 2018-08-10 at 00.49.56.png

Screen Shot 2018-08-10 at 00.52.36.png

Keep it up DTube team!

Excellent! I look forward to trying this out. Open sourcing the code is exciting since it might really accelerate the development of the project - maybe the world can join forces to topple Youtube? :)
I have had a lot of problems getting uploads to work properly with Firefox in the previous version of DTube, so I'll see if something has fixed that.

This is wonderful! I'm sure it wouldn't take too long before most of Youtubers switch to Dtube. I'm already seeing many yotube vloggers switching to Decentralized platform like Dtube. So this is perfect opportunity for all!

Delegators Thanksgiving Thursday it is! Thank you for delegating some SP to us, we have upvoted your post with 100%

That moment when you realise several Steem DApps have built more and are being used by more people than numerous shitcoins avove STEEM in market cap.

Great update! One of the few posts that I will share outside of the Steem bubble.

Thank you for sharing the article, it really helps to have a supportive community around the project.

People already know that STEEM network has more users than any other decentralized tech. Steem has other issues though, and when dozens of interesting new apps in the growing phase compete against each other in the same economy of bandwidth and rewards, it's not so good, and everything looks undervalued.

It works!!! streaming my first live stream on DTUBE!!!

Retro unreal tournament gaming!!!

Great work @dtube team! If anyone wants to know how to set up the live stream its here:

If anyone wants a fun logo to put on their streams:

White Neon Glow Transparent (Save as .png)

Holy fucking hell, ill have to make sure to take a solid look at this.

Please do! I kinda wish I had split this article into two updates but it is the way it is, and might take up to 10 minutes for the full read :(

There's a lot there - its a good read.

It's amazing, everything people said about @dtube in @dcooperation is true, DTUBE IS THE BEST :

Coin Marketplace

STEEM 0.27
TRX 0.11
JST 0.034
BTC 43981.61
ETH 2354.51
USDT 1.00
SBD 5.28