Although modern users are now more used to working with web applications through the browser, we can offer standalone window applications in Java, C#, Swift or Objective-C. These programs can exchange data via the Internet with a centralized system, and we can organize a decentralized peer-to-peer network that cannot be disabled by blocking the central server.