September 12, 2024 by Nigel Breslaw

Who's The New Slint UX Designer?


Nigel Breslaw

I joined Slint in early August as a design engineer with a background in user experience design and software development. I'm excited to share my perspective on how we're bridging the gap between design and development at Slint, showcase some upcoming mini demos, and spark discussions. But first, let me share my experiences and culture shock of joining this startup.

A New Chapter

After 23 years at a mega-corp with over 80,000 employees, I became the sixth member of the Slint team. In this industry it's not so common to have stayed at one company so long. I'm having to transition to being fully remote. I'm in Finland and the rest of the team are in Germany. As someone who runs all the clocks 5mins fast to help me be on time for things, this time difference has raised the game to let me be unintentionally an hour early for everything.

Bridging Design and Development

Slint makes it easy to create UIs that can run on everything from high-end desktops to $5 microcontrollers like the Raspberry Pi Pico. It's the embedded world that offers the most opportunities and challenges. Screens are now everywhere from your car, e-bike, blood pressure monitor, and even the robovac cleaning your home. Traditionally developing these UIs hasn't been easy and the tools, if they exist at all, have not been designer friendly. This is where Slint is quite special. The framework uses its own declarative language – imagine a fusion of HTML and CSS, but without decades of legacy and designed for developer happiness. While the high-performance UI layer is built with Rust, the application logic can be written in Rust, C++, JavaScript/TypeScript, or Python.

A Whirlwind of New Experiences

My role includes showcasing Slint's capabilities through demos, blog posts, and contributing to tools that bridge the gap between design and implementation. In just five weeks, I've:

  • Tweaked existing demos 🤩
  • Extended the Visual Studio Code plugin 🤓
  • Made my first open-source contribution 🥳
  • Broken the CI 😇
  • Written my first lines of Rust 🤓

The variety and impact of tasks I've touched in such a short time is mind-boggling compared to my previous corporate experience.

A Different Universe

Life at Slint is dramatically different from my corporate past. There's no SCRUM, no sprints, no JIRA, and no endless planning meetings. Yet, there's a constant stream of pull requests and regular releases of the Slint framework & tools. Olivier isn't just a co-founder and my manager. He wrote and still actively contributes to a significant portion of the UI framework. At one point I complained our live-preview had some issues. There was no call to organzine a meeting, put it in JIRA and wait for it to be prioritized. Instead the cause was investigated, solution found, and a few hours later a PR was merged fixing it. Sure this isn't how all issues can be addressed. But when your bosses understand what you complained about, know the code base, can recognize the value of the fix, rapid (dare I say Agile) change is possible.

Finding My Tribe

The team culture is also for me, a super nerd, a lovely fit. We have an online coffee break and being new it's unclear to me what to chat about at first. I went with the tried and tested 'so are you following the big sports ball event?' and was hit by a universal "NO". I guess I don't need to pretend I'm following it myself. It seems I may have found my nerdvana!

Looking Ahead

I plan to use this blog to share my thoughts and experiences, including:

  • Interviews with Slint's founders about their vision.
  • Comparisons between Slint and other frameworks I'm familiar with such as React Native.
  • Insights into startup life vs. corporate life.
  • Mini-blogs showcasing demos (starting tomorrow with a dial example).

Feel free to reach out with questions or comments via https://x.com/slint_ui. I'm looking forward to this journey and sharing it with you all.


Comments

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.