Home / Companies / Zed / Blog / January 2024

January 2024 Summaries

7 posts from Zed

Filter
Month: Year:
Post Summaries Back to Blog
Zed Preview has introduced a new feature allowing users to customize their experience by adding personal themes, which can be stored in the themes subdirectory under the Zed config. Users can create multiple theme variants within a single theme file, and once added, these themes will be selectable the next time Zed loads. The platform also allows for theme customization through experimental overrides in the settings file, and changes are applied live, facilitating quick iterations. Additionally, there's a developing tool for importing VS Code themes into Zed, although it requires a local setup of the Zed development toolchain. While themes are still evolving, feedback is encouraged, and users can try Zed on macOS or Linux, with opportunities to join the team for those interested in contributing to the project's development.
Jan 31, 2024 427 words in the original blog post.
Developing Zed's user interface using Rust presented unique challenges due to Rust's strict ownership system, which contrasts sharply with the more flexible paradigms of other languages like JavaScript. This strict system necessitated a reevaluation of traditional GUI design patterns, as typical practices such as attaching event listeners were not straightforward in Rust's environment. The creators of Zed addressed these challenges by developing a custom UI framework called GPUI, which organizes all application data under a single top-level object known as the AppContext. This structure enables dynamic UI elements, like modal dialogs, to interact with the application while maintaining the strict ownership rules of Rust. GPUI allows entities to emit and observe events without reentrancy issues by employing a queue-based effect system that aligns well with Rust's safety principles. This design not only managed state effectively but also avoided complex data structures and excessive use of macros. The framework's architecture allows for efficient state management and event handling, paving the way for future developments in Zed's user interface capabilities.
Jan 25, 2024 2,404 words in the original blog post.
Zed has transitioned to an open-source project with its code available under copyleft licenses to ensure community-wide benefits, while its UI framework, GPUI, is under the Apache 2 license for flexible use. The move aims to maximize participation from developers and enhance Zed by leveraging community collaboration, driven by the belief that openness can coexist with commercial success. Zed Channels, a new feature, facilitates real-time collaborative coding and introduces the Fireside Hacks program to engage developers globally. The project's business model focuses on offering services like server-side compute for AI features rather than selling proprietary software. The team is committed to maintaining the open-source ethos while exploring monetization opportunities, ensuring that revenue generation does not impede software development. Zed's roadmap, shaped by user feedback, aims to expand its adoption in 2024, and the team welcomes contributions from the developer community to advance the project.
Jan 24, 2024 856 words in the original blog post.
Zed recently completed a significant overhaul of its UI framework, GPUI, transitioning from version 1 to version 2, marking a pivotal moment in the company's development process. The decision for a full rewrite, rather than incremental changes, was driven by the realization that the existing system created communication bottlenecks and friction in the development process, particularly with UI design and implementation. The rewrite aimed to resolve these issues by adopting a more flexible and powerful framework inspired by Flexbox, moving away from a restrictive model based on Flutter. The transition involved a meticulous process of maintaining two parallel systems to ensure minimal disruption, and although the rewrite was seen as risky and demanding, it was ultimately deemed successful by the team for simplifying the UI development and improving code clarity. This foundational change not only enhances the user interface development workflow but also sets the stage for Zed's open-source ambitions, ensuring that the codebase is comprehensible and well-documented for external contributors, aligning with the company's goal of fostering a collaborative and innovative open-source community.
Jan 23, 2024 4,941 words in the original blog post.
The author, initially an AI skeptic, has been using Zed's built-in AI assistant for coding tasks and has found it surprisingly effective, particularly in documentation and code translation. During a "docs party," the AI efficiently copied documentation comments between similar structures, saving time and reducing manual effort. Additionally, while rebuilding a personal website, the AI adeptly translated templates from Tera to a new system built on Auk's DSL, demonstrating its capability to adapt to new contexts. These experiences have led the author to recognize the potential of AI in enhancing development tools and workflows, although they remain unconvinced that AI will replace human developers. The exploration into integrating AI at Zed is ongoing, as the team seeks to empower developers by leveraging AI's capabilities in software writing.
Jan 22, 2024 898 words in the original blog post.
Zed has introduced a new feature called channels, designed to enhance collaborative programming by acting as a virtual office for software teams. This feature supports both active and passive collaboration, allowing team members to work together more effectively on long-term projects. Channels provide structure by organizing work into streams that last over extended periods, facilitating remote collaboration through a CRDT-based replication layer that simulates local file editing. Each channel includes a "Notes" file for sharing ideas and updates, ensuring smooth transitions between collaborators. The feature has already improved internal operations at Zed, particularly during the GPUI2 upgrade, and the company anticipates further enhancements as they move towards open source collaboration.
Jan 17, 2024 292 words in the original blog post.
Zed has released a fundamentally new version of its software on the preview channel, featuring a completely rewritten UI framework called GPUI 2, which incorporates two years of experience with Rust. This update aims to enhance the ergonomics of the software, making contributions more enjoyable and accelerating the development process, while setting the groundwork for future enhancements like multi-platform support and animation. The transition involved cloning most of the existing crates, followed by the deletion of the older versions, and has already been tested by the team over the past few weeks. While the benefits of this update are mostly internal, it introduces a popular feature allowing users to customize and scale the UI font. As the team addresses minor issues, they intend to release preview updates more frequently and anticipate going open source once the preview is stable. Users are encouraged to provide feedback on any regressions to aid in finalizing the upgrade, and the team looks forward to returning to weekly feature releases and collaborating more deeply with the open-source community.
Jan 03, 2024 290 words in the original blog post.