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:
- Liking (voting)
- Feeds - 'New' and 'Following'
- 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
Login menu where you can also manage your Hiver 'Vault' account (see explanation below)
Login screen to unlock your Hiver Vault and login
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)
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/