All my developer life, I have been fooled that getting published my app to App Store is the most difficult thing until I developed an app for Freshworks’ Marketplace.
I work for Spritle Software, an awesome Software Development Company. Spritle has been a solution partner of Freshworks for quite a long time and has developed several marketplace apps and custom apps for Freshworks’ customer.
From DHL Same day to Facebook’s Workplace, I have been part of developing multiple custom apps for Freshworks’ customers. So when I was put into the development of marketplace apps, I thought I would get done with that in a go like how I developed the former ones.
But that’s not what happened. I had to go through several iterations of rejections (maybe quality check in their words?!) to understand publishing an app in their marketplace is surely a mean feat.
On top of all, there is this task of passing Freshworks’ rigorous 10008(well, that’s my anxiety level) standard regulations on how the app should work, look and reflect the company’s image, blah blah blah.
Let’s talk about this HubSpot integration with Freshdesk. Based on the PRD, I developed it, polished it until I liked it much, added more error handling which was not even in the PRD and test cases. I thought I’m gifting them all those and all in return I got was “Your app has been rejected”.
Note: There were around 13 rejections before my app was about to go live. I don’t want to bore more, so I summarised in a few rounds.
Round one:
On my first submitting attempt, the HubSpot integration contained some console logs (a piece of code which will print some data in browser consoles) which I used to debug. I was lazy to remove it as I thought in the future I can reuse it. I already had the feeling that Freshworks will reject it because of the console logs. But nevertheless, I tried it and submitted. Okay, My app really got rejected for the first time.
Round two:
Okay. I know having console logs in the production code is really bad practice. And Freshworks proved me that they truly review the codes. This time I removed those and submitted again. Guess what.. Within another few hours, I got the message from them as “Your app has been rejected”.
I was like, “Wednesday Thursday Friday?!!!”.
Argh! Okay. Let me tell you their reason. On creating a deal in HubSpot from my application, I had put the locally used date format(DD/MM/YYYY). They wanted it to be (MM/DD/YYYY).
I thought is this really a thing? Then I understood that it is. They don’t want their customers to get confused between months and dates as most of them were used to the format they suggested.
Hmm… That’s good. That’s good.
Round three:
This time I was very careful and made my application pass through those 3423689 functionality and security test cases provided by them(Yes, the count is because I could not put up with my patience). And I made sure the app is not getting rejected again and submitted with full hope.
To my surprise, shock and all those kinda words put together, again “Your app has been rejected”.
I’m still thankful to me for not breaking the monitor. How cool I was 🙂
Why?
Me: %!^%^!**!%$ issue.
But, I have solved that already. I set up a call with the Freshworks marketplace team to discuss this. I thought there was going to be some war scenarios as in 300, Bahubali also words clash. But the call went very nice and smooth. Then I understood from them that I just prevented XSS from the client side, but also they wanted me to prevent malicious code injected into their site from HubSpot’s API response.
I asked them, “this is HubSpot’s headache and why you want me to fix?” They added, “as long as it is associated with our customers’ experience in our application, it is our duty to handle that”.
I was like, “Yebba saami!”(Uff, God). But that’s how a security team should be right?
Then I fixed that and got prepared to not to give up even if they reject it now. Because, in a way, I like how much efforts they put in to shape the apps better.
But this time, the review period is taking more time than usual. That means….
Yessssssss! The app is live finally! 😎
When I had to develop an app for the marketplace, I thought it was just another application development where I would just have to provide the solution. But I had to overcome an extraordinary journey where Freshworks had taught me a lot on with how much quality and security they want the integrations to their customers.
Even if the app had gone live in my first submission, I would not have been satisfied this much. Now I have got the feeling that I have developed a good one. Thank you, Freshworks!
Looking forward to pursuing this great journey with you from Spritle (:
If you are interested in knowing the list of apps we built for Freshworks, check out https://apps.freshdesk.com/search/?partner_name=Spritle.
If you would like us to develop a custom app for your company, leave a comment below!