Why Steemit Will Need App Filtering

in #steemit7 years ago

The steem blockchain is an incredible technology that can provide an alternative to existing database solutions like MySQL and Oracle DB for user-driven applications such as social networks and message boards. Because of its decentralized nature its also easy for developers to build applications on top of the blockchain, which many have such as chainBB, eSteem, and AskSteem. However, even with standards like OpenSteem.org, as more applications come online, the blockchain will inevitably become crowded with posts from the hundreds or even thousands of applications that will someday be powered by steem.

This is obviously great for the steem technology but poses problems for clients like steemit.com, eSteem, and Busy.org which try to display all posts created on the blockchain. The problem is that various applications will introduce many different post formats such as long-form/short-form, polls, video, etc.

A great example of this phenomena is the upcoming release of Zappl, a micro-blogging social network based on steem. When the service goes public, it will begin introducing large amounts of short-form content into the blockchain, and because steemit.com currently displays all posts on the blockchain it will also begin showing short-form posts from Zappl. The steemit.com interface is well optimized for long-form content such as articles, but fails at displaying shorter posts like the ones that will be created by Zappl, and thus will cause a poor user experience.

The solution to this problem is to filter posts by application so that steemit.com only shows posts created on steemit.com, zappl only shows posts created on zappl, busy.org only shows posts created by busy.org, etc. This can be done relatively easily if the application is OpenSteem.org compliant by checking on the app metadata.

Sort:  

A good read about steemit, thanks.

Feel free to check out my latest blog post : Why Steemit will disrup social media and gain market share

Do we want to filter and censor too much like Facebook ISIS China?

I don't think you understand what's being discussed in the article. It's not censorship its preventing content duplication and a poor user experience.

Hi @thekyle. This was brought up here. There is an answer from Zappl too.

Thanks for letting me know, I'll take a look at the other

Congratulations @thekyle! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

You are sooo right! Zapple is not there yet, but Steem Instagram is here with SteepShot. You touched the topic of user experience. I wrote (post here) about issues I see - and personally have - with SteepShot showing first images of all posts on the blockchain + comments + rewards/votes, but no possibility to view the post text and other images and media. This causes misinterpretation of content, and unwanted voting behaviour. I was posing the question (more in the comment then the post itself) if different services should not have its own blockchain. Your proposed solution for the App connecting to the Steem Blockchain maybe another solution to solve the problem. Wondering though if this makes sense when eg Steemit, SteepShot and Zapple become as big as their equivalents outside the crypto space (Facebook, Instagram, Twitter). I would think each service would want to have its own DB, ie its own Blockchain for speed optimisation.

Question: to confirm, currently it is not possible at all for an App connected to the Steem blockchain to filter out only the by the App generated content?

It is currently possible for an application to filter out all content not created by itself using the app meta data listed in the post. I would discourage people from creating new blockchains for each new service because it defeats the purpose of having a blockchain instead of a SQL database, to begin with.

defeats the purpose of having a blockchain instead of a SQL database, to begin with

Yes and No. For social networks, blogging services and public and semi-public sharing services , the blockchain functions as a content store system that is open and transparent to the public. I think that is the prime feature of Steem for the moment (with only Blogging type of services using Steem). An extreme case: Put ALL information of the whole world into 1 blockchain, that is all data we have, from what is accessible through Internet, but also all the offline data. Dont you think that technically that is NOT the way forward? Databases are always the bottleneck for speed of a service, a blockchain is in principle a Database. Services MySQL, Oracle, Cassandra, LDAP and all are used on private solutions, but you can perfectly use LDAP to create a open public transparent distributed database system; I'm not technical enough to know if it makes sense from security point of view and all, but fact is that blockchains are soooo slow compared to Cassandra, LDAP and even Oracle, that no large scale service can enjoy realtime services at the moment, not even Steem/Steemit, since I dont think Steem can handle eg 100k transactions per second, while I know private solutions that can handle 100.000 transactions per second using a database infrastructure at the back. Another topic is of course the concentration of 'power'. Would you like to see all social networks in the world on Steem? Although power is somewhat distributed running the Steem network, I would not like to see all social network data to be in the hands of a few witnesses. In the end, data needs to be distributed as well, not only in a distributed infrastructure like a blockchain can deliver (but what could also be deliver with LDAP, Cassandra and many other databases), but also across different blockchains

I will concede that blockchains are unbelievably slow and don't support most functionality of popular database platforms which is part of the reason that projects like AskSteem and Steemdata exist. Additionally, I don't disagree with anything you've said thus far, and can acknowledge that if thousands of different applications start putting content onto the steem blockchain it may become large and unwieldy.

However, having a single blockchain shared between applications instead of a starting a new one everytime someone wants to create a new app has some significant advantages too. Namely the following:

  • Universal login between platforms - this also helps to reduce the likelihood of confusion between people with the same username, for example, is @username on Facebook the same person as @username on Twitter? We have no way of knowing. But you know that @username on steemit is also @username on busy.org. The blockchain also helps to prevent password dumps which are a vulnerability that any traditional database is susceptible to.
  • Universal Cryptocurrency - as I'm sure you're aware the purpose of a currency is to be a medium of exchange for goods. If every project based on steem had its own blockchain then they would also have their own currency, meaning that it would not be possible to transfer money earned from one steem based app to any other steem based app and it would make it difficult to buy anything with these different currencies. Also, you would be splitting the value of steem between hundreds of different apps.
  • Blockchain Abstraction - most developers don't know anything about blockchains, but they do know about creating web apps, mobile apps, desktop apps, etc. Steem allows these types of devs to create new applications based on the steem blockchain without needing to maintain the underlying framework.

So ultimately there are a bunch of drawbacks to using just a single blockchain and there are also a bunch of advantages to using a single blockchain. I believe that the advantages outweigh the drawbacks but you're free to disagree. It should also be noted that blockchain technology is not suited for many applications and depending on the situation it may make more sense to use a distributed or centralized database.

I do acknowledge the reasons for single blockchain, for sure. I think the reality will be that we will end up with many blockchains, that in my view needs to be interconnected, maybe more interconnected than they are now, ie currency trading at exchanges. For universal usernames, there are other solution that can be implemented and may need to be implements IF we are ok not to be anonymous. Since when we want to stay anonymous, we do not want to have the same username in all services. Maybe blockchain service can be created to manage usernames, like we have in the internet for domain names? Domain names are universal, or at least on our planet Earth, universal. What we may do on Mars, or the Moon, that is to be seen :)

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.030
BTC 56587.45
ETH 2991.05
USDT 1.00
SBD 2.15