درباره پروژه تلاش برای ساخت تقویم تصویری دیجیتال


داستان آی زیج از یک علاقه شخصی شروع شد. ایده پرداز آی زیج به عکس بخصوص عکس‌های طبیعت بسیار علاقه‌مند بود. همیشه بر روی نمایشگر رایانه خود عکس‌هایی از این دست را انتخاب می‌کرد. با دیدن نمونه‌هایی که دارای تقویم بودند تصمیم به ایجاد این نوع تصاویر زمینه گرفت. تقویم ماه‌ها را با یک نرم‌افزار گرافیکی ایجاد می‌کرد. این تقویم‌ها را بر روی عکس مورد علاقه قرار داده و تصویر نهایی را به وجود می‌آورد. سپس این تصویر حاوی تقویم را بر روی نمایشگر رایانه خود مورد استفاده قرار می‌داد.

ایده پرداز آی زیج می‌گوید:

زیبایی و وجود تقویم بر روی عکس‌ها باعث شد در منزل و محل کار از آنان استفاده کنم. بر روی رایانه‌ها این عکس‌ها را به عنوان تصویر زمینه قرار داده بودم. به تدریج نه تنها زیبایی این تصاویر بلکه کارایی آن نیز ملموس شد. در زمان نیاز به تقویم کافی بود پنجره‌ها را کوچک کنم. یک تقویم زیبا با تمام جزییات آن مانند مناسبت‌ها در دسترس بود.

تصمیم گرفتم تا کار را تا حد امکان ساده کنم زیرا این کار بسیار وقتگیر بود. در حین کار به علت اینکه به برنامه‌نویسی علاقه زیادی داشتم، قسمت‌های مختلف آن را تحلیل می‌کردم. فکر می‌کردم اگر قرار بود این کار توسط رایانه انجام شود به چه روشی امکانپذیر است. یا در مورد رنگ‌ها، فونت‌ها و بسیاری از موارد دیگر فکر می‌کردم و ... . بدین ترتیب آی زیج شروع شد.

در ادامه ابتدا به مساله کلی پروژه یا معماری آن پرداخته می‌شود. سپس در مورد ابعاد مختلف این پروژه موارد جالب توجه بیان گردیده. در تهیه مطالب سعی بر حفظ اشتیاق خواننده و به کار نبردن مطالب فنی پیچیده بوده است. ذکر شرح پروژه به این خاطر است که آی زیج کاربران را همراه خود می‌بیند.

معماری

در ابتدای پروژه نیاز به تصمیم‌گیری در مورد کلیت پروژه بود. موضوعات مختلفی مانند مدل کسب و کار، نرم‌افزار، تخصص‌های لازم، نیازهای مالی و زمان از جمله موارد قابل ذکر هستند. چنین تصمیم‌گیری‌های کلانی با واژه معماری یا به طور ساده‌تر تعیین کلیت پروژه شناخته می‌شود. موارد یاد شده اجزایی هستند که تاثیرات متقابل بر روی یکدیگر دارند. برای مثال انتخاب چارچوب نرم‌افزاری بر روی تخصص‌های لازم و هزینه و زمان پیاده‌سازی تاثیر زیادی دارد . موفقیت پروژه در گرو انتخاب درست این موارد است.

شرح تمامی مواردی که تصمیم‌گیری شدند خارج از حوصله است. تنها مورد جالب، تعیین چگونگی تجاری سازی بود. یک انتخاب ممکن، تهیه نرم‌افزاری بود که قابلیت نصب داشته باشد. به این صورت که نرم‌افزار بارگیری شده و بر روی رایانه هدف نصب می‌شد. چنین انتخابی یک روش مرسوم برای تهیه نرم‌افزار است.

این روش مزایای زیادی داشت. از آن جمله می‌توان به ساده‌تر شدن تهیه و به تبع آن کاهش هزینه و زمان، نیروی کار متخصص، سازگاری با رایانه‌ها و ... اشاره کرد. اما این روش در مراحل اولیه کنار گذاشته شد. علت اصلی، عدم بازگشت سرمایه تعیین گردید. در شرایطی که قفل بزرگترین نرم‌افزارها شکسته می‌شود نباید انتظار کسب درآمد و سود را داشت. وجود بعضی از نرم‌افزارهای ایرانی که بعد از چند نسخه متوقف می‌شوند گواه این ماجرا است.

راهکار پیشنهادی استفاده از بستر وب برای نرم‌افزار بود. وب به سرعت در حال تغییر و البته پیشرفت است. این عدم ثبات نیاز به صرف وقت و هزینه دارد. برای مثال وجود مرورگرهای مختلف که هرکدام با شماره نسخه‌های مختلف بر روی رایانه‌ها با شکل‌های مختلف وجود دارند. با اینکه دست و پنجه نرم کردن با این مشکلات دشوار بود ولی تصمیم بر استفاده از وب گرفته شد. همچنین وب این قابلیت را داشت که کاربران تقویم‌های خود را به اشتراک بگذارند. امکانی که می‌تواند آی زیج را به یک شبکه تبلیغاتی تبدیل کند. با این تصمیم و سایر تصمیمات دیگر که در مورد آنان کار شده بود، پروژه آغاز گردید.

معماری نرم افزار آی زیج
معماری نرم افزار آی زیج

برنامه‌نویسی وب

برنامه‌نویسی این وبگاه به دوبخش سمت کارساز(server) و سمت کارخواه(client) قابل تقسیم است. کارساز جایی بر روی اینترنت است که نرم‌افزار بر روی آن قرار دارد. شما با رفتن به آدرس این وبگاه در واقع نرم‌افزار را بر روی کارساز اجرا می‌کنید. کارخواه نیز رایانه شماست اعم از رومیزی یا همراه. کارساز حاصل اجرای نرم‌افزار را به کارخواه فرستاده و شما در مرورگر خود آن را می‌بینید.

در بخش کارساز تمامی مواردی که به ایجاد تقویم برمی‌گردد به صورت پویا می‌باشند. هیچ کار دستی برای ایجاد تقویم‌ها صورت نمی‌گیرد. در واقع نرم‌افزار با عواملی که شما تعیین می‌کنید، تقویم را روی عکس ترسیم می‌کند. عواملی چون طرح(شامل چیدمان، تقویم‌ها و...)، رنگ، سال و ماه و غیره. در نظر گرفتن تمامی این موارد به هنگام ایجاد یک تقویم به صورت دستی بسیار وقتگیر است. تنها با دقت در جزییات است که پیچیدگی کار درک می‌شود. برای مثال طرح تقویم‌ها قابل عنوان است. تمامی تقویم‌ها اعم از هجری شمسی، هجری قمری و میلادی از یک الگوریتم برای چیدمان استفاده می‌کنند. با این حال وضعیت‌های مختلف چینش قسمت‌ها و اعداد ، قلم‌ها و سایر جزییات دیگر قابل تامل می‌باشد.

در بخش کارخواه نیز سعی در استفاده از امکانات پیشرفته برای سهولت کار بوده است. امکان تغییر موقعیت و اندازه تقویم بر روی عکس یکی از بارزترین این موارد می‌باشد. این کار به صورت تعاملی کاربر را در جایابی تقویم یاری می‌کند. از امکانات مشهود دیگر می‌توان تغییر رنگ و ضخامت کادرها و خطوط راهنما را نام برد. تمام این موارد حکایت از برنامه‌نویسی سمت کارخواه به صورت اثربخش بوده است.

نرم‌افزارها به صورت طبیعی به دلیل اینکه مفهومی و غیرملموس هستند، محصولاتی پیچیده به حساب می‌آیند. یکی از مباحثی که در تهیه نرم‌افزارها مطرح است، قابلیت توسعه آتی آنان است. ممکن است یک نرم‌افزار دارای امکانات زیادی باشد ولی به گونه‌ای نوشته شده باشد که توسعه آتی آن را دشوار سازد. در این نرم‌افزار سعی بر این بوده است که زیرساخت‌ها به صورت درست ایجاد شوند. این خصوصیت امکان توسعه را به آسانی مقدور می‌سازد که یکی از نقاط قوت این نرم‌افزار است.

طراحی وب

دنیای وب و استانداردهای آن با دنیای برنامه‌نویسی تا حدود زیادی مجزا است. در وب با HTML، CSS و سایر موارد مشابه سروکار داریم که به عبارتی زبان وب به عنوان یک رسانه هستند. استفاده کارا و موثر از این زبان در عین حال داشتن جذابیت و زیبایی یکی از چالش‌های وب می‌باشد.

معمولا در اینترنت دیده می‌شود که وبگاهی در برنامه‌نویسی قوی ولی در طراحی ضعیف است و یا بالعکس. در آی زیج سعی شده است طراحی وبگاه به شیوه‌ای مناسب و زیبا باشد. در واقع تلاش شده طراحی نسبت به جنبه نرم‌افزاری آن عقب نمانده و دوشادوش آن حرکت کند. این مدعا با دقت در وبگاه کاملاً مشهود است.

یکی دیگر از موارد مهم، ظهور شکل‌های مختلف دستگاه‌هایی است که می‌توان با آن در وب پیمایش نمود. وب تا همین چند سال پیش تنها با رایانه‌های شخصی مورد استفاده قرار می‌گرفت. شاید دیده بودید که در وبگاه‌ها نوشته می‌شد:بهترین حالت نمایش در 768×1024 پیکسل. اکنون وب زیر سیطره تلفن‌های همراه و تبلت در اندازه‌ها و ویژگی‌های مختلف قرار گرفته است. یک وبگاه باید خود را با صفحه نمایش منطبق کند. نوعی از طراحی که این امر را محقق می‌کند، طراحی واکنش‌گرا(responsive) نام دارد. آی زیج با نظر داشتن طراحی واکنش‌گرا ایجاد شده است و در این زمینه بهبود مستمر خواهد داشت.

مفهوم طراحی واکنش‌گرا
مفهوم طراحی واکنش‌گرا

در طراحی حتی به نوع قلم مورد استفاده برای متن صفحات نیز توجه شده است. یکی از مشکلات اکثر وبگاه‌ها استفاده از قلم‌های ناخوانا می‌باشد. دلیل این امر موجود بودن آن قلم‌ها بر روی اکثر رایانه‌ها است. آی زیج برای خوانایی و زیبایی بیشتر از وب فونت استفاده می‌کند. این فن‌آوری تضمین می‌کند که فونت مورد استفاده همان فونتی است که طراح در نظر گرفته است.

گاه‌شماری

یکی از مشکلات تهیه آی زیج، در زمینه گاه‌شماری و تقویم‌های مختلف بود. ساده‌ترین تقویم قابل استفاده، تقویم میلادی می‌باشد زیرا سامانه رایانه‌ها از آن استفاده می‌کند. تقویم‌های هجری شمسی و هجری قمری دو معضل این پروژه به حساب می‌آمدند.

تقویم هجری شمسی(PersainCalendar) در کلاس فرهنگ ایرانی ویندوز وجود ندارد. حتی اگر این تقویم در یک فرهنگ سفارشی گنجانده شود ایجاد خطا می‌کند. به نظر می‌رسد این کار از طرف مایکروسافت عمدی باشد. چنین شرایطی کار را تا حدی دشوار و توسل به راه‌های غیر را اجباری کرد.

مشکل تقویم هجری قمری نیز تقریبا برای همه ملموس است. در ایران تقویم هجری قمری هلالی مبنا قرار می‌گیرد. در این تقویم مشاهده هلال ماه بعد از ماه تاریک مبنای به شمار آوردن اول ماه است. در این مورد حتی دانشمندان این علم نیز از خطا مصون نیستند. تقویم هجری قمری ویندوز یک تقویم قمری قراردادی است. این تقویم در 80 درصد مواقع با تقویم‌های چاپی ایران(هلالی) اختلاف یک یا دو روز دارد. چنین مقدار خطایی باعث بلااستفاده شدن این تقویم است. بنابر این لازم بود برای تقویم هجری قمری از روش محاسباتی دیگری استفاده شود.

مبنای تقویم‌های آی زیج، تقویم‌های منتشر شده از وبگاه مرکز تقویم موسسه ژئوفیزیک دانشگاه تهران می‌باشد. این موسسه مرجع گاه‌شماری ملی ایران است و در نیمه دوم هر سال، تقویم سال بعد را منتشر می‌کند. مناسبت‌ها و رویدادها نیز مطابق تقویم‌های این موسسه در نظر گرفته شده است. مورد جالب در این زمینه، تدوین مناسبت‌ها به صورت پویا می‌باشد. برای مثال اگر در یک ماه مناسبت‌ها خیلی زیاد باشند، به علت محدودیت فضا مهمترین آنان انتخاب و درج خواهند شد. اگر در ماه دیگری مناسبت‌ها کم باشند، مناسبت‌های با اهمیت کم نیز نمایش داده می‌شوند. لازمه چنین کاری طبقه‌بندی و اولویت بندی مناسبت‌ها از لحاظ نوع، اهمیت و سایر موارد است.

یکی دیگر از مواردی که ممکن است جالب باشد نسبی بودن برخی از مناسبت‌ها می‌باشد. برای مثال شهادت امام رضا(ع) که مناسبت مهم و تعطیل نیز هست روز آخر ماه صفر است. اگر ماه صفر 29 روز باشد در روز بیست و نهم و اگر 30 روز باشد روز سی‌ام قرار می‌گیرد. این مورد و سایر موارد مشابه دیگر مانند روز قدس و غیره کار را دشوار و سازوکار جدیدی را می‌طلبیدند.

طراحی تقویم

طراحی تقویم یکی از اجزا اصلی این پروژه است. این جزء در واقع به زیبایی و کارایی تقویم می‌پردازد. اینکه چیدمان قسمت‌های مختلف یک تقویم چگونه باشد؟ از چه فونتی برای هر قسمت استفاده شود؟ چه رنگی برای قسمت‌ها، متن و ماه‌های مختلف مورد استفاده قرار گیرد؟

اهمیت طراحی تقویم بسیار زیاد بود. اگر طراحی تقویم‌ها جذابیت و گیرایی لازم را نداشت، پروژه با شکست روبرو می‌شد. در واقع وقتی تقویم‌ها کاربران را جذب خود نکند، تمام هزینه‌های پروژه به هدر رفته است. علاوه بر زیبایی و کارایی که ذکر شد، تنوع نیز به همان اندازه اهمیت داشت. وجود نداشتن تنوع، باعث خسته‌کننده بودن یک کار در بلند مدت است. از طرفی لازمه وجود تنوع تسلط بر گوناگونی‌ها و ناسازگاری‌های مختلف می‌باشد.

نمونه‌ای از طراحی تقویم
نمونه‌ای از طراحی تقویم

چیدمان یکی از مشکلات پیش رو بود. هدف تنها تنوع نبود بلکه باید کارایی و قابلیت استفاده و همچنین خوانایی و زیبایی نیز حفظ می‌شد. کارایی باعث می‌شود استفاده کننده با تقویم غریبه نباشد. قرار دادن برخی از قسمت‌ها در مکان‌های غیر معمول باعث سردرگمی و کاهش کارایی است. اندازه قسمت‌ها رابطه تنگاتنگی با خوانایی دارد. اگر یک قسمت بزرگ باشد و قسمت دیگر کوچک، خوانایی قسمت کوچک‌تر کاهش می‌یابد. ممکن است کاربر برای خوانا شدن قسمت کوچک‌تر، کل تقویم را بزرگتر کند. در این صورت با تقویمی با اندازه غیرطبیعی روبرو می‌شود.

یکی دیگر از مشکلات، فونت‌های مورد استفاده بود. فونت‌ها توسط شرکت‌ها و یا اشخاص مختلف ساخته می‌شوند. اگر یک فونت با اندازه 16 در یک کادر جا شود هیچ دلیلی بر جا شدن فونت دیگر با همان اندازه نیست. این موارد گاه به طبیعت فونت و گاه به استاندارد نبودن آنان بازمی‌گردد. چنین امری کار را بسیار سخت می‌کند. ایجاد سازوکارهای لازم در نرم‌افزار برای مقابله با تمام این ناسازگاری‌ها وقتگیر و مشکل بود.

رنگ‌ها نیز یکی دیگر از مسایل بغرنج پروژه بودند. کسانی که در انتخاب رنگ در کارهای مشابه درگیر بوده‌اند، سختی کار را درک می‌کنند. البته باید توجه داشت که در این پروژه تنها انتخاب رنگ مشکل اصلی نبود. بیشتر قسمت‌های تقویم نیمه شفاف بودند. در واقع تقویم با عکس زیرین آن در می‌آمیخت. جداکردن رنگ از طرح تقویم در واقع برای غلبه بر همین شفافیت بود. همرنگی عکس زیرین با تقویم، خوانایی آن را مشکل و یا غیرممکن می‌کرد.

مواری که عنوان شده تنها مشکلات اصلی قابل ذکر بودند. بسیاری از مشکلات جزیی نیز وجود داشتند که قابل عنوان نبوده و بحث را به درازا می‌کشند. در گام اول هدف تهیه چارچوب اولیه بود تا پروژه راه‌اندازی و عملیاتی شود. دقت به برخی از جزییات به این علت بود که می‌بایست کاری قابل استفاده و مفید عرضه می‌شد. البته نه فقط به خاطر مشتری مداری بلکه برای استفاده توسط گردانندگان آی زیج. در گام‌های بعد افزایش طرح‌ها، رنگ‌ها و بسیاری از امکانات دیگر پیاده‌سازی خواهد شد.

واژه یابی

در این پروژه سعی بر این بوده است تا محتوا به صورت شفاف و رسا باشد. استفاده از واژه‌ها نیز با همین رویکرد صورت پذیرفته است. ملاحظاتی مانند قدیمی، عربی یا لاتین بودن کنار گذاشته شده‌اند. گرچه سعی بر استفاده از واژه‌های مناسب بوده است. متاسفانه برخی از لغات جاافتاده عربی و یا لاتین در حال جایگزینی با معادل فارسی به صورت غیرکارشناسانه می‌باشند. منشا این تغییرات ریشه در ناآگاهی و حتی رفتار نژادپرستانه دارد. در مورد آخر، نقل گفتار نویسنده متن آی زیج جالب است. وی می‌گوید:

به خاطر دارم برای رفتن به جایی در مترو بودم. مردی وارد شد و در گوشه‌ای ایستاد. ناگهان تلفن همراه مرد شروع به زنگ خوردن کرد و وی جواب داد. آن مرد به زبان عربی صحبت می‌کرد. بعد از پیاده شدن مرد عرب زبان، یکی از حضار چندین فحش رکیک به وی داد. دلیلی نیافتم جز اینکه او به زبان عربی صحبت می‌کرد.

متاسفانه این رفتار نژادپرستانه گاهی در مورد واژه‌ها نیز اعمال می‌شود. البته قصد تعمیم به همه را ندارم. دیده‌ام که در برخی موارد یک کلمه جاافتاده عربی با یک کلمه نه چندان معمول فارسی جابجا شده است. یک نمونه بازر بکار بردن "شاد باش" بجای "مبارک باد" می‌باشد. در صورتی که این دو کلمه مفاهیمی متفاوت دارند. شاد باش به معنی خوشحال بودن است ولی مبارک بودن از برکت می‌آید. مبارک بودن مفهومی گسترده‌تر و شامل شاد بودن نیز می‌باشد.

از دست دادن برخی واژگان عربی که قرن‌ها در فارسی بوده‌اند یک فاجعه است. غنی بودن یک زبان دقیقاً به تعداد گزینه‌های انتخاب واژه‌ها ارتباط دارد. زبان انگلیسی در چند قرن پیش یک زبان محلی بود. مراودات اداری و حکومتی انگلستان به زبان فرانسوی انجام می‌شده است. زبان انگلیسی پر از لغات فرانسوی و لاتین می‌باشد. یکی از عواملی که این زبان را زبان بین‌المللی کرده است، تعدد واژگان آن است.

تغییر لغات تنها به واژه‌های زبان‌های دیگر محدود نمی‌شود. دیده‌ام که در برخی کتاب‌ها به جای نویسنده، کلمه نگارنده استفاده شده است. نگارنده انسان را به یاد نگارگری و کارهای هنری می‌اندازد و نه نوشتن و کارهای ادبی. این در صورتی است که کلمه نویسنده کاملاً فارسی است. این تغییرات یک جنبه مثبت و یک جنبه منفی دارد. جنبه مثبت اینکه زبان فارسی در حال تکامل بیشتر بوده و تمایل به افزایش و زایش واژه‌ها دارد. جنبه منفی این است که این تغییرات مدیریت شده نیست.

در پروژه آی زیج هدف این بوده است که خواننده وقتی به کلمه‌ای برخود، برای درک معنی آن مکث نکند. برای مثال فونت با همان واژه فونت استفاده شده و نه قلم. علت این امر این است که از لحاظ مفهمومی قلم با فونت تطابق ضعیفی دارد. قلم یک ابزار برای نوشتن است چه فیزیکی یا چه دیجیتالی. فونت بیشتر به مفهوم سبک نوشتن می‌باشد. در دنیای واقعی نیز یک قلم در درون خود سبک ندارد. نویسنده است که به آن سبک می‌دهد

البته این مورد به معنی به کار بردن لغات لاتین نیست. برای مثال برای دانلود و آپلود به ترتیب بارگیری و بارگذاری استفاده گردیده است. این موارد از لحاظ مفهومی کاملا صحیح هستند. متاسفانه در برخی وبگاه‌های فارسی این واژه‌ها اشتباه به جای هم استفاده شده‌اند.

به همین ترتیب شمسی به معنای solar (بر اساس خورشید) و خورشید معادل sun در نظر گرفته شده است. همچنین قمر به معنی یک کره که به دور سیاره‌ای دیگر می‌چرخد و ماه به معنای قمر زمین می‌باشد. در برخی از موارد نیز نوآوری شده است. برای مثال لغت lunisolar به معنی ترکیبی از شمسی و قمری می‌باشد. به عبارت دیگر ادغام شده lunar و solar است. این لغت به قمرشمسی ترجمه شده است. در مراجع دیگر قمری-شمسی یا شمسی-قمری عنوان و ایراد بهره نگرفتن از کوتاهی و همچنین دو شکل بودن را دارد.

موارد یاد شده تنها چند نمونه برای درک بیشتر خواننده می‌باشند. در واقع تاکید بر روی انتقال مفاهیم بوده است. واژه‌ها در هر زبانی به مثابه ظروف مفاهیم هستند. شاید ماه و قمر به یک معنی باشند ولی در زبان فارسی دو مفهوم کاملا متفاوت را دارند. اگر قمر به جرم عربی بودن آن حذف شود، یک نقص به وجود می‌آید. این موضوع در تهیه مطالب این پروژه کاملا محسوس بود. کلیه مطالب این وبگاه با در نظر داشتن مواردی از این دست تهیه شده‌اند.

تبلیغ:
  • نمونه تقویم هجری شمسی
  • نمونه تقویم هجری شمسی
  • نمونه تقویم هجری قمری
  • نمونه تقویم میلادی فارسی
انواع تقویم‌های تصویری رایگان
دانلود تقویم

ارایه دیدگاه عمومی با امکان دادن پاسخ و رای برای کلیه کاربران