Local-First Software: You Own Your Data, in spite of the Cloud

Martin Kleppmann, Peter van Hardenberg, Adam Wiggins, Mark McGranaghan

References


1.

Say hello to Offline First.

2.

What’s a conflicted copy?.

3.

How do I resolve Sync Conflicts?.

4.

<p>Pro Git (2nd ed.) [book]</p>.

5.

DiffMerge.

6.

About pull requests.

7.

Suggest edits in Google Docs.

8.

About pull requests.

9.

Killed by Google.

10.

Orion Henry.

11.

Roshan Choxi.

12.

Bear.

13.

Ink & Switch.

14.

WebRTC.

15.

My ‘There Is No Cloud’ Sticker.

16.

Optimistic UIs in under 1000 words.

17.

Slow Software.

18.

Myspace loses ‘over 50 million songs’ from website after server migration project goes wrong.

19.

File:Early writing tablet recording the allocation of beer.jpg.

20.

The Cuneiform Tablets of 2015.

21.

Google’s Vint Cerf warns of ’digital Dark Age’.

22.

LoC Recommended Storage Format.

23.

Snapchat Employees Abused Data Access to Spy on Users.

24.

Amazon Workers Are Listening to What You Tell Alexa.

25.

List of data breaches.

26.

Dancing on the Lip of the Volcano: Chosen Ciphertext Attacks on Apple iMessage.

27.

WhatsApp Encryption Overview.

28.

Technical Information.

29.

Keybase.

30.

A mysterious message is locking Google Docs users out of their files.

31.

Microsoft Office 365 Just Hit a Big Milestone.

32.

Are Distributed Teams the new Cloud for startups?.

33.

Optimistic UIs in under 1000 words.

34.

Google Docs Offline.

35.

Figma.

36.

Dropbox.

37.

Google Drive.

38.

Box.

39.

OneDrive.

40.

How can I access my files offline?.

41.

DBX Platform.

42.

Working Copy.

43.

About pull requests.

44.

Behold: Image view modes.

45.

Rendered Prose Diffs.

46.

3D File Diffs.

47.

AWS Cloud9.

48.

Repl.it.

49.

Meteor.

50.

ShareDB.

51.

The WebSocket API (WebSockets).

52.

Optimistic UIs in under 1000 words.

53.

Using the application cache.

54.

Window.localStorage.

55.

Service Workers: an Introduction.

56.

Progressive Web Apps.

57.

Building an offline page for theguardian.com.

58.

When is localStorage cleared?.

59.

The Federation Fallacy.

60.

SQLite.

61.

Core Data.

62.

Clue.

63.

Things.

64.

Firebase.

65.

Ulysses.

66.

Capstone, a tablet for thinking.

67.

CloudKit.

68.

CouchDB: The Definitive Guide.

69.

Ink & Switch.

70.

Firebase Documentation: Enable offline data.

71.

Ulysses.

72.

Overcast.

73.

What is Realm Platform?.

74.

Cloudant.

75.

A Conflict-Free Replicated JSON Datatype.

76.

dat:// – a peer-to-peer protocol.

77.

Electron: Build cross platform desktop apps with JavaScript, HTML, and CSS.

78.

React.

79.

Trellis.

80.

Trello.

81.

See what’s changed in a file.

82.

Decentralized, offline-first, realtime collaboration with Automerge.

83.

Trellis releases.

84.

PixelPusher.

85.

Pixel Art to CSS.

86.

dat:// – a peer-to-peer protocol.

87.

Pixelpusher: Real-time peer-to-peer collaboration with React.

88.

PixelPusher releases.

89.

PushPin.

90.

Miro.

91.

Milanote.

92.

PushPin video.

93.

PushPin releases.

94.

Asynchronous functional reactive programming for GUIs.

95.

Redux tutorial: Reducers.

96.

WebRTC.

97.

IPFS.

98.

Hypercore.

99.

Session Traversal Utilities for NAT (STUN). Technical Report RFC5389. IETF Network Working Group.

100.

Decentralized Web Summit.

101.

Hashbase.

102.

dat:// – a peer-to-peer protocol.

103.

Beaker.

104.

GitX-dev.

105.

Getting a Realm Object Server Instance.

106.

Progressive Web Apps.

107.

WebKit.

108.

Optimize Performance Under Varying Network Conditions.

109.

Network Link Conditioner.

110.

Operational transformation in real-time group editors: Issues, algorithms, and achievements.

111.

ShareDB.

112.

Takeout: Download your data.

113.

How should I backup my documents?.

114.

Exporting data from Trello.

115.

Julia Roggatz.

116.

Data Laced with History: Causal Trees & Operational CRDTs.

117.

Oliver.

118.

A comprehensive study of Convergent and Commutative Replicated Data Types.

119.

Computer latency: 1977–2017.

120.

Highly Available Transactions: Virtues and Limitations.

121.

Adding a Service Worker and Offline into your Web App.

122.

Suggest edits in Google Docs.

123.

Colaboratory.

124.

Realm.

125.

Apache CouchDB.

126.

PouchDB.

127.

Hoodie.

128.

CouchDB, PouchDB and Hoodie as a Stack for Progressive Web Apps.

129.

Conflict-Free Replicated Data Types.

130.

<p>Convergence vs Consensus: CRDTs and the Quest for Distributed Consistency [VIDEO]</p>.

131.

Specification and Complexity of Collaborative Text Editing.

132.

Verifying strong eventual consistency in distributed systems.

133.

Automerge.

134.

A ConflictFree Replicated JSON Datatype.

135.

Hypermerge.