متنهایی که هر روز با نرمافزارهای ویرایشگر مینویسیم، ساده هستند و کوتاه. حتی وقتی چندین تیتر و پاراگراف هم نوشتهایم، همه یکجور هستند. نرمافزارهای ویرایشگر اما، پیچیدهاند و پر از دکمههای جورواجور در حدی که چند وقت یکبار آشنایی برای پرسیدن اینکه «چطور میتواند سندش را فلانجور کند؟» تماس میگیرد و ما متخصصهای کامپیوتر هم بهشان پاسخ میدهیم.
به ویرایشگر سادهای فکر میکنیم که نوشتههای بیآلایش را با زحمت کم درست میکند و دکمهای هم ندارد که برای فهمیدن کارش مجبور به آزمون و خطا باشیم. خوشبختانه این ایده بارها اجرا شده و زبان توصیف Markdown برای چنین منظوری طراحی شده است.
خروجی نرمافزارهای ویرایشگر متن به صورت نوشته خام نیست و فقط خود نرمافزار میتواند آن را نمایش دهد. مثلا نرمافزار Word
تنها در ویندوز آن طوری است که ما انتظار داریم. یعنی سند حاصل از این برنامه در هر پلتفرمی با کدی متفاوت نمایش داده میشود که برای همان پلتفرم نوشته شده و طبیعتا کمی با نمایش اصلی متفاوت است.
- ویرایشگر متن به صورت یک سایت عرضه خواهد شد که تمامی منطق آن در مرورگر کاربر پیادهسازی شده و تنها وظیفه سرور، هاست کردن فایلهای برنامه است.
- کاربر با این محصول سند آماده چاپ را صفحهبندی
A4
تهیه میکند. هیچکدام از نمونههای مشابه این محصول برای این کار مناسب نیستند. - نوشتار در ویرایشگر ما به صورت
راست به چپ
است، این نکته نیز در نمونههای مشابه رعایت نشده است. - فایل متن به صورت نوشته خام ذخیره میشود و اصلیترین خروجی محصول، فایل
PDF
خواهد بود. - در نمونههای مشابه کاربر معمولا متن خام را ویرایش میکند و در بخش پیشنمایش، خروجی را میبیند. ما امکان ویرایش نسخه نهایی را هم فراهم میکنیم.
- استفاده از استایلهای آماده، به کاربر امکان میدهد که نوشتهای مناسب چاپ سیاه و سفید و یا برای انتشار در وب آماده کند.
- امکان قرار دادن پاورقی یا فرمولهای ریاضی در متن وجود خواهد داشت که برای نوشتن سندهای دانشگاهی بسیار لازم هستند.
- متن حاصل برای نمایش به قالب
HTML
تبدیل میشود که موتورهای نمایش آن به تمامی پلتفرمها انتقال داده شدهاند.
ما با روش Agile
پروژه را پیش میبریم و از نرمافزار Pivotal Tracker
برای مدیریت پروژه استفاده میکنیم. توسعه پروژه در دو بخش اصلی، انجام میشود:
-
واسط گرافیک ویرایش متن
- کنترلهای ویرایشگر
- مدیریت فایلهای تصویر درون متن
- واسط تغییرات جزئی تصویر مثل تغییر اندازه و برش
-
پشتوانه ذخیره و همگامسازی
- ذخیره در مرورگر
- همگامسازی با سرویسهای ذخیرهسازی مثل
Dropbox
- تولید خروجی
PDF
نهایی
-
کدهای جاوا اسکریپت میتوانند بسیار بینظم و در هم تنیده باشند، استفاده از این چارچوب به ما کمک میکند که کدی ساختیافته بنویسیم و در واقع گونهای از معماری
MVC
را به ما تحمیل میکند. -
این ویژگی که جزئی از استاندارد
HTML5
محسوب میشود، امکان ذخیره داده در مرورگر را برای ما فراهم میکند؛ شبیه به یک دیتابیس با قابلیتهای بسیار محدود. -
نمایش فرمولهای ریاضی در متن توسط این کتابخانه انجام میشود که سازگاری بسیار بالایی با مرورگرهای مختلف دارد.
با توجه به امکان استفاده از این محصول در مرورگرهای مختلف، ما علاوه بر تست واحدها، تستهایی را برای ویژگیهای مرورگر تهیه خواهیم کرد و در صورت ناسازگاری محصول با مرورگر، کاربر را از این موضوع مطلع میکنیم.
فعلا برنامهای برای معرفی محصول نداریم. اگرچه با توجه به امکان استفاده آفلاین، به نصب شدن از طریق Chrome Web Store
امیدوار هستیم.