How many accounts you have out there on the Internet? Probably the very first things that come to your mind is Facebook, Twitter, LinkedIn etc. I bet that you also have many accounts being forgotten long time ago, legacy of forums era. That’s heck of information about you, and if you’re reading this, probably you’re kind of person that’s concerned about it.
Of course there are privacy settings in almost every account editor. But they are usually of type “all or nothing” or quite complicated to realize what’s going on with them without proper knowledge about portal. In Greenius we realized that it could be simplified.
Many components of your account depend on others. E.g. Information about sports you like is part of your interests in general. So what point is it to set privacy for sports if you blocked access to your interests?
In Greenius we give users the opportunity to adjust privacy settings to everything related to their account. Just on user’s home only there are many settings that one could possibly want to adjust:
- 1 – Cover photo
- 2 – Profile picture
- 3 – Location
- 4 – Bio
- 5 – Plot
- 6 – Section containing products one grows
- 7 – Section containing users one follows
- 8 – Section containing users that follow one
- 9 – Section containing shop products and posts that one likes
- 10 – Posts written by one
Of course to allow user to adjust those settings we could simply create a list of questions like:
- - Who can see your bio?
- - Who can see your plot?
- – Who can see your ‘growing’ section?
And so on… But we find it highly inelegant and wanted to create visually appealing and clear solution for that. We came up with an idea to leverage those dependencies I mentioned before and display those settings in a tree diagram.
Every node of the tree, being single privacy setting, can be set to four level of tolerance:
Also, we said that some settings have no point under some circumstances. In my opinion, tree layout gives better understanding of this, as then it’s quite simple – children node cannot be of bigger tolerance than it’s parent.
This also allows us to conveniently set preferences for user. If one decides to change privacy of his map marker position to global, then according to image above, location setting needs to be global as well. But he is not obliged to do it manually. We do it recursively for every parent as long, as any change is needed.
To implement that we decided to tackle D3. We already had some experience with it by doing data visualization for our recommender system. Main factor for this decision was ease of creating tree layout, and D3 allows that with almost no effort. Besides, it’s always great to learn new tools!