WebRTC to the help of GIS.
There are times when you get these aha moments. My chat a few weeks ago with Cagatay and Emre was like that.
GIS stands for Geographic Information System. It is all about mapping, which can easily require humungous amounts of data to be stored and then sent from the server to the client. I think that PeerMesh is the first attempt to add WebRTC to GIS and reduce the server load by using a peer-to-peer network natively in the browser for this use case.
Cagatay Celebioglu (the UX designer) and Emre Esirik (the developer) were kind enough to share their answers with me here. The mapping parts of it I understood a bit less, but I think it is important to remember a few things about PeerMesh:
- It takes WebRTC to a place I have never seen done before (after 3 years of looking at this sapce, this is impressive)
- It has nothing to do with voice or video, but still looks very useful
- It took 2 people to pull it off, and they were clueless about WebRTC when they started. They are experts in GIS as far as I can tell
- They live in Turkey, which shows how global a phenomena WebRTC is
What is PeerMesh all about?
What is the problem with GIS that P2P can be of aid?
We have always known that bandwidth and server load was a big issue on GIS applications. We also know that current internet-based GIS applications relies heavily on centralized server which has a lot of drawbacks. We have decided to adopt a decentralized network-based style to enable p2p technology on GIS. P2P technology can improve scalability/reliability, enhance the overall reliability and fault-tolerance, increase autonomy and enable ad-hoc communication and collaboration. By combining Web services and P2P technologies into GIS, we aim to add more flexibility and autonomy to GIS Web services systems, and alleviate to some degree the inherent limitations of centralized systems.
What excites you about working in WebRTC?
WebRTC is an amazing technology and we think it will be more important for future of web. P2P CDN, web torrent idea with WebRTC is unbelievable. When we thought about sharing GIS tiles between P2P, we were so excited. When we started to work with WebRTC and succeeded to implement P2P data sharing over a unique content delivery network, we believed that it will decrease bandwidth usage and data will be received in shorter time.
Backend. What technologies and architecture are you using there?
What were the challenges for you in adopting something like WebRTC?
Finding sample code and discussion about WebRTC is a difficult. WebRTC is a complicated technology, however, the browser handles lots of things for you. After trying to run WebRTC examples, it works really nice. WebRTC is a standard of W3C but each browser implementation is different. So, WebRTC adapter is implemented for browser compatibility .
If you had one piece of advice for those thinking of adopting WebRTC, what would it be?
Understanding webRTC’s architecture is the half way of work and adopting p2p enables web socket technology necessary.
You should define your own data protocol, because WebRTC has not defined a protocol for sending and receiving data. Understanding this, you have to define data flow and architecture so you can define a data protocol.
What’s next for PeerMesh?
We will continue using p2p technology to share new GIS skills. We will also work on building android WebRTC API so we can support native applications on mobile.