Stories linking everyone in Telecom
Advice to Developers of Add-on Mart Apps

Publishing Your Apps to PortaOne Add-on Mart: DOs and DON’Ts

Table of Contents

We are not (yet) Apple, Google, or Microsoft, and we don’t have a dedicated landing page to explain our partnerships policy to creators of Add-on Mart apps. However, nothing can prevent us here and now from giving some good advice to any aspiring future partners. These simple and straightforward steps will help you speed up those initial “setting up” stages. They will save you time and effort. And they will also steer our joint venture in the direction all parties ultimately expect to go: earning money (and fame!) by delivering more value to our customers. So, without any further ado, let’s get started. 🚀

DOs

✅ Add Value for Customers of Your Add-on Mart Apps

“People ask me for our ’secret sauce’ advice at various conferences and startup competitions,” ironizes Andriy Zhylenko, CEO of PortaOne. But, of course, the most secret “secret” is that there isn’t one. “Businesses that learn to capture and deliver value to their customers fast will survive and thrive. Business that don’t disappear – sooner or later.”

The stories of Zendesk, Snom, Mondago, and many of our other successful partners all follow the same path. These businesses first figured out how to create customer value, and then (jointly with our sales and tech teams) delivered this value to customers of PortaOne via our partnership instruments and Add-on Mart apps.

✅ Use Our APIs, Kubernetes Containers, and Cloud Technologies. It Will Make Your Add-on Mart Apps Deploy and Run Faster

The PortaSwitch source code is available to any paying customer after signing a license agreement with PortaOne. Unfortunately, while many of our clients value this openness, it also can create some sad confusion for the developers they sometimes hire. Namely: some people prefer “hardcoded” solutions that work only with the version of the code that our customer presented them with.

This way of thinking lacks a longer and broader vision. It also usually ends in mutual disappointment. Here’s an example: say our customer discovers that their code “does not work” anymore with the newer Maintenance Release. Meanwhile, that self-taught developer meets our unhappy customer’s (reasonable) wrath with a given Add-on Mart app.

How Can You Avoid Deadlocking and Hardcoding Features of Your Add-on Mart Apps?  

Here’s an approach that keeps things nice and tidy. By using APIs, docker, and cloud technologies (aka microservices), you can ensure the following upsides for yourself:

  1. You will create a loose dependency. (Specifically, you won’t have to update PortaSwitch to get a new feature in your Add-on Mart apps.)
  2. You will get access to the widest possible audience of PortaOne customers. (Standards-compliant access via API means app developers have the ability to serve any PortaOne client.)
  3. You will speed up your time-to-market. (Using APIs/defined interfaces reduces your effort during the initial checks! That’s because APIs have sanity checks built-in, so we know the app can’t do certain funny things.)

Of course, don’t forget your Add-On Mart Kubernetes checklist. We’ve already covered that in a separate blog story.

✅ Respect PortaSwitch

The best way to get things the way they need to be is to communicate issues with our support team before telling your part of the story or posting complaints on social media. If you are cooperating with other CPaaS and UCaaS providers, please do two things: First, make sure that all of the new features you release (and advertise) for those platforms appear in your Add-on Mart apps (at least) simultaneously. Second, make sure that PortaOne customers each have at least the same level of attention and care from your support team.

✅ Provide Your Own QA and Support

We are always happy to be the first line of support for our joint customers. However, your code is your code. You must always be ready to support it and resolve issues that any customer might start reporting within your Add-on Mart apps.

To make sure we can help you in the best possible way, we recommend that you create your own support playbook for our support team. While some of the issues customers decide to report to us are unique, most are not. If you create an FAQ and a few standard scenarios for clarifying and resolving your most common issues, you will spare our support team and your team members precious time. And you will create the overall best experience for everyone who uses your Add-on Mart apps.

DON’Ts

❌ Play “Hacker” or Try Modifying the PortaSwitch Source Code

For the last 20 years, we have supplied PortaSwitch to our customers complete with its source code. That means our customers can change and enhance the functionality however they see fit. But this arrangement only works when the PortaSwitch operator uses their own “trusted” team to make those changes on their installation. (And, of course, when they do it with sufficient preparation and testing.) Would you really approve a change to the core source code on your own production system that was done by some third party? And the same principal applies to installing additional third-party software via a Linux package manager (RPM).

We created Add-On Mart as a way to enable organizations to enhance PortaSwitch without messing around with the source code, so let’s keep it this way! Omnia mea mecum porto (Excuse our Latin: that means “all that is mine I carry with me.“). All the new code or packages that are required for any of your Add-on Mart apps should be packed on the side of your module. Please take PortaSwitch “as is” – and communicate with it only through the standard APIs.

❌ Require Add-On Mart to Execute Your Code on Other Cloud Platforms

Ok, in terms of dos and don’ts, this one is a bit hazy. In fact, it’s kind of a “no, but if you want to, then yes” situation. 😂

Let us explain. The actual execution environment for Add-On Mart modules is Kubernetes, running in Oracle Cloud Infrastructure (OCI). That means you can’t just grab a “native” AWS or Google Cloud application and expect it to run – it has to be packaged as a set of containers and deployment files for Kubernetes.

Connectors for Add-on Mart Apps

Here’s the “but“! In some cases, there may be some unique functionality of a particular cloud provider that’s required for your Add-on Mart app to function. A good example would be integrating with Microsoft Teams, which (surprise, surprise!) requires Microsoft Azure cloud capacity.

Here’s a great lecture offered by a team of Cloud Native Computing Foundation members. It’s part of the kubecon.io promo campaign. We would love all of your Add-on Mart partners to watch it!

In this case, you may leave the “main” part of your application running the cloud of your choice. Then, Add-on Mart will only execute the “connector” part of your module. (For example, taking an incoming request, sending the data to the main application, and returning the result.) Or, if minimizing network delays is crucial, the code for your Add-On Mart apps can simply perform administration and configuration functions (e.g., activating a new subscriber). Then it will be ok for PortaSwitch to communicate directly with your code.

❌ Mess with Privacy and Security

This is an important piece of advice, as it covers the privacy and security of our customers, our employees, and of PortaOne as a business. We all know that one loose contractor can ruin a solid and reliable company in a single day.

Cambridge Analytica whistleblower: ‘We spent $1m harvesting millions of Facebook profiles’
Harvesting data from our customers is what we don’t expect Add-on Mart partners to do.

And while Cambridge Analytica may be the big-news guy in this subject, this kind of issue goes far beyond that company (hello, LocationSmart). But that’s enough talk about this kind of sad stuff for now. We are very sure that you are a responsible and diligent business partner. So, you have nothing to worry about here.

❌ Let Your Add-on Mart Apps Use Direct Database Access!

In the old days, before API covered all entities and data structures, some of our “old-time” partners used to create applications that went directly into the PortaSwitch databases. Today, there are just a handful of legitimate reasons to access the database directly. For instance, that is the most efficient way to obtain summary data for sets of over 1M call detail records. But this will not work with Add-On Mart for two reasons:

  1. Any sane administrator already has already blocked any access to the database from outside their network. (And to the cloud, where Add-On Mart runs outside!)
  2. PortaSwitch is multi-tenant, which means there could be totally different operators, each running in their own “virtual environment” but hosted on the same physical hardware and storing their data in the same database. So, direct database access could potentially allow an application to access the data of all virtual environments – and nobody wants that.

❌ Show Up Without a Business Case for Your Add-on Mart Apps

While we love peace, global harmony, and generally being good, the facts are that PortaOne is a business – and one that supports over three hundred families worldwide. There is no pre-set “sample biz case.” Just use your good reason. Still, help is there if you need it. Here’s a piece of (not so) secret YouTube knowledge in this area, should any aspiring Add-on Mart partners need some.

Jennifer Bridges does a fantastic job of explaining a business case and how to draft one. We hope this video will genuinely help our aspiring Add-on Mart partners. And she even comes from the same state as Tim Cook! 😉 

What Are the Benefits for Add-on Mart App Developers? 

So those were the big Dos and Don’ts. But enough about rules. Let’s get into all the good stuff you can expect with your Add-on Mart apps.

Just Write Code That Works Well – We’ll Do the Promo Part (and We’ll Pay You, Too)

Isn’t this the “coder’s dream?” 😂 In a way, yes… but, well, it comes with a few strings attached. First, your code should be for a feature people need. And second, you need to be ready to debug, support, and adapt to any changes that crop up. And they do! Think: Apple, Google, and Microsoft jointly releasing new VoIP calling architecture, and so requiring all WebRTC developers to dance the waacking 🕺🏻👯 each time they do it. (Don’t worry about that last part – we were just kidding. Please take a rest from your git now.)

Mark A. Hart delivers an excellent lecture on how coders can thrive when their roles expand into developing and commercializing a new product. And what a luxurious beard! It adds weight to the wisdom Mr. Hart is delivering to his viewers, including our existing and prospective Add-on Mart partners.

Containers and Auto-Deploy Are Ready and Waiting for Any Developers of Add-on Mart Apps

That’s right – we allow our new customers to start using your module with zero effort on your side! This happens through a combination of:

  1. Containers & deployment templates
  2. Storing parameters for each instance (i.e., a module purchased by a specific CSP) in Add-On Mart and enabling the CSP to change the via web UI
  3. Cloud auto-deploy procedures

So (ideally) you will find out about a new subscriber of a module when your next “revenue-share” statement comes.

The previous paragraph mentions the “ideal” scenario, while at least some of the new users may experience some issues in reality. The good news is that the PortaOne team will take care of most of the things if they are related to the module’s configuration or essential integration.

Application Support Engineer | Everything You Need to Know (in Under 5 Mins)
Here’s a great video explaining the simple daily routines of application support engineers. Are you feeling Impressed? PortaOne has dozens of support engineers available worldwide. And we now train these great brave people to support apps made by Add-on Mart partners.

Our crucial takeaway from the video above is that “the perfect person for an application support engineer will be somebody curious about the technology and willing to do whatever it takes to have customers be successful.” And, yes, sometimes “having a successful customer” means reminding that customer to plug in their device power cable before calling for support. 😂

PortaOne Is Now Ready to Run Numerous PoCs Simultaneously

And that’s the last but very much not the least element of our value proposition for developers of Add-on Mart apps. It’s sad to admit, but in 2021 our capacity to run proof-of-concept projects was limited. Because of “the times,“ our dev team and project managers had to prioritize their time and dedicate it to the immediate revenue generators. And as a result, we had to turn some of app developers down.

But now it’s 2022 and the situation is different. Despite COVID, 2020 was a significant financial year at PortaOne, as was the first half of FY2021. The resulting commercial stability has allowed us to dedicate more billable time and our best tech talent to Add-on Mart, which is our 2022 BHAG, by the way. And that means we have an improved capacity to process new Add-on Mart apps and their developers. So, we invite you now to enjoy this capacity. Please make the best of it, both for your profit and for the benefit of our customers.

Share this story

Related posts