Developer Switch Dreams Crafting the GNOME DX

Developer Switch Dreams Crafting the GNOME DX

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 .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    52 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us