Interesting thoughts from @jonathoda on “duplex applications” as an alternative to local-first software. 🤔
Interesting thoughts from @jonathoda on “duplex applications” as an alternative to local-first software. 🤔
@eaganj I am extremely skeptical of "ubiquitous constant connectivity" as a premise to anything. It's not because infrastructure is deployed that it is here in practice or will be in any realistic future + mainstream satellite connectivity is a terrible idea on so many levels that it has to be stopped.
TLDR: infrastructure need people to maintain it and make it run smoothly, it's rarely the case so connectivity breaks down frequently as long as it remains acceptable.
https://hal.science/hal-03969060
From Ubiquitous Computing to the recent deployment of 5G technology, public discourses assume ever increasing levels of connectivity, whether in geographical availability, in reliability, or in speed. However slowdowns, breakdowns, and unavailability are an integral part of the experience of everyday connectivity. We conducted critical incident interviews with 10 students (aged 22-25) to understand how they dealt with the various connectivity limits they faced during the COVID19 pandemic, but also how they deliberately set limits at times. Our results show the complex relations that people develop with their internet connection. We outline the informants' difficulties to identify and understand the nature of the connection's problems they usually face, leading to a lack of control. We present how they react to such problems, the anticipation strategies and coping mechanisms they develop. We finally present situations in which informants deliberately set their own limits. Overall, we emphasize the shift from a shared and localized connection (WiFi) to a personal and mobile one (4G), combined to increased pressure for maintaining connectivity.
@jonathoda @eaganj It was painful to develop :) and even more to express clearly the state of the data to users, but I guess that's a generic problem to distributed apps (an interesting one worth tackling).
In a way we were between a p2p and a duplex app, in that we wanted a primary server, but not to depend on it all the time.
In the end local-first proved to be much clearer from a mental model perspective for end-users, and "easier" to implement (with some shortcuts).
@jonathoda @eaganj in another project we explored a layered architecture with various fall back strategies for multi-devices activities in classrooms (and outside). https://hal.science/hal-02136481/
We are not software engineers, so the things is far from being well designed from an software point of view, but it touches on various problems related to connectivity.
We present Toccata, a system that facilitates the management of rich multi-device pedagogical activities. Through interviews with high school teachers, we identified a set of barriers to conducting digital activities in schools: setup time, network problems, difficulties in following and changing plans as activities unfold. We designed and developed Toccata to support the planning of pedagogical activities (scripting), seamless sharing of content and collaboration across people and devices, live management of activities in the classroom, roaming for situations outside classrooms, resumption across sessions, and resilience to unstable network conditions. We deployed Toccata in three classes, over seven teaching sessions, involving a total of 69 students. Together, these deployments show that Toccata is a generic solution for managing multi-device activities in schools. We reflect on how Activity Based Computing principles support Orchestration in Toccata, and discuss the design opportunities it creates such as better awareness of learners' activity, micro-orchestration techniques for enabling teachers to better control devices in classrooms, or supporting reflective practices of teachers.
@jonathoda @eaganj I like local first as it seems to me that it enables much better coping with the fragility of the infrastructures which we assume too readily to be working. And I agree that true p2p is a pain and rarely needed. Maybe some layered duplex? triplex apps :)
+ from a participatory design perspective I like the idea of having a central place to design collectively with all the frictions it involves, rather than hand-waving at p2p as a solution to issues of power and control.