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

מתכנת חכם

אקסל, אתה ידוע בעיקר כמתכנת עבור Wired. אתה יכול להסביר מה זאת התוכנה הזו?
הייתי, עם כמה חברים, משתמש באפליקציית רשת בשם Hotline, זה היה בשנות התשעים של המאה הקודמת, התוכנית הזו הייתה מאוד מתקדמת לאותה תקופה, אבל עמדה בסטגנציה כאשר Mac OS התחילה להשתמש באפליקציות של צד שלישי שלעתים קרובות לא היו טובות במיוחד. התחלתי להתעניין בתכנות Mac בזמני הפנוי וחשבתי שפרויקט שווה ערך ל-Hotline, אבל מקורי ב-OS X יהיה אתגר מעניין. זה גם יאפשר לחברים שלי ולי להישאר בקשר, וזה גם לא רע.
מה מייחד את Wired מפתרונות לקוח/שרת אחרים?
Wired היא תוכנת נישה והיא שונה למדי מהדגמים שבהם משתמשים יישומי רשת אחרים. בעיקרו של דבר, זוהי מערכת המאפשרת ללקוחות להתחבר לשרת, לשוחח עם משתמשים אחרים ולהחליף קבצים עם השרת. מכיוון שיש הרבה שרתים והם לא מחוברים זה לזה, רובם אפילו פרטיים לגמרי, הצ'אט שונה מזה שאנחנו מתרגלים ב-iChat למשל. ומכיוון שאתה מחליף קבצים רק עם השרת היחיד הזה, ההעברות אינן כמו ב-BiTorrent. חשבו על Wired כעל ערוץ IRC בשילוב עם שרת FTP.
הדרך שבה אני משתמש בו, והדרך שבה אני חושב שרוב האנשים משתמשים בו, היא לשמור על קשר עם קבוצה קטנה של חברים שחולקים את הקבצים שלהם זה עם זה.
למה לבחור בחינם ובמודל הקוד הפתוח?
כל התוכנה שכתבתי הייתה קוד פתוח. לא באמת בגלל שרציתי ליצור קהילת פיתוח ולעבוד ביחד על פרויקטים, אלא בגלל שאני לא רואה את הטעם בלשמור את המקורות שלך סגורים. קריאת קוד המקור של אנשים אחרים היא דרך מצוינת ללמוד, ואתה כל הזמן קולט פיסות קוד מימין ומשמאל. על ידי העמדת המקורות שלי לזמינים, אני מקווה להחזיר טובה לקהילה.
לגבי חינם, התחלתי לתכנת בתור חובב. הקמת מערכת תוכנת שיתוף היא קצת כהונה, ומעולם לא חשבתי שיהיה לי זמן או משאבים לעשות זאת. אבל לעתיד, אני לא אוסר על עצמי מ-shareware, זו ללא ספק תהיה חוויה מעשירה.

משתמשי התוכנה שלך יכולים לתרום. האם הם עושים את זה?
אנשים נותנים, אבל לא לעתים קרובות מאוד ולא הרבה כסף. אני יכול להשתמש בזה כדי לשלם עבור אירוח עבור האתר שלי, זיכויים של סקייפ אבל מעולם לא משכתי סכומים משמעותיים מהעבודה שלי. אבל זה בונוס קטן, קצת מוטיבציה להמשיך בפיתוח בתור תוכנה חופשית. למזלי, יש לי עבודה "יום" כמתכנת מק, כך שאני לא תלוי בהכנסה שנוצרת מהתוכנה החינמית שלי. אבל אם הייתי רוצה להיות עצמאי, הייתי צריך לבחור בשיטת תגמול אחרת, זה ברור.
מהם פרויקטי הפיתוח שלך סביב Wired?
אני מתחיל לעבוד על גרסה 2.0, שתציג פרוטוקול חדש לחלוטין, שיהיה ניתן להרחבה ויאפשר תוספות של פונקציות ביתר קלות. בגרסה זו אני כולל גם מספר רב של בקשות מהמשתמשים שלי. אני מנסה לשמור על מצב פיתוח מאוד פתוח, אז ברגע שיש לי משהו יציב מספיק כדי לבדוק, אני משחרר "בונה כמעט" שמשתמשים יכולים לנסות. אני מקווה שזה נותן לי איזון טוב בין תכנות למשוב משתמשים.
תכנות ב-Mac
כמתכנת, איך היית מתאר את סביבת התכנות של Mac OS X?
עבור תוכניות ה-GUI שלי, אני עובד רק בקקאו וב-Objective-C, וזו סביבה פרודוקטיבית להפליא. ממשקי ה-API עשירים מאוד, ולעיתים רחוקות אני מוצא משהו חסר שאני צריך לעשות בעצמי. עם זאת, בגרסאות קודמות של OS X זה היה שונה. היית צריך לקודד הרבה דברים בעצמך, בעוד שעכשיו אפל מציעה אותם כממשקי API. נכון לעכשיו, אני ממשיך להתפתח תחת טייגר, וזה טוב מאוד. יש, כמובן, הרבה דברים מרגשים ב-Leopard לכלול ב-Wired אבל אעשה זאת מאוחר יותר, בסופו של דבר.
האם יש לך ניסיון עם סביבות תכנות אחרות?
לפני OS X, תכנתתי קצת מ-Mac OS קלאסי, גרסה 8.0 אני חושב. ערכת הפיתוח נקראה Toolbox, והיא הפכה ל-Carbon. למען האמת, פחמן הרבה יותר טוב מ-Toolbox, אבל אין השוואה לקקאו. בזמנו כבר עבדתי ב-C, שהיא שפה פרוצדורלית, ולא שפה מונחה עצמים. היית צריך לעשות הכל בעצמך! אפילו למשל, מטפל באירועים בלחיצת עכבר בודדת. ומכיוון שזה היה Mac Os קלאסי, עם ניהול הזיכרון המצער שלו, כשהתוכנית שלך קרסה, קרסתם את כל המחשב. ותאמין לי, תוכנית, כשאתה כותב אותה, קורסת לעתים קרובות. זה היה מאוד מתסכל.
ומה אתם חושבים על ה-iPhone SDK?
זה מאוד מרגש! תוך זמן קצר, כל האייפודים בעולם יתמכו ב-SDK הזה וללא ספק יהפכו אותו לפלטפורמה הסלולרית הגדולה בעולם. בנוסף, בהשוואה לתכנות למק, מדובר באתגר מעניין: עבודה עם אותה שפה, אותה סביבה אבל בפלטפורמה אחרת לגמרי. יש כמה דברים שצריך לקחת בחשבון: מגבלות כוח חומרה, פרדיגמות חדשות של ממשק משתמש (GUI), שיטות קלט חדשות וכו'...
גם העושר של הסביבה מפתיע: כמעט כל מה שיש לנו ב-Mac OS X, אנחנו מוצאים אותו באייפון. Open GL למשל נראה ממש טוב, ויכול להוביל את האייפון להפוך לפלטפורמת משחקים מרכזית.
מה דעתך על דגם ה-AppStore?
זה רעיון מצוין. הפצת תוכנה היא עבודה גדולה, שלא לוקחים אותה בחשבון אם אפל מטפלת בה. זה משקל גדול פחות על כתפי המתכנת. העמלה של 30% שגובה אפל, שנדונה בהרחבה באינטרנט, היא, לדעתי, הוגנת למדי, בהתחשב ברמת התמיכה שנקבל מאפל. אני חושב שזה העתיד של הפצת התוכנה, ולא אתפלא לראות אותו ב-Mac במוקדם או במאוחר.
