Building My First App on the AppExchange

A few months ago, there was an announcement that went out to all employees about a Salesforce labs competition. The challenge was to build a mobile app, pass a security review, create a YouTube video to market it, and list it on AppExchange. This sounded like a great opportunity since I’d always wanted to build an app on the Salesforce platform, but I didn’t know how to start. What would I build? Did I have all the skills needed? Did I have the time? Should I ask someone for help? All these questions confounded me. Then a thought struck – maybe I could find fellow developers who had the skills I lacked.

A few months ago, there was an announcement that went out to all employees about a Salesforce labs competition. The challenge was to build a mobile app, pass a security review, create a YouTube video to market it, and list it on AppExchange. This sounded like a great opportunity since I’d always wanted to build an app on the Salesforce platform, but I didn’t know how to start. What would I build? Did I have all the skills needed? Did I have the time? Should I ask someone for help? All these questions confounded me. Then a thought struck – maybe I could find fellow developers who had the skills I lacked.

I’ve worked on various teams within Salesforce over my 8 years here: applications, platforms, core services and most recently on Chatter. These varied areas have given me a good understanding of org administration, custom objects, Apex code, connect rest API and the Chatter feed. However, I did not have much experience with Visualforce. I had built a few pages, but didn’t know how to integrate these with my own custom JavaScript code.

So I made a post on an internal Chatter group asking for help. Crickets. I registered myself for the competition anyway, hoping I would find a team later. A couple of weeks later, a developer on another team, Mark, made a post looking for team members. I hadn’t met Mark before and asked him if he knew Visualforce. He said he knew enough to be dangerous, which was exactly what I was looking for! Soon after, Kate, our office manager, and Erin, a doc writer on another team, also replied and asked if they could join. And there you have it, our little team of 4 was born. We needed a name, so clearly, “Best Team Ever” was suiting.

Since we were all based in Seattle, we met weekly to brainstorm on our project. Coming up with the actual idea was hard! Erin did a detailed analysis about ideas posted and voted on in IdeaExchange to help us select, reject, and shortlist ideas. Kate evaluated various existing apps to help us understand where we were headed. Shortly after, it came to us. We wanted to build a mobile app that lets you upload images into an album and share it on Chatter [insert applause here]. We called it Magpie after a bird that likes to collect shiny objects. The name was Kate’s creative genius!

Erin and Kate were the creative brains on our team and helped solidify the requirements, build wireframes, create the video script, etc. Mark helped us leap forward by evaluating different public libraries and employing his awesome development skills to create various prototypes. He not only built all the initial code, but also built the tools needed to deploy quickly to an organization. I was new to using a git repository, but Mark helped me get ramped up quickly. I also worked with the Chatter Connect API to build some key pieces.

We decided to each put in at most 2 hours per week since this project was in addition to our regular work. As the deadlines approached, we had to break this rule and work some late nights of course!

We used libraries such as Backbone.js to build our models, views and templates, and Bootstrap for some of our CSS styling. Pushing code into a git repository helped Mark and I work together effectively. We spoke often to avoid duplication of work and stomping on each other’s code changes. We didn’t have too many conflicts since Mark worked late at night and I (mom of a toddler) preferred waking up to work in the wee hours of the morning. After a few days, we were mostly done with the code.

Kate worked hard and sent us some beautiful app icons that made it complete and ready for security review. We passed the review and soon after, it was time to create the video and appexchange listing. Erin created the script for the video and Kate recorded the voiceover (we think she has a new calling!). I used Kate’s voiceover to create the video presentation and soon after it was public on the AppExchange. All in all, building my first app was hard work but the results were amazing and a lot of fun! Frankly, I did not think we would get that far in just three months. Most recently, we were also able to present Magpie at Dreamforce on the Demopalooza stage in costume.

In short, we finally have an app on the Salesforce AppExchange, which would not have been possible without my amazing team. Here are a few insights:

So my biggest takeaway? If you cannot do it alone, then don’t. Form a team.

Do us a favor and check out Magpie!! We’d love your feedback so we can continue to improve it in the future!

Leave your comments...

Building My First App on the AppExchange