developer switch dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · what is gnome?...
TRANSCRIPT
![Page 1: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/1.jpg)
D e v e l o p e r S w i t c h D r e a m sC r a f t i n g t h e G N O M E D X
Christian Hergert ([email protected])
![Page 2: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/2.jpg)
GNOME is so much more than a desktop
![Page 3: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/3.jpg)
What is GNOME?
● Compositor (Mutter, Shell)● Project with strong design ethic (UX, Hig)● File Manager (Nautilus, Sushi)● Hardware Abstractions
(Bluetooth, Network, Disk, Media, Power, Input)● Graphics Toolkits (Gtk+, Clutter, St)● Language Enablement
(GObject, Python, JavaScript, Vala, Perl, Mono)
![Page 4: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/4.jpg)
What is GNOME? (Cont inued)
● Content Storage and Exctraction (Tracker, Gom)● Personal Data Management
(E-D-S, Calendar, Notes, Tasks, Todo)● Application Suite (Evolution, Gnumeric, GIMP, Gedit)● Web Browser (Epiphany, WebKitGtk)● IPC (D-Bus/kdbus, GVariant, Gsettings)● Media Framework (GStreamer, pulseaudio, rygel)● Translations (damned lies, gtranslator)● Artwork (backgrounds, iconography)
![Page 5: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/5.jpg)
What is GNOME? (Cont inued)
● Security (PolicyKit, lock screen, libsecret, seahorse, sandboxing)● Communications (Telepathy, farstream, empathy)● System Setup/Config (Initial Setup, Control Center)● File Formats
(libxml2, documents, json, markdown, ASN.1, desktop)● Standards
(wmspec, trash, mime, icons, thumbnail, sounds, recent files)● Documentation (yelp/mallard, gtk-doc, guides/turorials)
![Page 6: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/6.jpg)
What is GNOME? (Cont inued)
● Developer Tools(glade, gitg, glib, devhelp, gedit, anjuta, Nemiver, Builder, Boxes, ghex, sysprof, terminal, gtk-doc, yelp, d-feet, looking glass, gparted, meld, memprof, vala)
![Page 7: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/7.jpg)
GNOME is a massive achievement
![Page 8: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/8.jpg)
But there is an elephant in the GNU/room
![Page 9: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/9.jpg)
It 's really hard to contribute to Free Software
![Page 10: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/10.jpg)
So I did some research on why
![Page 11: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/11.jpg)
Learning how to get started is the largest hurdle in contributing to Free Software
![Page 12: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/12.jpg)
We have hundreds of contributors that would be here right now if we could bridge that gap
![Page 13: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/13.jpg)
Clearly this is unacceptable
![Page 14: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/14.jpg)
We built a fantastic platform
(Now let 's he lp people bui ld th ings for i t )
![Page 15: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/15.jpg)
DX = UX for Developers
![Page 16: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/16.jpg)
DX = UX for Developers
![Page 17: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/17.jpg)
The term “Developer” is very broad
![Page 18: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/18.jpg)
Lots of people, lots of skill-sets, varying expertise
![Page 19: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/19.jpg)
You shouldn't have to be an expert on every part of our platform to begin contributing
![Page 20: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/20.jpg)
We need to provide tools and education to go from beginner, to intermediate, to expert
![Page 21: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/21.jpg)
If more people try our platform,we'll have more contributors
( I t ' s a numbers game)
![Page 22: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/22.jpg)
So let's make it as easy as possible to get started
![Page 23: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/23.jpg)
Suggestion
Add “Developer Mode” switch to Control Center
![Page 24: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/24.jpg)
Developer Mode Switch
● GNOME SDK runtime made available● Developer Suite
(Builder, glade, Nemiver, gitg, code-assistance, toolchain, gedit, devhelp, sysprof)
● “Getting Started for Developers” guides
![Page 25: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/25.jpg)
Suggestion
“GNOME Ambassadors” who can help point new developers in the right direction
(For now you can just jo in #gnome-love)
![Page 26: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/26.jpg)
Developers need documentation
![Page 27: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/27.jpg)
Developers need Documentat ion
● It needs to be idiomatic● It needs to be accurate● It needs to be at your fingertips when coding
![Page 28: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/28.jpg)
Perfect documentation is improbable
(So a l low developers to ed it i t when i t ' s wrong)
![Page 29: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/29.jpg)
GNOME's design patterns are fantastic
(Now let 's make them easy to create)
![Page 30: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/30.jpg)
GNOME's platform libraries are great
(Now let 's make them easy to consume)
![Page 31: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/31.jpg)
Consuming p lat form l ibrar ies
● Simplify GObject, GtkWidget, GomResource creation● Create and consume D-Bus services with ease● GSettings schema designer● Demystify GStreamer pipeline creation● High quality auto-completion
(Use gir/typelib with dynamic languages)
![Page 32: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/32.jpg)
Developers are always searching for things
(So let 's make that fast and comprehens ive)
![Page 33: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/33.jpg)
Sometimes the documentation simply doesn't exist
(So prov ide cross-pro ject search to fi nd code examples)
![Page 34: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/34.jpg)
Releasing applications on distribution l ife-cycles is no longer a viable strategy
![Page 35: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/35.jpg)
Distr ibut ion L i fe-cycles
● Typically 6-months to 2-years● Developers often rely on them for new dependencies
(And no time to build/test against unstable GNOME)● And now your application broke with the new release
(Everyone blames each other, ABIs insufficient)● Application fixed upstream, doesn't get shipped until next release● Repeat process
![Page 36: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/36.jpg)
Do we ever ship a stable combination?
(Kernel , Dr ivers , Desktop, Appl icat ions)
![Page 37: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/37.jpg)
Even worse, which distribution would you choose to synchronize your releases with?
(Synchron iz ing with GNOME might be best opt ion)
![Page 38: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/38.jpg)
But what if you want to ship early, often?
![Page 39: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/39.jpg)
Suggestion: xdg-app
![Page 40: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/40.jpg)
xdg-app
● Provide reliable ABI/runtime across upgrades● Reduce “works for me” bugs via predictable runtime
(Development closely resembles production)● Test application against multiple runtimes
(GNOME 3.18, GNOME 3.20, Nightly)● ISVs can finally ship cross-distribution software● Parallel installs of “GIMP Beta” finally possible!
![Page 41: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/41.jpg)
Builder should provide an app simulator to make testing multiple GNOME releases painless
(More GNOME Cont inuous testers means more bugs fi xed)
![Page 42: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/42.jpg)
Psst! Stop testing your application in tree!
( I f you' re interested in test ing what your users run)
![Page 43: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/43.jpg)
Builder and xdg-app will help you do this automatically
(Eventual ly)
![Page 44: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/44.jpg)
Build systems are boring
(Sorta l ike me)
![Page 45: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/45.jpg)
Bui ld Systems
● Make autotools fast (possible!)● Make it more declarative (Go Philip Withnall Go!)● Automate what we can● Document what we can't automate● Make alternate build systems possible (cmake, meson)
![Page 46: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/46.jpg)
Developer Outreach
![Page 47: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/47.jpg)
GNOME has the potential to be the“Desktop for Developers”
![Page 48: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/48.jpg)
Developer Outreach
● Web Development(Django/Rails/Node, HTML/JS/CSS)
● Emerging Languages (golang, rust)● Internet of Things and Embedded● Mobile Development● DevOps/Docker/Atomic
![Page 49: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/49.jpg)
It 's my opinion that improving our DX is one of the best things we can do for the eff ectiveness and longevity of
GNOME and Free Software
![Page 50: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/50.jpg)
Questions and Comments?
![Page 51: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/51.jpg)
Please join us at the Builder BoF!
All day Tuesday and Wednesday
![Page 52: Developer Switch Dreamshergert.me/talks/guadec-2015-developer-switch-dreams.pdf · What is GNOME? (Continued) ... We need to provide tools and education to go from beginner, to intermediate,](https://reader034.vdocuments.mx/reader034/viewer/2022050603/5faaf73f8082331a075368cc/html5/thumbnails/52.jpg)
Thanks for all your support!
https: //www.ind iegogo.com/pro jects/bu i lder-an- ide-of-our-gnome