stayaway-app icon indicating copy to clipboard operation
stayaway-app copied to clipboard

Why a new custom implementation vs reusing existing, proven-to-work code?

Open falkTX opened this issue 3 years ago • 8 comments

This is just a question, not sure where else to place it. Why is stayaway a brand new implementation on something that other entities/countries have already made and published?

For example, Germany has https://github.com/corona-warn-app/

Contrary to the UK, that when they started development no such other projects existed (at least not in a good/mature level), Portugal had the chance to reuse an already working solution.

falkTX avatar Oct 15 '20 21:10 falkTX

https://en.wikipedia.org/wiki/Decentralized_Privacy-Preserving_Proximity_Tracing

davipt avatar Oct 15 '20 22:10 davipt

I know of it. But that does not contain:

  1. iOS application
  2. Android application
  3. Infrastructure to build the 2 common mobile application types
  4. A way to run the application without non-free components

https://github.com/corona-warn-app/cwa-app-android/issues/75 is relevant to issue 4, which is not an easy thing to tackle.

Points 1-3 could have been mostly skipped and get a working implementation for those by simply reusing existing, proven-to-work, open-source code.

falkTX avatar Oct 15 '20 22:10 falkTX

A dedicated device could be a solution to avoid usage of closed hardware and closed operating systems. I wonder about the success of manufacturing and providing millions of devices to the Portuguese population… even many billions to the word. It could be an interesting business case though.

davipt avatar Oct 15 '20 23:10 davipt

The need for dedicated applications comes from the specificities of each health care system. As explained in the project's front page, STAYAWAY COVID builds on the DP3T project (https://github.com/DP-3T) thus not rewriting the entire system as implied in this thread.

fmaia avatar Oct 21 '20 10:10 fmaia

Still sounds a lot easier and less expensive to use an existing infrastructure (frontend + CI/CD and not just the DP3T stuff). Obviously every country is different, but also there is going to be a lot of things in common.

falkTX avatar Oct 21 '20 10:10 falkTX

You should also consider that these applications were mostly under development as well when the Portuguese app was being designed and implemented. Portugal was among the first to have a GAEN app (7th or 9th). In my opinion, going for a multi-platform framework and being able to focus efforts in what the Portuguese requirements were and, at the same time, reuse what we found to be a stable codebase (DP3T) was the best approach. However, as with any engineering project there are always pros and cons with every decision and one might argue in the opposite direction.

fmaia avatar Oct 21 '20 11:10 fmaia

ok I was not aware of that. thanks for the extra information.

my hope is that at some point we can share more than just the DP3T backend. this is going to become crucial later when we slowly open borders and travel in some semblance of normality again. someone traveling between countries needing to install many different applications that all serve the same purpose is a bit absurd.

anyway, there is a chance to go back to something more common than just DP3T in the future correct?

falkTX avatar Oct 21 '20 11:10 falkTX

I agree. Of course a more general approach would have advantages and we will probably tend towards something like that in future generations of these approaches. We might envision that, not only for this pandemic but also for future threats, technology will evolve and provide better solutions. For instance, using bluetooth has intrinsic technical limitations but looking at the technology landscape it was the best approach possible due to its extensive deployment in modern smartphones.

fmaia avatar Oct 21 '20 13:10 fmaia