رابط واکنشگرا، روی خود صفحات
موبایل، تبلت و دسکتاپ را روی همان صفحاتی که قرار است منتشر شوند میچینم. فایل گرافیکی جدا که بعداً «یکی پیاده کند» تحویل من نیست. تایپ، فاصله و حالت دکمهها را در خود Next.js میبینی، نه در یک تصویر.
طراحی سایت برای من یعنی محصولی که با کد نوشته شود، روی موبایل درست دیده شود، و سال بعد هم بشود به آن دست زد. اگر یک پوستهٔ وردپرس میخواهی که امشب بالا بیاید و فردا کسی جرئت نکند بهروزرسانیش کند، من آدم آن کار نیستم.
استک همین کار: React، Next.js و Node.js. اگر پنل لازم شود، همان جا و با همان زبان ساخته میشود، نه یک سیستم جدا که بعداً کسی نتواند نگهش دارد.
مهدی رضاییام. فولاستک، دوازده سال. از ایروان کار میکنم، نه از یک دفتر در تهران با چند نفر پشت یک میز. فارسی و انگلیسی هر دو را برای خود محصول مینویسم، نه بهصورت ترجمهٔ روبهروی یک صفحه.
این صفحه برای کسی است که سایت شرکت، محصول یا خدمتش باید نمایندهٔ واقعی کار باشد: معرفی، چند صفحهٔ مشخص، فرم تماس، و اگر لازم شد دو زبان. فروشگاه بزرگ و نرمافزاری که کارمند هر روز داخل آن زندگی میکند، بحث دیگری است و در ساخت اپ میآید.
محدوده را کتبی مینویسیم، بعد عدد.
تمام شدن سایت یعنی اینها را بتوانی باز کنی، بشکنی و دست بزنی. چیزی که در محدودهٔ کتبی نیامده، تمامشده حساب نمیشود و وسط کار هم بهعنوان هدیه قاطی نمیشود.
موبایل، تبلت و دسکتاپ را روی همان صفحاتی که قرار است منتشر شوند میچینم. فایل گرافیکی جدا که بعداً «یکی پیاده کند» تحویل من نیست. تایپ، فاصله و حالت دکمهها را در خود Next.js میبینی، نه در یک تصویر.
عنوان و توضیح هر صفحه، ترتیب درست تیترها، نشانی canonical، نقشهٔ سایت، متن جایگزین تصویر، و یک دور سرعت معقول. اینها را همراه سایت میآورم تا از روز اول لنگ نماند. جایگاه در گوگل را تضمین نمیکنم و در این صفحه هم نمیفروشم.
فرم تماس، ایمیل یا تلگرام، هر کدام را که در محدوده باشد وصل میکنم و خودم یک بار از بیرون تست میکنم. فرم تزئینی که پیامش هیچجا نرود، سایت نیست.
دو زبان یعنی دو ساختار: مسیر جدا، عنوان جدا، و متنی که برای همان خواننده نوشته شده. همین سایت mehd.ir همینطور است. ترجمهٔ ماشینی روی یک صفحه را دوزبانه حساب نمیکنم و اگر محتوایت آماده نباشد، تولید انبوه متن را داخل طراحی سایت قاطی نمیکنم.
برای هر سایت یک سیستم مدیریت سنگین نمیسازم. اگر خودت باید متن را عوض کنی، پنل کوچک را همان اول مینویسیم. اگر سالی دو بار متن عوض میشود، شاید ریپو کافی باشد.
کد یا در گیتهاب من میماند با دسترسی تو، یا از اول داخل سازمان خودت ساخته میشود. دامنه، هاست و ابزار آمار به نام تو است. من همکار ریپو میمانم تا وقتی کار تمام شود، نه مالک حسابها.
بازه را از کارهایی میگویم که خودم تنها بردهام جلو. اگر تعداد صفحه، زبان دوم یا پنل بزرگ شود، همان اول میگویم کجا کش میآید. عدد روز را الکی ریز نمیکنم.
چند روز
چند خط از تو میگیرم: سایت برای کیست، چه صفحههایی واقعاً لازم است، زبان، و اینکه محتوا دست کیست. اگر از همینجا معلوم شود قالب آماده کافی است، همان را میگویم و پروژه را باز نمیکنم.
چند روز تا حدود یک هفته
صفحات، زبانها، فرم، پنل اگر باشد، و چیزهایی که عمداً بیرون میمانند را مینویسم. تا این متن را هر دو قبول نکرده باشیم، عددی در کار نیست. تغییر بعد از این متن، تغییر محدوده است نه «یک چیز کوچک».
حدود یک تا دو هفته
بهجای آلبوم موکاپ، چند صفحهٔ اصلی را در خود سایت میچینم تا ببینی متن فارسی چطور مینشیند و موبایل چه بلایی سر طرح میآورد. این مرحله جای سلیقه است، نه جای اضافه کردن ده صفحهٔ تازه.
معمولاً سه تا هشت هفته
بقیهٔ صفحات، و اگر در محدوده باشد پنل و زبان دوم، اینجا ساخته میشود. معرفی کوتاه به سه هفته نزدیکتر است و دو زبان با پنل به هشت هفته یا بیشتر. وسط کار نسخهٔ قابل دیدن داری.
حدود یک هفته
عنوانها، نقشهٔ سایت، فرم، و اتصال دامنهای که به نام خودت است. اگر دامنه یا هاست هنوز مال تو نیست، اول آن را به نامت درمیآوریم و بعد سایت را آنجا مینشانم.
چند روز تا حدود دو هفته
دسترسی ریپو، نحوهٔ استقرار، و یک فهرست از اشکالهای همان محدوده. این بازه برای باگ است، نه برای صفحهٔ تازه و نه برای کمپین. بعدش یا تمام است، یا پشتیبانی را جدا شروع میکنیم.
نمونهٔ مشتری جعلی و عدد «بهعلاوهٔ صد پروژه» اینجا نمیآورم. همین سایت mehd.ir را با Next.js، فارسی و انگلیسی جدا، خودم ساختهام و خودم نگه میدارم. FreezeRadar هم محصول خودم است و با Next.js بالاست. نقش من در هر دو سازنده است، نه عضو یک تیم تحویل.
سایت معرفی جمعوجور معمولاً یک تا دو ماه بعد از قبول محدوده طول میکشد. دو زبان یا پنل کار را بلندتر میکند. قبل از متن کتبی تاریخ قطعی نمیدهم.
مال تو. دامنه، میزبانی و ابزار آمار به نام خودت است. ریپو در سازمان تو یا در گیتهاب من با دسترسی تو میماند. کد گروگان جدایی نیست.
متن محدوده را کتبی میفرستم و نسخه را روی یک نشانی میبینی. فارسی حرف میزنیم. دفتر تهران و جلسهٔ هر روز بخشی از کار نیست.
یک بازهٔ کوتاه برای اشکالهای همان محدوده داخل کار است و در متن نوشته میشود. ایدهٔ تازه، صفحهٔ تازه و نگهداری ماهها بعد، کار جدید است. اگر بخواهی خودم حواسم به دیپلوی و بکاپ باشد، آن را پشتیبانی جدا میکنیم، نه بهصورت نامحدود داخل طراحی سایت.
نه. سئوی فنی پایه را میآورم تا سایت از نظر ساختار لنگ نباشد. رتبه، ترافیک و «صفحهٔ اول» را تضمین نمیکنم. گوگل قول من را امضا نمیکند و من هم قول گوگل را نمیفروشم.
چون صفحهٔ معرفی با دو زبان و پنل یکی نیست. محدوده را کتبی مینویسیم، بعد عدد. تعرفهٔ صنفی اینجا نمیگذارم.
چند خط کافی است: کار چیست، تقریباً چند صفحه، فارسی تنها یا انگلیسی هم، و اینکه متن دست خودت است یا نه. فرم پایین صفحهٔ اصلی برای همین است. من خودم میخوانم. کسی از طرف من تماس تبلیغاتی نمیگیرد.
محدوده را کتبی مینویسیم، بعد عدد.
نوشتن بریف کوتاهطراحی سایت با سه کار دیگر قاطی نمیشود، ولی خیلیها بعد از سایت به یکی از اینها میرسند. هر کدام صفحه و محدودهٔ خودش را دارد.