27 בדצמבר 2007

תמיכה בדרישות שימושיות בעריכת טקסטים דו-כיווניים

טיוטא להערות (גירסא להדפסה)

אבי הראל – יו"ר הוועדה הטכנית לתקינה לשימושיות 1817

רקע

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

מטרה

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

מגבלת השימושיות של הכיווניות הלוגית

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

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

הצעה לתיקון סמנטי

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

המודל ההיברידי

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

אופן הפעולה

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

השוואה בין המודלים

ישימות

הוכחת היתכנות

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

התאמה למציאות בתעשיה

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

הצעה לתכנית עבודה

להלן עדכון הצעתי לתכנית עבודה להשלמת בדיקת הישימות:

שלב א – הכנות: הכנת רשימת מצבי בדיקה (ע"י כל חברי הוועדה).

שלב ב – בדיקות ישימות המודל ההיברידי, על ידי מעבר על כל מצבי הבדיקה (ע"י הח"מ)

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

שלב ד – ישום: שילוב המודל בסעיף 9 בת"י 1489. מומלץ להקדים את סעיף 9 לתחילת התקן, על מנת שהתקן יהיה ראוי לשמו (ארכיטקטורה ...).