In the rapidly evolving world of technology, staying up to date with the latest trends is crucial for app developers. As we step into 2023, it was essential to keep an eye on the emerging app development trends that are shaping the industry, so it also needs to be done now. This article will explore the top trends that were presented at the conference and that developers should watch out for in the middle of 2023.
QCon New York 2023 - What is it?
QCon New York is an annual conference, which was held on June 13-15, that brings together software professionals from around the world. The conference focuses on the latest trends, technologies, and best practices in software development. It provides a platform for experts, such as Jerop Kipruto - Senior Software Engineer at Google, Chao Chu - Software Engineer at DoorDash, Steven Wu - Software Engineer at Apple, and others, to share their knowledge and experiences. Let's dive into some development trends from QCon New York 2023.
Developing Above the Cloud
Over the years, computing has undergone significant evolution, transforming a once simple program into a complex entity with the incorporation of persistence, Internet connectivity, reliability, continuous delivery, and scalability. Paul Biggar, founder and CEO at Darklang said that “programming used to be fun”, but what is different nowadays?
In the context of complexity, developers should prioritize the use of simple and understandable tools that seamlessly integrate with their existing software toolkit. This philosophy aligns with the core principle of UNIX, which emphasizes the idea of specializing in one task and executing it effectively. The concept of the "Unix philosophy" originated from Ken Thompson's early contemplations on designing a compact yet powerful operating system with a well-defined service interface. However, Biggar challenges the belief that building such straightforward and incompatible tools is the solution, arguing instead that it leads to the complexity prevalent in modern software development. According to Biggar, this complexity arises as a result of accumulating multiple seemingly simple and comprehensible tools over time.
During his presentation on developing above the cloud, he addressed the incentives faced by companies where engineers are not motivated to undertake new greenfield projects that aim to tackle all complexities. Instead, their incentives lie in making incremental additions to existing projects that address specific problems. Biggar emphasized the need to build comprehensive and holistic tools such as Darklang. He believes that the industry must eliminate three different forms of complexity: infrastructure complexity, deployment complexity, and tooling complexity. According to Biggar, this is the only way to enhance the developer experience.
Offline and Thriving: Building Resilient Applications With Local-First Techniques
While presenting this trend, Carl Sverre, an entrepreneur in residence at Amplify Partners, began his presentation by showcasing the ubiquitous "loading spinner." He highlighted its role as a necessary element to keep users informed about ongoing background processes. Many users are unaware that popular mobile applications like WhatsApp, email apps, and calendar apps are just a few examples of offline apps that have significantly improved over time. Carl Sverre’s goal is to emphasize the advantages of offline-first applications in human-in-the-loop scenarios and to encourage more individuals to explore offline-first, local-first, or edge-first architectures. The goal is also to showcase various applications that exemplify the potential of these architectures in enhancing the user experience.
Sverre also provided insights into his motivation for developing offline-first (or local-first) applications:
- Addressing latency issues can be achieved through optimistic mutations and leveraging local storage techniques.
- Given the unpredictability of the Internet, with problems like dropped packets, latency spikes, and routing errors, reliability becomes a critical factor for applications.
- By incorporating collaboration features that utilize offline-first techniques and data models, developers can attain both the reliability of offline-first and the usability of real-time interactions.
- Furthermore, Sverre emphasized that simplifying software development can lead to increased development velocity. As we know, development velocity is a shared goal between simplifying software development and utilizing Local-First Techniques. This approach enables faster iteration, offline capabilities, and improved responsiveness. By leveraging both simplification and Local-First Techniques, developers can optimize their workflow, enhance productivity, and deliver software more rapidly, which is so important for big companies nowadays.
The case studies presented during the talk included various applications showcasing the implementation of offline-first techniques. For example, WhatsApp, a cross-platform instant messaging and voice-over-IP service utilizes end-to-end encryption, on-device message and media storage, message drafts, and background synchronization. Figma, a collaborative interface design tool, employs real-time collaborative editing, a Conflict-Free Replicated Data Type (CRDT) based data model, and offline editing capabilities. Additionally, Linear, an alternative to JIRA, focuses on faster development velocity, offline editing, and real-time synchronization. Following the case studies, Sverre proceeded to demonstrate the step-by-step process of transforming a regular application into an offline-first application.
There is a prevailing assumption that reliable Internet access is universally available, but this assumption does not always hold true. To underline Sverre’s idea, Erica Pisani, Sr. software engineer at Netlify, addressed this issue and introduced the AWS Snowball Edge Device. It's a game-changer, providing cutting-edge technology where it's needed most, bringing it to regions with unreliable or non-existent Internet connectivity. It can also be used for data migration to the cloud. In conclusion, Pisani outlined several limitations of edge computing, including reduced available CPU time, potential loss of advantages when network requests are made, limited integration with other cloud services, and smaller cache capacities.
The QCon New York 2023 conference served as a platform for industry experts to share insights and shed light on emerging trends. From developing above the cloud to building resilient offline-first applications, the conference highlighted the importance of simplicity, reliability, and collaboration in modern software development. With the integration of local-first techniques and the exploration of edge computing, developers have the opportunity to enhance user experiences and overcome the challenges posed by limited Internet access. By embracing these trends, app developers can shape the future of technology and create innovative solutions that resonate with users worldwide.