Absolutely.
The first thing you have to do with any application is design it.
In 2020, there was no COVID border app to copy, so ArriveCAN had to be invented. The design process itself is difficult because you have many stakeholders. You have to understand how they are going to use the application and make sure that you've met their needs.
There's governance. You have to respect users' rights. Ironically, many of the most vocal critics of ArriveCAN are also vocal critics of government overreach and invasions of privacy. They should be happy that we are spending so much time protecting their rights, particularly with medical data, passport data and travel data—some of the most precious data there is.
We have to train people on how to use software. It's not magic. Everybody here had to learn how to use Teams in six weeks. Learning ArriveCAN had to happen across thousands of employees in real time, during a global pandemic. They had to be trained with each new version of that software.
Private companies don't necessarily have to do that. They're also not trying to use those applications in degraded conditions. By definition, every user of ArriveCAN was going to use the app and then turn on airplane mode. It's call “airplane mode” for a reason, so your app is naturally going to disconnect. The testing and the edge cases are very difficult, and so far, that's true for public and for private companies, but hen you get into government, you get into much more governance, in part because of accessibility requirements. If you call up TribalScale or Lazer and say that you want an app and, by the way, you would like it to be accessible, they are going to add a line item. Do you want it to work with screen readers? That's going to cost you more. Do you want it to work with other phones and all these different platforms for accessibility?
Government doesn't have the luxury of targeting the lucrative middle. Government applications are for everyone. That's a much wider range of development, testing and coverage.
There are also issues of interoperability in working across jurisdictions. There's even language. I'm not just talking about translation; if one misplaced pronoun gets somebody upset, then a member of Parliament is going to get yelled at and a public servant is going to get thrown under the bus. Every word has to be scrutinized, when in fact it should just be a matter of fixing it in the next release.
Government is under this sort of scrutiny. Perfect may be the enemy of good enough, but government doesn't have the option of good enough.
Obviously we talked a lot about procurement, meaning the outsourcing and the markups and so on. Those are legitimate issues. The lesson here should not be that government should outsource more efficiently; it should be that governments should know how to build apps. We should be in charge of our own future. If you just look at the markups that we're paying by not having a robust public sector that's technology-smart, that explains a significant portion of these costs.
Finally, I think there are deployments and backups. When you're building a software application, you have to build a sandbox to build the next version. You have to build a system that can be replicated. You need a backup plan. If this stops working, there are literally thousands of people in transit who can't arrive in the country. A private company that delivers an app doesn't have to deal with 10,000 people lined up at the Dorval airport who are wondering how to get into the country.
I think it's disingenuous to try to compare the two.