Developer Switch Dreams Crafting the GNOME DX Christian Hergert ([email protected]) GNOME is so much more than a desktop What is GNOME? ● Compositor (Mutter, Shell ● !ro"ect with stron# desi#n ethic ($%, Hi# ● 'ile Manager (Nautilus, Sushi ● Hardware ()stractions (*luetooth, Network, Disk, Media, !ower, +nput ● Graphics ,oolkits (Gtk+, Clutter, St ● Lan#uage Enablement (GO)"ect, !ython, JavaScript, 1ala, !erl, Mono What is GNOME? (Continued ● Content Storage and E2ctraction (Tracker, Gom ● !ersonal Data Management (E-D-S, Calendar, Notes, Tasks, ,odo ● (pplication Suite (Evolution, Gnumeric, GIMP, Gedit ● We) *rowser (Epiphan/, We)4itGtk) ● +!C (D3*us/kd)us, G1ariant, Gsettin#s ● Media 'ramework (GStreamer, pulseaudio, rygel ● ,ranslations (damned lies, #translator) ● (rtwork (backgrounds, icono#raph/ What is GNOME? (Continued ● Security (!olic/4it, lock screen, li)secret, seahorse, sand)o2in# ● Communications (Telepathy, 6arstream, empathy ● System Setup/Con7# (+nitial Setup, Control Center) ● 'ile 'ormats (li)2ml8, documents, "son, markdown, (SN9:, desktop ● Standards (wmspec, trash, mime, icons, thum)nail, sounds, recent 7les ● Documentation (yelp/mallard, #tk-doc, #uides5turorials What is GNOME? (Continued ● Developer Tools (#lade, #it#, #li), devhelp, #edit, an"uta, Nemiver, *uilder, *o2es, #he2, s/spro6, terminal, #tk-doc, yelp, d36eet, lookin# #lass, #parted, meld, mempro6, vala) GNOME is a massive achievement *ut there is an elephant in the GN$5room +t;s reall/ hard to contri)ute to 'ree So6tware So + did some research on wh/ .earnin# how to #et started is the lar#est hurdle in contri)utin# to 'ree So6tware We have hundreds o6 contri)utors that would )e here ri#ht now i6 we could )rid#e that #ap Clearl/ this is unaccepta)le We )uilt a 6antastic plat6orm (Now let;s help people )uild thin#s 6or it D% < $% 6or Developers D% < $% 6or Developers ,he term =Developer> is ver/ )road .ots o6 people, lots o6 skill3sets, var/in# e2pertise ?ou shouldn;t have to )e an e2pert on ever/ part o6 our plat6orm to )e#in contri)utin# We need to provide tools and education to #o 6rom )e#inner, to intermediate, to e2pert +6 more people tr/ our plat6orm, we;ll have more contri)utors (+t;s a num)ers #ame So let;s make it as eas/ as possi)le to #et started Su##estion (dd =Developer Mode> switch to Control Center Developer Mode Switch ● GNOME SD4 runtime made availa)le ● Developer Suite (*uilder, #lade, Nemiver, #it#, code3assistance, toolchain, #edit, devhelp, s/spro6 ● =Gettin# Started 6or Developers> #uides Su##estion =GNOME (m)assadors> who can help point new developers in the ri#ht direction ('or now /ou can "ust "oin @#nome3love Developers need documentation Developers need Documentation ● +t needs to be idiomatic ● +t needs to be accurate ● +t needs to be at /our 7n#ertips when codin# !er6ect documentation is impro)a)le (So allow developers to edit it when it;s wron# GNOME;s desi#n patterns are 6antastic (Now let;s make them eas/ to create GNOME;s plat6orm li)raries are #reat (Now let;s make them eas/ to consume Consumin# plat6orm li)raries ● Simpli6y GOb"ect, GtkWid#et, GomAesource creation ● Create and consume D3*us services with ease ● GSettin#s schema desi#ner ● Dem/sti6/ GStreamer pipeline creation ● Hi#h Bualit/ auto-completion (Use #ir/t/peli) with dynamic lan#uages Developers are alwa/s searchin# 6or thin#s (So let;s make that 6ast and comprehensive Sometimes the documentation simpl/ doesn;t e2ist (So provide cross3pro"ect search to 7nd code e2amples Aeleasin# applications on distri)ution li6e3c/cles is no lon#er a via)le strate#/ Distri)ution .i6e3c/cles ● ,ypicall/ C-months to 83/ears ● Developers o6ten rely on them 6or new dependencies ((nd no time to )uild5test against unstable GNOME ● (nd now your application )roke with the new release (Everyone )lames each other, (*+s insuDcient ● (pplication 72ed upstream, doesn;t #et shipped until ne2t release ● Aepeat process Do we ever ship a sta)le com)ination? (4ernel, Drivers, Desktop, (pplications Even worse, which distri)ution would /ou choose to s/nchroniEe /our releases with? (S/nchroniEin# with GNOME mi#ht )e )est option *ut what i6 /ou want to ship earl/, o6ten? Su##estionF 2d#3app 2d#3app ● !rovide reliable (*I/runtime across up#rades ● Aeduce =works 6or me> )u#s via predictable runtime (Development closel/ resem)les production ● ,est application against multiple runtimes (GNOME G9:H, GNOME G98I, Ni#htl/ ● ISVs can 7nall/ ship cross-distri)ution so6tware ● !arallel installs o6 =GIMP *eta” 7nally possi)leJ *uilder should provide an app simulator to make testin# multiple GNOME releases painless (More GNOME Continuous testers means more )u#s 72ed !sstJ Stop testin# /our application in treeJ (+6 /ou;re interested in testin# what /our users run *uilder and 2d#3app will help /ou do this automaticall/ (Eventuall/ *uild s/stems are )orin# (Sorta like me *uild S/stems ● Make autotools 6ast (possi)leJ ● Make it more declarative (Go !hilip Withnall GoJ ● (utomate what we can ● Document what we can;t automate ● Make alternate )uild s/stems possi)le (cmake, meson Developer Outreach GNOME has the potential to )e the =Desktop 6or Developers> Developer Outreach ● We) Development (D"an#o5Aails/Node, &,ML/JS5CSS ● Emergin# Lan#uages (#olan#, rust ● Internet o6 Thin#s and Em)edded ● Mo)ile Development ● DevOps/Docker/Atomic +t;s m/ opinion that improvin# our D% is one o6 the )est thin#s we can do 6or the eKectiveness and lon#evit/ o6 GNOME and 'ree So6tware Luestions and Comments? !lease "oin us at the *uilder *o'J (ll da/ ,uesda/ and Wednesda/ ,hanks 6or all /our supportJ httpsF55www9indie#o#o9com5pro"ects5)uilder3an3ide3o63our3#nome .
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages52 Page
-
File Size-