Be proud of me, for I also survived the Sunday of Offline Camp.
The Saturday evening was rather nice, because there was much beer and s'mores.
I also learned that some people here have hard feelings about technology (about databases and front-end frameworks in particular) and that some people seem less considerate than they really are.
What happened today?
Well, there were only 2 sessions I were today.
A11y & Offline First
We were talking about the accessibility (a11y) of offline first applications and if this approach makes it better or worse.
The idea was, that it makes the a11y better for people with bad internet connections, but the SPA structure of such applications often leads to bad a11y, for example if screen-readers aren't notified about page changes.
Alternatives to CouchDB & PouchDB
Most people here seem to use CouchDB & PouchDB for their offline enabled applications and the idea of this session was to find the alternatives.
There only were like five people in the session and no one of us really had much idea about the marked. But well, we had internet and simply searched for things.
We found platforms like Realm, also one of the participants were involved in developing his own solution called remoteStorage.js.
We also found a few others and I will write a bigger recap of the whole session later, with a link to an awesome-list of these alternatives.
When we presented our recap, I overheard some comments about some of the technologies we found. Mostly stuff people are saying here all the time, that most databases are simply bad with conflict resolutions.
Luckily a database developer is at the camp, namely Bob Newson. So I just asked him how other databases are so bad at conflict resolution and what CouchDB does differently. Maybe I will write something about this in the next weeks, but the gist is, CouchDB simply doesn't force any resolution on you, it simply keeps both versions of your document and shows you one of them, but all replicas get the same and if you don't want that, you can switch to the other one OR implement the merge of the two versions yourself. Reason being, conflict resolution in distributed systems depends highly on use-cases/application logic.
Guess I'm a bit smarter now. Thanks Bob!
Passion Talks
The passion talks were rather cool as well, not so much world saving today, but more practical advice.
Someone talked about how practice makes you better at something, but that you also need to practice the right things, or else you just get better at doing things wrong.
Another one was from an Ableton developer, who built an web application where you can learn how to make music. No other tools needed. He also demoed a web application that interfaces with a Push2 via WebMidi, which was pretty cool I think.