I am a developer with a reach of a few hundred thousand people using my product. For me, some ideologies matter more than others. I’m a hacker and I find Apple’s regulations toxic. Here’s why.
My complaint with Apple is not so much that our business had to take hard calls, as much as how Apple is deliberately denying at worst or delaying at best a free and open internet.
We’ll write elaborate build instructions on GitHub, but reading a review process documentation? What’s that? We don’t even have a system to do that. We have systems called test cases that will find the most obscure of the cases where the app might crash. But not one way to figure out whether it adheres to the policies. Like scientists and engineers, developers happen to lean left.
I feel Apple’s approach has been greatly detrimental to the progress of significant technologies in these recent years. It is unfortunate that great engineers are not able to advance their science just because a legal(?) team somewhere is not as fore-sighted as them.
Crypto Currencies have taken a significant hit because of Apple’s terms. I myself had tried launching a crypto product a few months back. I thought it was a cool idea. It was not even an app that was going to give me any monetary benefits. I just thought it’d be so awesome if we could use crypto currencies in this fascinating new way. Apple had some policy regarding Crypto Currencies which would deem my app inappropriate.
That said, lot of people have gotten scammed in crypto currencies. Apple’s apparently trying to save them. A great way to play safe is to play conservative.
My fundamental problem is not in the policies itself. Though they’re a source of major concern too, but I really care about the right policies the by the right stake holders. I challenge Apple to show us how many developers they have on their App Review team. We have the same problem when Governments try to moderate AI research. Not that we developers somehow magically know what the right thing to do is, quite the contrary – but developers are as important a stakeholder in this as much as the end-consumer is. We need a free-flowing expression of art and a open-minded approach to scientific advancement. We might have scams on the way. But, as humanity, we’ll learn to deal with them.
This last part is not as much as a rant as it is a genuine question. I’m sure the app review team is a huge team. I’m sure there are hierarchies. How is the incentive structure defined for a team like this? I’m sure it would be hard. How does this team promote the right people? What behavior does it reward? What is the north-star metric to see if the teams are doing well? I really want to know. I want to know how a company builds such parts of it’s organization.
Disclaimer : The views are that of the Author, not the company.
There are a few questions I get asked repeatedly from friends who are trying to get an app built using a dev shop in India. Dev shops are consulting businesses that take your requirements and build out an app for you. They’re very cost effective when you are careful in execution.
Dev shops are best suited for individuals and companies who’s primary focus is not the technology itself. Rather, their business drives most value from what the technology enables. Like, e-commerce, courses, consulting. It is bad if you are trying to build an innovative social network like say SnapChat. In cases where you will be iterating a lot and experimenting new things on your app, you should consider building it yourself or hire someone to do it in-house.
What Technology should I use?
There is no one-answer-fits-all for this. Technology chosen is a function of personal choice. It is possible to create a great product using an out-dated technology.
However, I’ll not disappoint you. I will give you an answer. The answer here is not a direct indicator to technology itself, but a proxy to judge good dev shops. Good dev shops use the latest greatest. A dev shop that’s ahead of the curve on technology, might also be a good bet in terms of working with them.
Lot of dev shops charge you double the price saying “we need to build different apps for iOS and Android”.
Except for a few very special cases like graphics intensive games, there is really no good reason for making a separate app for each.
Technologies exist that help you launch the same app to iOS and Android.
The best such technology today is Flutter. It is developed by Google, released in 2017 – but got stable in late 2019. Relatively new, but fast improving.
A close second is React Native. Developed by Facebook in 2015. It has been around for longer. There is much higher community support, meaning development speeds are much faster, at the cost of bloated app sizes.
Whether Flutter or React Native, both are good front end options. You should never have to pay for 2 apps anymore. Any dev shop that charges for 2 apps, is way behind the curve. Tells you something about the quality of their work.
There are two considerations with respect to backend technologies.
There are 2 basic architectures. Server based and serverless. Server based is where you would run a server on the cloud like Google Cloud, Amazon Web Services or Azure. These are called VMs (Virtual Machines). They’re out dated and cost ineffective especially for simple use cases with unknown traffic.
Serverless computing doesn’t run a server. Most of the applications can be run using Serverless architecture. The advantage here is, serverless handles high traffic without needing to do anything extra. If you have very little traffic, you pay very little. Many times 0. The kinds of situations where Serverless doesn’t work is if you need to do some file processing that takes more than 10-20 minutes on a regular computer. Serverless is a great option when you don’ t know how much traffic you are going to get yet. You might want to move away from serverless when you have a scale of over 1M users a day – spread evenly through the day without spikes.
The best serverless provider as of today is Amazon Web Services.
Be weary of dev shops suggesting PHP for the backend framework. Not to say PHP is a bad technology. But it is old and most dev shops use PHP because they’ve been using it for years. Which usually means, they don’t adapt to the latest functionalities of PHP. So PHP is a red flag suggesting that this dev shop isn’t bothered about the modern options available.
.NET & Java are poisonous. Stay away from people using these. Most people using .NET/Java are using a 10-15 year old product. Improvements in .NET/Java have been disappointing over the decades especially for backend.
Node.js is the most important framework. A dev shop using Node.js is a good signal because, using Node.js is very different from the way they’d have used PHP and .NET in their past. If they’ve transitioned to Node.js, its an encouraging signal.
Rails is a far second. But is a technology that seems to be improving fast. I would need a really good reason to believe a dev shop that uses Rails. But unlike .NET or Java, I’ll atleast hear them out.
Most people still use MySQL. That’s kryptonite. Run.
If someone is using MySQL, they haven’t learnt new technologies in the last 10 years. Which, in continuation to my theme, is a way to detect bad dev shops.
You need someone using NoSQL. This usually means something like DynamoDB or MongoDB. This is a new paradigm in software, and works great for a lot of situations.
If your product needs SQL (very rarely so), you need the shop to use something that scales better and doesn’t get corrupted like MySQL. Redshift, Cassandra are decent options. But make sure you don’t get convinced for a SQL database without consulting a technologist.
This is the biggest pain point. If you aren’t from a technology background it is impossible to judge the amount of effort for your product.
However, for a simple ecommerce app with the front end, backend and an admin portal to add your goods – you should be ready to shell out Rs. 8-10 lacs for an average dev shop. For good ones, you’re looking at 15-20 lacs.
It’s expensive I know. That’s the dev shop business. If you had an in-house developer, you can get it built at a much lesser price.
Another big problem in this ecosystem are cheats. A lot of dev shops force their developers to ship bugs in your product. So, that way you will have to come back to them to get it fixed. The bigger the app has gotten, more they charge to fix it. They know you’ll have to get it fixed and they’re the only ones who can fix it.
I’ve seen friends spend more than 2lacs within the first month of launch.
When negotiating the terms, please make sure you have the source code handed over to you at no additional cost. Many dev shops charge you extra for giving the source code. If they give you the source code, you can go to anyone for improvements or bug fixes. They usually want monopoly – so that they can charge you again and again.
A major cost for anyone launching an app after getting it built is the server costs. Most shops don’t tell you how much that will cost. You must ask them for it and ask for a written guarantee. Bad dev shops will build technology at a low price but will have huge server bills. Many times, 10x the amount you should actually be paying for a well made backend. The wrong framework and wrong database usually is 50% of the problem. The rest is how well / badly the code is written.
If you have videos on your app, and about 10,000 users, your server bills may range between Rs. 50-80k per month. If you have live streaming you’re looking at Rs. 5-6 lacs per month.
Whom do I recommend?
As of today, I don’t recommend any dev shop. For most usecases, there exist Software as a Service that helps you launch great quality for a fraction of the cost.
With the mentioned points in mind, you’re safer than you were before. Neither does this guarantee you’ll not get conned, nor does it mean you’d get a great product. But, you’ll be in a position to make a better decision.
We write a lot about the best decisions for your digital business and help you take the right decisions. You should follow us. It’s good.
For those of you who tried Socionity.com would have noticed that we generate a new kind app called a Progressive Web App – just for you. This doesn’t live on the Play Store or App Store. Inspite of it’s shortcomings, we found it superior to the regular apps.
More importantly, we think this is the future. We’re making an early bet.
When you say app, you usually refer to an app that can be downloaded from the app store. However there is this new kind of an app called Progressive Web App that is a new kind of an app that doesn’t sit in the app store.
An app is just a software that runs on your device. We’ve been accustomed to the notion of apps to be something to be found on the app stores alone. However, for years before the app stores became popular we’ve been installing and running apps on our PCs downloaded from websites or loaded from CDs. Just that we called them softwares, now we call them apps.
Both Google and Apple have a monopoly on the app store on their respective operating systems. It’s only a time before someone sues them for it.
There is no apparent reason why apps should be distributed only by Google or Apple.
PWAs break that monopoly. You get to stand on your own feet. You get to break away and distribute your app on your own. With PWAs, you don’t need to pay the gatekeeper charges to just get listed on the app stores.
With Socionity’s PWA, you can by pass all those payments.
In App Purchases
Particularly worrying about the monopoly of App Store and Play Store is that they levy a hefty 30% commission on any digital good (aka video, audio) bought on an app hosted on the app store.They aren’t even the developers of the app. They levy a hefty charge and disallow competition. That’s unfair.
Granted, Socionity levies a commission too. But we power the technology that actually makes your app run. Also, any new company can come about and charge a lower commission – and you are welcome to change platforms when you do find a cheaper and better alternative.
I’ll quit ranting about Apple and Google. There are some real good reasons why PWAs are more powerful.
They are powered largely by the same technology that powers the internet. So, that means the app can run on any device that can connect to the internet. Your laptop, mobile, smart TV, smart watch – all alike. You can run a PWA on any device.
Your app made with Socionity runs on laptops, mobiles and TVs. One app on every device.
PWAs are super small. Usually amounting to a couple of MBs, they’re far smaller and quicker to load than any of their regular counterpart.
This encourages people to install the app. And, they don’t have to wait for the app to download and install.
There’s no way to give a sample of the app on the App Stores. You must download it, if you don’t like it … uninstall it.
With PWAs, they can check out your app without even downloading the app. It loads the app within the internet browser. It’s a great way to give a sneak peek of the app, without asking them to download it.
Continuing from the previous section, you can ask users to make a purchase without having to ask them to install.
It is a well known secret, that the easier you make it for the customer to make a purchase, better the conversion you get.
Asking the user to download the app is an necessary delay.
Socionity’s app makes it possible to make a purchase within 5s.
That said, not all is rosy. PWA is a nascent technology, and a work in progress as against regular apps that have been around for most of the last decade. By virtue of that there are some shortcomings
The biggest shortcoming is notifications on iPhones. PWAs can’t send notifications on iPhones yet.
The way we overcome this, is that we send an email whenever we’re not able to send a notification.
Android notifications work great, though.
When compared head to head, there are places where the performance of the PWA is a little worse.
Things keep getting better, but for most of the cases, the difference in performance is unnoticeable.
Some apps like Snapchat prevent you from taking a screen recording on Android phones.
This is something that is not possible on PWAs. The way we overcome this is by using dynamic watermarking so that we can catch the culprit found guilty of screen recording premium content.
If you really want to be independent in the modern day and age, without being screwed by the underlying platform, you should definitely consider launching a PWA. It might not be the right bet always, but it’s almost always a good question to explore.
We write a lot about technology and other tools you can use to build your own business online. We want to empower you to be a freewill entrepreneur. You should subscribe to our weekly newsletter. It’s good.