همه پست های

علی نادعلیزاده

تیم بازی Stock Stalker در گیم جم

تجربه ساخت سه بازی در گیم جم – بخش اول – بازی Stock Stalker

توسط | مقالات فنی

گیم جم یک رویداد ۴۸ ساعته‌ست که کسانی که به ساخت بازی علاقه دارند در اون شرکت میکنند و در این مدت کوتاه به صورت پیوسته روی ایده، طراحی و ساخت یک بازی کار میکنند تا به یک محصول برسه! ما در رویداد Global Gamejam 2017 شرکت کردیم و روی یک بازی به اسم Stock Stalker کار میکردیم که تیممون از سه نفر، من (علی)، رامین و فهیمه تشکیل میشد. تصمیم گرفتیم که تجربه و حس‌مون از شرکت در این رویداد رو با این نوشته به اشتراک بگذاریم.

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

چه طور ایده رو انتخاب کردین؟

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

تصویر بازی Stock Stalker در گیم جم ۲۰۱۷

از چه ابزاری استفاده کردین؟

تصمیم گرفتیم که از تکنولوژی کرونا استفاده کنیم، که یه آشنایی اولیه داشتیم، رشد یادگیریش سریع بود و به نظر ابزار مناسبی برای پروتوتایپ سریع (Fast Prototyping) بود و علاوه بر اینها یه نفر (علیرضا) توی مجموعه بود که سوال هامون رو ازش بپرسیم. من که اولین تجربه کار جدیم با یک موتور بازی بود، فهیمه (و البته من) خیلی ازش راضی بودیم. رامین ولی معتقد بود که یونیتی که خودش باهاش اشنا بود کار رو میتونست سریع تر از این هم بکنه.

چه کاری خیلی خوب پیش رفت؟

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

چه کاری خوب پیش نرفت؟

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

حلقه‌ی بازیکنان گیم جم بازی Stock Stalker

تجربه و حستون از گیم جم چی بود؟

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

تیم بازی Stock Stalker گیم جم - شرکت تاد تیم بازی Stock Stalker گیم جم تیم بازی Stock Stalker گیم جم

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

دو تیم دیگه هم به زودی تجربیاتشون رو از همین طریق به اشتراک خواهند گذاشت و میتونید دنبال کنید. اطلاعات این پروژه در سایت رسمی گیم جم ۲۰۱۷ در این لینک قابل دسترسی و دانلود هست.

پیوندهای مرتبط

Adche group vision

شش درس در کالبد شکافی شکست یک پروژه

توسط | مقالات فنی

مشغول دویدن معمول روی تردمیل بودم که به فکر فرو رفتم. خاطرات پروژه‌ی «ادچه» در خاطرم زنده شد که این روزها اثری از آن باقی نمانده است. دیدم که این روزها بسیاری از آنچه در رویدادها میشنویم، داستان های موفقیت است و داستان‌های شکست کمتر گفته و شنیده میشود. در داستان‌های گذشته، اهمیت نوشتن این مقاله و چگونگی آن غرق شدم به طوری که رکورد دویدنم را زدم و وقتی به خودم آمدم ۲۰ دقیقه دویده بودم.

سابقه

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

Adche postmortem ادچه

ماجرای ادچه چه بود؟

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

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

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

درس ۱- درس های قبلیتان را دوره کنید!

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

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

درس ۲ – اعتماد به نفس یک موفقیت، به جای خوش‌بینی باید دقت به ارمغان بیاورد.

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

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

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

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

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

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

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

درس ۳ – یک هدف و آینده‌ی مشترک و کوچک، بهتر از صدها هدف بزرگ غیر مشترک در ذهن افراد است.

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

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

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

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

درس ۴ – انتخاب شریک، اگر سخت تر از انتخاب همسر نباشد، آسان تر نیست

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

درس ۵ – تصمیمات جدی و قراردادهای کاری‌تان را مستند کنید.

Adche Cofounder ادچه

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

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

درس ۶ – نشانه‌های مشکل ارتباطی در تیم را خوش بینانه تفسیر نکنید.

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

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

فصل

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

لوگوی مور - سامانه رتبه‌بندی لینکدین

معرفی سامانه‌ی مور – رتبه‌بندی متخصصان ایرانی در لینکدین

توسط | خبرها

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

سینا بهارلویی، یکی از اعضای چابک تاد اقدام به راه اندازی سیستمی نموده است که اطلاعات حساب‌های لیندکین را در یک مکان جمع آوری می‌کند و میتوانید متخصصان یک حوزه را بر اساس میزان تخصصشان، بیابید. با استفاده از «مور» متخصصان میتوانند با همکاران جدید و کارفرمایان میتوانند با افراد جدیدی که با مجموعه شان همخوانی دارند آشنا شده و تماس بگیرند. مور اطلاعات خود را از صفحه‌ی عمومی پروفایل کاربران در لینکدین جمع آوری می‌کند و بر روی تخصص‌های Endorse شده تمرکز می‌کند. این سامانه در حال حاضر به صورت آزمایشی راه اندازی شده است و نیازمند نظرات شما برای ارتقا می‌باشد. در صورت نیاز با ایمیل moor@todco.ir در ارتباط باشید.

http://moor.todco.ir

از چه ابزاری برای تولید برنامه موبایل استفاده کنیم؟

توسط | مقالات فنی

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

سهم هر یک از پلت فرم‌های موبایل در حال حاضر مطابق نمودار زیر در جهان است:

سهم آندروید و آی-او-اس و ویندوزفون در بازار

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

چه ابزارهای استانداردی عرضه شده است؟

برای نوشتن برنامه های هر سیستم عامل موبایل، ابزارهای استانداردی از سوی شرکت های مادر معرفی شده است. اگر پلت فرم‌های اصلی را آندروید شرکت گوگل، iOS شرکت اپل و ویندوزفون شرکت مایکروسافت بدانیم، به ترتیب ابزارها و زبان‌های برنامه نویسی زیر جهت تولید برنامه از سوی این شرکت ها معرفی شده است:

سیستم عامل محیط توسعه زبان برنامه نویسی سایت رسمی توسعه دهندگان
آندروید Android Studio یا Eclipse Java developer.android.com
iOS Xcode Objective-C یا Swift developer.apple.com
ویندوزفون Visual Studio  عموما #C dev.windows.com 

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

چه ابزارهایی برای خروجی همزمان روی چند پلت‌فرم وجود دارد؟

ابزارهای تولید نرم افزار موبایل برای چند پلت فرم Xamarin Appcelerator

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

۱- ابزارهای ترکیبی (Hybrid) با استفاده از HTML5 و Adobe Air

با ورود HTML5 و پشتیبانی مرورگرهای موبایل از این استاندارد، و از طرفی معرفی Adobe Air برای موبایل، این ابزارها تلاش نموده اند تا با استفاده از همان تکنولوژی هایی که بر روی مرورگرها وجود دارد یعنی HTML, Flash, CSS و JavaScript برنامه هایی طراحی کنند که به دلیل استاندارد بودن نحوه نمایش صفحات طراحی شده با HTML5، این صفحات بر روی دستگاه های مختلف به یک شکل و به صورت همزمان قابل مشاهده خواهند بود. این ابزارها حتی با پیوند زدن Javascript با امکانات بومی دستگاه، امکان استفاده از امکانات دستگاه مانند دوربین، موقعیت مکانی GPS و امکانات ارتباطی ایمیل و پیامک را به برنامه‌های نوشته شده می‌دهند. نمونه‌های موجود عبارتند از:

ردیف نام لینک
۱ Sencha Touch https://www.sencha.com/products/touch
۲ PhoneGap http://phonegap.com
۳ SAP http://go.sap.com/developer.html
۴ Kony http://www.kony.com/products/mobilefabric
۵ Adobe Air  http://www.adobe.com/devnet/devices.html

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

از آنجایی که اکثر پلت فرمهای موجود بر پایه HTML5 یا Flash (به استثنای Starling) از امکانات افزایش سرعت سخت‌افزاری استفاده نمیکنند، معمولا عملکرد کند تری نسبت به برنامه های معمول دارند و برای برنامه هایی که نیاز به Performance بالا دارند مناسب نیستند. به همین جهت در حال حاضر اکثر برنامه های تولید شده توسط این ابزارها، شامل نمایش محتوا و یا پر کردن فرم های درخواست می‌شود.

۲- ابزارهایی که خروجی بومی می‌دهند

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

Xamarin تلاش می‌کند تا از چارچوب .NET استفاده کرده و زبان برنامه نویسی مشترکی بین دو پلت فرم آندروید و آی-او-اس ایجاد نماید تا توسعه دهندگان به جای یادگیری دو زبان برنامه نویسی Java و Objective-C به صورت مشترک با زبان #C اقدام به نوشتن برنامه‌های خود کنند. بنابراین به صورت عمده بهره‌ای که در استفاده از این ابزار گرفته می‌شود، این است که هنگام ساخت نرم افزارهای آی-او-اس، توابع و کتابخانه‌های ارایه شده توسط شرکت اپل در زبان #C قابل دسترسی و اجرا می‌شوند. به عنوان مثال برای نمایش یک پیام به کاربر (Alert View) قطعه کدهای زیر را مشاهده کنید:

Objective-C (iOS)
 Xamarin C# (iOS)
Java (Android)
Xamarin C# (Android)

در تجربه‌ای که با ابزار Titanium یا Appcelerator داشتیم، به این نتیجه رسیدیم که برای برنامه‌ای مانند یک سیستم پخش موسیقی که نیاز به شخصی سازی (Customization) زیادی دارد، استفاده از این پلت فرم دست توسعه دهنده را می‌بندد و به حالتی منجر می‌شود که می‌بایست تعداد زیادی افزونه (Plugin) به زبان بومی iOS و آندروید نوشته شود که کارایی های دلخواه و شخصی شده را ارایه بدهد. بنابراین نه تنها توسعه دهندگان تیم شما می‌بایست به محیط Titanium مسلط باشند، بلکه بابت نیازهای خاص ایجاد شده می‌بایست بر محیط توسعه بومی iOS و آندروید نیز تسلط به دست بیاورند.

۳- چارچوب‌های ساخت بازی

بازی ها به دلیل ماهیت شان و اینکه به المان های سیستم عامل وابستگی چندانی ندارند، بهترین گزینه برای خروجی گرفتن همزمان بر روی چند پلت فرم هستند. تکنولوژی های مورد نیاز برای بازی های دو بعدی و سه بعدی در موبایل اکثرا در انتها به استفاده از OpenGL باز میگردد که API های مشابه و مستقل از سخت افزار اکثر آن را تشکیل می‌دهد. به همین دلیل ابزارهای خروجی همزمان بسیار در این زمینه موفق عمل کرده اند و موتورهایی نظیر Unity و UDK در سال های اخیر توسط بسیاری از توسعه دهندگان بازی های مستقل (Indie) مورد استفاده قرار گرفته است. تعدادی از موتورهای بازی سازی با امکان خروجی همزمان در فهرست زیر معرفی شده اند:

نام زبان برنامه نویسی توضیحات
۱ Unity #C مناسب برای بازی‌های دوبعدی و سه بعدی
http://www.unity3d.com
۲ UDK UnrealScript مناسب برای بازی‌های سه بعدی

http://www.unrealengine.com

۳ CryEngine  Lua مناسب برای بازی های سه بعدی با امکان خروجی برای کنسولها و PC

http://www.crytek.com/cryengine

۴ GameMaker  GML http://www.yoyogames.com
۵ Cocos2d-X  Lua, C++, JS مناسب برای بازی های دوبعدی و موبایل

http://www.cocos2d-x.org

۶ Corona SDK  Lua

مناسب برای بازی های دوبعدی و موبایل

رایگان، نسخه فروشی در صورت نیاز به افزودن کتابخانه‌های بومی

https://coronalabs.com/products/corona-sdk

چه زمانی از ابزارهای خروجی همزمان استفاده کنم؟

جواب به این سوال، به نیاز شما و نوع برنامه‌ای که تولید می‌کنید بستگی دارد!

اگر بازی تولید میکنید: قطعا استفاده کنید! چارچوب های تولید برنامه برای چند پلت فرم در تمام آنها عملکرد بسیار مشابه دارند و با تغییرات اندکی می‌توانید برای هر پلت فرم خروجی مورد نظر خود را بگیرید. اگر بازی خود را با Android-SDK شرکت گوگل تولید کنید، برای iOS مجبور خواهید بود بسیاری از ساختارها رابازنویسی کنید اما استفاده از چارچوب های خروجی همزمان و موتورهای بازی مانند Unity به شما کمک میکند با کمترین تغییرات بازی خود را برای پلت دوم و سومی خروجی بگیرید.

اگر یک اپ ساده برای ارایه محتوا تولید می‌کنید: از چارچوب‌های خروجی همزمان با HTML5 استفاده کنید. این چارچوب‌ها ارایه‌ی محتوا را بسیار ساده کرده‌اند و محتوای شما به یک شکل در پلت فرم‌های مختلف دیده می‌شود. اگر با ActionScript یا فلش از قبل آشنا هستید، Adobe Air گزینه خوبی برای شماست.

اگر یک اپ با UI زیاد تولید می‌کنید و می‌خواهید آن را تا حد زیادی شخصی‌سازی (Customize) کنید: در استفاده از چارچوب‌های Native شک نکنید، استفاده از چارچوب‌های خروجی همزمان در بسیاری موارد مانعی بر سر راه شما برای شخصی سازی المان‌های نمایشی و UI هستند.

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

بخش پنهان و خاموش برنامه های موبایل را فراموش نکنیم!

بسیاری از بازی ها وبرنامه هایی که امروزه استفاده میکنیم، اطلاعات را در خود دستگاه ذخیره نمیکنند بلکه با یک ارتباط اینترنتی خدمات را ارایه میدهند و پشت صحنه‌ی آنها، یک سرور مرکزی برای جمع آوری، نگهداری و تحویل اطلاعات وجود دارد. این مقاله به تکنولوژی های مربوط به نوشتن برنامه‌ی موبایل یا Client پرداخته است، اما اگر سیستمی که به دنبال پیاده سازی آن هستید نیاز به بخش Server دارد، می‌بایست تکنولوژی های سمت وب از جمله PHP، ASP.NET و Ruby و یا Python را هم بررسی کنید که عموما برای تولید سرویس دهنده ها مورد استفاده قرار میگیرند.

جلسه بررسی تجربه کاربری تاد tod آخرین خبر

بررسی تجربه‌ی کاربری برنامه «آخرین خبر»

توسط | مقالات فنی

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

برنامه‌ای که انتخاب کردیم «آخرین خبر» از «موسسه فرهنگی هنری خراسان» بود. اگر نمیدانید آخرین خبر چیست، میتوانید آن را برای آندروید از اینجا و برای آی‌او‌اس از اینجا دریافت کنید. ما به ترتیب نسخه های ۱.۰.۲ و ۰.۶.۱ را برای آندروید و آی‌اواس دریافت کردیم. یادمان باشد که موفقیت یک نرم افزار مدیون عوامل بسیار زیادیست که تجربه ی کاربری تنها بخشی از آن، اما یکی از مهم ترین بخش های آن است. پیشنهاد میکنیم به دلیل مفصل بودن این فهرست، اگر به بحث تجربه ی کاربری علاقه مند هستید، این برنامه را نصب کنید و همزمان با خواندن موارد، آن ها را در نرم افزار تجربه نموده و نظرات خود را به ما منتقل کنید.

اولین برخورد

  • آیکن برنامه:
    اولین برخورد با هر برنامه‌ای آیکن برنامه است که توجه کاربر را به خودش جلب میکند. آخرین خبر یک شمایل خندان را به عنوان آیکن خود انتخاب کرده است که با اینکه حس خوبی را منتقل میکند اما درک ارتباط آن با خبر و خبررسانی برای بچه ها سخت بود. نتیجه اینکه آیکن تناسبی با کارکرد خود نرم افزار ندارد. بطوری که اگر در مرتبه اول مشاهده نام نرم افزار را در نظر نگیریم کمتر یک نرم افزار انتشار اخبار برای ما تداعی می شود.
  • صفحه خوش آمدگویی:
    صرف نظر از اینکه در روش های جدید طراحی رابط کاربری نمایش یک صفحه متفاوت از صفحه اصلی برنامه دیگر مرسوم نیست، آخرین خبر در صفحه‌ی خوش آمدگویی که نرم افزار مشغول دریافت آخرین خبرهاست، شاخک های آیکن آخرین خبر به ترتیب قرمز میشوند که نشان بدهند نرم افزار مشغول است. ذوق و سلیقه‌ی استفاده شده برای طراحی یک نشانگر فعالیت خاص (Activity Indicator) قابل تحسین است.
  • صفحه اصلی:
  • وقتی وارد نرم افزار می‌شوید با فهرستی از دسته های خبری روبرو میشوید که با توجه به اینکه از متن کمترین میزان استفاده انجام شده است و به صورت تصویری ارتباط اولیه برقرار میشود، صفحه‌ی اولیه دلچسب بوده و نشان دهنده گوناگونی محتوا در نرم افزار و امکان انتخاب دسته است. اما…
  • این طراحی گرچه برای اولین مراجعه کاربر به نرم افزار مناسب به نظر میرسد، در استفاده های متوالی به جای آنکه تمرکز نرم افزار بر روی این موضوع باشد که سریع تر کاربر را به خبرها و دسته‌ی مورد علاقه خود برساند، هر بار او را مجبور به انتخاب یک دسته میکند. روند نرم افزارها در دنیا به سمت تمرکز بر روی محتوای اصلی و به اصلاح رفتن سر اصل مطلب است که میتوان این را از به حاشیه رفتن دسته بندی در اپ استور اپل و نمایش فهرست منتخب نرم افزارها در اولین صفحه در طول تکامل این محصول فهمید.
  • یکی از اصول استفاده از متن در واسط کاربری، فراهم کردن شرایطی است که کاربر بتواند به راحتی متن نمایش داده شده را بخواند. در صفحه‌ی اولیه نرم افزار عناوین برخی بخش ها به رنگ تصویر پشت آن ها نزدیک شده است که امکان خواندن برخی از آنها را غیر ممکن میکند. بنابراین برای نمایش عناوین بر روی تصویر مناسب است که در راه حل آن و یا مکان نمایش آن تجدید نظر شود.
  • نمایش برخی تصاویر انتخاب شده با کشیدگی تصویر در طول یا عرض همراه است (عدم رعایت Aspect Ratio) که باعث خراب شدن تجربه‌ی کاربر از آن تصویر میشود. این مورد میتواند توسط تیم محتوایی با انتخاب تصاویر صحیح و یا توسط تیم فنی (مستقل محتوا) حل شده و بخشی که از تصویر نمایش با رعایت Aspect Ratio داده شود.
  • متأسفانه به دلیل اینکه نرم افزار بصورت تصادفی تصویری از خبر ها برای دسته بندی ها استفاده می کند، نمایش تصاویر غیر مرتبط بسیار ممکن می گردد. بطور مثال با زدن بر روی یکی از دسته هایی که تصویر یکی از عروسک های تلویزیونی بر روی آن قرار داشت در اولین خبر انتظار نمایش هر خبری جز نمایش خبر یکی از مقامات بلندپایه سیاسی کشور را داشتیم. پیشنهاد بچه ها استفاده از آیکون ها یا کلیپ آرت ها برای تجریه بهتر کاربری است.
  • با زدن دکمه جستجو به یک صفحه خالی می رویم. بهتر است بجای اینکار پس از جستار به صفحه نتیجه جستجو برویم
  • با زدن دکمه نشانه به صفحه خالی می رویم بهتر است هنگامی که صفحه خالی است اطلاعات مناسب جهت اضافه کردن نشانه نمایش داده شود.
  • بعضی از آیتم های منو یا اصلا کار نمی کند یا با خطا مواجه می شویم. فارغ از اینکه وجود چنین مشکلاتی در نرم افزار مناسب نیست اما وجود آن در صفحه اول تجربه ناخوشایندی به کاربر می دهد

جابجایی و مسیریابی در برنامه

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

خواندن خبر

  • در نمایش اولین خبر در آندروید، برنامه ناگهان تنظیمات فونت را نمایش میدهد که برای کاربر که روی عنوان خبر در صفحه‌ی قبل لمس کرده و منتظر مشاهده‌ی خبر است، غیر منتظره و گمراه کننده به نظر میرسد. این مورد می بایست به صورت اشاره ضمنی و اختیاری در اختیار کاربر قرار گیرد و به اطلاع او برسد.
  • پس از نصب یا پس از اتصال به اینترنت ناگهان با تعداد بسیار زیادی نوتیفیکیشن روبرو می شویم که ناراحت کننده است. به نظر میرسد به عدم استفاده از سرویس نوتیفیکیشن گوگل این اتفاق رخ داده است. در ضمن با زدن روی نوتیفیکشن ها یک activity باز میشود و ما لیستی از صفحات نرم افزار آخرین خبر را مشاهده می کنیم. معمولا پس از اجرای نرم افزار می بایست تمام نوتیفیکیشن ها نوار بالا حذف شوند
  • در نسخه‌ی آی‌اواس متن برخی خبرها مخصوصا در برخی موارد که کلمات انگلیسی در میان آن بود، درست نمایش داده نشده و فاصله‌ی خطوط کم و زیاد بود. نظم در فاصله‌ی خطوط و همچنین وجود فاصله‌ی بین پاراگرافی در سهولت خواندن متن بسیار موثر است.
  • در متن های بلند، برخی به دنبال دکمه ای برای بازگشت به بالا بودند که البته بیشتر از یک الزام، یک درخواست امکان جدید به نظر میرسد.
  • مشکل عدم رعایت نسبت طول و عرض تصاویر که در بخش اولیه نرم افزار بود، در تصویر بالای خبر هم موجود بود. به عنوان مثال تصویر خبری در مورد آقای نکونام با تصویری از چهره ایشان که ارتفاعی حدود ۶۰۰ پیکسل و عرضی حدود ۳۰۰ پیکسل بود، در فضایی با ارتفاع ۱۰۰ پیکسل و عرض ۳۰۰ پیکسل نمایش داده شده بود که باعث کشیدگی کامل در بعد ارتفاع می‌شود.
  • البته فراموش نکنیم که آخرین خبر روی نوتیفیکشن مانور می دهد که در این امر موفق بوده است اما توجه به صفحات داخلی نیز بسیار حائز اهمیت است.

سایر موارد

  • در بخش گالری تصاویر، به یک خبر برخوردیم که تعداد زیادی (بیش از ۵۰) تصویر داشت. به محض ورود به بخش گالری، نرم افزار شروع به دریافت همزمان تمامی تصاویر نمود که باعث شد زمان زیادی طول بکشد تا تصاویر اولیه که کاربر منتظر دیدن آنهاست نمایش داده شوند که اولویت بندی و دریافت مرحله به مرحله ی تصاویر می تواند تجربه‌ی بهتری برای کاربران مخصوصا در ایران که سرعت اینترنت کم است، رقم بزند.
  • با گستردگی خدمات اینترنت وجود ذخیره سازی اخبار جهت استفاده آفلاین چندان ضروری به نظر نمی رسد این کار اگر بصورت خودکار برای صفحات مربوط به نوتیفیکیشن ها کفایت می کند.
  • برای نرم افزاری با اقبال آخرین خبر وجود سیستم پیشنهاد بسیار ضروری به نظر می رسد. این کار وضعیت شلوغ صفحه اول را بهبود می بخشد و همچنین ارائه اطلاعات مورد علاقه کاربر به میزان طرفداران این نرم افزار خواهد افزود.
  • خروج بوسیله پنجره تأیید دیگر مرسوم نیست. پیشنهاد عدم بستن نرم افزار است بهتر است این کار را به عهده سیستم عامل واگذار کنیم.
Scalable WebServer Architecture

معماری قابل گسترش برای سرورهای وب

توسط | مقالات فنی

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

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

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

بیشتر بخوانید

مخاطبان شاد و شنگول، پنج اصل برای ارایه‌ی موفق

پنج اصل حیاتی برای اینکه یک ارائه‌ی عالی داشته باشید

توسط | مقالات فنی

فقط پانزده ثانیه – زمانی که ایده‌ی اولیه از خود را در ذهن حاضران ثبت میکنید!

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

پنج دقیقه – میانگین مدتی که مخاطب شما تمرکز می‌کند!

در ده سال گذشته، میانگین زمان تمرکز ما از ۱۲ دقیقه به ۵ دقیقه کاهش یافته است. می‌توانید فیس‌بوک، توییتر یا هر کسی را به خاطر این موضوع سرزنش کنید، اما چه باور کنید چه نکنید، ما دیگر آن‌طورها که قبلاً می‌توانستیم تمرکز کنیم، نمی‌کنیم. در واقع به صورت میانگین، یک انسان در جامعه‌ی توسعه‌یافته، بیش از ۱۵۰ بار در روز تلفن همراه خود را چک می‌کند و به صورت میانگین ۳۴ گیگابایت اطلاعات مختلف در روز به او از طرق مختلف عرضه می‌شود. جهت اطلاع شما، این عدد معدل ۳۸ ساعت (۱٫۶ روز) ویدیوی با کیفیت HD ست. خب با این مسابقه‌ای که برای ربودن تمرکز و توجه مخاطب شما برقرار است، همراه کردن مخاطبان بیش از پیش سخت شده است.

بیشتر بخوانید

روندهای UX و UI در موبایل

توسط | مقالات فنی

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

کاربران فعلی موبایل، فقط به خاطر اینکه به لپ تاپ یا رایانه شخصی خود دسترسی ندارند، به سراغ موبایل خود نمیروند. بلکه جالب است بدانید که ۷۷ درصد جستجوهای موبایل، در خانه یا محل کار انجام میشود. بر اساس یک مطالعه که در گوگل انجام شده، ۷۰ درصد کاربران تا یک ساعت بعد از جستجوی خود، دست به عملی در این رابطه زده اند که ۶۱ درصد آنها تا مرز تماس با تجارت مربوطه هم پیش رفته اند. مردم انتظار جواب آنی و سریع در موبایل دارند و از یک واسط کاربری/تجربه‌ی کاربری خوب شما، با تبدیل شدن به یک مشتری دائم قدردانی میکنند.

بنابراین اهمیت این موارد که در وب سایت ها رعایت میشد، در زمینه‌ی موبایل دو چندان است. اینجا به سه مورد از روند ها و ترندهای موبایل که به شما در طراحی کمک میکنند اشاره میکنیم.

بیشتر بخوانید

شروع بلاگ تاد

توسط | خبرها

سلامی گرم از طرف اعضای تاد

این بلاگ را راه اندازی نموده ایم تا دانش فنی تاد را با شما به اشتراک گذاشته و از شما بیاموزیم. ما در تاد حدود ۵ سال است که در حوزه‌ی موبایل فعالیت میکنیم و سعی خواهیم کرد مطالب مفید و خواندنی در این زمینه با همکاران فارسی زبانمان به اشتراک بگذاریم.

به امید موفقیت
– تاد