אפליקציות ב-Snap פועלות בקונטיינר עם גישה מוגבלת למערכת המארחת. באמצעות ממשקים, משתמשים יכולים לתת לאפליקציה גישה בתיווך לתכונות נוספות של המארח כגון הקלטת אודיו, גישה להתקני USB והקלטת וידאו. ממשקים אלו מתווכים ממשקי API רגילים של Linux כך שיישומים יכולים לתפקד בארגז החול מבלי צורך לשכתב. יישומי שולחן עבודה יכולים גם להשתמש ב-XDG Desktop Portals, API סטנדרטי שנוצר במקור על ידי פרויקט Flatpak כדי לתת ליישומי שולחן עבודה עם ארגז חול גישה למשאבי מארח. פורטלים אלו מספקים לעיתים קרובות חווית משתמש טובה יותר בהשוואה לממשקי ה-API המקוריים של Linux מכיוון שהם מבקשים מהמשתמש רשות למשאבים כגון מצלמת אינטרנט בזמן שהאפליקציה משתמשת בהם. החיסרון הוא שצריך לשכתב יישומים וערכות כלים כדי להשתמש בממשקי ה-API החדשים.
ארגז החול Snap תומך גם בשיתוף נתונים ושקעי Unix בין Snaps. זה משמש לעיתים קרובות כדי לשתף ספריות נפוצות ומסגרות יישומים בין Snaps כדי להקטין את גודל ה-Snaps על ידי הימנעות כפילות.
ארגז חול Snap מסתמך במידה רבה על AppArmor מודול אבטחת לינוקס מן הקרנל. מכיוון שרק מודול אבטחת לינוקס "עיקרי" (major) אחד (LSM) יכול להיות פעיל בו-זמנית, ארגז החול של Snap הוא הרבה פחות מאובטח כאשר LSM מרכזי אחר מופעל. כתוצאה מכך, בהפצות כגון Fedora המאפשרות SELinux כברירת מחדל, ארגז החול Snap מוחלש מאוד. אף על פי ש-Canonical עובדת עם מפתחים וחברות רבות אחרות כדי לאפשר למספר LSMs לפעול בו-זמנית, הפתרון הזה עדיין רחוק.
ארגז החול של Snap מונע מיישומי שולחן עבודה מנותקים לגשת לחלקים של מערכת ההפעלה המארחת כדי למנוע בעיות תאימות. כדי ש-Snaps ישתמשו בערכת נושא (theme), זה גם צריך להיות ארוז ב-Snap נפרד. ערכות נושא פופולריות רבות נארזות על ידי מפתחי Snap אך ערכות נושא מסוימות אינן נתמכות עדיין ויש להתקין ערכות נושא לא שכיחות באופן ידני. אם ערכת נושא אינה זמינה כחבילת Snap, המשתמשים צריכים לפנות לבחירת ערכת הנושא התואמת ביותר הקיימת. העבודה נמשכת כדי להקל על צדדים שלישיים לארוז ערכות נושא ב-Snap ולהתקין אוטומטית ערכות נושא לא שכיחות של המערכת.
עדכונים אוטומטיים ואטומיים.
מספר פעמים ביום, snapd בודק אם קיימים עדכונים זמינים של כל ה-Snaps ומתקין אותם ברקע באמצעות פעולה אטומית. ניתן לבטל עדכונים ולהשתמש בקידוד דלתא כדי להקטין את גודל ההורדה שלהם.
בעלי אתרים יכולים להוציא ולעדכן גרסאות מרובות של התוכנה שלהם במקביל באמצעות "ערוצים". לכל ערוץ יש "מסלול" "וסיכון" ספציפיים, המציינים את "הגרסה" "והיציבות" של התוכנה שפורסמה בערוץ זה. בעת התקנת אפליקציה, Snap משתמש כברירת מחדל codice_2, אשר יתעדכן אוטומטית למהדורות עיקריות חדשות של התוכנה כאשר הן יהיו זמינות. מפרסמים יכולים ליצור ערוצים נוספים כדי לתת למשתמשים את האפשרות לדבוק במהדורות מרכזיות ספציפיות של התוכנה שלהם. לדוגמה, codice_3 יאפשר למשתמשים לדבוק בגרסת 2.0 של התוכנה ולקבל עדכונים קלים בלבד ללא סיכון של שינויים לא תואמים לאחור. כאשר המוציא לאור מוציא גרסה מרכזית חדשה בערוץ חדש, משתמשים יכולים לעדכן ידנית לגרסה הבאה כאשר הם בוחרים.
ניתן לבטל עדכונים אוטומטיים באמצעות "פריצות" מסוימות, וכן ישנן דרכים רבות להגדיר עדכונים כך שיתאימו לצרכים מסוימים. המשתמש יכול לבחור להישאר בגרסה עיקרית ספציפית של התוכנה על ידי ציון הערוץ, הם יכולים להגדיר את מרווח העדכון כדי שיהיה לו זמן לבדוק עדכונים באופן ידני, לדוגמה פקודה זו תבדוק עדכון ביום שישי האחרון מ-23:00 עד 01:00
sudo snap set system refresh.timer=fri5,23:00-01:00
והם יכולים להחזיק עדכונים עד 60 יום. בנוסף, עדכונים מושבתים אוטומטית גם בחיבורים מדורגים. אפילו עם הפקדים הללו, מספר משתמשים הביעו את תלונותיהם על היעדר אפשרות לכבות עדכונים אוטומטיים לחלוטין.
אימוץ.
Snap תמך בתחילה רק בהפצת ה-all-Snap Ubuntu Core, אך ביוני 2016, היא הועברה למגוון רחב של הפצות לינוקס כדי להפוך לפורמט של חבילות לינוקס אוניברסליות. Snap דורש פונקציונליות (systemd) הזמינה ברוב ההפצות של לינוקס, אך לא בכולן, לכמה מערכות דמויות יוניקס אחרות אין (למשל FreeBSD). מערכת ההפעלה של Chrome אינה תומכת ב-Snap באופן ישיר, רק באמצעות הפצות לינוקס המותקנות בה התומכות ב-Snap, כגון Gallium OS.
מספר הפצות לינוקס תומכות ב-Snap out of the box כמו אובונטו (ולמשל Kubuntu, Xubuntu), Manjaro, Zorin OS, KDE Neon, Solus ו-Li-fe. כמן כן Snap זמין להפצות רבות אחרות כגון CentOS, Debian, Elementary OS, Fedora, GalliumOS, Kali Linux, Linux Mint, OpenEmbedded, Parrot Security OS, Pop! OS, Raspbian, Red Hat Enterprise Linux ו-openSUSE.
מספר חברות בולטות לפיתוח תוכנת שולחן עבודה מפרסמות את התוכנה שלהן ב-Snap Store, כוללGoogle, JetBrains, KDE, Microsoft (עבור גרסאות לינוקס של למשל. NET Core 3.1, Visual Studio Code, Skype, ו-PowerShell), Mozilla ו-Spotify. Snaps משמשים גם בסביבות של Internet of Things, החל ממוצרים הפונים לצרכן ועד לשערי ניהול מכשירים ארגוניים ורשתות תקשורת לווייניות. לבסוף, Snap משמש גם מפתחים של יישומי שרת כגון InfluxDB, Kata Containers, Nextcloud ו-Travis CI.
בשנת 2019, קנוניקל החליטה להחליף את דפדפן האינטרנט Chromium במהדורות עתידיות של אובונטו מחבילת APT ל-Snap. הם הסבירו ש-Snap הקל הרבה יותר על התמיכה ב-Chromium בכל מהדורות אובונטו הנתמכות. זה איפשר להם למקד משאבי הנדסה בחלקים אחרים של שולחן העבודה של אובונטו. כתוצאה מהחלטה זו, נגזרות של אובונטו כגון Linux Mint נאלצו לבחור בין שמירה על גרסה משלהן של חבילת Chromium או מעבר לגרסת ה-Snapped של Chromium המתוחזקת על ידי Canonical.
קבלה.
כמה חברות שיבחו את Snap. כאשר Heroku אמרה שהעדכון האוטומטי של Snap מתאים היטב ללוח הזמנים של השחרור המהיר שלהם, מיקרוסופט ציינה את קלות השימוש שלו ואת היותו מבוסס yaml, כמו גם שהוא אגנוסטי להפצה, ו - JetBrains אמרה ש-Snap Store נותן לכלים שלהם חשיפה רבה יותר.
עובד רד האט אדם ויליאמסון, אף על פי שהכיר בהטיה של עצמו, ביקר את Snap על כך ששומר על קוד סגור בצד השרת, שאין לו מנגנון לשימוש בשרתים של צד שלישי, ועליו לחתום על הסכם רישיון תורם כדי לתרום לפיתוח שלה.
Clement Lefebvre (מייסד Linux Mint ומוביל פרויקטים) כתב ש-Snap מוטה ויש לו ניגוד עניינים. הסיבות שהוא ציין כוללות את זה שהוא נשלט על ידי Canonical ונעול לחנות שלהם, וגם ש-Snap עובד טוב יותר באובונטו מאשר בהפצות אחרות. מאוחר יותר הוא הודיע כי התקנת Snap תיחסם, אף על פי שתתועד דרך להשבית מגבלה זו.
ג'ונסטון מארי
ג'ונסטון מארי (באנגלית: Johnston Murray; ) היה עורך דין ופוליטיקאי אמריקאי מאוקלהומה, איש המפלגה הדמוקרטית, שכיהן כמושל אוקלהומה ה-14 בשנים 1951–1955.
מארי היה הראשון מבין כל מושלי מדינות ארצות הברית ממוצא אינדיאני. אמו, מרי אליס הירל, הייתה אזרחית אומת הצ'יקאסאו. אביו ויליאם מארי, היה מתוקף נישואיו גם הוא אזרח אומת הצ'יקאסאו. מארי האב היה יועצו המשפטי של מושל אומת הצ'יקאסאו, דאגלס ג'ונסטון, ובהמשך כיהן בשורה של משרות פוליטיות לאחר שאוקלהומה התקבלה המדינה בארצות הברית, כולל כמושל אוקלהומה התשיעי.
כמושל אוקלהומה, ניסה ג'ונסטון מארי לצמצם את הוצאות המדינה, אך נבלם על ידי בית המחוקקים המדינתי, אף על פי שזה היה בעל רוב דמוקרטי. באותה תקופה לא התאפשרה על פי חוקת אוקלהומה התמודדות של מושל מכהן לתקופת כהונה שנייה רצופה. ב-1954 התמודדה אשתו השנייה של מארי, וילי מארי, בבחירות על משרת המושלת, אך נוצחה. חודשים מספר לאחר מכן הסתיימו נישואיהם בגירושים קשים והשניים התגרשו רשמית ב-1956.
בהמשך נישא מארי להלן שאט. השניים עברו לפורט וורת', טקסס, שם עבד מארי בחברת שירות לבארות נפט ובמהשך בחברת לימוזינות. לאחר שובו לאוקלהומה סיטי, הקים מארי ב-1960 משרד עורכי דין בשותפות עם וייט פייט. ב-1962 הוא התמודד על משרת גזבר מדינת אוקלהומה, אך בבחירות המקדימות של המפלגה הדמוקרטית הוא סיים אחרון. לאחר מכן ועד ליומו האחרון הוא עבד כיועץ משפטי למחלקת הרווחה של אוקלהומה.
ראשית חייו.
ג'ונסטון מארי נולד במעון המושל של אומת הצ'יקאסאו בעיירה אמט, מחוז ג'ונסטון, הטריטוריה האינדיאנית. אמו, מרי אליס הירל, הייתה בת הצ'יקאסאו בשמינית ממוצאה. היא הייתה אחייניתו של דאגלאס ג'ונסטון, מושל אומת הצ'יקאסאו, שבשירותו עבד בעלה, ויליאם מארי, כיועץ משפטי. מארי האב היה בהמשך נציג בוועידה שהתכנסה ב-1905 כדי לנסח את חוקת מדינת סקוויה, ונשיא הוועידה שהתכנסה ב-1906 לנסח את חוקת אוקלהומה טרם קבלתה כמדינה בארצות הברית. לאחר שכיהן במגוון משרות במדינה, כיהן מארי האב כמושל אוקלהומה בשנים 1931–1935.
ג'ונסטון מארי היה אחד מחמשת ילדי המשפחה. הוא התחנך בבתי הספר הציבוריים של טישימינגטו, בירתה לשעבר של אומת הצ'יקאסאו. הוא למד בקולג' החקלאי המדינתי של מארי, וסיים את לימודיו ב-1924.
ב-1923 נשא מארי לאישה את מריון דרון מהעיר סלפר. לשניים נולד ילד אחד לפני שהם התגרשו שש שנים לאחר מכן.
ראשית הקריירה.
לאחר סיום לימודיו בקולג', נסע מארי לבוליביה יחד עם אביו ואחיו ומשפחותיהם. הם ניסו להקים שם מושבה פרטית כדי לפתח חווה גדולה. הם התגוררו שם ארבע שנים בזמן שעבדו במיזם זה, אך לא קיבלו סיוע מספיק מהממשלה. לאחר ששב לאוקלהומה, עבד מארי בשדות גז ונפט, והגיע גם לתפקיד ניהולי.