Pretty Good Developer Looking to Volunteer

Hey, I am a solid full-stack TypeScript developer with a diverse set of other skills. I think I would be a good fit as a UI developer on the team. Some people call me a Principal, but I’m so much more and so much less than that.

I’m interested in working on the GNOME integration. I sent an email to a few of the team members but I was missing PGP keys so they probably thought I was an NSA intern and did not respond.

I tried searching for “Qubes SDK” but came up empty handed. Since we’re transitioning to GNOME, a lot of the UI is going to improve, add some Ubuntu-esque wallpaper and styling and I think a lot of it will come together nicely. One thing that I think could be an improvement are the icons in the top right. They could look snazzy and be feature packed. If we had an SDK for Node.js, we could use Electron and make use of a menubar wrapper project like this: GitHub - maxogden/menubar: ➖ high level way to create menubar desktop applications with electron. I want Qubes to feel like macOS — macOS has all those high DPI simple icons that you can click and turn into well-polished menus. We could do the same thing with Qubes.

I really think it’s important to open the doors for development with Electron and other web-based technologies for styling widgets, etc. It will open the door for lot of other developers.

Anyway, let me know how I can be of service.

2 Likes
1 Like

Welcome to the community, and thank you for volunteering! We could certainly use your help. @ninavizz is our resident UX guru and might be able to point you in the right direction for UI work. @marmarek is the project lead and calls the shots on the overall project roadmap. Since you mentioned GNOME specifically, you might want to have a look at this issue, if you haven’t already:

In general, the help wanted issues are great for finding places to help out, and, if you have a special interest in UX, perhaps the help wanted + ux issues. Thanks again! :smiley:

1 Like

Thanks @adw – this has been on my mind. However, I checked out the beta control panel and it doesn’t seem like it’s meant to integrate with GNOME – do you know if the Qubes decision makers are still pushing for GNOME integration or is something else happening?

I’m interested in creating a system tray icon / launcher that lets you launch and manage HVMs by using VagrantUp.com as the image source. I’m not really sure what would be involved with this. The menubar OSS project that I linked to would allow us to make a stylable popup show up. This would require bundling the Node.js runtime and some NPM packages. I’m not sure what road to take. I want to make Qubes easy to use and sexy but would Qubes ever include a tray menu that utilizes Node.js?

I could potentially create / fund a project to create a Node.js SDK for the Admin API but I would need a SME to help me with the technical design.

Also, thanks for posting the GNOME link but I’m not sure how I can help with GNOME integration - I imagine that’s mostly graphics card stuff / GTK. I could weigh in, if say, there was a need for running JS as efficiently as possible or potentially with gnome-shell.css.

I’ll check out the help wanted. Seriously though, if you could hook me up with one of the architects who can help me plan / decide which technologies are best to use, I can bring a somewhat unique skillset to the table along with some of my other teammates.

I don’t really know anything about that beyond what’s in the aforementioned issue.

That sounds like a question maybe for Marta (who isn’t on the forum AFAIK), but maybe @marmarek or @Demi might be able to answer.

Should be possible to arrange with one of the devs, but probably a good idea to talk about it first.

I think that would be @marmarek (or perhaps he can direct you/us to the right person).

I posted my current view here:

I am not aware of any changes to the situation.

I doubt Node.js is going to fly, as it is a complete nightmare from a distribution packaging perspective. Also, anything that requires network access in the GuiVM is a non-starter.

GNOME shell support requires client-side decoration (CSD) support in the GUI daemon, meaning that the GUI daemon would itself draw the window borders without relying on the desktop environment. This would make Qubes able to work without any explicit support from the desktop environment and without creating a security vulnerability. As such, it is a worthwile feature in its own right. That said, it is not sufficient for proper integration; see the linked thread for details on that.

1 Like