Twitter on the blockchain? A proof of concept

in #hivedev2 years ago

Inspired by @themarkymark's Hackathon contest a few weeks ago, I decided to code a Twitter-like app for the blockchain. Such an app is something that many have felt will really propel Hive to new levels. There's been a few such apps in the history of Steem/Hive, and one of the common complaints is that small-form content clogs up people's feeds - i.e. is a bit spammy.

A solution to the problem?

What I chose to do to address this problem is to have all tweets coming into existence as second-level (or lower) comments. What I mean by that is that a tweet isn't a top level post (like those that appear in your feeds). All tweets are replies to either other lower-order tweets, or replies to users' single top level 'seed' posts.

What's a seed post?

When a user wants to either post a singular tweet or retweet someone else's tweet, the app checks for a 'seed' post on the user's blog to attach the tweet to. If it doesn't find one, it creates one. That single seed post holds all the future tweets and retweets of that user. In this way, we are able to post to the censorship-resistant and immutable blockchain, but not have it fill up the feeds with micro-content. You can see my seed post here.

What can you do with the app?

I modelled the feature set after Twitter. I've only been coding this for a short time, so the app doesn't have the full feature set. Note, it's a web app, not a native mobile app. However it can be viewed and used on a mobile browser.

What it has is:

  • Tweeting
  • Retweeting
  • Replying
  • Following
  • Liking (voting)
  • Feeds - 'New' and 'Following'
  • #tags
  • @mentions
  • Notifications
  • Image embedding
  • Hive Keychain integration
  • Secure login for mobile devices

I think these are the essential features to have in a Twitter-like app.


Let's see the app at work

Voting
7.jpg

Notifications
6.jpg

Image embedding
5.jpg

Login menu where you can also manage your Hiver 'Vault' account (see explanation below)
3.jpg

Login screen to unlock your Hiver Vault and login
4.jpg


What's Hiver Vault

Hiver Vault is a secure login method for the app when used in a mobile browser. For those familiar with Peaklock on Peakd.com, it's similar to that (thanks to @asgarth for some help with that). It's a mobile equivalent of Hive Keychain. What it does is store your posting key encrypted in your browser storage. When you make a post or vote it decrypts your key using a secret pin code that you enter when setting up your vault account. Your pin code is stored in your browser storage for the current session only. When you close your browser (or the Hiver tab) it removes that pin code from storage leaving your posting key encrypted and unreadable. You can also lock your vault at any time, meaning you will need to re-enter your secret code to start posting and voting again.


What's the future of Hiver?

Well, that's up to the community. Including the name Hiver. What would be a good name for this app? This is just a start (a proof of concept) which is usable now on both desktop and mobile browsers. The UI is still fairly unpolished (I'm using system alerts and dialogue boxes for a number of features, saving me having to design pretty popups).

Possible future developments:

  • Embedded previews and titles of articles
  • Search bar (it is possible to search via tags now - d-hiver.herokuapp.com/tag/hivedev
  • Tag cloud
  • Simple wallet to claim rewards and display balances
  • Block explorer (to show the full tweet thread hierarchy and where your tweet sits in it)

Final thoughts

This is just a beginning. And maybe an end if it's deemed not worth it. At present it's only hosted on a cheap plan (without a custom domain*), so there could be limits reached if it proves popular over the next few days. If this happens I will upgrade it to a better plan to handle more demand.

* Suggest a good name for the app and then I can see what domains I can secure.

What's the best approach for managing use of the app? There's pros and cons for using your normal Hive account vs creating a new account just for tweeting. Cons for using your normal account include double notifications (your Hiver notifications, and the same notifications in peakd.com). Pros for using a new account include a fresh follows list focussed on people who tweet. There are some feed limits built in at the moment (like only referencing your 30 most recent follows for your follow feed), as it's hard to tell how well the app will scale. If it handles 30 follows easily, it can be bumped up to 100. Then more? We'll have to see.

If you want to create a new account to use the app, I have a couple of account tokens I can give out, and some of the dolpins, orcas and whales have a heap they often give out. Or get one at @roomservice's great service - Hive Onboarding (sorry, don't have a link to it).

And finally, let me know your opinions and suggestions. Is it worth taking this further?

Use the app here - https://d-hiver.herokuapp.com/

Sort:  

Nifty! I'll give this a try tomorrow (I know a lot of us Hivians are on Twitter these days) -- thanks for your contribution to the community!

No problem. Thanks mate!

Awesome idea but one question: does the seed post has to be created on authors blog? Maybe the app could create seed posts on it's own blog, with post titles as user names for example?

Yeah, that's definitely an option, one for some reason I didn't think of. I think I slyly like the idea of a seed post on a person's blog, as it helps spread the word. I was going to add in a link to the custom domain if and when I got one. But using other people's blogs for advertising (albeit only once) might be pushing it a bit far.

I guess new seed post every 24 or so would be fine

It just creates the one seed post. All tweets and retweets go into that seed post in the future.

Damn this is pretty nice.

Thanks mate!

Pretty cool thing, I'd love to see this come to life.

Thanks mate!

for the revenue, if this does get traction just put a banner somewhere and the advertising should cover the hosting/server cost at least?

will give this a test and see... It's good to see new stuff like this coming to hive

Thanks for your support mate!

Spam=solved. Good luck with this one dude!

Thanks abh!

looks neat

Thank you.

Looks like an interesting project and a creative way to make the feed cleaner and less spammy.

As for a creative name how about liberty social , trying to think of a creative way to you incorporate the key features in the name, either way wish you luck with the project.

Thanks mate!

Fascinated with its application, congratulations! I've been thinking about this for many days, my unconditional support for this project: Hiver is the name I use on twitter ;) sorry if I say some stupid, English is not my language. Ideas... anvil, tive, boom, hivetter, zipper, hivezip, hivelight, hitter, twve, ive, hiv, hivetop, hivery, hivecute, hivecrew, hivejump, hivesafe, hivepeps, hivedeft hivemany, hiveweld, hiveracy, hivedeep, hivedeck, hivegist, hivepoet, hiveflip, twichain, tweetchain, hivetwi, twive, hiwitter, hir, hivt, hivet, hiveper, hivego, hiveon...

Wow, thanks for the suggestions, mate! Plenty to think about there. :)

Awesome stuff, i hope this get developed further.

Thanks mate!

You are welcome

This is a nice development on hive & it would encourage a lot of people to move to hive. Basically, this is a way to increase a lot of discussion on the chain.

Yeah it would allow a different sort of communication. I guess the challenge is creating a tweet that gets people talking. I think I'm too boring to come up with those sorts of tweets. I'll leave it up to you guys... :)

That is fine. I guess the community is up to the task. 🦾

I like where this is going excellent.

Edit:

Well, that's up to the community. Including the name Hiver. What would be a good name for this app?

There is a Fivver of Hiverr coming here not sure if you two want to run into each other just pointing it out.

Good point. Maybe I can be Hiverrr... :p

HIVE.D!

Superb Idea! And Brilliant work so far. Perhaps even Email or DM?
@fulltimegeek and @edicted were working earlier on some details of an unrelated project but I hope they take a look at this as well.
~Kind Regards
Screen Shot 2020-05-12 at 8.27.36 AM.png

Thanks for the kind words. Oh and I like your username, if it's a play on Francis Bacon... :)

I wish you great success on this endeavor!

Bacon Pretty Frank.GIF

Cool concept! Are you aware of @dbuzz and the --shitshow-- shitstorm of criticism it received?

Yeah. That's why I set this up so that tweets are comments, not top level posts. That way they don't spam the feeds.

This looks very good @revo
What could well set it apart, making it the best of the rest (in addition to it being Blockchain based), is if the Hiver Community to be were to adopt a real time Democrity governance system, as modelled in The Matrix-8 Solution.

Perhaps you have the ability to code a Matrix-8 DApp and have Hiver be the first testers?
I invite you to investigate deeply and hopefully see the infinite possibilities.

https://peakd.com/hive-153630/@atma.love/matrix-8-questions-and-answers

Questions invited.
Namaste
Atma

Estas recibiendo nuestro voto y tu publicación aparecerá en nuestro reporte de curación.

mayvileros logo nuevo.png¡¡¡Felicidades!!!

Thanks mate!