‏הצגת רשומות עם תוויות אידיולוגיה ברשת. הצג את כל הרשומות
‏הצגת רשומות עם תוויות אידיולוגיה ברשת. הצג את כל הרשומות

יום שני, 23 במרץ 2009

לרצות פשוט

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

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

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

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

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

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

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

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

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

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

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

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

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

גלישה פשוטה לכולם.

יום שישי, 6 במרץ 2009

בניית תשתית לאתר

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

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

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

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

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

התבנית Model-View-Controller
או בקיצור MVC, תבנית בהנדסת תוכנה המחלקת את היישום לשלושה חלקים, ובעזרת דימוי אני אציג את שלושתם.

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

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

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

העבודה עם הרעיון
כאן מתחיל החלק של להביא את ה-MVC לידי ביטוי, דבר כשם שהוא יכול להיות לא פשוט כששוקלים דברים שונים הנוגעים לאתר.
דוגמה לכך הוא הדרך בה מפרידים את העיצוב מהקוד, כאשר ישנן שיטות שונות, והנפוצות ביניהן:
  • שיטת הפונקציות - יש כאלו שיבחרו להריץ פונקציות ששולחות מידע למחלקה מסויימת, וכאשר קוראים לפונקצייה מסויימת, המחלקה המורכבת מפונקציות הכוללות תוכן HTML מתחילה לעבד את המידע, לקרוא לפונקציות מסויימות ולהרכיב פזל, דוגמה לביצוע ניתן לראות בשילוב צד לקוח בצד שרת (תחת תת כותרת: שיטה נפוצה - עיבוד בקבצי עיצוב).
  • שיטת הטמפלט - אפשרות נוספת מוכרת היא יצירה של דפי טמפלט הכוללים בתוכם פקודות מסויימות וקבוצת תווים שביחד מסמנים דבר מוגדר מראש, ואז מחלקה שמטפלת בדפי טמפלט לוקחת את הדף ומתחילה לפרש בהתאם למידע שהתקבל מהמודל ומבצעת החלפות של מידע בהתאם, דוגמה לביצוע ניתן לראות ב"הפרדת הקוד מהעיצוב" (בבלוג של ואדים גבריאל).
  • תשתיות מוכנות - קיימות שלל תשתיות מוכנות שעושות את העבודה עבור המתכנת, וחוסכות זמן יקר, אך לעיתים העקשנות בשימוש בטכנולוגיה מסויימת ובדרך מוגדרת עלולה להוביל להתנגשות ולחוסר יעילות, דוגמה לכך בפוסט "הטכנולוגיה הרגה לי את הסטארט-אפ" (בבלוג של netcraft).
ראוי לציין שישנו מקרה נפוץ של MVC ללא מודעות המשתמשים, והוא הפרדה של העיצוב מהתוכן בעזרת XHTML ו-CSS, דבר המוכיח את עצמו שיעיל.

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

יום שלישי, 13 בינואר 2009

שילוב צד לקוח בצד שרת

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

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


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

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



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


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


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

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

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

אז איך משלבים? מה הכי טוב? אני מאמין שהדבר הכי טוב הוא בהתאם לצורך, אין דבר מוחלט, והרבה תלוי במתכנת, בצרכים, ובמשאבים.

המשך תכנות נעים.

יום שני, 24 בנובמבר 2008

האינטרנט כרשת מולטימדיה

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

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

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

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

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

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

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

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

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

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

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

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

עד כאן על מלוטימדיה מזויית הראיה שלי.
המשך גלישה נעימה.

יום שני, 17 בנובמבר 2008

מה שמאחורי האתר

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

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

שפה לדוגמא השייכת לצד שרת היא PHP, בה משתמשים כיום בלא מעט אתרים.

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

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

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

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

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

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

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

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

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

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

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

המשך גלישה נעימה ופיתוח פתוח.

יום שבת, 1 בנובמבר 2008

יומהולדת + פרוייקט נגישות לבעלי מוגבלויות

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

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

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

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

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

מה לנו משתלם מזה?
למרות שהיה קשה לי להאמין למספרים, שנשמעו לי מופרכים במיוחד, אבל התברר לי שנוכל לזכות ב-25% מהאוכלוסייה שלא מסוגל לגלוש, ועוד כ-37% אחוז שמתקשה להקל עליו זאת.
מלבד הנתון הזה שנשמע לי דיי גבוה ומופרך, נוספת טענה שאתר נגיש מגדיל את כמות הכניסות שלו ממנועי החיפוש ב-8 עד 14 אחוזים, מה שאמור כנראה לפנות ללב של מקדמי האתרים להשפיע על מפתחי האתרים ובעלי האתרים לתמוך בזה.

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

עדיפויות לנגישות
קיימות 3 עדיפויות לתאימות.

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

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

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

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

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

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

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

אז מזל טוב לי, והמשך גלישה מהנה.

יום שישי, 3 באוקטובר 2008

הילד שצעק "תקנים תקנים"

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

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

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

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

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

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

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

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

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


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

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

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

המשך גלישה לא אדישה לכולם.

יום רביעי, 3 בספטמבר 2008

אל תחסמו לי את האפשרויות

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

עם זאת, לדעתי הצעד הזה אינו נכון, כיווןש הוא פוגע לרוב במשתמשי האתר, ומבריח אותם, ומכאן שאם אין גולשים, אין מי שיעתיק מידע, ואין מי שיקח את האתר ברצינות.
ובכל זאת, נגרמות לא מעט תופעות בעקבות הניסיונות הנואשים:
  1. כמות הקוד מול התוכן עולה => פגיעה בקידום האתר.
  2. האתר מונע מגולשים תמימים לגלוש בו בנוחות.
  3. מי שבאמת ירצה את המידע מאלא יוכל להשיגו (לי למשל יש תוכנה שמשחררת לי את קוד המקור לאחר השינויים והרצת ה-JS ברגע שביקשתי ממנה, מה שהופך את הניסיון לממש לא יעיל וסתם מציק).
  4. הרבה פעמים ניתן לעקוף את זה כשרוצים בלי הרבה בעיה.

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

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

יום שישי, 29 באוגוסט 2008

מתחילים ללמוד קידוד

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

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

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

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

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

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

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

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

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

טיפ 1 - ולידטור כתיבה נכונה:
פה ראיתי פחות מודעות לכתיבת CSS נכונה מאשר למודעות של תקני ה-HTML וה-XHTML השונים, דבר שלצערי מצער מאוד.
כתיבה נכונה של CSS יכולה למנוע באגים או תופעות בלתי נעימות שקורות עקב התנגשות של פקודות שונות, דבר שיעזור לבטל את התסכול שנוצר וחוסר ההבנה למה אלמנט לא מגיב כמו שרציתם.
כשאתם מריצים בוליטור CSS את הקוד, רצוי לשנות את הערך ב-warnings לערך All, ובכך לקבל תמונה שלמה הכוללת המלצות שיכולות לעזור למנוע באגים בהמשך הפיתוח.

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

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

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

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

יום שישי, 8 באוגוסט 2008

הלקוח, מה הוא רוצה?

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

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

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

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

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

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

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

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

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

המשך גלישה מהנה.

יום שישי, 1 באוגוסט 2008

ביום בו המחשב יכיר אותכם

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

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

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

חושבים שזה מדהים? בואו נקפוץ ליום שאחרי.

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

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

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

המשך גלישה נעימה ואנונימית.

יום שישי, 25 ביולי 2008

עיצוב אתרים - באמת איך מתייחסים לדבר הזה?

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

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

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

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

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

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

במילים אחרות: אל תגרמו לגולש לאמץ עת העיניים בשום שלב!

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

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

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

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

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

המשך גלישה מהנה.. ועיצוב נעים!

יום שישי, 18 ביולי 2008

מה שחשוב- המשתמש

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

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

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

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

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

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

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

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

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

המשך גלישה מהנה.

יום שני, 14 ביולי 2008

קהילת הפיראטים- אשמתם של המוכרים

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

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

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

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

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

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

עד כאן להפעם, המשך גלישה מהנה.

יום שישי, 11 ביולי 2008

תקני הקידוד באינטרנט בעולם המודרני

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

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

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

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

[המאמר- פרק שני חלקים שהשמיטו (החלק שאני מציג בא אחרי החלק שמוצג במאמר)]
השאלה שעולה היא בעצם למה להשתמש בתקנים ש-W3C יצרו, התשובה לכך פשוטה:
  1. תאימות דפדפנים- כתיבה על פי התקנים נותנת אחידות ברמה גבוהה בתצוגת האתר בין הדפדפנים שונים, ובהרבה מקרים גם דפדפנים שלא תומכים בתקני W3C יציגו את האתר כראוי.
  2. מנועי חיפוש- כתיבה על פי התקנים גורמת לנגישות טובה יותר על ידי מנועי החיפוש, ולכן הדירוג אותו יתנו המנועים יהיה טוב יותר.
  3. בעלי מוגבלויות- הדפדפנים של בעלי המגבלויות מכירים רק את התקנים, וכאשר מעל 10% מכלל הגולשים בעולם משתמשים בדפדפנים לבעלי מוגבלויות, לא כדאי לפספס את האפשרות להתאים את עצמנו אליהם.
קיימות סטיגמות מסויימות בנוגע לאתרים הכתובים בתקנים.
סטיגמות ידועות הן: אתרים תקינים מוגבלים מבחינה גרפית, לבנות אתר על פי תקן עולה יותר והסטיגמה הידועה על כך שרוב המשתמשים בעולם גולשים ב- Internet Explorer ולכן אין צורך בתקנים.
סטיגמות אלו אינן נכונות, התקנים באים לתמוך ולשפר את היכולות הגרפיות של האתר ולא לגרוע מכן, לבנות אתר לפי תקנים הוא לא יקר יותר כיוון שלא צריך להתאימו לדפדפנים השונים לכוד, ובנוגע לכך שרוב המשתמשים באינטרנט גולשים ב- Internet Explorer זה נכון, אבל כמו שציינתי בדף הקודם הכמות של אלו שמשתמשים בדפדפנים אחרים היא לא קטנה כמו שנהוג לחשוב ואי אפשר יותר להתעלם מהם.



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

אני מקווה שתעיינו במאמר ותמצאו אותו ענייני.
המשך גלישה מהנה.

יום שני, 7 ביולי 2008

פיתוח אתר בעזרת CSS

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

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

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

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

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

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

לאחר שיש בידכם מבנה של עיצוב, ואת התמונות הדרושות (כאשר אם מדובר בתמונת רקע, היא תיהיה כמה שיורת קטנה, כאשר אתם לוקחים בחשבון שה-CSS יחזור עליה שוב ושוב בציר מסויים ובכך יחסוך לכם תמונה אחת גדולה שנטענת לאט), הגיע הזמן לשלב של התגיות, שלב ה-HTML.
למרות שאחד הדברים הנחמדים הוא לחתוך לטבלה בפוטו ולתת לו לעשות את העבודה, זו אחת הדרכים הלא יעילות שקיימות בפיתוח אתרים, עליכם ליצור הכל בעצמכם, כאשר אתם נותנים לכל אלמנט את התגית הדרושה לו:
תגיות ה-H (כגון: h1 עד h7) עבור כותרות, b עבור טקסט מודגש, יצירת רשימה עבור תפריט קישורים וכדומה.
אל תדאגו בשלב הזה בגלל מבנה או בגלל עיצוב מעצבן של אלמנט, מתקנים את זה בשניות, ומה שחשוב כרגע זה רק שיהיה מבנה נוח.

שיטה מוכרת לחלוקה של התוכן והתגיות היא כזאת:
תחת ה-body יש div גלובאלי, אליו נכנסות שאר התגיות, בתוך ה-div יש חלוקה של תגיות לפי מיקום, אם זה נניח אזור עליון שנפרש על כל ה-div הגלובאלי, מתחת חלוקה של 2 divs אחד לצד השני, ואז div תחתון שנפרש כמו העליון.
בעזרת החלוקה של תגיות לפי מיקום אנחנו מקבלים את מבנה האתר בעצם (המבנה שתיארתי במקרה הזה דומה למבנה של הבלוג שלי).
תחת התגיות על פי מיקום אנחנו ממקמים את התוכן בהתאם לתכונות שנתנו לו, נניח h1 אנחנו נכניס ל-DIV העליון שנמצא בגלובאל ונכתוב את שם האתר, ובעצם כעת אנו נחלק את התכנים לפי המיקום המתאים.

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

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

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

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

אני מאחל לכולם בהצלחה, והמלצה קטנה: כשאתם משתמשים ב-CSS, תנסו לחשוב מחוץ לקופסא.

יום שישי, 4 ביולי 2008

האח הגדול שומר עליכם

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

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

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

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

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

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

המשך גלישה חופשית... לפחות עד הוצאת החוק.

יום שישי, 20 ביוני 2008

בקרוב: מאמר על קידוד(?)

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

הפרקים הם:
  • פתיחה [מה שכתבתי בלילה].
  • W3C - מכון התקנים ולמה כדאי לשים עליו עין.
  • תקנים שונים:
    • HTML - התייחסות לתקנים 4.01 ו-5.
    • XHTML - התייחסות לתקנים 1.0 (שמתחלק ל-3: מסגרות, טבלאות ו-DIVs) ו-1.1.
  • גליונות עיצוב מדורגים (CSS).
  • שיטות קידוד נפוצות: 3 השיטות וההבט עליהן בקצרה מבחינת קידום אתרים.
  • פרק סיכום (מתחכם במיוחד).
אני חייב להגיד שדרך הניסוח שלי במאמר הייתה שונה, בעיקר בגלל התקווה שהוא יתפרסם באתר K קידום אתרים, ושמה יקבל התייחסות.

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

יום רביעי, 18 ביוני 2008

התחלת פיתוח אתר

לקוח מהבלוג הישן שלי

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

שלב א' - למידת השפות הרצויות
בשלב הראשון צריך קודם כל לדעת HTML, בסיסו של כל אתר ומה שיש ב-HTML זה בדר"כ מה שהמשתמש רואה.
הרבה פעמים אנשים אוהבים להתייחס לשלב הזה בזלזול או לדלג עליו, שלמעשה זה לדעתי הלב של האתר, כי פה מוגדר מה שהמשתמש רואה, מה שהרובוטים רואים ופה כתוב הטקסט שאליו האנשים נגשים.
קודם כל חשוב להכיר קצת את השפה, ולכתוב אותה נכון.
לאחר אימונים ויצירת אתר קטן ב-HTML אני מניח שיהיה אפשר לעבור לקטע היותר עיצובי.
בשלב הזה לומדים CSS, ומתאמנים הרבה מאוד, יותר ממה שמתאמנים על HTML, כיוון ש-CSS עלולה להיות לעיתים מכה..
CSS מאפשר לעצב את האתר בצורה קבועה וליצור תבנית חוזרת, בנוסף הפלט ל-HTML יהיה יותר קטן ולא יהיה צורך לחזור על תבניות שונות כי לעצב את הדף.
לאחר שלמדנו CSS אפשר (ומומלץ) ללמוד XHTML, למען תקינות הדף.
אם אתם כותבים נכון ב-HTML הקטע של ה-XHTML מיותר, אבל ללמוד את ה-XHTML זה בדיוק 10 דקות, אז אולי כדאי לשים עליו עין.
בהרבה אתרים יש שימוש ב-JS, (קיצור של JavaScript) ככה הדפים יותר דינאמים ומושכים את העין, למידה של JS יכולה לעזור למשוך את העין לצופים באתר.
לאחר שלמדתם את החלק הזה עוברים לצד שרת ולמסדי נתונים.
מי שרוצה אתר יותר מעמיק ויותר דינאמי יכול ללמוד PHP או ASP, שפות דיי פשוטות (ב-ASP אין יחס לתקינות הקוד, אז לא ממש ממליץ) שעוזרות לתוכן דינאמי ומתעדכן.
אני לא אכנס לפרטים אבל עבודה עם מסד לעיתים תכריח אותכם ללמוד SQL, שפה דיי קצרה ופשוטה^^

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

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

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

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

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

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

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

ערך התכנות- מי אמר שאתרים גדלים על עצים?

לקוח מהבלוג הישן שלי

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

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

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

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

*נקודת מחשבה: כמה לדעתכם האתר של נענע עלה?*

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

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

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