By Richard Harris in iOS Tuesday, March 12, 2019
For any app developer, developing a top-ranking app on Apple’s App Store would be a career highlight. Yet thanks to Apple doubling down on user privacy, even popular apps like Facebook have been taken offline. For developers, it’s increasingly important to stay abreast of rapidly-changing privacy, compliance and policy changes to avoid a similar fate -the dreaded app store removal.
Ben Wald, co-founder, and VP of Solutions Implementation at Very, shares insight on how developers can stay on top of evolving policy updates, a key factor in avoiding being thrown out. We recently had a discussion with Ben to discuss best practices on how to build apps that can respond quickly to these security updates, and how to create innovative apps that delicately balance the experience for end users, while also protecting their privacy.
ADM: What are the biggest technology opportunities with app development?
Wald: Users expect frequent product releases and feature upgrades, putting a great deal of pressure on app developers to continually innovate on the design and functionality of their applications. Not only must apps work flawlessly, but they must also delight users to truly stand out from the crowd. This requires app developers to work with agility, regularly releasing features and proactively responding to user feedback.
ADM: What are the chief considerations when working with customers to develop apps?
Wald: It’s important to identify the most critical features as early as possible. Most customers come with a wish list of every feature they want in their app. We use a process called “needs, wants, desires” to prioritize features. During this process, we work together to create an exhaustive list of user-facing features, necessary administrative functionality, and general platform foundations.
The session starts with everyone creating cards, in person or virtually, and placing them where they feel the cards fall in priority. The three choices are:
- Needs: Must have, a top priority
- Wants: Nice to have
- Desires: Would love to have someday
Once everyone has completed the first task, we process every card as a group. This is where it’s critical that all stakeholders are collaborating. We need to meld the viewpoints of engineers, designers, domain experts, and product owners. We’ll reorganize everything, write new cards as needed, throw cards away and ultimately end with a high-level road map for the project.
These cards will eventually turn into our product road map. For this activity, the goal is to determine which features are critical to the business and customers, and this helps us start thinking about how to define the Minimal Viable Product.
ADM: What do you see as obstacles in the industry for app developers?
Wald: Developers need to work diligently to ensure that only the most critical features are developed so that they can pour their energy into producing a functioning product with an amazing user experience. Facebook used to have the motto, “move fast and break things.” It meant that new features and tools might not be perfect, but that creation speed was key, even if there were some slips along the way. Those days are quickly coming to an end, and in fact, Facebook’s new motto is “move fast with stable infra.” Facebook is just one example of a development organization that has changed its tune and become more pragmatic. Today, all features should support the primary purpose of that product and try to avoid much else to keep technical debt to a minimum and reduce the surface area for possible defects in the long run.
ADM: Explain the issues app developers run into with compliance.
Wald: The explosion of user data has given way to a new era of app development. Now, applications can customize in-app experiences user-by-user, an idea that would’ve seemed far-fetched just five years ago. However, applications that store and manage large amounts of user information or behavior tracking need to be very careful with how that is used and shared. As users are becoming more and more concerned with their privacy, Apple and others are responding aggressively, requiring that developers be transparent when usage data is being collected and issuing 24-hour takedown notices to violators.
For app developers, this means that many apps could be in risk of removal from the App Store, thanks to Apple’s stringent 24-hour turnaround privacy and compliance policy. Simply put, launching an app isn’t a ‘set it and forget it’ process – rather, developers must focus on the core steps needed to ensure proper compliance and updates as Apple rapidly deploys policy changes.
ADM: How do you balance out the need for data to personalize information for the user and privacy concerns?
Wald: A good rule of thumb is to only collect the minimum amount of information necessary in order to achieve the primary job of the application. This varies widely by application. Companies like Amazon and Facebook rely on this ability to personalize as part of their competitive advantage and have a deep history of your engagement their product over many years. Amazon’s use case could be thought of as the ideal scenario, where all personalization can be gained through users interacting directly with your product. Facebook, on the other hand, is able to collect and monitor your general internet activity, even outside of their platform, due to their deep integration with their advertising partners. This is, in my opinion, more of a grey area, particularly as users don’t really understand what information they are providing Facebook and how it is being used.
When collecting personal information, do it in a way that is intuitive to the user, less so through aggregation and mining for data from your platform. Of course, if your monetization strategy involves selling user information in any way, be sure to consult your legal team before proceeding.
10 best practices to avoid removal from the App Store Summary
#1 Stay up-to-date on current events.
Apple gives developers a very short turnaround to comply and update your code, sometimes only 24 hours. The more you stay on top of Apple’s policy and compliance changes, the more aware you’ll be when you suddenly have to shift gears. Make sure that you’re following any news and checking the email you have registered with Apple to avoid a last-minute scramble as much as possible.
#2 App development isn’t a “set-it-and-forget-it” process.
Some app developers mistakenly think that after launching an app, most of your work is done. While a lot of the heavy lifting happens during the initial development, companies must focus on the core steps needed to ensure proper compliance and updates as Apple rapidly deploys policy changes so you can adapt quickly as these changes happen.
#3 DevOps can set you up for success.
An effective DevOps strategy allows organizations to more rapidly deliver software and security updates internally and to customers. This is critical for agile development, as laying a strong foundation for your application will set you up for success in the event of having to rapidly respond to 24-hour notices.
#4 Provide unit tests for all applications.
Unit testing is essential for developing quality applications; it allows you to find more bugs at the code level or more refined class level. Doing so will catch errors early on, which if not detected, can create issues and cause crashes of the whole system, once all the modules of an app are integrated.
#5 Ensure well-documented quality code.
High-quality code provides a solid structure for application development. This can be achieved through pair programming, regular code reviews, functional testing, and identifying clear requirements. Code should focus on extensibility, maintainability and readability to ensure the application is consistent, visible and can be flexible to any sudden changes.
#6 Begin using CICD for your applications.
Create a CICD (continuous integration and continuous delivery) environment to automatically test code and streamline applications. The benefit of CICD is its ability to respond to changing requirements and to ship updates as quickly as possible. This results in a superior user experience and a more stable product by being able to adjust quickly to users’ issues and feedback. The term “continuous delivery” means that the product is essentially always in production; any changes are immediately committed, and the software is continuously evolving gradually, thereby allowing consistent updates in response to sudden policy changes.
#7 Put security first.
Privacy is a double-edged sword, and most of the time, is the reason for apps being booted from the App Store. Generally, people choose to let their information be used in exchange for personalization or convenience — the world we live in is built around that convenience and often the cost of that is privacy for the end-user. As Apple doubles down on apps for their security practices and sharing of data, developers should be aware of how this will not only impact its users, but their standing in the App Store if they don’t put security first.
#8 One mistake can cost you.
Being booted from the Apple Store has serious ramifications for developers, which can be difficult to recover from. Making sure you’re following all guidelines and staying on top of rapidly changing policies is essential to thriving in a continuously changing environment.
#9 Expect more regulations down the line.
As security and privacy become larger concerns for users, Apple will likely steer closer in this direction in the future. What does this mean for developers? Expect consistent changes to the App Store ecosystem with a stronger demand for developers to remain compliant with changing policies. It wouldn’t be shocking if Apple continued down this road and became stricter with their current regulations. With the right foundation, app owners can make their business more resilient and sustainable in the ecosystem.
#10 Change your status quo.
With Apple’s policies and compliance standards updating regularly, this is a chance to take a step back, review your own processes and see what’s working for you. While Apple sets the tone, it also allows app developers to challenge themselves and become more innovative. While it may seem daunting at first, this is a good practice to incorporate new ideas and tools into your app development and have fun learning in the process.