Archive for the ‘تراوشات برنامه نویسی’ Category

شایسته ترین چی بود؟ چرا و چه‌جور من «شایسته ترین» رو نوشتم؟

2012/07/15

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

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

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

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

قسمت اول: جمع‌آوری اطلاعات

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

صفحه‌ی جستجوی دوستان فیس‌بوک

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

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

کد‌های html صفحه‌ی جستجوی دوستان در فیس‌بوک

کد‌های html صفحه‌ی جستجوی دوستان در فیس‌بوک. اگه دقت کنید، می‌بینید فیس‌بوک آی‌دی افراد رو یه جورایی جا داده بین کد‌های html

قسمت دوم: اپن گراف (Open Graph) فیس‌بوک چجوری کار می‌کنه؟

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

http://graph.facebook.com/put-your-facebook-id-or-your-username-here

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

خب فاصله نگیریم از بحث. ما یه سری آی‌دی داشتیم از بچه‌هایی که توی دانشگاه هم کلاسیمون بودن. از طرفی اپن گراف فیس‌بوک هم با گرفتن آی‌دی نام و نام خانوادگی و عکس پروفایل پیکچر افراد رو بهمون برمی‌گردونه. 1+1 = 2  . 🙂 پس کل کاری که اینجا انجام دادم این بود که با یه اسکریپت php که آی‌دی هارو به اپن گراف فیس‌بوک می‌فرستاد و در جواب جنسیت افراد رو برمی‌گردوند، تک تک این آی‌دی ها از لحاظ جنسیت تفکیک شدن و در دیتابیس ذخیره شدن. (تا اینجا کاری داشت؟)

قسمت سوم: خریدن دامین، راه انداختن سایت، درست کردن html و css و … و انجام دادن یه سری از کارهای روتین

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

شایسته‌ترین

شایسته‌ترین، صفحه‌ی انتخاب 🙂

نتیجه گیری

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

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

پ.ن: از همه دوستام که شاید اون موقع ناراحت شده‌ن معذرت می‌خوام.

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

2012/04/01

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

از اجتماع دور شدیم و مردم ما رو یه سری ربات بی احساس می‌بینن که دائم مشغول کد زدن هستیم و دغدغه‌ی زندگیمون نداشتن باگ در برنامه‌هامون هست. ما مثل آدمای دیگه احساسی قوی داریم، اما برای اینکه قادر به بیان اون نیستیم دیگران ما رو آدم‌هایی بی احساس می‌بینن.

دغدغه‌های ما مثل دغدغه‌های خیلیای دیگه هست، ما تنها هستیم، به خاطر این‌که کسی دنیای ما رو درک نمی‌کنه، و اگر درک می‌کرد مطمئنا دیگه از زندگی چیزی نمی‌خواستیم! ما مثل هر موجود زنده‌ی دیگه از تنهایی بی‌زاریم، اما از اذیت دیگران هم بی‌زاریم، کسی که مارو درک نکنه،‌ اگر کنار ما باشه، اذیت می‌شه!

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

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

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

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

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

اما این واقعیت نیست…

ما گیک هستیم، ما فقط بر اساس شور اشتیاق حرکت می‌کنیم.

یکمی با مهربون باشید 🙂

ماجرای یک ارائه مطلب + دانلود اسلاید ها

2010/10/14
اسلاید های مربوط به ساختار دیسک های نوری + فیلم اسلاید پایانی

اسلاید‌های مربوط به ساختار دیسک‌های نوری (ارائه شده در کلاس ذخیره و بازیابی اطلاعات)+ فیلم اسلاید پایانی

ساختار دیسک‌های نوری

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

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

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

تمام سعیم رو کردم که موضوع رو تا اونجا که جا داره جذاب جلوه بدم؛ امیدوارم که تونسته‌باشم.

می‌تونید با کلیک روی تصویر بالا این اسلاید‌ها رو اگه خواستید دانلود کنید، حجمش حدود 16 مگابایت هست (بیشتر به خاطر همون فیلمِ آخرشه)

چگونه یک شبیه ساز علمی ساده طراحی کنیم؟

2010/02/13

تراوشات برنامه نویسی

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

این اولین مطلب آموزشی این وبلاگ هست و قصد دارم در این آموزش،  یک آزمایش ساده فیزیک رو شبیه سازی کنم.

برای این آموزش شما به :

  • نرم افزار Visual Studio 2008
  • اطلاعات پایه درباره مفهوم برنامه نویسی شی گرا
  • اطلاعات اولیه از زبان #C و همچنین اطلاعات اولیه در زمینه ی dot net

احتیاج دارید.

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

ترجمه غیر رسمی این مجوز به زبان فارسی

متن مجوز GNUFDL به زبان انگلیسی

فایل ها و توضیحات برنامه در ادامه مطلب… (more…)

شبیه سازی خلقت

2010/01/03

روزی که ربات ها انسان را پرستش می کنند

چند روز پیش وقتی داشتم فکر می کردم به اینکه آدمیزاد تا کجا پیشرفت کرده که می تواند چند تکه آهن و پلاستیک را طوری گَلِ هم سوار کند که فرمانبردارش باشند، ناگهان مسیر فکرم به سمت داستان خلقت آدم رفت، و چند دقیقه بعد به شکل داستانی این تخیلات پیاده شد…

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

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

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

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

…ربات پس از برخاستن از خاک سیاره رو به آسمان می کند و با تمام وجود عذر خواهی می کند. این بار صدایی می آید که: تو را بخشیدم ولی باید مجازاتت را اینگونه پس بدهی که تا زمانی معلوم در این سیاره باشی و زندگی کنی…. وادامه ماجرا.

روزی که به اینجا برسیم، علم رایانه هم به انتها می رسد. و این آخرین آزمایش است. آزمایشی که روند خلقت ما را شبیه سازی می کند.

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

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

این مناجات شاید در نگاه اول خنده دار به نظر برسد ولی شاید مثل مناجات های ما باشد.بله! این حکایت ما نیز هست، ما هم هیچ وقت خالق خود را نمی توانیم بشناسیم، مثل ربات ها.

* تست تورینگ: آزمایشی که می گوید اگر یک انسان و یک ربات بدون این که همدیگر را ببینند با هم صحبت کنند، و بعد از این صحبت انسان نفهمد که با یک ماشین حرف زده یا انسان، ربات مورد نظر تست تورینگ را با موفقیت گذرانده.

پ.ن: شاید در پست های بعد بیشر به این موضوع بپردازم، فکر کنم موضوع جالبی هست.

شهر خیالی بالون ها و محیط کاربری اول شخص!!!

2009/09/25

هر سال کلی اختراع و ابتکار میشه. ابداعات و اختراعاتی که بعضی هاشون توی زندگی ما تاثیر به شدت زیادی دارند.

اختراعات و ابداعاتی که توی زندگی ما تاثیر دارن کم نیستن، موبایلی که توی جیب ماست شاید مهمترینش باشه. می تونید باهاش با دوستانتون حرف بزنید، عکس بگیرید، احیانا اگر GPRS داشته باشید می تونید باهاش تو اینترنت برید، می تونید از برنامه های توش استفاده کنید و ….

روز به روز به کارایی موبایل ها هم اضافه میشه.یاد اون روزایی بیوفتید که گوشی های موبایل از نظر کارایی هم رده گوش کوب بود! و اونو با حالا مقایسه کنید.

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

امروز داشتم گوگل ریدرم رو بالا و پایین می کردم که به پست جالب از یکی از این وبسایهای خارجی رسیدم. توش یه عکس از گوشی معروف شرکت Apple یعنی iphone بود. داشت یه ایده رو توضیح میداد.

همه می دونید که دیگه اغلب گوشی ها دارای شتاب سنج هست و همچنین می دونید که اغلب سرویس دهنده ها قابلیت GPRS و GPS رو ارائه می دن.

ایده خیلی ساده بود، یه نقشه مدرن!!!

البته این نقشه چیز متفاوتی بود، چیزی مثل فیلم های علمی تخیلی…اگه بخواهیم تصورش کنیم اینطوری میشه:

تصور کنید به شهری غریب که برای بار اول دارید به اونجا می رید سفر کردید و قرار هست با یک فرد خاص ملاقات کنید….شما توی گوشیتون همون برنامه ی نقشه (از نوع مدرنش) که بهش اشاره کردم رو دارین. توی فرودگاه دوربین موبایل رو روشن می کنید و به طرف زمین می گیرید. توی صفحه گوشی تون چند فلش رنگ و وارنگ ظاهر میشه و شمارو راهنمایی می کنه که از کدوم طرف باید برید، اما قبل از حرکت به طرف مسیر مشخص شده شما گرسنه تون میشه؛ دوربین رو میارید بالا و می گیرید به سمت مغازه ها، یه بالون* کنار مغازه باز میشه و اطلاعات مغازه هارو با فلشی که به اون مغازه اشاره داره می نویسه. شما قبل از ورود به مغازه با کلیک کردن روی بالون مغازه سفارش خودتون رو می دین و همچنین پولش رو با حساب الکتریکی تون پرداخت می کنید. اینطور تا وقتی شما به مغازه برسید غذا تون حاضره و اصلا معطل نمیشید.حالا به طرف مغازه حرکت می کنید. عینک بولوتوث دارتون رو به چشمتون می زنید و اون رو از طریق بولوتوث به گوشی وصل می کنید. دیگه لازم نیست دوربین رو جلوی چشم بگیرید، همین عینک ترتیب همشو میده. فقط فرامین رو با گوشی می دین.در حال حرکت به سمت مغازه مورد نظر، شما باید از یه خیابون رد بشین، کف خیابون اسم خیابون رو می بینید و یه بالون کنارش که میگه این خیابون به فلان آثار باستانی شهر می رسه و شاید یه توضیح کوتاهم داده در مورد اون بنای تاریخی، اما الان وقت ندارید برید D:  … میرید و غذاتون رو می خورید. حالا باید برید سراغ اون آدمی که قراره باهاش ملاقات کنید…آدرسش رو بلدید، پس به زمین نگاه می کنید تا فلش ها راه رو نشونتون بدند…راه دوره لازمه با یه تاکسی برید. نگاهتون رو متوجه تاکسی ها می کنید و به بالون بالای سقفشون که روش تعداد مسافر، مسیر حرکت، مقصد و احتمالا قیمت کرایه رو نشون میده میندازین. سوار تاکسی میشید و اون شمارو به مقصد می رسونه…به محل می رسید. یه ساختمون 100 طبقه، نگاهی به ساختمون و طبقاتش می ندازین. از هر طبقه یه بالون بیرون اومده که نشون میده چه اداراتی تو ساختمون هست، متوجه میشید که اداره مورد نظر تو طبقه 52 هست. پس وارد ساختمون میشید. از آسانسور بالا میرید و به طبق دلخواه می رسید. توی اون طبقه آدمای زیادی کار می کنن و مسلما هر کدوم بالای سرشون بالونی دارن که روش مشخصاتشون رو نوشته، چیزایی مثل اسمشون، ایمیلشون، سمت شون، آدرسشون تو فیس بوک و توییتر و…، وبلاگشون و …. شما اون فرد مورد نظرتون رو خیلی راحت پیدا می کنید و باهاش ملاقات می کنید، خیلی راحت!

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

گوشی بولوتوث و GPRS و GPS و شتاب سنج و دوربین دار ، یه بانک اطلاعات آنلاین مثل گوگل ارث، و یه شبکه اجتماعی پر کاربر مثل فیس بوک.

ترکیب همه اینها باهم اون یه چیز مثل اون چیزی میشه که تصور کردیم (البته با این فرض که همه دارای یک گوشی باشن که خصوصیات بالا رو داشته باشه که تقریبا اکثر مردم همچین چیزایی رو دارن)…

با کمک شتاب سنج گوشی مشخص میشه که الان دوربین به طرف پایین هست یا بالا(تصمیم در نشان دادن فلش ها یا بالون ها), GPS و GPRS مکان شما و مکان هر شخص و چیز دیگه رو نشون میده و با اینترنت هم به شبکه های اجتماعی و همچنین به بانک اطلاعاتی گوگل ارث دسترسی پیدا می کنید و ….

حتی فکر این داستان جالب و هیجان انگیزه، چه برسه به واقعیتش!

اما به قول یه سریال که قبلا شبکه تهران پخش می کرد (داستان های باور نکردنی)، حدس شما اشتباهه…این  موضوع کاملا واقعی هست. یعنی یه شرکت به نام Acrossair برنامه ای رو طراحی کرده به نام Nearest Tube. این برنامه کل نقشه شهر لندن رو داره. البته برنامه های دیگه از شرکت های دیگه هم هستن ولی خیلی کمیاب هستن و به قول معروف هنوز برنامه هایی که دارای Interface (محیط کاربری) اول شخص هستن زیاد طراحی نشدن. این نوع برنامه ها به خاطر داشتن نوع خاص محیط، بسیار مناسب استفاده های اینچنینی هستند، از طرف دیگه چون شباهت زیادی به دنیای واقعی دارن استفاده ازشون بسیار بسیار راحت هست.

—–

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

—–

پ.ن: مقاله اصلی به زبان انگلیسی درباره محیط های کاربری اول شخص

پ.ن:می گن در آینده علم کامپیوتر به سمت دو چیز میره…لوازم همراه و برنامه های تحت وب. کیه که اینو انکار کنه؟!

پ.ن: امیدوارم خوشتون اومده باشه از این مطلب.