Onboarding millions of users

Stefan Furlan
Viewly
Published in
3 min readJul 20, 2017

For Viewly to have a chance at scaling to the Vimeo, Twitch, or perhaps even YouTube size, registering an account has to be very cheap and streamlined.

In order to make accounts cheap to create, we propose the following properties.

UIDs over names

All accounts in Viewly are registered as unique IDs, such as u6d24d77ca536504132e0bc92848eec4c. By doing so, we eliminate the ability of name-squatting (spammers and bots registering accounts to claim valuable namespace).

Unfortunately UID’s are not very human friendly. Fortunately, every account will be able to set an arbitrary name for display, user experience and search purposes.

Moreover, accounts can acquire temporary usage privileges to premium handles by placing a refundable bond on the name. See (Transient Names).

Free bandwidth allocation

Each account starts with adequate bandwidth for normal usage, without the necessity for token give-away or delegation.

Normal usage assumes the ability to publish several videos a day, and perform token transfers.

More active accounts and bots can buy VIEW tokens to increase their bandwidth.

Registration of premium/brand names

To clarify the terms, the brand name, or name for short is a memorable handle that points to the creators channel.

If the name is owned, it cannot be claimed by any other account. If the name is transient, it can be claimed by anyone, by posting the largest bond for that name.

Owned Names

As mentioned above, each account is registered as an immutable UID. Their channel can be accessed like so:

view.ly/u6d24d77ca536504132e0bc92848eec4c

An account can also set a mutable, human readable profile name, for example Shane Luis:

view.ly/Shane-Luis-3

Perhaps there are 2 other people with the same name that set their name before we did, and thus, 3 is appended as postfix.

Both identifiers are completely FREE, and owned.

Transient Names

In Viewly, it is also possible to acquire temporary usage privileges to premium handles by placing a refundable bond behind the desired name. Premium handles are typically short names (less than 13 characters), comprised of case-insensitive alphanumeric characters, dots and dashes.

For example, Shane Louis is known for his personal brand rerez. Thus, its in his interest to acquire an identifier like so:

view.ly/rerez

No account ever truly owns a transient handle, rather, an account with the highest bond has the privilege of using the name. This system makes it prohibitively capital intensive for name-squatters to acquire names, and prevents such bad actors from holding legitimate brands hostage.

Here is an example scenario:

1.) A name squatter claims the rerez handle for 1 VIEW.

Transient Name Points To Bond view.ly/rerez view.ly/Squatter-1 1 VIEW

2.) An impostor tries to pretend he is rerez, and re-claims the name with a 10 VIEW bond.

Transient Name Points To Bond view.ly/rerez view.ly/Impostor-1 10 VIEW view.ly/rerez view.ly/Squatter-1 1 VIEW

3.) Real rerez joins Viewly, and re-claims the name with a 100 VIEW bond.

Transient Name Points To Bond view.ly/rerez view.ly/Shane-Luis-3 100 VIEW view.ly/rerez view.ly/Impostor-1 10 VIEW view.ly/rerez view.ly/Squatter-1 1 VIEW

4.) Impostor and name squatter withdraw, and get their bond refunded.

Transient Name Points To Bond view.ly/rerez view.ly/Shane-Luis-3 100 VIEW

Whomever places the largest bond behind a name, gets temporary rights towards that name. The losing bids can withdraw their bond at anytime. The winner can also un-claim the at any time, which releases the bond. Thus, no funds are ever spent/destroyed, they are merely locked up.

To reduce network spam, a small transaction fee is imposed on claiming and withdrawing from a transient name.

The assumption is, that the real brand owner will value the control over their brand more than the impostor/squatter, and thus always win the bidding war. If the brand owner is a non-profit, the community can post the bond for him/her.

Viewly protects premium and brand names from name-squatting trough a transient name claiming system. The balance requirement for sufficient bandwidth has been lowered to 0, waiving a necessity for token give-away and/or delegation.

This allows our faucet to register accounts at a cost of 0.001 VIEW per account, enabling us to scale to millions of user registrations without incurring significant costs.

Moreover, by only allocating 0.001 VIEW per account, these accounts become nearly value-less, removing the incentives to drain the faucet.

--

--