December Updates: The Spirit of COSMIC

Michael Murphy (S76)@lemmy.world to Linux@lemmy.ml – 104 points –
System76 Blog
blog.system76.com
20

You are viewing a single comment

As is often the case with scientific research which many people believe to be pointless, technological innovations aren't always made by achieving the end goal, but through the technologies developed to reach that goal.

Development on COSMIC Edit has lead towards improvements to the cosmic-text library, which is used by many GUI libraries in the Rust ecosystem now. Similarly, the UX designs for the text editor improves the COSMIC interface guidelines, and puts design theories to practice. Likewise, widgets that are necessary for the editor are added to the COSMIC platform toolkit, and existing widgets and features are improved to improve the development experience for applications like this.

No one would want to build applications for a platform that lacks widgets capable of properly displaying, formatting, and editing text. Many would also find it debilitating to have a desktop environment without a text editor preinstalled. Imagine if GNOME didn't have Gedit, and KDE didn't have Kate.

Besides, this is a default text editor for a desktop environment. It is really not that complex. The goal is not to develop an IDE, but a text editor that anyone would feel comfortable using as their default editor on the COSMIC platform.

Ah gotcha that makes sense thanks!

That being said I can imagine if KDE didn't have Kate or Konsole or any of that - there's plenty of text editors and Terminals that already exist out there.

GNOME users wouldn't be happy having to install KDE dependencies to use a KDE text editor which doesn't have a consistent look and feel on their desktop. Same applies for KDE users.

To this day I don't understand why we need so many terminal applications

No one would want to build applications for a platform that lacks widgets capable of properly displaying, formatting, and editing text.

Is the idea that people are only going to be running Iced applications in COSMIC? It feels to me like the realistic option would be that, if COSMIC ever becomes daily-drivable, people would still be using GTK applications with it, at least at first. Might as well use a GTK text editor then? Then System76 could focus on building a text editor after COSMIC is a thing, and COSMIC would hopefully arrive sooner (or even at all - this looks like the path to burnout).

You are heavily overestimating how much effort is required to develop a text editor. It's a single person project using components that had to be developed for use in multiple applications; regardless of whether there is a text editor or not. Components that you'd be silly not to develop through a text editor project.

You are trying too hard to justify that we not make a text editor. It feels like you don't want us to make a text editor at all. No one is on a path to burnout. Everyone is paid a full time salary to work on their respective areas. COSMIC development is doing really well.

I mean, I don't really mind - I'm pretty happy with GNOME. All I'm saying is that if I were the project manager, I'd worry about delivering something and not burning people out ("focus is choosing what not to do" and all that, and the last 20% of the work taking 80% of the time). But in the end I'm just a random person ranting on the internet, of course - I do actually hope that I'm wrong.

But a diff viewer in the text editor... It just sounds like folks are eager to jump on shiny new things rather than finishing something, from the outside 🤷 Looking forward to be proven wrong!

COSMIC Edit is being developed by our manager through personal motivation; who also developed cosmic-text, so this is the perfect playground for simultaneously advanced cosmic-text, and developing useful real world software with it. The git diff view was not yet part of planned designs, but it took only a portion of a day to implement. It adds a useful test case for the cosmic-text library, and improved cosmic-text as a result.

We're all paid a full time salary to work on COSMIC and Pop!_OS. Each person on the team is going to spend a full day writing software, regardless of what they're working on, so concerns about burnout are somewhat silly. Burnout is typically caused by working overtime for extended periods of time. System76 has never required developers to work overtime to meet a deadline, and variety of workload can alleviate mental fatigue, so burnout is not a thing here.

Yeah, that's fair enough. It's not just working overtime though - endless toil on never-ending projects, especially when at a certain point, you're not really making visible progress but rather are just working on a seemingly endless list of bugs and papercuts, is also terrible for motivation. The good news, of course, is that the Pop!_OS GNOME extension also got delivered, which, though a lot smaller than COSMIC DE, I'm sure also wasn't a small undertaking.

In my experience, that has never been an issue with any Rust-based projects. It's quite the opposite. 80% of time is spent completing the first 20% of the project, and then the remaining 80% is quickly finished as everything fits into place. Most of our time is spent in foundational work getting widgets created that we can use with our theme system, and then the actual implementation of the interface in the application is stupid easy.

What you describe is what I felt developing the GNOME extensions. There's very little you can do to resolve issues that you encounter there.