December 21, 2023 by The Slint Team
2023: Slint in Review
After an exciting and eventful year for us at Slint, we'd like to pause for a moment and reflect on the highlights of 2023 🚀.
Adoption and Growth
In spring 2020, we embarked on a journey to help developers create amazing user interfaces with modern paradigms. In April this year, we reached a major milestone with the release of Slint 1.0. As the only Rust based GUI toolkit with stable APIs, we're grateful to receive attention from leading technical media and publications, such as Heise, Phoronix, The New Stack, DevClass, It's FOSS, and more. We also made it to the front page of Hacker News 🎉.
Our 1.0 release spiked interest in Slint; the GitHub discussions forum started warming up and we've had a steady stream of newcomers to our Mattermost chat. In response to sheer number of applications for the Slint Ambassador license, we created the Royalty-free license, so you can develop proprietary desktop and web applications with Slint for free. Folks started building apps, and we saw our GitHub stars skyrocket with more than 11K star gazers!
Success Stories
Today, several commercial products are shipping with Slint. Among them are:
- SK Signet built a scalable HMI for Electric Vehicle chargers on an embedded device.
- WesAudio built a stunning, futuristic looking UI for their high-performance Digital Audio Workstation (DAW) plugin on the desktop.
- Brewtools built an MCU-based control panel for their Fermentation Control System, running on an ESP32S3 MCU.
In the Open Source community, Slint is popular for its first-class Rust support. Of the ~380 projects using Slint, some of our favorite #MadeWithSlint projects are:
- Thorbjørn built Raccoin, a Rust-based crypto tax tool.
- Jussi Viiri built a bridge for creating DAW plugins in Rust with Slint.
- Florian keeps growing and polishing the lovely coop custom widget library.
- YiFei Sheng not only created an entire Fluent inspired component library but also wrote a Slint tutorial in Chinese.
Our Growing Slint Community
We're very grateful to the 51 individual contributors for their valuable contributions and help with the development of Slint this year and to all of you who reported bugs, suggested features and took part in the discussions. Among the many small and big contributions, we'd like to highlight some:
- JP introduced the concept of
@library
imports, which improves encapsulation of component libraries. - Ken Carpenter added lots of new easing curves for animations, including support for custom cubic bezier curves.
- Thorbjørn optimized StandardTableView performance for large tables.
- Jan Janssen contributed an example of how to run Slint at boot-time in a UEFI environment.
- Matheus Castello started contributing .NET C# support.
- Jocelyn Turcotte added support for repeated key events.
- Guiguiprim refactored the item geometry, cleaned clippy warnings, and contributed many other small features and bugfixes.
- Darknight (Eric) added support for Number and Decimal as input types and contributed many other useful refactors and bug fixes.
- Amirhossein Akhlaghpour added support for serializing Slint structs with serde.
We'd like to take this opportunity to say THANK YOU to our users, contributors, ambassadors, and evangelists, for being part of the growing community around Slint. Your enthusiasm, energy, feedback, and support keeps us motivated and drives us to achieve more.
Recognitions
One of the many proud moments for us was when Slint was recognized as one of the top 50 open source startups of 2022! Following that, we were over the moon, when Slint was awarded the Embedded Award of the Year in Tooling at Embedded World, the world's largest embedded systems tradeshow.
Releases and Major Features
Throughout 2023, we've released 12 versions of Slint: 3 major releases and 9 minor releases. Let's look at some of the major features that we've added to Slint this year:
Narrowing the Gap on the Desktop
- The new Fluent and Cupertino styles make using our built-in widgets a delight.
- Use the StandardTableView widget to display tabular data, sort columns, with resizable headers.
- Initial support for translations, and enhanced accessibility support with the winit backend.
Platforms and Languages
- We initiated the Android port.
- We also kicked off our 🐍 Python support and we're excited to team up with the large Python ecosystem.
- The revamped Node.js API integrates with the native event loop.
Ready for Microcontrollers
- To integrate Slint into any MCU environment, use the new stabilized Rust and C++ platform APIs.
- Our enhanced software renderer enables new low-end use-cases, such as wearables.
- Use Slint for your next Espressif IoT project through the new component on the ESP Registry.
Polished Embedded Linux Experience
- Easily get started with Slint on Torizon: We partnered with Toradex to create the Slint VS Code Torizon Templates.
- Use our revamped Yocto Layer to integrate Slint into your Embedded Linux project.
- The new LinuxKMS backend permits direct-display rendering without the overhead of a windowing system.
Tooling
We have three types of tools:
Under the hood, we did some refactoring to maximize code sharing. This makes it easier for us to add new features for all tools simultaneously. Recently we added:
- New resize handles to live-preview your design in different sizes.
- A new style selector to preview widgets in different styles on the fly.
What's next?
Roadmap for 2024
We've got a few high-level items on our roadmap for next year. We're also making sure to leave room to implement specific functionality that our customers need to succeed.
- Ready for Mobile: We'll release the initial Android port; we plan to support iOS in future.
- Improved Language Support: We're looking forward to bringing Slint to the Python community during the first half of 2024. We'll also boost our Node.js integration and will graduate it out of beta status.
- Design tool: We're going to further develop SlintPad into a tool to design user interface screens, both simple and complex, without the need to write code.
Events
We're looking forward to meeting some of you in person at various events next year. Some plans are still being finalized, but we're definitely going to be at Embedded World in April, with a stand in hall 4, booth 300.
Accelerate Growth
While we've been growing the team organically, next year we'd like to speed up growth to accelerate product development and to support customer and user requests. We hope to hire next year.
Growth also means investment: If you know anyone who might be interested in investing into Slint, kindly recommend us. We can be reached at [email protected].
Happy Holidays from the Slint Team
Now we're taking a few days off to relax, take a breath, and recharge our batteries, before we head into 2024! 🎄🚀 See you all on the other side.
Slint is a Rust-based toolkit for creating reactive and fluent user interfaces across a range of targets, from embedded devices with limited resources to powerful mobile devices and desktop machines. Supporting Android, Windows, Mac, Linux, and bare-metal systems, Slint features an easy-to-learn domain-specific language (DSL) that compiles into native code, optimizing for the target device's capabilities. It facilitates collaboration between designers and developers on shared projects and supports business logic development in Rust, C++, JavaScript, or Python.