In our system, a user's profile can be public or private. If the profile owner sets his profile to public, anyone can follow the profile. If he sets it to private, people must send a request to follow.

A profile owner can accept, reject or block. If he accepts, then the follower starts to follow. If he rejects, the user can't follow but can request again. If he blocks, the two users aren't able to follow each other, or send new requests.


When a profile goes from private to public, users who had requested to follow (as well as anyone else) can now follow the profile.

However, if the profile owner changes his account from public back to private, how should I handle the previous pending requests? So far, I've found that there are two ways of handling this:

  1. The Instagram Method: Setting a profile to public is essentially "accepting all followers", so the pending requests just get marked as accepted. Reverting the profile back to private doesn't undo this action.

  2. The Twitter Method: Setting a profile to public allows everyone to follow, but setting it back to private restores the pending requests as they were before. This means that a follower that wasn't explicitly approved (i.e. one who had sent a request, but didn't get a response) will be back to waiting for approval.

Is one of these methods better than the other?

  • Hello Yilmazerhakan! I've made some edits to try and clarify your question. I hope you don't mind! If I made mistakes, you may edit to fix them, or if you'd rather rollback to your previous version, feel free. – maxathousand Oct 18 '18 at 20:08
  • now it is very clear, thank you. sorry for my English. – Yilmazerhakan Oct 18 '18 at 20:43
  • You're welcome, and you don't need to be sorry :) – maxathousand Oct 18 '18 at 20:46
  • Perhaps allow the user to chose which setting to use from the two. THAT would be the best UX imho ;) – Adriano Oct 18 '18 at 22:39

Both behaviors are fine, and they work within each service's strategies. However, from an UX perspective, normally users hate not being in control, especially when systems performs things automatically without approval.

When switching to PUBLIC, you can hold in a separate list the requests received when the account was Private. And only accept the them when:

  1. Account owner accepts the request (much like when they were in Private mode)
  2. Follower cancels request and requests again. In this case, the follow request will be accepted instantly since it is being processed in PUBLIC mode.

If you follow Instagram's approach, make sure to at least ask the user if they want to approve all the requests when switching to PUBLIC. Otherwise you'll automatically flood their account with 100s of new followers. And give them an option to disapprove. If they disapprove, all the pending requests will be cancelled.

  • Thank you, Instagram does not give an option to disapprove. I am close to the Twitter approach. – Yilmazerhakan Oct 18 '18 at 20:48
  • 2
    You could do a combination of both. Ask the user if hey want to approve all, if not, just keep them in a list for them to approve later. This satisfies both scenarios of (1) batch approving and (2) selective approving. – Nicolas Hung Oct 18 '18 at 20:56

I'd recommend the Instagram Method.

A public profile means all are welcome to follow.

Taking a profile public means everyone is automatically approved to follow if they wish. If a user has pending requests and is about change their profile from private to public, make it clear that the pending requests will be approved, as well as any other users that wish to follow.

Allowing the user to selectively choose which pending requests to accept and which to reject when making their profile public doesn't do anything besides make it a little less convenient for the followers. A user who's follow request is rejected at this time can immediately revisit the now public profile and follow with no approval needed.

Twitter's method (if I understand it correctly) doesn't seem to make sense to me. Allow me to illustrate. [A, B, C, D, E] will represent other users.

My profile is PRIVATE

Following:     [ A       ]
Requested:     [ B       ]
Not Following: [ C, D, E ]

I make my profile PUBLIC

Following:     [ A, B*   ]
Requested:     [ B*      ]
Not Following: [ C, D, E ]

* User B never got approved, so they still have a pending request. However, the profile is public now, so we'll display them like they're a follower.

User C starts following me

Following:     [ A, B*, C ]
Requested:     [ B*       ]
Not Following: [ D, E     ]

I make my profile PRIVATE again

Following:     [ A, C ]
Requested:     [ B    ]
Not Following: [ D, E ]

The bit that doesn't make sense to me is that:
User B requested earlier, but is loses access when the profile returns to private.
User C requested later, but can still continue to follow when the profile is changed back to private.

         PRIVATE    →   PUBLIC    →  PRIVATE
User B   Requested  →  Following  →  Requested
User C      --      →  Following  →  Following

From the user side, this seems like a weird way to handle this. If you waited until the profile went public to start following, you are still able to follow when it goes private, but if you're too eager and had requested when it's private, then you get kicked out?

  • @Yilmazerhakan I've still been thinking about this. I'm starting to think that making your profile public should automatically be an "Accept All Requests" action as well (obviously, it should be made clear that the profile owner is going to be accepting all pending requests by making their profile public). If it's going public, then anyone can follow. If a profile owner makes their profile public, but wants to reject certain pending requests, all they're really doing is making it less convenient for the follower. The follower can immediately visit the profile again and follow immediately... – maxathousand Oct 19 '18 at 13:09
  • I am thinking so much since last months. Okay the user can make his profile public but he may want public access after this moment. Old waiting follow requests could be spam. Think that you have 4200 follow requests and you have no time for all of them to accept. Instagram accepting them suddenly. Horrible! – Yilmazerhakan Oct 19 '18 at 13:27

Your Answer

