hippware / wocky

Server side (Erlang/Elixir) software
13 stars 3 forks source link

Pre-seeding of bots #323

Closed benghippware closed 7 years ago

benghippware commented 7 years ago

This is a description of some desired functionality and a list of tasks which enable the functionality.

Description

When a new user joins the service, they automatically become friends with one or more "management" accounts.

A "management" account is a special account which is collectively managed by Hippware staff.

Each management account owns a set of bots. Hence, upon joining the service, new users can view bots owned by the management accounts they are friends with.

To facilitate management of these accounts, Hippware staff can login as a management account (to-be-confirmed), and transfer ownership of bots to a management account.

Tasks

To support the described functionality, the following is a list of tasks.

A management account does not necessarily need to be associated with a phone number. At this point, it is probably easier if a management account is not related to a phone number.

To create a management account, a script can be developed and executed on the server-side.

A management account should reciprocate follows and unfollows. This allows any user to unilaterally unfriend and befriend a management account.

Need to add a hook so a management account befriends all new users.

Question: Will there be only one global management account, or several (ie. depending on geography)?

If several, need to create configuration to decide which accounts befriend each new user.

Develop a script that can transfer ownership of bots. This can be executed on the server-side on request of staff.

To facilitate managing such accounts, it would be useful if Hippware staff could login into a management account.

Either:

  1. Find a third party service that allows acquiring virtual phone numbers and receiving sms.
  2. Implement password-based authentication.
  3. Implement security-code-to-email mechanism (like existing method but sends to email instead of sms).

The first method is quickest in the short term but is extra effort (since it's not needed) in the long term.

This is a feature that might not be needed straightaway so it could be delayed if time is pressing.

Question: Do this or delay?

benghippware commented 7 years ago

@thescurry, @zavreb:

Questions I need to clarify with you:

Question: Will there be only one global management account, or several (ie. depending on geography)?

Will we have just one management account (ie. handle: Hippware) or several (ie. Los Angeles, Oklahoma etc.) depending on geography (or some other reason)?

Having multiple accounts introduces the (small/medium?) complication of deciding how to allocate accounts to users (ie. no point having the Los Angeles account befriending someone in Oklahoma) but is more useful to users (ie. they can be interested in one region at a time instead of all regions).

Question: Do this or delay?

Ignoring staff login is quickest. We can do it post-MVP.

Option (1) might be a quick work-around if we find a third-party service that works (cautiously optimistic about this).

Options (2) and (3) ... probably require more development (both back and front end) that we want to do pre-MVP.

thescurry commented 7 years ago

@benghippware would it be easier if we just auto-friended RZ and myself to all the beta mvp users? (option #4), just a thought.

benghippware commented 7 years ago

@thescurry

That would simplify things somewhat. We wouldn't need to transfer ownership of bots or alternative logins.

I think ... the only thing we'd need is ... to ensure your accounts follow all users. If there are a lot of users, this would probably have to be automated somehow. I guess there is a feasible possibility if there are a small number of beta users, a manual follow might be sufficient.

Something to discuss.

benghippware commented 7 years ago

Was resolved through out-of-band discussion and Programmatic force friend ability #341 implemented.

Closing.