3 months, 10 submissions, hours of clarifications, broken internal communications & helplessness all around even before launching
Last week, I received required permission approvals from Facebook team to be able switch Browsed from Development → Live mode after making the 1st version in first 2 weeks of July after an excruciatingly frustrating process.
For reference, Browsed is a browser extension that enables people to receive interesting links from their friends’ browsing history over last 24 hours.
Considering most trusted existing network for vast majority of people exists on Facebook, I want to kickstart the service via FB user login, fetching user friends via API and building peer nodes based on encrypted ids for WebRTC based p2p web browser sharing network connectivity & links curation.
I go ahead and build intended product to launch to users and collect feedback.
Before going live, I notice additional FB approval is needed for: user_friends
Press enter or click to view image in full size
Press enter or click to view image in full size
Pain #1: Requires Individual / Business verification
Press enter or click to view image in full size
user_friends requires Individual developer or Business verification. I don’t need a business yet, but due to COVID-19 Facebook has disabled individual verification, so that leaves with only option.
After some heel kicking, I get it done with Netherlands chamber of commerce and get through Facebook verification process, after being lucky to get an appointment next day instead of general 3 weeks queue. Fair enough.
Pain #2: App Review submission video
Facebook requires a video recording submission, annotated with details & walk through entire process with test user account simulation, without audio.
Having never edited a video, I get Loom recording done, pick up some iMovie editing skills, add explainer text annotations around the timeline and edit some simulations to demo some features which won’t work for test user due to real time sharing nature of Browsed. Took a while but got it done. Alright.
Press enter or click to view image in full size
As per docs, I explained details needed to understand usage of requested user_friends permission along with steps-by-step replication instructions.
Pain #3: (Valid) Rejection without specific actionable feedback
On 1st submission, I get a rejection from review team with a generic link to Your app’s Facebook Login Button is broken, which is not replicable by me or people using in test mode and without any other explanation.
Press enter or click to view image in full size
I initiate chat with support agents and after some investigation they explain that showing which friends are using the app is a key requirement to consider it a social experience, even though implicitly it is retaining the social aspect.
Get Sitesh Shrivastava’s stories in your inbox
Join Medium for free to get updates from this writer.
Considering now Facebook is making judgement on app functionality (albeit un-intentionally) instead of legitimacy of permissions usage intention, I disagreed at first on this aspect but conceded to get it resolved.
Initial reason for not showing exact friends on Browsed was to make people feel safe in sharing curated browsing history as part of aggregated network feed instead of individually identifiable behaviour as resolution to findings from project Eyebrowse - Haystack group at MIT CSAIL.
After some tinkering, I mange to retain the core behaviour along with showing a general friends list currently using Browsed as well. Okay.
Pain #4: (Invalid) Rejection without specific actionable feedback
At this point, I’m pretty confident that all concerns are resolved, wrong!
Next half-dozen submissions over several weeks, I’ll be stuck in loop of : Submission → Rejection from Review team → Clarifying to Support team on valid adherence to policy. Repeat.
I considered scrapping the whole thing several times after getting frustrated and seeing no resolution in sight without changing the app significantly.
(Note - Submissions gap in August)
Press enter or click to view image in full size
Pain #5: Disconnect between App review <> Support teams
Corollary to pain#4 above, major reason this cycle continued for so long was support staff not having any connection with or authority equivalent to review team, where they can effectively help developer after clarifying any doubts and changing the results.
Rationale of sandboxing these teams makes sense, but ineffective in practice.
Pain #6: (Somewhat) Disconnected Business support team
In early October, I discovered a hotline for Direct Business Support line and decided to give it last shot for resolution, as I was eligible for it now that registration as business was done.
It still took 3 submissions from there to get it reviewed successfully.
Support agents on this channel also don’t have direct authority to change the review results, but seemed to have a clout to influence review process and were able to get it done over next 10 days after contacting.
Press enter or click to view image in full size
Note: App functionality didn’t change since 1st rejection & 2nd submission.
Only thing that I can infer from the whole saga that something in staff understanding or communication channels is broken that causes a discrepancy in what actual policy is and how it’s being enforced in practice.
There are a ton of companies where terrible developer experience would be the norm, but getting this at the top tech companies which kickstarted with a single developer hacking up a solution to get started feels like losing the roots.
During these 3 months, I went through a bunch of cycles of morphing into something else or stopping the product efforts altogether even before getting in the hands of potential users.
Makes me wonder how many products don’t even see the light of the day due to getting crushed by bureaucracy of processes at these platform companies.
Maybe best way to build is to not rely on these giant platforms altogether?