הבעייה עם הגזירה

העתקה גזירה והדבקה של תוכן הן פעולות בסיסיות שמוכרות לכל משתמש. כולנו מסתמכים עליהן באופן שוטף במהלך עבודתנו, ובצדק, היכולת המופלאה הזאת חוסכת זמן, טעויות הקלדה ומאמץ מחשבתי מאיתנו. למעשה, היא כל כך מושרשת בתרבות העבודה שלנו שהיא משהו שפשוט למדנו לצפות לו, ואנו מפעילים אותו באופן אוטומטי בהצלבת מקשים זריזה, מבלי להקדיש לכך מחשבה רבה.

אולם בעוד שפעולת ההעתקה היא כליל השלמות, בת דודתה הגזירה היא מעט בעייתית, ומייד אסביר למה. אגב הפוסט הזה מיועד גם לאנשי PC וגם לאנשי Mac, לכן בכל מקום שאני אומר ctrl, דמיינו שאמרתי גם Cmd. עמכם הסליחה.

אז מה הבעייה עם הגזירה? בפעולה של העתקה והדבקה הרציונל הוא שכפול של מידע, בעוד שבגזירה והדבקה הרציונל הוא הזזה של מידע ממיקום אחד לשני, ובעצם כך היא פעולה אלימה יותר משום שמעורבת בה מחיקה.

נחזור ברשותכם להתחלה. הפעולות של גזירה והעתקה מושרשות היטב בתהליך העבודה של המשתמש הממוצע וכפועל יוצא מכך הן מבוצעות על ידו באופן אוטומטי. במילים מקצועיות יותר, יש כאן אפקט חזק של habituation – כוח ההרגל אימן את הידיים לבצע את הפעולות ללא מאמץ מחשבתי – כלומר הן אינן דורשות ריכוז או תשומת לב ומבוצעות "ברקע". זה לכשעצמו דבר מצויין, מפני שכשפעולות כאלה עוברות לרקע הן מאפשרות לחוט המחשבה שלנו להתרכז בדבר החשוב באמת, התוכן שאנו עוסקים בו, אבל הניתוק המחשבתי הזה והמכניות של הפעולה מביאים איתם גם פספוסים. כאשר אנו גוזרים ומדביקים יש תרחיש אחד שכולנו סובלים ממנו מדי פעם, והוא העתקה על גבי גזירה.

העתקה על גבי גזירה מתרחשת כאשר אנחנו גוזרים אובייקט ואז, למרבה הצער, במקום להקיש על ctrl-v אנחנו מקישים בטעות על ctrl-c הסמוך, מה שגורם לכך שהמידע, שאותו מחקנו מהמסמך והעברנו ללוח ההדבקה, נדרס ע״י מידע חדש ואובד לנצח. טוב, אז קצת הגזמתי, ברוב המקרים נוכל לעשות undo, אבל אותם שניות של פניקה עוצרות את תהליך הזרימה המחשבתית ומאוד מתסכלות.

לא מזמן חברתי למשרד נפלה קורבן לעניין הזה. ניתן לזהות את הנפגע באופן קל יחסית. זה מתחיל מכך שאדם שהיה שקט ושקוע בעבודתו פולט לפתע קללה רנדומלית לאויר. מייד לאחר מכן הוא מתאר לעצמו במילים מה שקרה: "אני לא מאמינה, גזרתי משהו ולחצתי העתק בטעות…". אם הטעות היא בלתי הפיכה הוא גם סובל בד"כ מדיכאון קצר. נדמה לי שבאותו מקרה היא ביצעה פעולה נוספת כמו סגירה או שמירה, שמנעה ממנה לעשות undo. דיברנו ביננו קצת על הנושא, ולאחר שסיימנו לחלוק חוויות וצלקות עבר, היא פנתה להקליד מחדש את המידע ואני התחלתי לחשוב מה ניתן היה לעשות אחרת כדי לפתור את הבעייה. אני חושב שהגעתי לפתרון לא רע.

נניח שנתעלם מכך שדפוס האינטרקציה הזה מושרש אצל משתמשים ברמה שיהיה קשה מאוד לשנות אותו. נניח שהיינו ניגשים לבעייה מהתחלה. אם נעשה שינוי קטן במודל, נוכל להימנע מהתרחיש שתיארתי כאן. השינוי שאני מציע הוא להפוך את סדר הפעולות. במקום להכריז קודם אם אני רוצה להעתיק או להדביק, ע״י לחיצה על ctrl-c או x, כל פעולה תתחיל מסימון מידע, נניח ctrl-g שייצג את המילה grab. בשלב זה, המידע רק מסומן, הוא לא הוסר ממקומו ולא שוכפל עדיין. בשלב הבא אכריז אם אני רוצה ליצור העתק או להזיז אותו למקום אחר. נניח ע״י ctrl-c, הלוא הוא copy, ו-ctrl-m שייצג את המילה move.

מה הרווחנו כאן? המודל שאני מציע כאן עושה בעצם את אותו הדבר שעושה המודל הקיים, רק שבהפיכת הפעולות הוא מונע העתקה על גבי גזירה. במקרה שנטעה ונבצע סימון על גבי סימון, הסימון של המידע רק ישנה את מקומו, מבלי שנעשתה עדיין פעולת גזירה. באופן זה לא ניתן להגיע למצב של איבוד מידע.

כמובן שהרעיון הזה מאוד ראשוני וגם כנראה קשה ליישום בגלל מה שציינתי קודם, אבל אשמח לשמוע תגובות עליו. בינתיים, נמשיך כנראה לסבול אחת לכמה זמן מתופעות הלוואי של הגזירה. נו מילא.

תגובות:

  1. מאת ספלינטור:

    פתרון דומה אבל יותר פשוט כבר מיושם באקסל. כשאתה גוזר (או מעתיק) תאים, אקסל מסמן אותם בקו מקווקו, ורק כשאתה מדביק אותם במקום אחר הוא מוחק אותם (במקרה של גזירה) ומסיר את הקו המקווקו.

    יכול להיות שאפשר להרחיב את זה גם לפעולת גזירה והדבקה כלליות של טקסט. גדירה לא תמחק את הטקסט אלא תעמעם אותו או תסמן באיזה אופן אחר שהוא נגזר, ורק הדבקה תמחק אותו באמת מהמקום הזה. העתקה או גזירה של משהו אחר תבטל את סימון הגזירה. באופן זה, לא צריך לשנות את עולם המושגים של המשתמש מ-"גזירה והדבקה" ל-"סימון והזזה".

    בחלונות, לפחות בגרסאות הקיימות, יש בעיית מימוש עם הפתרון הזה במקרה של גזירה והדבקה ביישום אחר. הקליפבורד עובד בין יישומים אבל היישום המקורי לא מקבל עדכון כשמשתמש מדביק ביישום אחר. לכן אם אתה גוזר תאים באקסל, ומדביק אותם ביישום אחר, התאים לא נמחקים מגליון האקסל.

    • מאת עילי שריג:

      מעולה. השימוש בשיטת הסימון לפני המחיקה באמת דומה מאוד למה שהצעתי ואכן פותרת את הבעייה באופן אלגנטי. כפי שציינת, הפתרון הזה מציע מעבר עדין מאוד מהשיטה המוכרת. מעניין אם הם טרחו לאפיין את ההתנהגות הזאת מתוך מטרה לפתור את בעיית מחיקת המידע. בכל אופן, הטבעיות של המימוש ועצם העובדה שמייקרוסופט הטמיעו אותו במוצר דגל כמו אקסל, גורמת לי לחשוב שאין סיבה לא להטמיע את זה גם במנגנונים הכלליים של מערכת ההפעלה, ויפה שעה אחת קודם :)

      • מאת ספלינטור:

        בדיון שערכנו על זה עכשיו בעבודה הזכיר לי מישהו שזה בעצם כבר מוטמע במערכת ההפעלה. לפחות בחלונות 7, כשאתה גוזר קובץ בסייר הקבצים, הוא מתעמעם, ורק כשאתה מדביק אותו הוא באמת מועבר. אם אתה מדביק משהו אחר במקומו, שום דבר לא קורה, והקובץ נשאר במקומו.

        • מאת עילי שריג:

          וואלה, נראה שאני לא היחיד שחשב בכיוון. לצערי דווקא הצעד הנכון שעשו מייקרוסופט במערכת ההפעלה לא מתקיים באופן מלא בסביבת האופיס שלהם, וכן במוצרים של חברות אחרות. המקומות הכואבים לחוות איבוד של תוכן כתוצאה מהעתקה על גזירה הם דווקא בכלי יצירה. אני למשל חווה את זה ב-WORD מדי פעם בלהט ההקלדה. בכל אופן, תודה על העדכון.

  2. מאת ירון:

    אפשרות אחרת שמיקרוסופט ניסו לעשות בoffic 2003 זה לוח הסטורית העתקות שתוכל לשחזר משם כל העתקה שעשית

    • מאת עילי שריג:

      נכון, כשכתבתי את הפוסט נזכרתי בזה בעצמי. העיניין הוא שהשחזור מהלוח, למרות שפותר את בעיית אובדן המידע, אינו פותר את בעיית איבוד חוט המחשבה. זה הליך די מסורבל ומאמץ.

  3. מאת Offir Ariel:

    אבל בשורה התחתונה, גם חווית ההעתקה באקסל ובייחוד הכשל הזה של לוח היסטוריית ההעתקות פשוט מזעזעות.
    צריך לחפש – מישהו בטח יצר איזה סקריפט שעושה את זה טוב יותר…

מה דעתך?