Hola
We’ll soon be a team of four working full-time on Tuist. To ensure we make the best use of our resources and support organizations effectively, the team gathered to discuss the projects that should keep us busy. What follows is our plan for Q4 2024:
Design System and Dashboard Overhaul
With @asmit joining the team as our design expert, we can elevate the design quality and ensure it reflects the value of Tuist, telling the story of building, sharing, and scaling apps. As someone familiar with open-source principles, @asmit will bring those values into Tuist’s approach to design.
The first result of this work will go public within a few weeks. We’ll share the new design (on Figma) of our website, allowing anyone to view it and draw inspiration. @asmit will also work on a design system to ensure consistency across all project surfaces, which will serve as the foundation for overhauling our dashboard. We’ll align its feature set with the CLI (e.g., enabling team invitations through the web). Part of this work will involve presenting users with the right information when they need it, in an actionable way. We want to avoid overwhelming users with unnecessary data, focusing instead on fewer but more useful insights. It’s easy to present all available data, but it takes careful consideration to distill what’s relevant and impactful for improving workflows and apps. We’re committed to going the extra mile.
Our design system will also be public, and once mature, we’ll extract it into a suite of web components (yeah! We love standards) that other developers can use. This will extend to features like interactive graphs, ensuring visual consistency throughout the tool.
Tuist Previews
Previews are our answer to enabling frictionless collaboration. Running apps should be just a click away. Organizations have started using Previews and shared feedback on features they’d love to see. We’re going to build them, including:
- The ability to download the latest preview of the repository’s default branch.
- Slack integration.
- Collecting and presenting more metadata for better context in each preview.
- Streamlining the signing process.
If you haven’t tried Tuist Previews yet, I’d recommend giving them a shot and experiencing the power of collaboration via URLs. It’s mind-blowing
Grafana Dashboard
Being a small team has its perks. We’re constantly assessing what’s core to Tuist, and what should be delegated to others. We’ve identified that building a flexible, visually aesthetic dashboard isn’t core to us, so we’re delegating that task. But to whom, you ask?
To Grafana! If you’ve worked with web teams, you’ve likely seen those fancy graphs showing reliability and performance metrics of APIs or memory usage. Wouldn’t it be cool if Tuist provided a dashboard for every project?
Well, we’re going to make that happen. We’ll surface the most relevant information in your project’s home, and for everything else, you can navigate to a Grafana dashboard that we’ll set up for you. While this dashboard will be read-only, we’ll expose an endpoint for you to consume the data from your own infrastructure and customize your dashboards.
Think about it… We’ll first standardize project and build data. Then, we’ll collect it automatically for you, so there’s no need for manual scripting. By running tuist build
or tuist test
on your Tuist or Xcode project, the data will be collected, stored, and made available in a standardized format. Because of this, you can create dashboards based on standard data, share them with the community, and reuse dashboards from others in the Swift ecosystem. Cool, right? One step at a time, but we’ll get there.
In short, we’re simplifying the complexity of collecting, organizing, and presenting dashboard data. All you need is the tuist
CLI.
Get Started Workflow
Our “Get Started” workflow, built years ago, assumed that Tuist was only for generating Tuist-specific projects. But things have changed—features like Tuist Previews now work with vanilla Xcode projects, making the workflow feel outdated. We need to update it.
We’re going to extend the tuist init
workflow to serve as a way to add Tuist to your existing projects and connect your vanilla Xcode project to our server. This will give you access to features like Previews and, soon, analytics, all of which will work with vanilla Xcode projects.
We’ll also take this opportunity to make the workflow web-based. You’ll be able to connect it to an existing repository or create a new project, and at the end (in the very long term), you’ll get a project with the following elements set up:
- Continuous integration.
- Build, project, and bundle analytics.
- Build and test optimizations.
- Release orchestration.
To draw a comparison, we aim to take on the role of Vercel in the Apple ecosystem. Tuist will be a system that plugs into your repository, and from then on, it just works—no plumbing, no scripting, no infrastructure work needed on your end.
Other Work
New Website
A new website is in the works and will be available in a couple of weeks. For those interested in the technical details, we’re moving away from a statically-generated site and integrating it into the Elixir application that hosts the dashboard and the API for the CLI. We’re using web standards—just vanilla CSS and JS—because embracing these standards allows us to build a future-proof solution.
SOC 2
We’re working towards SOC 2 Type II certification. This has been a huge undertaking for our small team, but we’re making progress. Some large businesses require SOC 2 Type II compliance, so we’re working hard to meet that demand and ensure Tuist’s security measures are up to par.
Final Words
The team is excited to execute on this vision. We believe we have a unique opportunity to create a standout toolchain for Apple app development, built in openness and with the community at its core.
If you have any questions or feedback, feel free to reply to this topic. We’re always eager to learn and iterate with your support.