I’m thinking of creating an App that will run on Android, iOS and Windows and have the following functionality:
- An interface like GuitarTapp Pro for searching, selecting and storing Musical Tabs with lyrics and chords.
- Create setlists for performers
- I would like to make it a p2p serverless application with IPFS.
I’m going to use Xamarin with .Net Core as the technology to create the cross platform apps.
I’ve already found the Ipfs.Api assembly by Richard Scheider but am a bit lost on how to get started. I would like the App to be a Node as well as a Client.
- I am familiar with the concept of IPFS but don’t understand how peers can connect to each other and exchange data.
- Can I create a Node with Richard’s implementation?
- Does it work on LAN with NAT to connect to other nodes on the Internet?
- I would also need some kind of versioning system. Because 2 or more users could edit the same tab the difference should be merged somehow or else I get the ‘last one wins’ situation which is undesirable.
Who can help me get started?
Well, break it down into bits. I can’t help with any of the other parts, but for the IPFS part, try to write code that publishes a file some file, any file, and make sure that you can read it, write it share it.
Yes, IPFS works behind a NAT (at least for my desktop…)
Re: versioning: IPFS does not do that, but perhaps, instead of using IPFS, take a look at SSB (secure scuttlebutt) – one of it’s great features is that it works off-line, when you have no network connection. I mean, its still usable when offline, and then auto-syncs back up when online. They’ve already built a social-media app on top of it; maybe you can take that app, remove all the social-media stuff, and add stuff fro guitar tabs.
(They’ve actually built 3-4 different social media apps on it, different languages, works on iphone etc but are all compatible with one-another. No clue if any of them, are C#)
i will say that both are great!
IPFS perfect for Data Storage layer, SSB for Human Social layer
If ssb would use ipfs for it’s attachment mecanism to reduce bandwitdth and storage size, it will be even greater
In my opinion, scuttlebut is the best way to implement social network, where your right is not just freedom of speech, but also freedom of not earing.
maybe a collaborative cluster would work in this case.
There’s a feature request for multiple different users who are able to write on the cluster.
While the trusted peers have the function as a moderator to decide what’s acceptable and what not.