James Henstridge

Ubuntu Desktop Developer at Canonical Ltd.

Perth, Western Australia
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
James Henstridge is an experienced Ubuntu Desktop Developer at Canonical with 22 years in software engineering, specializing in C, Python, and JavaScript for both GTK/GNOME desktop apps and Zope-based web services. He has played a key role in improving Snap support on the desktop—designing features in snapd and snapcraft—and has deep practical knowledge of D-Bus, systemd, AppArmor, and container interactions. His contributions span core GNOME libraries (glib), xdg-desktop-portal, and database adapters like psycopg2, reflecting a strong backend and systems orientation as well as UI theming work on Yaru. A former Launchpad and Ubuntu One developer, he combines low-level C expertise with Python web service experience and an academic background in pure mathematics and IT. Notably, he has driven subtle reliability and testing improvements (e.g., portal fallbacks and signal handling) that enable safer desktop integration for confined apps. Based in Perth, Australia, he is an active open-source contributor who bridges system architecture and pragmatic engineering.
code21 years of coding experience
job13 years of employment as a software developer
bookBSc (Hons), Pure Mathematics & Information Technology, BSc (Hons), Pure Mathematics & Information Technology at The University of Western Australia
bookHollywood Senior High School
stackoverflow-logo

Stackoverflow

Stats
42,934reputation
3.7mreached
350answers
7questions
Badges
sql
top-5%
sorting
top-5%
network-programming
top-5%
printf
top-5%
concurrency
top-5%
xml
top-5%
github-logo-circle

Github Skills (74)

postgresql10
wordpress-themes10
python10
testing10
databases10
c1110
c1710
glib10
gtk10
systemd10
concurrency10
linux10
snapcraft10
inkscape10
database10

Programming languages (16)

CSSC++CRustMakefileValaGoHTML

Github contributions (5)

github-logo-circle
flatpak/xdg-desktop-portal

Apr 2017 - Nov 2020

Desktop integration portal
Role in this project:
userBack-end Developer & System Architect
Contributions:30 reviews, 10 commits, 9 PRs in 3 years 7 months
Contributions summary:James primarily contributed to the core functionality of the `xdg-desktop-portal` project, focusing on improving its integration with various desktop environments. They implemented and refined logic for identifying applications, including those confined by Flatpak and Snap, and added testing for these functions. Several commits involved modifying the document portal implementation, improving file access handling. The user also made architectural changes related to the handling of file access and inter-process communication.
electronflatpakportalpantheongtk
canonical/snapd

Feb 2017 - Dec 2022

The snapd and snap tools enable systems to work with .snap files.
Role in this project:
userBack-end Developer
Contributions:349 reviews, 817 commits, 161 PRs in 5 years 11 months
Contributions summary:James primarily focused on implementing new features within the snapd project related to desktop portal integration and service control. This involved writing tests for xdg-desktop-portal filechooser integration, adding a test for the desktop portal screenshot API, and implementing a "session-agent" command to manage user session services. The user demonstrates an understanding of D-Bus communication, apparmor, and systemd, by interacting with related features within the snapd environment, including both service management and API design.
snapdsnap
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
James Henstridge - Ubuntu Desktop Developer at Canonical Ltd.