איך גוגל דוק מציל את מנהל המוצר ואת המתכנתים

עודכן ב: 1 אוג 2018

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


כך נולד הפוסט הראשון בבלוג של הקהילה.


הפוסט הזה יתאים במיוחד ל:

- צוותי מוצר בארגונים

- מי שמתמודדים עם תרגום של מערכת מורכבת ודינמית לכמה שפות

- כותבי מיקרו-קופי למוצר שמתפתח ומשתנה באופן שוטף

- מתכנתים


כתב: איתי נטר, מנהל מוצר, אקטיבטרייל


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


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


1 - זמן של מפתחים הוא המשאב מהיקרים ביותר בחברה. לתקן משהו זה להשקיע את המשאב הזה פעמיים.

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

3 - כותבי תוכן בצרפתית מסוגלים לזעוק "מי כתב את זה? זה בכלל לא צרפתית!" גם על טקסט שהם כתבו בעצמם.


אז למי זה טוב בכלל?

המוצר שלי הוא מוצר SaaS, פלטפורמה לאוטומציית שיווק ותיקה (עוד מעט בת 15), גדולה ובינלאומית גם בגישה וגם בתמיכה בשפות (גרמנית, ספרדית, אנגלית, צרפתית ובעיקר עברית).


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


במצב כזה, שדורש זריזות וגמישות טכנית (וכל זה במסגרת צורת עבודה אג'ילית שדוחפת שינויים כל שבועיים), לתת למפתחים להתעסק בטקסט זה אי שפיות. לרוץ בין כותבי טקסטים לגרפיקאים למתכנתים זה פשוט טירוף. אז בחרנו בסוג אחר של טירוף, גוגל דוק שמשוכפל ומעודכן כל גרסה, עם כ-10,000 רשומות, מחולק לאזור, לייבל ושפה שנראה ככה:


כל שורה בקובץ הזה מייצגת פיסת טקסט במערכת אקטיבטרייל, כלומר לייבל.

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

לעצב על עיוור

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

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


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



משם, לתרגום: "ג'ס (מנהלת שוק צרפת), הוספתי כמה שורות לקובץ 34, זה השינוי שעשינו ב'דוח מלא', תודה כפרה שלי!"


כלומר, כל עמוד במערכת מכיל אלמנטים של טקסט ויש להם כמו מראי מקום, שאומרים למסד נתונים - את הטקסט לשורה 4 בעמוד 'דוח מלא' קח משורה 7121. אנגלית? שורה 7121 עמודה F. עוברים שפה לצרפתית? אין בעיה, הטקסט יחכה לך בשורה 7121, עמודה G. אבל עד שאני מאכלס את הקובץ בטקסטים ומעלים את התיקונים לסביבות הבדיקה, העמוד עדיין עומד עם הטקסט הישן. מעצב על עיוור. מתרגם, מעדכן, מתפלל, repeat.


לא הבנתי, אז אתה בעד או נגד?

כן. לא. תלוי ביום, באיך אתם עם גוגל, אם יודעים לעבוד מסודר, לחלק חכם לקטגוריות.


מצד אחד:


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

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

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


4. זאת מערכת גמישה מאוד. היא שואבת טקסט וזורקת אותו לתוך הדאטאבייס. אם יודעים קצת קוד, אפשר לעשות דברים נחמדים כמו להוסיף תגיות <b> או סטיילינג:


ככה אני משחק עם עיצוב של טקסט בלי לערב מפתח.


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

אבל מצד שני:

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

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

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

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

ולסיום: זהירות - טקסט טכני

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

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

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

  3. לייצר סקריפט שקורא תא לפי המזהים וטוען את הטקסט המעודכן ישירות לתוך ה-DB. עדיף אוטומטי, אנחנו ב-2018 כבר, יש CI/CD.

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

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

תקשורת ויחסי עבודה הם הדבר היחיד בחברה שזה לא בזבוז זמן לתקן אותם.


הלינקדאין של איתי


דברו איתנו ב-microcopim@gmail.com  

כל הזכויות שמורות לכנרת יפרח, רעות מלובני וסתיו מורן-לשם