Misc. / Architects / Career / Developers

Developing a Killer AppExchange App: First Steps

By Ed Ralph

So, you’ve had an awesome idea for an app, and you’re beginning to plan out which objects you need, as well as the fields, data types, and the broader object model. You’ve even started thinking about which interfaces to use – standard record pages or Lightning Web Components? What about VisualForce? You have lots of amazing features to build, and you cannot wait to get cracking with the main Apex classes…

Hold your horses! Of course, you will have to write code to create your app, but to ensure your efforts won’t be wasted, spend a little time on research before you open up Visual Studio Code. This will dramatically improve your chances of landing that 5* app with just the right features, marketed at just the right price for you and your customers. This guide will show you how to go about developing your own ‘killer’ app, ready for the AppExchange.

Research Your App Idea

Before you even begin to code, evaluate your ideas in the context of the information available. Research the competition; find out how their apps are priced, how they are reviewed, what their feature-set looks like, and what their proposition is.  

Ask yourself meaningful questions; can you produce something that a specific segment of customers will choose over existing offerings, and what does this segment look like?

As well as browsing the AppExchange, don’t forget to look at the relevant niche in other marketplaces – check out HubSpot App Marketplace (you’ll see the number of installs) and Freshworks Marketplace. Although you are not listing your app on these platforms, you might get some good ideas that will give you a competitive edge in our marketplace. As I’m browsing the competition (and similar apps), I like to think about where my idea fits amongst existing apps.

Is your space super crowded? This is another important question, as you need your app to appear in the first set of results (top 10) for your main head terms. If not, customers will have to click ‘More’ to see the next 20 or so results. In a crowded space, you won’t appear there either, with an additional click required to see the rest. And, if you are in the third group, you’ll not see much footfall at all via AppExchange. You really need to appear on that first page. Analyze how the top 10 apps are listed, as this will give you clues to improve your own listing.

Wait, what… There isn’t any competition? In that case, you need to double down on figuring out whether there will be any real demand for your app. No competition in a mature marketplace means that your app is super niche, or there isn’t actually any demand for it (or both!). If it is a niche, then you will need to find a way to reach customers; simply hoping they will search for your app on the AppExchange isn’t enough.

Version 1: The Objective is Idea Validation

Once you have decided on your idea and started to build your app, try not to obsess over the code. I realize this is probably the bit you are most proficient at, but right now, you need to get something out there that is going to test demand.

Validate your business idea or app as fast as possible; take shortcuts and incur technical debt (speed of delivery vs. long-term quality). Some of you may have just raised your eyebrows. Whilst your default position should be to write clean, reusable code that aligns with best practice, there is a time and a place for intentionally incurring technical debt. Developing your minimum viable product with minimum effort to validate your idea is that time and place.

I’m not saying you should charge ahead and intentionally write bad code. However, it may be prudent to take shortcuts with your design choices – shortcuts you normally wouldn’t take in a mature application.

Here’s an analogy for you: you’ve discovered a new land (AppExchange), and you can build a house (your app) anywhere. No, let’s think big; you want a castle! So, you rock up in an open area which, at first glance, looks like a good place to live (a specific part of the market). Do you start carving out the stone and building your castle, moat and all? No. You pitch up a tent and sleep in it for a few weeks. This gives you time to explore and figure out if you want to build in this spot (validate your idea).

It is super important that you explore product-market fit early so that you can understand if there is a future for your app. Be brutal with prioritizing your time and effort:

  • Get an app out there that is just fit for purpose.
  • Focus on the listing and marketing to put it in front of as many customers as possible. 
  • Consider the free route to maximize installs and feedback.
  • Yes, you will likely get performance gains if you use Platform Cache, and yes, a really slick user interface is going to help with onboarding and retention, but push these sorts of things out to versions 2 or 3.
  • Document any technical debt you have incurred. With intentional technical debt you will already know the ‘right’ way to do it – put it on your to-do list for later.

A couple of months post-launch, you’ll be on a spectrum between ‘nothing happening’ and a ‘whirlwind of leads, installs and customer queries’ – hopefully the latter.

Depending on where you are on that spectrum dictates what you do next. If you are at the whirlwind end, then well done – it’s time to start refining your listing, continuing listening to your customers, and deciding on a strategy to take you to the next level. Go back to that list of technical debt you incurred and prioritize these to get repaid – it looks like your idea is validated and you can start designing the drawbridge for your castle!

Didn’t Hit the Jackpot Straight Away?

Don’t despair if you are closer to the ‘nothing happening’ end of the spectrum, as there are some useful questions you can ask yourself. 

Did you offer your app as Paid? Then switch it to Free. This is especially important if you are in a crowded space, as nobody will look at a Paid app with zero reviews (this happened to me).

It was listed as Free? Then look at the analytics again. Did you get any views? Determine if your lack of leads and installs is down to a lack of views of your listing. If you got views but no conversions, it means that whatever brought visitors to your listing wasn’t confirmed by the listing itself, so they went elsewhere. Look at your messaging. Is it clear? Does it tell people in the first three seconds what your app does? Does the name of the app make sense?

If you’ve done all this and you’re getting some views but you still have no leads or installs, then it is likely time to move on. This is precisely why you didn’t bother writing the cleanest, best possible code, jam-packed with features; the shortcuts meant that you could quickly determine whether this was going to be a winner or not.

Leads and Installs Are Coming in Fast

You’ve started fixing up those areas of technical debt, and your listing has been tweaked a few more times to try climbing higher up the search results. You’ve collected some 5* reviews, and you’ve left comments to give your listing a personal touch. It’s exciting!

Your first 20 customers have given you lots of feedback, and most have asked whether your app does (or will also do) X, Y, and Z. You’ve got a list of things that they want. My advice, before you implement any of it, is to decide what your app development strategy looks like. What is the core problem that it solves, and what core features are required to do it? Blindly implementing all features that customers request, is the path to a sprawling app full of fringe features that most customers don’t actually use. That’s not a good place to be.

So, let’s figure out your app development strategy. Picture your future app, with its collective features, sitting amongst your competitors. Where do you want it to be? Do you want it to be the best in class? Is there a gap in the market for you to occupy? Maybe you only want to offer a stripped-down app (compared to the competition) that excels in one aspect of functionality.  

Next, decide where you want to position your app. Then go back to your list of potential features. Classify them as features that fit into the ‘bells and whistles’ category vs. the ‘core functionality’ category, in alignment with your development strategy. 

Maybe you do want an app with all the bells and whistles, and you have a strategy for tapping into the market. Maybe you want to be the ‘gorilla’ (more information to follow). Go for it. But you don’t need to have all the latest and greatest features to be successful. Let’s quickly explore what other categories of apps there might be by using App Personas.

Use App Personas to Help Inform Your Development Strategy

If you have done any marketing, you may have come across the idea of understanding types of customers by developing ‘Customer Personas’. These are descriptions of the main groups of customers that exist in your world. Their purpose is to create a common understanding of these groups, so that sales and marketing functions know who it is they are trying to reach. We can use a similar approach in categorizing the different types of apps to help inform our app development strategy. Here are a few key App Personas that I use.

Gorilla

  • The biggest kid on the block, with all the features and functionality you will ever need (and then some!). 
  • They have the most slick marketing and branding, with no expense spared. 
  • Big sales and support teams are required. 
  • They often provide bespoke implementation services, especially to their biggest clients. It’s expensive – it has to be to support the big dev and support teams.  
  • Gorillas have a tendency to cater for larger customers. As such, they might have features that most small to medium organizations won’t use/need.  
  • They will have a big stand at Dreamforce, buzzing with staff – matching polo-shirts cements their status as ‘The Gorilla’.

Wolf

  • The ultimate ‘fast follower’ – a business or app that aims to incorporate all the best bits of the reigning Gorilla (sometimes they do it a little better). As soon as the Gorilla releases some new functionality, the Wolf will evaluate whether it should be brought into its app.  
  • They don’t worry too much about using customer feedback to prioritize development; rather, they rely on the top competitors to narrow down potential developments.  
  • The wolf can compete with the Gorilla because it has a similar feature set, but is slightly cheaper.
  • Their competitive advantage may come from: writing cleaner, more maintainable code, having more efficient support processes, and spending a higher proportion of their revenue on sales and marketing.  
  • They may decline custom requests to keep costs down.

Mountain Goat

  • The Mountain Goat app has core functionality well covered in a simple-to-use app, at a fraction of the price of the Gorilla.  
  • They are very frugal with accommodating customer feature requests – no bells or whistles EVER. As such, only a small support team is required.  
  • These guys are agile, and when the app looks in danger of ballooning, they consider developing additional complementary apps that can be installed and used separately or in combination.  
  • Apps like this are likely most suited to small to medium sized organizations. For support, they will encourage users to self-serve, using knowledge-base software and in-app help to keep support costs down.

This isn’t an exhaustive list of app personas, but I want to give you a flavour of how apps can be developed and positioned differently. The existing marketplace will often heavily influence which of these personas will be most successful. It’s up to you to devise the optimal plan, and I strongly recommend spending time defining your app development strategy – be very clear as to which model (or version of the model) you want to adopt.

Summary

I think we’ve drifted past the initial first steps in developing an AppExchange app; really understanding your position in the market and defining your own App Persona is fairly advanced stuff. But it doesn’t have to take a long time to develop this kind of thinking. Start small with a few guiding principles, and don’t build everything your first customers ask for! Over time, it will mature into a solid framework that helps prioritize how you spend your resources.

The steps I have outlined above come from developing a successful AppExchange app, but also from 20 or so years of broader technology and marketing experience. Even then I missed out steps or did them in the wrong order – so hopefully this article will help to set you on the most efficient path towards achieving your killer AppExchange app. I can’t wait to see what you build – let me know in the comments!

The Author

Ed Ralph

Creator of SuperRoundRobin | Salesforce AppExchange ISV

Leave a Reply