<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات بلاگ فنی بلد</title>
        <link>https://virgool.io/BaladMaps/feed</link>
        <description>بلد، پرنصب‌ترین نقشــه فارســی با بیش از پنج میلیون کاربر فعال اســت که با نقشــه ای پرجزئیات، امکان جســت‌وجوی کسب وکارها و نقــاط پرمراجعه و دریافــت اطلاعات تماس و ســاعت کاری  و مسیریابی دقیق و بهینه را به کاربــر می‌دهد.</description>
        <language>fa</language>
        <pubDate>2026-06-16 10:08:54</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/rkcmtq5bp3ev/fsryey.png</url>
            <title>بلاگ فنی بلد</title>
            <link>https://virgool.io/BaladMaps</link>
        </image>

                    <item>
                <title>کار با کاشی‌ها یا چطور بستر نقشه آماده می‌شود؟</title>
                <link>https://virgool.io/BaladMaps/%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%DA%A9%D8%A7%D8%B4%DB%8C-%D9%87%D8%A7-%DB%8C%D8%A7-%DA%86%D8%B7%D9%88%D8%B1-%D8%A8%D8%B3%D8%AA%D8%B1-%D9%86%D9%82%D8%B4%D9%87-%D8%A2%D9%85%D8%A7%D8%AF%D9%87-%D9%85%DB%8C-%D8%B4%D9%88%D8%AF-wag2oirrwbcw</link>
                <description>احتمالاً اولین باری که اسم یک اپلیکیشن نقشه رو شنیدین یا از نزدیک باهاش کار کردین، شما هم مثل من درگیر امکانات مختلفی که این اپلیکیشن‌ها دارن شدین. از مسیریابی بگیر که یکی از بزرگترین کاربردهای روزمره‌ی اینجور اپلیکیشن‌هاست تا سرچ و مکان‌هایی مثل مغازه و بیمارستان و … که روی نقشه هستن. اما یک چیز دیگه‌ای هم توی اپلیکیشن‌های نقشه وجود داره که انقدر پایه‌ایه و همه جا هست که گاهی حواسمون بهش نیست و متوجه حضورش نیستیم، اونم Tileها یا در‌واقع کاشی‌های نقشه.قبل از اینکه جلوتر بریم یه کم صبر کنین و با خودتون فکر کنین. این چیزی که روی نقشه می‌بینیم به نظرتون چه شکلی به وجود اومده؟ انگار یه بستری وجود داره که روی اون یه سری چیز دیگه کشیده شدن. به عکس ۱ دقت کنین، یک بک‌گراند خاکستری رنگ وجود داره که پس‌زمینه‌ی نقشه‌ست و روش چیزهای مختلف دیگه‌ کشیده شدن. بزرگراه‌ها و آزادراه‌هایی که با رنگ بنفش طراحی شدن، یک سری نقطه (که ما بهشون می‌گیم poi یا point of interest) مثل رستوران باغ بهشت سمت لواسون یا بیمارستان نیکان سمت ازگل، مجتمع کوروش سمت غرب و … . یه کم دقیق‌تر بشیم، دیگه چی می‌بینیم روی اون پس‌زمینه‌ی خاکستری رنگ؟ یه سری جا هستن که آبی‌ن، به نظر میاد رود یا دریاچه‌ن. مثل سد لتیان سمت شرق عکس و دریاچه‌ی چیتگر سمت غرب عکس. یه سری جا هستن که سبز رنگن و به نظر میاد پارکهای مختلف رو نشون می‌دن. یه سری خط زرد هم هستن که انگار خیابون‌های اصلی شهر رو نشون می‌دن و کلی چیزهای دیگه.عکس ۱تازه اوضاع به همین ختم نمی‌شه. یه کم که سطح بزرگنمایی نقشه رو عوض کنین و جلو عقب برین یه سری چیز حذف می‌شن و چیزهای دیگه جاشون رو می‌گیرن.عکس ۲به نظرتون همه‌ی این چیزهای مختلفی که روی نقشه هستن و سطح بزرگنمایی‌های(zoom level) مختلفی که استفاده می‌شن برای نمایش و عدم نمایش چه شکلی درست شدن؟کاشی یا Tileیه کم اگر بخوایم از حرف‌های کلی بگذریم و برسیم سر اتفاقی که در پشت صحنه می‌افته و چنین تصاویری تولید می‌شه باید اول از همه از کاشی‌ها حرف بزنیم. یکی از استانداردهای خیلی مرسوم برای کار کردن با نقشه، کاشی کاشی کردن اونه. یعنی چی؟ یعنی فرض کنین انقدر از بالا دارین به نقشه‌ی جهان نگاه می‌کنین که کل نقشه‌ی جهان توی یه مربع جا می‌شه. مثل عکس ۳.عکس ۳این در‌واقع اولین کاشی نقشه‌ی ماست. اولین کاشی که اصطلاحاً توی سطح بزرگنمایی ۰ وجود داره کاشی‌ایه که کل جهان توش جا می‌شه. حالا اگر یه کم بیشتر بزرگنمایی کنیم چی؟ عکس از طول و عرض به دو قسمت مساوی تقسیم می‌شه و نتیجه میشه ۴ تا کاشی که توی سطح بزرگنمایی ۱ وجود دارن. مثل عکس ۴.عکس ۴همون‌طور که مشخصه دیگه فقط سطح بزرگنمایی کافی نیست برای اینکه بگیم با کدوم کاشی کار داریم. توی سطح بزرگنمایی ۱ تعداد کاشی‌هامون چهار تاست. برای اینکه بتونیم بگیم با کدوم کاشی سطح بزرگنمایی ۱ کار داریم میایم و دو تا پارامتر دیگه علاوه بر سطح بزرگنمایی وارد می‌کنیم، x و y. جفت این عدد‌ها از صفر شروع می‌شن و یکی یکی می‌رن بالا و بهمون یه آدرسی از هر کاشی میدن. مثلاً کاشی بالا سمت چپ سطح بزرگنمایی ۱ میشه کاشی‌ای با مشخصات zoom=1, x=0, y=0. اما کاشی‌ای که پایین سمت راست قرار داره مشخصاتش اینه: zoom=1, x=1, y=1 .احتمالاً دیگه می‌تونین حدس بزنین که توی سطح بزرگنمایی ۲ چند تا کاشی داریم و آدرس‌دهی‌شون چه شکلیه. حالا اگر همین روند رو ادامه بدیم همین‌طور می‌تونیم بزرگنمایی نقشه رو بیشتر و بیشتر کنیم و کاشی‌های بیشتر و دقیق‌تری داشته باشیم. در‌واقع با هر بار بیشتر کردن بزرگنمایی نقشه محدوده‌ی هر کاشی مشخص‌تر میشه و راحت‌تر میشه فهمید هر عنصری که روی نقشه داریم کجاست:عکس ۵حالا که یکی از مفاهیم پایه‌ای کار با نقشه رو متوجه شدیم بیاین یه کم دقیق‌تر ببینیم که حالا چه شکلی میشه چیزهای مختلف مثل جاده‌ها، poiها، دریاچه‌ها و … رو به کمک همین کاشی‌ها روی نقشه آورد.از دیتای خام تا کاشی‌هااول با poiها شروع کنیم که ساده‌ترن. فرض کنین نقطه‌ی مهمی داریم که می‌خوایم اون رو روی نقشه نشون بدیم. مثلاً برج میلاد. برج میلاد لوکیشن مشخصی داره. حدوداً latitude: 35.742 و longitude:51.373. اگر با این دو عدد آشنا نیستین فقط یه اشاره‌ی ریز بکنم که یه جور آدرس دهی روی فضای کره‌ی زمینه که در واقع همون طول و عرض جغرافیاییه. اینجا بیشتر راجع به این دو تا عدد توضیح داده شده.حالا برج میلاد رو توی چه سطح بزرگنمایی‌ نشون بدیم؟ احتمالا نمایش برج میلاد توی سطح بزرگنمایی ۰، که کل جهان نمایش داده میشه، کار جالبی نیست. کلی برج دیگه هست که اهمیتشون با برج میلاد یکیه و اگر بخوایم همه رو از اول نشون بدیم نقشه به شدت شلوغ می‌شه و اصلاً نمی‌فهمیم چی به چی شد. مثلا شاید نمایش برج میلاد از سطح بزرگنمایی ۱۲ به بعد خوب باشه، مثلا ۱۲ تا ۱۸. حالا چه شکلی باید اسم و آیکون برج میلاد رو توی جایی که لوکیشن واقعی‌ش قرار داره توی سطح بزرگنمایی ۱۲ تا ۱۸ بذاریم؟اینجاست که باید بفهمیم برج میلاد به ازای سطح بزرگنمایی‌های ۱۲ تا ۱۸ توی کدوم کاشی می‌افته. در واقع در هر کدوم از این سطح بزرگنمایی‌ها باید x و yای که مختصات برج میلاد توش می‌افته رو به دست بیاریم. اما این کار ساده‌ای نیست که به صورت دستی بیایم و محاسبه‌ش کنیم.از طرف دیگه اسم poiای که نماینده‌ی برج میلاده رو می‌خوایم چی بذاریم؟ آیکونش چی باشه؟ آیا مشخصات دیگه‌ای ازش هست که بخوایم روی نقشه نشون بدیم؟ مثلا امتیازش؟ یا تعداد کامنت‌هاش؟ خب. برای اینکارها چیکار می‌کنیم؟ یک فایلی با فرمت geojson تولید می‌کنیم. geojson در واقع همون jsonایه که مختص کار با نقشه و فضاهای جغرافیایی‌ه. توی این فایل مختصات poi و پارامترهای دیگه‌ای که برامون مهمه و میخوایم روی نقشه نمایششون بدیم یا باهاشون یک ‌سری فیلتر انجام بدیم رو می‌ذاریم. مثلا فرض کنید برای برج میلاد همچین حالتی پیدا می‌کنه:{
  &amp;quottype&amp;quot: &amp;quotFeatureCollection&amp;quot,
  &amp;quotfeatures&amp;quot: [
    {
      &amp;quottype&amp;quot: &amp;quotFeature&amp;quot,
      &amp;quotgeometry&amp;quot: {
        &amp;quottype&amp;quot: &amp;quotPoint&amp;quot,
        &amp;quotcoordinates&amp;quot: [51.373, 35.742]
      },
      &amp;quotproperties&amp;quot: {
        &amp;quotname&amp;quot: &amp;quotبرج میلاد&amp;quot,
        &amp;quotrate&amp;quot: 4.5,
        &amp;quottype&amp;quot: &amp;quottourism&amp;quot,
        &amp;quotminzoom&amp;quot: 12,
        &amp;quotmaxzoom&amp;quot: 18
      }
    }
}حالا وقتشه که از ابزارهایی استفاده کنیم که geojson رو به کاشی تبدیل می‌کنن. ابزارهای مختلفی برای اینکار وجود دارن که با یه سرچ ساده می‌تونین پیداشون کنین. این ابزارها geojsonای که شما بهشون می‌دین رو تبدیل می‌کنن به کلی کاشی متناسب با سطح بزرگنمایی‌های مختلف که توی هر کاشی اطلاعاتی که باید توی اون محدوده از نقشه نمایش داده بشه وجود داره.دیگه همه چیز آماده است! کافیه از ابزاری استفاده کنین که تایل‌های نقشه رو بتونه بخونه و اون‌ها رو نمایش بده. از جمله leaflet که یکی از ابزارهای متن‌باز خوب برای اینکاره.اگر بخوایم خلاصه یه مروری داشته باشیم بر کل فرآیند. باید اول از همه اطلاعاتی که میخوایم روی نقشه نشون بدیم رو از دیتابیس بگیریم، بعد اطلاعات رو به فرمت مناسب داخل geoson بنویسیم و بدیم به ابزاری که برامون geojson رو به کاشی‌ها تبدیل می‌کنه. آخرین مرحله هم دادن آدرس فایل‌های کاشی‌ها به یک ابزار رندر نقشه و بالا اومدن یک بستر نقشه‌ست :)چند نکته‌ی تکمیلیبرای معابر و چندضلعی‌ها که به جای یک نقطه‌ی poi حاوی چند نقطه‌ی متصل بهم هستن هم کار تا حدی مشابهه. مختصات نقاط متصل رو توی فایل geojson داخل فیلد coordinates می‌ذاریم و بقیه‌ی ماجرا.همیشه اطلاعاتی که داخل geojson می‌ذاریم برای نمایش روی نقشه نیستن، توی مثال بالا دیدین که دو تا پارامتر minzoom و maxzoom وجود داشتن. این دو تا پارامتر دارن به ابزار تبدیل کننده‌ی geojson به کاشی می‌گن که این poi توی سطح بزرگنمایی‌های ۱۲ تا ۱۸ ایجاد کن.علاوه بر مورد بالا. گاهی اطلاعاتی داخل geojson می‌نویسیم که برای فیلتر کردن بهمون کمک می‌کنن. مثلا ممکنه بگیم poiهایی که مساحتشون از یه حدی بیشتره رو خاکستری کن یا اون‌هایی که تایپشون tourismئه رو آیکون دیگه‌ای بذار و ...توی این متن سعی کردم خیلی خلاصه اصول اولیه‌ای رو که دونستنشون برای کار با کاشی‌ها و بالا آوردن نقشه کمک می‌کنه بگم، حتما خیلی چیزهای دیگه‌ای هست و دونستنش کمک می‌کنه. خوشحال می‌شم اگر سوالی یا پیشنهادی بود توی کامنت‌ها مطرح کنین :)</description>
                <category>بلاگ فنی بلد</category>
                <author>علی ایرانی</author>
                <pubDate>Tue, 01 Jun 2021 21:44:11 +0430</pubDate>
            </item>
                    <item>
                <title>مسیریاب‌ها و تخمین ترافیکی</title>
                <link>https://virgool.io/BaladMaps/%D9%85%D8%B3%DB%8C%D8%B1%DB%8C%D8%A7%D8%A8-%D9%87%D8%A7-%D9%88-%D9%88%D8%B6%D8%B9%DB%8C%D8%AA-%D8%AA%D8%B1%D8%A7%D9%81%DB%8C%DA%A9%DB%8C-w8r3edgdd9ol</link>
                <description>شاید بارها براتون سوال شده باشه که مسیریاب‌ها چه طور از اطلاعات خودروها برای تخمین ترافیک استفاده می‌کنند. در این مقاله کوتاه قصد داریم خیلی ساده به مسئله تخمین ترافیک در  نقشه و مسیریاب بلد نگاه کنیم. ترافیک لحظه‌ای مهمترین معیار ترافیکیترافیک لحظه‌ای در واقع همون سرعت خودروها در یک مسیر چند ده متری(یا گاهی چند صدمتری) است. مسافران در طول سفر از نقاط مختلفی گذر میکنند و در طول سفر اطلاعات سرعت GPS و لوکیشن تلفن همراهشون به صورت کاملا ناشناس در اختیار مسیریاب‌ها قرار میگیره. شاید خیلی ساده بشه فرض کرد که اطلاعات سرعت GPS و یک میانگین گیری ساده مشکلاتمون رو حل میکنه و ترافیک مسیر رو بهمون میده، ولی واقعیت اینه که در سرعت‌های پایین ما نمیتونیم از GPS استفاده کنیم چون دقت به شدت پایینی داره. بنابراین در مواقع که ترافیک رخ میده (در واقع مهمترین مواقع کار ما :)‌ ) نمیتونیم دقت خوبی در تخمین زمان سفر یا ترافیک داشته باشیم. اینجاست که سراغ فیزیک دوران مدرسه میریم. سرعت متوسط! در واقع در هر لحظه سرعت متوسط شما در طول سفرتون در یک پنجره‌ی زمانی یک دقیقه‌ای محاسبه میشه و به قسمتی از معبر نسبت داده میشه.پنجره یک دقیقه‌ای برای محاسبه ی سرعت متوسط کاربران در هر قطعه مسیردر طول زمان عبور شما از خیابان‌های مختلف، ممکن هست برخی جاها گوشی اصلا لوکیشن نفرسته. مثلا در کنار ساختمان‌های بلند هستید یا اینترنت شما قطع شده! یا شاید برخی معابر این قدر کوتاه باشند که خطای لوکیشن از اندازه کل معبر بیشتر باشه! در چنین شرایطی مسیریاب از لوکیشن قبل و بعد شما برای تخمین سرعت استفاده میکنه. خلاصه اینکه با استفاده از فاصله‌ی مکانی و زمانی دو لوکیشن ما می‌تونیم یک سرعت متوسط به شما در گذر از یک معبر نسبت بدیم.نکته مهم اینه که برای هر معبری که شما عبور میکنید، ما عددی به عنوان سرعت متوسط به شما نسبت میدیم. این کار با پردازش استریم انجام میشه و ما فیلترهای مختلفی میگذاریم تا داده‌های خراب جدا بشن و دقیقترین داده‌ی ترافیکی برای شما فراهم بشه.حالا که سرعت کاربرامون برای هر قطعه خیابون رو داریم، کافیه بگیم برای هر قطعه میخواهیم چه سرعتی به کاربران اعلام کنیم. در واقع بگیم وضعیت ترافیک هر خیابون چه طوریه. بله درسته! خیابون‌ها از قطعه‌های کوچکتری تشکیل شدند (فاصله‌ی بین هر دو نقطه تقاطع معابر یک قطعه هست) و ما مسئله رو برای این قطعه‌های کوچک حل میکنیم.عبور چهارخودرو از یک قطعه در زمان ۱۰ دقیقهحالا کافیه یک میانگیری وزن‌دار انجام بدیم. بسته به اینکه دوست داریم مدل ما چه قدر حساس باشه میتونیم این میانگیری وزن‌دار رو در نوع‌های گوناگون پیاده کنیم. مثلا میتونیم به صورت نمایی با زمان گذشته وزن دار کنیم. این طوری خودرویی که در زمان دورتر در پنجره ۱۵ دقیقه‌ای عبور کرده تاثیر کمتری روی ترافیک لحظه‌ای خواهد داشت. با بازی با این وزن‌ها میتونیم مدل‌های متفاوت و جالبی بسازیم. خلاصش اینکه ترکیب این سرعتای متوسط به دست اومده باهم ترافیک یک خیابون رو می‌سازه.اما یک نکته دیگر هم هست. اگر در طول این ۱۵ دقیقه دو موتور سوار از ترافیک با سرعت بالا عبور کنند(مثلا از میان ماشین‌ها عبور کنند!) عدد سرعت(ترافیک معبر) تغییر محسوسی میکنه! یا اگر شوماخر در معبر ویراژ بده چی!؟ یا اینکه هاشم اقا با سرعت بسیار پایینی از لاین سوم در حال حرکت باشه!؟افراد باتوجه به نوع خودرو و توانایی‌های رانندگی با سرعت‌های مختلفی می‌تونند در ترافیک حرکت کنند. هدف مسیریاب‌ها اما ارائه‌ی سرعت نرمال حرکت در معبر است. بنابراین به نوعی باید این رفتارهای خارج از عرف(چه سرعت‌های بسیار کم و چه سرعت‌های زیاد، رفتار نامتعارف!) تشخیص داده شوند و اثرگذاری آن‌ها کم شود. برای این‌کار ما به صورت آنلاین توزیع آماری هر قطعه خیابان رو محاسبه می‌کنیم. یعنی چی؟! یعنی با استفاده از اطلاعات گذشتمون یک توزیع از سرعت حرکت خودرو‌ها نگه میداریم و چک میکنیم سرعت‌های جدید کجای این توزیع قرار میگیرند. هر چه قدر نسبت به توزیع آماری فاصله داشته باشند تاثیر نهایی آن‌ها در سرعت لحظه‌ای کمتر میشه.ذخیره سازی وضعیت معابر با مدل‌های ریاضی و به روزرسانی در پنجره‌های یک دقیقه‌ایپس تا اینجای کار بلد اطلاعات خودروها رو به صورت استریم در بازه‌های یک دقیقه‌ای بررسی میکنه و به هر کاربر یک سرعت نسبت میده. بعد از این، از این سرعت‌ها  میانگین وزن‌دار میگره و حواسش هم هست که سرعت‌های نامتعارف رو تشخیص بده. ضمنا، تمام اطلاعاتی که نیاز داره در مورد معبرها داشته باشه رو در استیت‌هایی به صورت استریم نگه میداره و در بازه‌های یک دقیقه‌ای اون‌ها رو به‌روزرسانی میکنه.یه سوال دیگه!اگر روی پنجره‌های ۱۵ دقیقه‌ای میانگین می‌گیرید، چه طور میتونید به سرعت،تغییر  در ترافیک رو تشخیص بدید!؟ ایا واقعا ۱۵ دقیقه زمان نیاز دارید تا به روزرسانی شوید!؟ جواب،نع! واقعیت اینه که ما به طور مرتب احتمال اینکه تغییر در ترافیک رخ بده رو به صورت آنلاین بررسی می‌کنیم.معمولا بسته به حجم تردد بین یک تا ۳ دقیقه طول میکشه که بلد متوجه بشه ترافیک باز شده یا بلعکس، در نقطه‌ای ترافیک شده.(مثلا فرض کنید بارون ناگهانی شروع شده یا تصادفی رخ داده).تخمین عمر وضعیت ترافیک در یک معبردر واقع برای هر معبر ما در هر لحظه داریم عمر وضعیت ترافیکی حال حاضر رو تخمین میزنیم و به محض اینکه متوجه بشیم احتمال تموم شدن وضعیت قبلی زیاد شده تمام داده‌های گذشتمونو فراموش می‌کنیم و فقط به داده‌های جدید توجه می‌کنیم. اینکه چه طور این موضوع رو محاسبه می‌کنیم رو شاید در پست دیگری شرح بدیم.نکته‌ی جالب توجه در تمام مسیری که گفتم اینه که تقریبا هیچ پارامتری توسط ما قرارداده نشده و سرویس هر موقع شروع به کار کنه اروم اروم استیت‌های بهینه خودش رو پیدا میکنه و نتیجه مطلوب رو نشون میده. مثلا فرض کنید در زمان بارندگی وضعیت ترافیک تغییر کنه. تمام توزیع‌های اماری در عرض ۲ تا ۳ دقیقه‌ وضعیت خودشون رو تغییر میدهند تا با حالت جدید تطابق پیدا کنند( واسه همینه میگیم بلد در هر شرایطی آماده حرکت است! :)‌ ).مگه همه جا کاربر دارید که ترافیک همه‌ی نقاط رو نشون میدید!؟نه هیچ مسیریابی در هر لحظه در همه جا کاربر نداره. سیستم ترافیک لحظه‌ای با همه ی پیچیدگی‌های ساختاری و مدل‌سازی که داره، نمیتونه جوابگوی همه‌ی نیازها باشه. چون در نهایت وابسته به حضور کاربره! برای همین بلد سرعت حدودی معابر با تردد قابل قبول رو  طی سه ماه گذشته مرتب بررسی میکنه. میتونید تصور کنید چه حجم دیتای زیادی رو روزانه بلد پردازش میکنه تا معیاری برای سرعت‌ معابر مختلف به دست بیاره. در واقع این معابر شریان‌های اصلی شهرها نیستند ولی تردد از اون‌ها قابل توجه‌ هست و معمولا در ساعات مختلف رفتار ترافیکی مختلفی دارند. ما وابسته به روز هفته(تعطیلی یا غیر تعطیل)، ساعت و رفتارهای ترافیکی، می‌تونیم تخمین نسبتا دقیقی از وضعیت ترافیک در اون نقطه بهتون بدیم.میتونید تخمین بزنید برای کل این پروسه، ما چه توان پردازشی صرف میکنیم تا دقیقترین معیار از ترافیک رو در اختیارتون قرار بدیم؟!نظرتون چیه؟اگر دوست دارید راجع به بخش‌های مختلف بلد بیشتر بدونید و بفهمید چه طور با واحد‌های محاسباتی یا مدل‌های ریاضی سعی می‌کنیم سرویس خوبی به شما ارائه بدیم، همینجا واسمون کامنت بگذارید و سوالاتتون رو بپرسید. من و همکارانم خوشحال میشیم به سوالات و ابهامات شما پاسخ بدیم.</description>
                <category>بلاگ فنی بلد</category>
                <author>علی قندی</author>
                <pubDate>Sat, 17 Apr 2021 19:25:13 +0430</pubDate>
            </item>
                    <item>
                <title>استفاده از داده‌‌ها برای مانیتور کردن وضعیت محصول یا چگونه بفهمیم حال محصول ما خوب است؟</title>
                <link>https://virgool.io/BaladMaps/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%A7%D9%86%DB%8C%D8%AA%D9%88%D8%B1-%DA%A9%D8%B1%D8%AF%D9%86-%D9%88%D8%B6%D8%B9%DB%8C%D8%AA-%D9%85%D8%AD%D8%B5%D9%88%D9%84-%DB%8C%D8%A7-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A8%D9%81%D9%87%D9%85%DB%8C%D9%85-%D8%AD%D8%A7%D9%84-%D9%85%D8%AD%D8%B5%D9%88%D9%84-%D9%85%D8%A7-%D8%AE%D9%88%D8%A8-%D8%A7%D8%B3%D8%AA-gawxatkj831c</link>
                <description>این روزها اهمیت استفاده از داده‌ها در شرکت‌های بزرگ به منظور بهبود محصولاتی که ارائه می‌دن، بر کسی پوشیده نیست و خیلی از شرکت‌ها به صورت data driven تصمیم‌گیری می‌کنند. در واقع محور اصلی تصمیم گیری‌‌ها در حوزه‌های مختلف از توسعه‌ی محصول گرفته تا استخدام و تبلیغات و فروش، داده‌های متنوع اونهاست.توی هر محصولی، آیتم‌ها و معیارهای با‌اهمیتی وجود داره که بررسی مداوم اونها به مدیران محصول، کمک می‌کنه تا ببینن وضعیت فعلی محصول به چه صورتیه و چقدر حالش خوبه یا الان چقدر رضایت نسبی کاربران رو برآورده کرده. به این معیارها و اندازه‌ها، اصطلاحاً متریک گفته میشه.متریک‌ها در واقع عددها و اندازه‌گیری‌هایی هستند که به مدیران کمک می کنه تا ببینن چقدر در مسیر درستی قدم برمی‌دارن و در مواقعی که داره اتفاق بدی می‌افته، بهشون هشدار میده تا اقدامات پیشگیرانه رو در دستور کار خودشون قرار بدن.اینکه چه متریکی تعریف می‌کنیم و البته چه‌جوری اون رو حساب می‌کنیم، خیلی اهمیت داره. خیلی وقتا، تعریف یک متریک اشتباه یا بی‌اهمیت باعث میشه که اون متریک، کارکرد اصلیش رو از دست بده و تیم‌ها و شرکت‌ها رو گمراه کنه و اونها خیلی دیر متوجه مشکل بشن و گاهی خسارت ناشی از این تاخیر می‌تونه جبران‌ناپذیر بشه. پس تعریف یک متریک مناسب واقعا ارزش زیادی داره. اصطلاحاً می‌گن که متریک باید Actionable باشه تا بتونیم براساس اون، تصمیم‌های درستی بگیریم.بررسی مداوم یک متریک، دید خوبی به آدمها میده تا ببینن در طول زمان، میزان تغییرات اون متریک، چه تأثیری روی اون کسب‌و‌کار یا محصول گذاشته. هرچند نیازه که هر از چندگاهی، کل متریک‌هایی که وجود داره، مجدداً بازنگری بشه. شاید متریکی که مثلاً توی یک بازه‌ی زمانی، مهم و ارزشمند قلمداد می‌شده، بعد از مدتی، آورده‌ی خاصی نداشته باشه و لازم باشه یا تغییر کنه یا کلاً حذف بشه و متریک دیگه‌ای به جاش تعریف بشه.توی تیم بلد هم، بخش‌های مختلف، متریک‌های متنوعی رو برای مانیتور کردن قسمت‌های مختلف محصول، طراحی کردن و از روی نتایج روزانه، هفتگی یا ماهانه، تصمیم‌های متناسب رو برای اون بخش از محصول می‌گیرن.بعضی از این متریک‌ها خیلی کلان و کلّی هست، مواردی مثل تعداد کاربران هفتگی بلد، تعداد کسانی که از حمل‌ و‌ نقل عمومی بلد استفاده کردن، تعداد پوی‌هایی که توسط کاربران مشاهده شده، فیدبک‌ها و کامنت‌هایی که برای پوی‌ها از سمت کاربران ارسال شده، تعداد مسیریابی‌های روزانه‌ی صورت گرفته با بلد و کلّی موارد دیگه.(منظور من از پوی در این نوشتار، point of interest هست. به عبارت ساده‌تر، هر نقطه یا مکانی از نقشه که می‌تونه از جهاتی، برای کاربرهای ما حائز اهمیت باشه)بعضی متریک‌ها هم البته تعریفش خیلی ساده نیست و صرفاً از شمارش یک سری رفتار یا اکشن کاربر حاصل نمیشه و تخصصی‌تره. البته این مهمّه که در کل، متریک قابل فهم باشه ولی مهم‌تر از اون، اینه که بتونیم یک رابطه‌ی منطقی و قابل‌پذیرش بین اون متریک و نتیجه‌ی مدنظرمون (که به همون خاطر اون متریک رو تعریف کردیم)، پیدا کنیم. گاهی گذشت زمان مشخص می‌کنه که متریک تعریف شده اصولاً متریک مناسبی بوده یا نه.بررسی همه‌ی انواع متریک‌های مختلفی که توی بلد مورد استفاده قرار می‌گیره، توی این نوشتار میسّر نیست و از حوصله هم خارج میشه. علت این امر اینه که دیتای روزانه و لحظه‌ای که داره توی دیتابیس‌های مختلف ذخیره میشه، واقعا زیاده.خیلی از اکشن‌ها یا رفتارهای کاربر، ذاتاً پرتکرار هستن. مثلا کاربرها صرفا به مشاهده‌ی یک پوی بسنده نمی‌کنن و در ادامه، کارهای دیگه‌ای مثل اشتراک‌گذاری، کپی آدرس، تماس با شماره تلفن ثبت شده، بازکردن سایت در صورت وجود و ... رو انجام می‌دن و همین باعث میشه که تعداد رفتارهای ذخیره شده توی دیتابیس‌های ما خیلی زیاد بشه. این داده‌ها البته با توجه به اینکه در حال حاضر بلد بیشتر از ۵ میلیون کاربر داره، منطقی به نظر می‌رسه. حجم داده‌ها تازه توی جاهایی مثل بحث لوکیشن و سرعت‌های لحظه‌ای افراد، خیلی خیلی بیشتر و بزرگتر میشه. توی همچین فضای بزرگی از داده‌ها، تعریف متریک‌های Actionable خیلی حیاتیه.حالا وقتشه یکم توی بحث پوی‌ها دقیق‌تر بشیم!همون‌طور که احتمالاً خودتون هم می‌دونید، یکی از کاربردهای بلد مربوط به نقشه و اطلاعات داخل اون هست. توی نقشه‌ی بلد، پوی‌های خیلی زیادی در دسته‌بندی‌های مختلف روی نقشه نمایش داده شده. این نقاط می‌تونه جاهای معروفی مثل یک پارک یا مکان دیدنی باشه، یا جاهای عمومی مثل بیمارستان و پمپ بنزین و بانک و یا حتی یک کسب‌و‌کار شخصی مثل سوپرمارکت یا میوه‌فروشی یا مواردی مشابه اینها.افراد می‌تونن با کلیک کردن روی هر پوی، به اطلاعات اضافی که دنبالش هستن، دسترسی داشته باشن. این اطلاعات اضافی، با توجه به دسته‌بندی اون پوی می‌تونه چیزهای مختلفی باشه. آدرس، شماره تلفن، ساعت کاری، تصویر اون مکان و همچنین امتیاز و نظرات احتمالی افراد در مورد اون مکان، از جمله چیزهایی هست که برای پوی‌ها قابل دسترسیه.پیدا کردن مکا‌ن‌های مورد علاقه روی نقشهتوی بلد، ما از طریق منابع و بانک‌های اطلاعاتی بخش‌های مختلف، تلاش می‌کنیم که دو هدف رو دنبال کنیم:تکمیل هرچه بیشتر پوی‌های روی نقشه و رسیدن به جامعیت اطلاعاتافزایش دقت اطلاعات پوی‌های نقشهبرای هر دو هدف، ما روی مشارکت کاربرانمون حساب ویژه‌ای باز کردیم و اعتقاد داریم که هیچ کسی مثل خود کاربرها، به اطلاعات محل زندگی یا محل کار یا هر منطقه‌ا‌ی که زیاد به اونجا رفت‌و‌‌آمد می‌کنه، احاطه نداره.افراد می‌تونن برای هر پوی یا نقطه‌ی منتخب روی نقشه، توضیح بذارن، اطلاعاتش رو در صورت لزوم اصلاح یا کامل کنن و یا اینکه بهش رأی بدن و تجربشون رو با بقیه به اشتراک بذارن. اهمیت این قضیه وقتی بیشتر می‌شه که توجه کنیم با گذشت زمان، اطلاعات پوی‌ها دستخوش تغییرات زیادی میشه. این گاهی مثلاً ممکنه مربوط به اطلاعات جزیی مثل ساعت کاری یک مکان یا یه کسب و کار باشه یا حتی در موارد مهم‌تر، اصلا اون مکان جابه‌جا شده یا کلا عوض شده باشه. مثلاً فرض کنید یه مغازه‌ی سوپرمارکت تبدیل به خشک‌شویی بشه یا یه رستوران، کلاً آدرسش عوض بشه. با توجه به اینکه آدمای اون محل، اولین افرادی هستند که از تغییرات پوی‌های اون محل مطلع می‌شن، بنابراین سریع‌ترین راه برای به‌‌روز‌ نگه‌داشتن دیتای پوی‌ها، افزایش هرچه بیشتر مشارکت آدمها برای اضافه کردن و تصحیح پوی‌های نقشه هست.خیلی از بحث اولیه فاصله نگیریم! فهمیدیم که مشارکت کاربران خیلی به ما می‌تونه کمک کنه. اما:از سمت ما چه اتفاقاتی در راستای اون اهدافی که ذکر شد، می‌تونه بیفته؟اگه ما بخوایم به سراغ غنی‌کردن و افزایش دقت پوی‌ها بریم، بدیهیه که نمی‌تونیم در قدم اول، همه‌ی دیتای پوی‌ها رو به نقشه اضافه کنیم یا همشون رو روی نقشه دقیق کنیم. اینجاست که تعریف متریک‌های مناسب، می‌تونه به کمک ما بیاد. در حقیقت، محدودیت‌های زمانی، نیروی انسانی و هزینه‌های احتمالی، این نیاز رو ایجاد می‌کنه که یه لیست اولویت درست کنیم و اول سراغ پوی‌ها یا دسته‌بندی‌های بااهمیت (از نظر کاربرانمون) بریم.ما با توجه به دیتایی که از سمت کاربرانمون البته به صورت ناشناس، ذخیره میشه، می‌تونیم اطلاعات مختلفی رو تحلیل کنیم. مثلا می‌تونیم ببینیم بیشترین دسته‌ای که توی نقشه توسط کاربران جستجو میشه، کدوم‌ها هستند. یا مثلاً بیشترین پوی‌هایی که روی نقشه مشاهده شدن، از چه دسته‌ای بودن یا حتی کمی پیشرفته‌تر، رفتاری که بعد از انتخاب اون پوی از کاربران سر زده، برای ما با اهمیت میشه. مثلا با بررسی دیتاها در بازه‌های زمانی مختلف(مثلا هفتگی یا ماهانه) می‌تونیم بفهمیم که به عنوان نمونه، برای پوی‌های با دسته‌بندی کافه/رستوران، یکی از رفتارهای پرتکرار، تماس با شماره تلفن ذخیره شده برای اون پوی هست.(احتمالا برای رزرو جا یا اطلاع دقیق‌تر از ساعات کاری یا حتی دادن سفارش) این رفتار کاربر برای هر دسته‌ای ممکنه متفاوت باشه ولی فاکتور یا فاکتورهایی که توی اون دسته‌بندی خاص، برای ما اهمیت دارن رو  بهتر مشخص می‌کنه.پیدا کردن یه الگوی رفتاری دقیق از کاربران، با توجه به جنبه‌های مختلفی که توی این مساله وجود داره، کار ساده‌ای نیست. مثلا ممکنه توی یه برهه‌ی زمانی(مثل زمانی که همه‌گیری کرونا تشدید میشه)، اهمیت پوی‌های دسته‌ی بیمارستان و درمانگاه و آزمایشگاه افزایش پیدا کنه یا در ایام تعطیلات، رفتارهای مربوط به مسیریابی به مناطق دیدنی افزایش پیدا کنه.نمونه ای از اطلاعات پوی‌ها در زمینه مراکز بهداشتیاینجاست که با توجه به متریک‌هایی که تعریف کردیم و نظارت همیشگی بر اونها، می‌تونیم تصمیم‌های مناسب‌تری بگیریم. یا مثلاً اگر بخوایم با توجه به محدودیت زمان و محدودیت بودجه، به سراغ غنی‌ کردن دیتای چند دسته‌ی خاص بریم، دید خوبی پیدا کنیم که از کدوم‌ها شروع کنیم. در واقع همه‌ی اینها به خاطر اینه که وزن و تأثیر قضاوت‌های شخصی ما توی تصمیم‌گیری‌ها کمتر بشه و معیار اصلی، رفتار کاربران بلد باشه.به عنوان مثال، یکی از معیارهای مورد علاقه‌ی مدیرای محصول،‌ اینه که کاری کنن که کاربران زمان بیشتری رو با اون محصول بگذرونن. مثلا شرکت هایی مثل فیس‌بوک و اینستاگرام، خیلی خوب به این هدف رسیدن. به این مسئله engagement می‌گن. برای هر محصولی، این متریک می‌تونه تعریف خودش رو داشته باشه و به روش متفاوتی هم اندازه گیری بشه.مثلا توی بخش نقشه‌، می‌تونیم بگیم اگر کاربر صرفاً به نگاه کردن به نقشه اکتفا نکنه یا بعد از مشاهد‌ه‌ی یک پوی، یک مجموعه عملیات یا اینتراکشن رو انجام بده، این یعنی اینکه میزان engagement در بخش پوی‌ها بالاتر رفته. منظور از اینتراکشن، می‌تونه یکی از کارهای اشتراک گذاری مکان، تماس با شماره تلفن، وارد شدن به سایت یا اکانت اینستاگرام اون مکان و چیزهایی مثل این باشه. پس هدف ما می تونه اینجوری تعریف بشه که میزان اینتراکشن کاربران برای هر پوی مجزا رو افزایش بدیم. حالا این چه جوری اندازه‌گیری میشه؟متریک ما مثلاً می‌تونه اینجوری تعریف بشه:  «نسبت تعداد پوی‌های با حداقل یک اینتراکشن از سوی کاربر به تعداد کل پوی‌های موجود روی نقشه در مدت یک ماه»هرچی این نسبت افزایش پیدا کنه، میشه نتیجه گرفت که دیتای جانبی پوی‌ها، دیتای ارزشمندتری بوده که در قبال اون، کاربر انگیزه‌ی ادامه‌ی کار با اون مکان نقشه رو هم پیدا کرده. پس عملا ما به افزایش engagement کاربران کمک کردیم.یه چیزی توی انتخاب متریک‌ها باید خیلی مورد توجه قرار بگیره. و اونم اینکه معیاری انتخاب نکنیم که گول‌زننده باشه و ما رو گمراه کنه. مثلاً ممکنه برای همین مساله‌ی engagement، متریک رو صرفاً تعداد پوی‌های دارای اینتراکشن تعریف کنیم و هدفمون افزایش این معیار باشه. واقعیت اینه که این خیلی متریک مناسبی نیست، چون معمولا ما با توجه به توسعه‌ی محصولمون، روزانه تعدادی کاربر جدید داریم و علاوه بر اون، هر روز که می‌گذره تعداد پوی‌های روی نقشه رو هم افزایش می‌دیم و کاملترش می کنیم. پس طبیعیه که انتظار داشته باشیم تعداد پوی‌هایی که از سمت کاربر، با اینتراکشنی همراه بودن، افزایش پیدا کنه. بنابراین افزایش چنین متریکی نباید ما رو خیلی خوشحال کنه. در واقع باید این افزایش پوی‌های با اینتراکشن، همگام با رشد کاربران محصول و رشد تعداد پوی‌های ثبت شده روی نقشه باشه و اون موارد رو هم لحاظ کنه. برای همینه که ما از «نسبت پوی‌های دارای اینتراکشن به تعداد کل پوی‌های روی نقشه» استفاده می کنیم تا شهود بهتری از engagement کاربران داشته باشیم. اینکه بدونیم مثلا نسبت پوی‌های همراه اینتراکشن به کل پوی‌ها، از میزان x درصد به y درصد رسیده، خیلی شهود بهتریه تا اینکه به عدد اکتفا کنیم و مثلا بگیم از تعداد x هزار پوی دارای اینتراکشن به تعداد y هزار پوی رسیدیم. چون مورد دومی همونطور که ذکر شد، لزوما نشون‌دهنده ی engagement کاربران نیست و بخشی از اون می‌تونه ناشی از افزایش کاربران بلد و افزایش تعداد‌ پوی‌ها باشه.بیاید یه مثال دیگه رو بررسی کنیم:بر اساس تحقیقاتی که روی رفتار کاربران حوزه‌ی تکنولوژی توی کل دنیا انجام شده، مشخص شده که حدود هفتاد درصد اپلیکیشن‌ها، بعد از دانلود فقط یک بار استفاده می‌شن و دیگه کاربر هیچ وقت سراغ اون اپلیکیشن یا محصول نمی ره.برای همین، چیزی که برای خیلی از مدیران محصول اهمیت داره، مراجعه و استفاده‌ی چندباره‌ی کاربران به اون محصوله و این رو نشون میده که اون محصول واقعا از نگاه کاربر، چیز باارزشیه و اصطلاحاً برای کاربر ارزش خلق می کنه. به این مسئله retention گفته میشه. برای اندازه‌گیریش هم در واقع باید متریکی تعریف کنیم که بیانگر بازگشت دوباره یا چندباره‌ی کاربر و استفاده‌ی مجددش از محصول در یک بازه‌ی زمانی مشخصه. این که استفاده رو چی تعریف کنیم یا بازه‌ی زمانی رو چقدر بگیریم، چیزیه که بسته به کاربرد اون محصول و براساس تجربه‌های کاربری افراد به دست میاد.نمونه‌ای از مراکز تفریحی و توریستی و اطلاعات جانبی آنهاتوی بلد، هر کاربری که ثبت نام می‌کنه، به صورت اتوماتیک یه شناسه یا id بهش اختصاص داده میشه. چیزی که فقط منحصر به همون کاربره. حالا فرض کنید می‌خوایم برای کار با پوی‌ها یه متریک که معرف retention باشه، در همون حوزه‌ی پوی‌، تعریف کنیم. می‌‌تونیم بگیم اگه کاربری در یک هفته بیش از دوبار و در دو بازه‌ی زمانی متفاوت، روی بخش جزئیات اطلاعات مکان کلیک کرده، به این معنیه که به این ویژگی نقشه علاقه‌منده و احتمالا اطلاعات پوی‌ها براش مفید بوده. اینکه چه جوری بفهمیم کاربری که الان روی جزئیات یک مکان کلیک کرده، همون آدمیه که مثلا دیروز هم روی جزئیات یک پوی دیگه کلیک کرده، به کمک همون شناسه‌ی کاربر انجام میشه. نظارت همیشگی روی این متریک که معیاری از retention هست، مخصوصاً در زمان‌هایی که ما در بخش پوی‌ها یا نحوه‌ی مشارکت کاربران تغییری می‌دیم، خیلی حیاتیه و می‌تونه به افراد تصمیم‌گیر، در اتخاذ تصمیم‌های بهتر در جهت اصلاح یا تثبیت اون تغییرات کمک کنه.حوزه‌ی کار با دیتا در مجموعه‌ی بلد، خیلی گسترده و بزرگه. ذکر همه‌ی متریک‌هایی که توی بخش پوی نقشه و بخش‌های دیگه مثل مشارکت کاربران، مسیریابی و ترافیک و... وجود داره، نیاز به وقت و حوصله‌ی زیادی داره که شاید توی مقاله‌های بعدی، بتونیم بیشتر در موردشون صحبت کنیم.البته استفاده از داده‌ها، صرفاً برای تعریف متریک‌های مناسب جهت نظارت بر نحوه‌ی پیشرفت محصول، خلاصه نمیشه. توی یه مطلب دیگه از کاربردهای آماری مجموعه‌ی دیتای بسیار بزرگمون برای بحث رفتارشناسی کاربران بلد توی سفر، بررسی جاده‌ها و اتوبان‌های بین شهری و ترافیک اونها در ایام مختلف سال و تأثیر تصمیم‌گیری‌‌هایی که قانون‌گذاران کشوری (در بحث رفت‌و‌آمد و موارد اینچنینی) به واسطه‌ی همه‌گیری ویروس کرونا اعمال می‌کنن، می‌پردازم و اشاره می‌کنم که چطور این تحلیل‌ها می‌تونه مبنای قضاوت ما در مورد درستی یا نادرستی این تصمیم‌ گیری‌های کلان کشوری باشه.</description>
                <category>بلاگ فنی بلد</category>
                <author>سعید مهدیان</author>
                <pubDate>Sat, 13 Mar 2021 16:21:58 +0330</pubDate>
            </item>
                    <item>
                <title>یک سال دورکاری در بلد</title>
                <link>https://virgool.io/BaladMaps/%DB%8C%DA%A9-%D8%B3%D8%A7%D9%84-%D8%AF%D9%88%D8%B1%DA%A9%D8%A7%D8%B1%DB%8C-%D8%AF%D8%B1-%D8%A8%D9%84%D8%AF-vv9ro71yopwq</link>
                <description>این روزها که حدود یک سال از شروع گسترش ویروس کرونا در ایران گذشته، همه‌ی ما خواه یا ناخواه با مجموعه‌ای از تغییرات روبه‌رو شدیم. شاید کسی فکرش رو نمی‌کرد که در آستانه‌‌ی سال ۱۴۰۰ حدود یک سال از دورکاری به این شکل در بلد و همین‌طور خیلی از شرکت‌های دیگه بگذره. روزهای اول واقعا عجیب و حتی ترسناک بود؛ ترس از اینکه سلامتیمون لحظه‌به‌لحظه در خطره و شناخت کافی هم از ویروسی که باهاش روبه‌رو بودیم نداشتیم. همون روزهای اول در بلد تصمیم گرفتیم اولویت با دورکاری و سلامتی اعضای تیم باشه. بیشتر بچه‌های تیم بلد با توجه به کارهاشون امکان دورکاری رو داشتند و این موضوع باعث شد که در تصمیم‌گیری راحت‌تر باشیم. از طرفی هم تلاش کردیم برای افرادی که مجبور بودن کارهاشون رو حضوری انجام بدن شرایط رو به شکلی تغییر بدیم که بتونند از خونه کارها رو پیش ببرند و به طور کلی کم‌کم «آفیس» تعریفش عوض شد.با توجه به ساختار و مدل کاریمون، خیلی زود تونستیم دورکاری رو شروع کنیم. سبک کاری جدید ما رو با موضوعات تازه‌ای روبه‌رو کرد که هنوز هم باهاش سروکله می‌زنیم. آدم‌هایی که تا الان به صورت حضوری در محیط کار و در یه فضای مشخصی در حال کار کردن بودند و تعاملات خودشون رو در این محیط داشتند (ارتباط و گپ‌وگفت با دیگران، استفاده از اتاق بازی، ناهارهای دسته‌جمعی و...)، دیگه از خونه کارهاشون رو پیش می‌بردند. نداشتن تجربه‌ی کافی در مورد دورکاری هم باعث شد مشکلات جدیدی مطرح بشه. مثلاً دیگه تفاوت کار و زندگی اصلا مشخص نبود. روزهای اول نمی‌دونستیم که کِی باید نون بپزیم و کِی و چطور روی کارمون تمرکز کنیم. جدا از استرس‌های خود کرونا، چیزهایی مثل نداشتن فضای مناسب برای کار توی خونه، ضعیف بودن اینترنت، سخت بودن حضور در جلسات آنلاین، ندیدن و تعامل نداشتن روزمره با اعضای تیم، نداشتن تفریح مناسب و… باعث شد که در چنین فضایی به مرور موضوعاتی مثل کاهش تمرکز و پرفورمنس بیشتر نمود پیدا کنه.حفظ سلامتیدر اولین قدم نیاز بود که بعضی از اعضای تیم که لپتاپ نداشتند و با سیستم‌های موجود در شرکت کار می‌کردند تجهیزات و اسباب کارشون رو به خونه‌هاشون ببرند. با کمک خود بچه‌ها و همین‌طور تیم پرتلاش امکانات و تأمین در همون روزهای اولیه با وجود شرایط سخت کرونایی، تونستیم با ارسال وسایل کار به خونه‌ها و جایگزین کردن بعضی از سیستم‌ها با لپتاپ این مشکل رو سریع‌تر رفع کنیم. علاوه بر تجهیزات الکترونیکی، حتی این فرصت ایجاد شد که افراد بتونند میزهای کارشون رو هم در خونه‌هاشون داشته‌ باشند تا بهتر بتونند فضای اختصاصی برای خودشون فراهم کنند. بودجه‌‌ای هم تحت عنوان وام دورکاری در نظر گرفته شد تا اگر کسی برای بهبود تجربه‌ی کاریش نیاز به خرید چیزی داشت ازش استفاده کنه.اما بعضی از افراد به دلیل نوع کار‌شون نیاز داشتند که بعضی روزها در شرکت حضور داشته باشند. تعدادی از بچه‌ها هم به دلایلی نمی‌تونستند دورکاری کنند و نیاز به فضایی برای انجام کارهاشون داشتند. علاوه بر این‌ها برای برخی از کارها مثل کارهای اداری لازم می‌شد که به شرکت بیایم. برای همین تلاش شد تا محیط کار تا جای ممکن ایمن بشه؛ از جمله مهم‌ترین اقداماتی که برای ایمن‌سازی محیط کارمون انجام شد این موارد بود:ضدعفونی کردن مرتب محیطتغییر ساختار جانمایی میزها و فاصله‌گذاری بیشتر بینشونمحدود کردن ظرفیت اتاق‌های جلسه، آسانسورها و میزهای غذاخوریکنترل دما و اکسیژن افراد در ورودی ساختماننصب مخازن مایع ضدعفونی‌کننده در نقاط مختلف محیط کارنصب جعبه‌های دستمال کاغذی در همه‌ی نقاطی که دری برای باز و بسته شدن، دست‌گیره‌ای برای گرفتن یا دکمه‌ای برای لمس کردن وجود داشتتغییر خوراکی‌ها به مواد غذایی آماده و مطمئن و دارای بسته‌‌بندی (به جای خوراکی‌های باز)آگاهی‌بخشی و اطلاع‌رسانی‌های مختلف در رابطه با شرایط حضور در شرکتعلامت‌گذاری‌های مناسب در محیط شرکتعلاوه بر این‌ها فضای کاری اشتراکی برای استفاده‌ی موقت و موردی افرادی که گه‌گاهی نیاز به حضور در شرکت داشتند در محیط شرکت ایجاد شد. همچنین تست تشخیص کرونا هم به صورت دو هفته یک‌بار در شرکت انجام می‌شه تا افراد با خیال راحت‌تر، آگاهی بیشتری نسبت به وضعیت سلامتی خودشون پیدا کنند. البته در تمام این مدت همچنان بچه‌ها رو تشویق به دورکاری می‌کردیم تا محیط برای افرادی که مجبورن حضوری بیان ایمن باشه. تمامی این اقدامات در گذر این یک سال به مرور تغییرات و بهبودهای قابل توجه و مثبتی داشت، چون به هر حال تجربه‌ی جدیدی برای همه‌‌ی ما بود و به مرور با همفکری و کسب اطلاعات بیشتر تونستیم راه‌کارهای بهتری رو پیاده کنیم.تجربه‌ی کاری مدل هیبریدیاگر از چالش‌های سلامتی مرتبط با کرونا بگذریم، به موضوع نوپا و جدید کار در فضای ریموت یا هیبریدی برای بلد می‌رسیم. فضایی که تعدادی از افراد تیم حضوری در کنار هم و بخشی دیگر، به صورت ریموت در حال همکاری هستند. چالش بزرگ در همون ابتدای کار اینه که تا قبل از این نحوه‌ی ارتباط به شکلی بود که اعضای تیم همدیگه رو در شرکت می‌دیدند و بخشی از فرهنگ کاری با همین حضور در کنار بقیه شکل می‌گرفت، مثلا اگر سوالی بود خیلی سریع می‌تونستند به همکارشون دسترسی داشته باشند و باهاش صحبت کنند. ولی در وضعیت جدید، باید به هم پیام بدن و منتظر باشند تا پاسخ رو بخونند، یا زنگ بزنند و این در حالیه که اصلا نمی‌دونند که همکارشون اون لحظه در شرایط مطلوب برای پاسخ دادن هست یا نه. اضافه شدن نیروی جدید و اصطلاحاً onboard شدنش و شناخت اعضای دیگر تیم و درک کردن فرهنگ کاری بلد هم در این شرایط بسیار سخت بود. یکی از دغدغه‌های اکثر افرادی که جدید به بلد اضافه می‌شدند این بود که در جایی کار کنن که محیط و اتمسفر کاری خوبی داره و با افرادی از همین فرهنگ روبه‌رو بشن. ولی در عمل شرایط جدید چنین اجازه‌ای نمی‌داد.علاوه بر این‌ها در چنین شرایطی توقعات افراد از همدیگه هم دچار تغییراتی می‌شه؛ برای مثال تیم‌لیدری که تا دیروز افراد تیمش رو می‌دید و حضوری باهاشون صحبت می‌کرد الان دیگه خیلی راحت نمی‌تونه از اعضای تیمش آپدیت بگیره یا از حالشون باخبر باشه و این باعث می‌شه که توقعاتش هم متفاوت بشه و تاثیر توی رفتارش بذاره. در مقابل گاهی تفاوت کیفیت ارتباط حضوری در مقایسه با ارتباط مجازی، باعث ایجاد سوتفاهم‌هایی در تعامل افراد می‌شه و این موضوع هزینه‌ی ارتباط موثر رو برای همه‌ی اعضای تیم از حیث صرف زمان و انرژی افزایش میده.برای مقابله با این مدل مشکلات در سطح بلد همگی اقداماتی رو انجام دادیم و در تلاشیم با ارزیابی مداوم تصمیماتمون به مرور به بهترین راه‌‌حل‌ها برسیم. برای کمک به حل مشکل ضعیف بودن اینترنت، کمک‌هزینه‌ی اینترنت اضافه شد تا امکان تغییر یا ارتقا سرویس اینترنت در خونه به راحتی برای همه امکان‌پذیر باشه. برای افزایش کیفیت ارتباط در جلسات آنلاین و تشویق بچه‌ها به حضور با تصویر، تصمیم گرفتیم وب‌کم رو هم به ملزومات کاری اضافه کنیم و در کنار باقی تجهیزات در اختیار افراد قرار بدیم. هر دو هفته یک بار هم در یک جلسه‌ی آنلاین با حضور همه‌ی اعضای تیم بلد (جلسه سینک) دور هم جمع می‌شیم و درباره‌ی خودمون، تیممون و محصولمون صحبت می‌کنیم. همین‌طور سعی می‌کنیم نحوه‌ی استفاده‌مون از پلتفرم ارتباطی درون‌تیمی و درون‌شرکتی‌‌مون (که اصلی‌ترینش اسلک هست) رو بهبود بدیم؛ مثلا اطلاعاتمون رو توی صفحه‌ی پروفایل آپدیت نگه‌داریم، زمان‌‌هایی که آزاد هستیم رو واضح‌تر مشخص کنیم تا بقیه بتونند بهمون دسترسی داشته باشند. در تیم‌ها و کانال‌های ارتباطیمون موضوعات مربوط به دورکاری رو مطرح می‌کنیم و مقالات و تجربه‌های متفاوت مربوط به این اتفاقات رو هم‌رسانی می‌کنیم. همچنین در مورد مدل کار کردن و چالش‌هایی که داریم، بر اساس برآورد بچه‌ها از پرفورمنس کاری خودشون و پیش‌بینیشون نسبت به مدل کاری در آینده، چندبار نظرسنجی کردیم تا از خواسته‌ها، نیازها و دغدغه‌هامون بیشتر خبر داشته باشیم.استقبال از تغییرو اما نکته‌ی اصلی این داستانِ دورکاری اینه که در گذر این یک سال، همه‌ی مشکلاتی که داشتیم و داریم به مرور با همفکری و تلاش همگیمون به راه‌حل‌های مناسب نزدیک‌تر شد و می‌شه و برخی راه‌حل‌ها حتی به ثبات هم رسید. همه‌مون متوجه نیاز به تغییر در زندگی و کارمون بودیم و برای بهبودش دست‌به‌کار شدیم. به طور مداوم تیم‌ها برای رفع مشکلات ناشی از این مدل جدید کاری راه‌حل‌های جدیدی رو پیدا می‌کنن و با سایر تیم‌های بلد تجربیاتشون رو در میون میذارند. خیلی‌هامون دیگه می‌دونیم که چقدر حضوری در شرکت باشیم و چقدر رو دورکاری کنیم تا بتونیم با کارمون بیشتر خوشحال باشیم. نسبت به روزهای اول دورکاری، هماهنگی‌های بین‌تیمی و درون‌تیمی به مرور شکل بهتر و بالغانه‌تری گرفته و تعاملات و انتظارات کمتر دچار سوتفاهم یا عدم شفافیت می‌شه. به طور کلی این خِرد جمعی بوده و هست که کمک می‌کنه در چنین شرایطی هم بتونیم به حالت ایده‌آل خودمون نزدیک و نزدیکتر بشیم و هنوز هم راه زیادی تا شرایط مطلوبمون داریم. بدون شک، تغییرات و بهبودهایی که در این یک سال اتفاق افتاد بدون همراهی تیم‌های مختلف در بلد امکان‌پذیر نبود، به ویژه اعضای تیم امکانات و تأمین که با وجود سخت بودن شرایط، در تمام این مدت در شرکت حضور مستمر داشتند و فضای شرکت رو ایمن و راحت نگه داشتند.حرف آخر اینکه فرصت استفاده از دورکاری در بلد تا پایان پاندمی کرونا و تا زمانی که سلامتیمون در خطر هست ادامه خواهد داشت. هر چند مطمئناً دنیا بعد از کرونا هم به روال سابق بر نخواهد گشت.</description>
                <category>بلاگ فنی بلد</category>
                <author>پژمان حسینی</author>
                <pubDate>Sun, 07 Mar 2021 13:03:42 +0330</pubDate>
            </item>
                    <item>
                <title>برای خرید هر چیزی کجای تهران بریم؟</title>
                <link>https://virgool.io/BaladMaps/%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AE%D8%B1%DB%8C%D8%AF-%D9%87%D8%B1-%DA%86%DB%8C%D8%B2%DB%8C-%DA%A9%D8%AC%D8%A7%DB%8C-%D8%AA%D9%87%D8%B1%D8%A7%D9%86-%D8%A8%D8%B1%DB%8C%D9%85-tr3vxlj4c4ww</link>
                <description>نقشهٔ بلد پر از نقطه‌های ریز و درشت و جذاب با کاربری‌های متفاوت است. کافی‌ست در محله‌ای که دوست دارید یا بهتر می‌شناسید کمی زووم کنید تا به جز کسب‌وکارهایی که عکس و شماره تلفن و سایت و صفحه اینستاگرام و ساعت‌کاری‌شان مشخص شده، اسم کوچه‌ها و پلاک خانه‌ها و حتی وروردی در پارکینگ‌ها را ببنید. حتی نوبرانه‌ترین کافه‌ها و فروشگاه‌هایی که باز می‌شوند روی بلد هستند. همین موضوع باعث شده تا روی نقشه بلد در خیابان‌های دوست‌داشتنی شهرم قدم بزنم. در ذهنم ردیف مغازه‌ها و فروشگاه‌ها را تصور کنم و عکس‌های هرکدام از این نقطه‌های واقعی را مرور کنم. این ماجرا حتی به تهران ختم نمی‌شود و گاهی به بازار مریوان و بلوار وحدت و خیابان ساحلی کنگان هم سر می‌زنم تا ببینم ادویه فروشی محبوبم سر جای همیشگی‌اش هست؟ گه‌گداری هم این بازی به مرور عکس‌های قدیمی و اضافه کردن عکس ورودی ادویه فروشی و اقامتگاه بوم‌گردی محبوبم می‌رسد.این ماجرا اما برای من با داستان خریدن پرده و وسایل اولیه خانه دوست‌ام همراه شد. همین وسوسه جذاب و دوست داشتنی گشت‌وگذار روی نقشه، باعث شد تا از اهل خرید و تهران‌شناسان و خانواده و دوست و آشنا که حداقل دوبار اسباب کشی کرده بودند پرس‌وجو کنم که از کجا باید پرده بخریم؟ قیمتش چجوریه؟و این سوال برای هر دسته‌بندی دیگری از وسایل خانه ادامه پیدا کرد تا اینکه تک تک وسایل خانه دوستم را خریدیم. و بعد به این فکر کردم که جای خالی محتوای ارزشمندی مثل «بورس‌های خرید تهران در نقشه بلد» که بیش از ۶۰۰ هزار نقطه از کسب‌و‌کار و نقاط پر مراجعه شده دارد، خالی‌ست.این موضوع را با تیم محتوای بلد مطرح کردم و تصمیم گرفتیم لذت شهر رو مثل کف دست بلد بودن را با با همه تقسیم کنیم.این نقشه پر جزئیات، بورس‌های خرید تهران را نمایش می‌دهد. سمت راست ۳۸ دسته بندی مختلف وجود دارد که باعلامت اختصاصی مشخص شده‌اند و در کل ۱۳۰ بورس خرید کالا را در مرکز شهر تهران نمایش داده‌ایم. روی نقشه اصلی هم می‌توانید عدد هر کدام از این دسته‌ها را پیدا کنید و محدوده‌ مربوط به آن راسته را روی نقشه بلد ببینید. این اطلاعات با کمک دیتایی که از کاربری کسب‌وکارهای مختلف روی بلد جمع‌آوری شده بود تطبیق داده شد و با کمک تعدادی از دوستان و همکاران تهران شناس بررسی شد. محدوده‌هایی مثل بازار مبل یافت آباد، میدان تجریش و پاساژ‌ها و راسته‌های متنوع‌اش و راسته کابینت و سرامیک و شیرآلات در بنی‌هاشم، که در محدوده «مرکز شهر تهران» نیستند، به صورت کامل در هایلایت صفحه اینستاگرام بلد قرار گرفته‌اند.ما در تیم بلد دوست داریم، این مطلب بیشتر و بیشتر به دست همه برسد تا هرچیزی که نیاز دارند را از جای مناسب و با قیمت مناسب بخرند. ماجرا از این قرار است که گاهی وقت‌ها اصل کار پیدا کردن بورس یک کالای خاص است، قدم بعدی شاید این باشد که شماره یکی از فروشگاه‌های آن راسته را از روی بلد پیدا کنید و زنگ بزنید و درباره موجودی یک کالا یا قیمت آن و نحوه ارسالش پرس‌و‌جو کنید.اگر فکر می‌کنید معبر و گذری نزدیک به محله قدیمی که مادربزرگ وپدربزرگتان زندگی می‌کنند می‌شناسید که دکان به دکان، کار و کاسبی یکسانی دارند؛ یا راسته ساعت فروش‌ها را در شهر خودتان بهتر می‌شناسید و از تیمچه بزازها و بورس پلاستیک و پلاسکو خبر دارید، کافی است در قسمت نظرات همین مطلب یا به آدرس pr@balad.ir ایمیل بزنید تا با هم درباره بورس خرید در شهر شما بیشتر صحبت کنیم.بورس انواع کالا در تهران کجاست</description>
                <category>بلاگ فنی بلد</category>
                <author>Zoya Niknam | زویا نیکنام</author>
                <pubDate>Wed, 24 Feb 2021 17:57:34 +0330</pubDate>
            </item>
                    <item>
                <title>جلسات پیازی</title>
                <link>https://virgool.io/BaladMaps/%D8%AC%D9%84%D8%B3%D8%A7%D8%AA-%D9%BE%DB%8C%D8%A7%D8%B2%DB%8C-nqpuwiordo9z</link>
                <description>جلسه، جلسه،‌ جلسه...حتما خیلی‌ از ما دیدیم و تجربه کردیم که وقتی تعداد آدم‌های مشغول در یک کسب و کار از یک حد «خوبی» بیشتر می‌شوند، تعداد جلسات آن‌ها هم بیشتر می‌شود. این موضوع البته طبیعی است هر چند که لزوما ناگزیر نیست. به هر حال آدم‌ها نیاز به هماهنگی دارند، و وقتی تعداد آن‌ها بیشتر می‌شود، باید یک فکری به حالشان کرد. طبیعتاً زمانی که تعداد آدم‌ها در یک شرکت رشد می‌کند، شرکت با مسائل و پروژه‌های بیشتری روبرو می‌شود. شاید در اکثر موارد یا بگذارید راحت‌تر بگویم، در خام‌ترین موارد، اولین راه حلی که به صورت مستقیم یا غیر‌مستقیم به ذهن مدیران و سرپرستان تیم‌ها خطور می‌کند «جلسه برگزار کردن» است.+ راستی باید در مورد فلان پروژه با تیم صحبت کنیم.- جلسه بگذاریم+ نیاز به هماهنگی داریم...- یک جلسه هفتگی بگذاریم....مشکل چیست؟حتما خیلی از شما هم عضوی از یک تیم پر تعداد بودید، یا حداقل در جلسات پر تعداد شرکت کردید. تو این مطلب بنا به نقد تعدد جلسات ندارم،‌ همچنین قصد ندارم که در مورد چگونگی جلوگیری از زیاد شدن تعداد جلسات صحبت کنم. بیایید فرض بگیریم که به هر حال شما راه بهتری نداشتید از این که «یک جلسه‌ی پر تعداد» برگزار کنید. اما این جلسات در بسیاری از موارد ممکن است که برای خیلی از حاضران جلسه یا حتی خود شما حوصله سر بر شده باشد. اگر شک دارید در این مورد از افراد بپرسید! خصوصا مواقعی که زمان خوبی از جلسه صرف صحبتی دونفره یا چند نفره می‌شود و این باقی افراد جلسه هستند که خودشان را ناگزیر به گوش کردن صحبت‌ها می‌یایند و بحث‌ها کم کم روی اعصاب و روان آن‌ها شروع به رژه رفتن می‌کند. اما در بهترین حالت احتمالا حضور همه‌ی افراد جلسه لازم بوده زیرا در زمان‌هایی از جلسه احتمالا نیاز به رد و بدل اطلاعات با هر کدام از این افراد است. در دنیای امروزه که در بسیاری از موارد جلسات به صورت «از راه دور» برگزار می‌شود، این تجربه می‌تواند حتی ناخوشایند‌تر هم باشد.مسئله‌ای که تو این مطلب می‌خواهم در موردش صحبت کنم، این هست که چگونه می‌توانیم جلسات پر تعداد را بهتر برگزار کنیم. من می‌خواهم به شما ایده‌ی برگزاری جلسات به سبک «پیازی» را معرفی کنم!حالا چرا پیاز؟آیا تا حالا موقع آشپزی یا خوردن پیاز دقت کردید که چطور همیشه می‌توانید یه لایه‌ی بیرونی پیاز را جدا کنید و یک پیاز کوچک‌تر داشته باشید؟ در واقع شما می‌توانید این کار را مکرراً ادامه دهید، لایه‌ها را یکی یکی جدا کنید و پیاز خود را کوچک‌تر و کوچک‌تر کنید. اما این چه ربطی به برگزاری جلسه دارد؟فرض کنید که پیاز همان جلسه‌ی شما هست، و آدم‌های جلسه لایه‌های پیاز هستند. ایده‌ی ماجرا آن است که شما بتوانید محتوی جلسه و زمان‌بندی صحبت در مورد مسائل جلسه را به گونه‌ای طراحی کنید که وقتی جلسه پیش می‌رود، در نقاط زمانی مختلف آدم‌ها بتوانند به مرور همچون لایه‌های پیاز از جلسه جدا شوند و به دنبال کار خودشان بروند. اما چطور؟ بگذارید تا برای شما از داستان محسن و بچه‌های تیمش بگویم...داستان محسن و جلسه‌ی پیازیدر یک روز آفتابی محسن مدیر محصول یک تیم خوب در شرکت بلد، پنج تا از بچه‌های تیم رو جمع می‌کنه تا با هم کارهای دو هفته‌ی آتی رو برنامه‌ریزی کنند. بچه‌ها یعنی علیرضا و حامد که نجار تیم هستند، رضا و حسین که نقاش تیم هستند، و عادل که حساب کتاب‌های تیم رو نگه می‌داره. اون‌ها به همراه محسن همیشه عادت داشتند که یک ساعت بنشینند دور هم و برنامه‌ی کاری دو هفته‌ی آینده را مشخص کنند. از این که می‌خواهند چه وسایل جدیدی را بسازند و چطور حساب و کتاب‌های میز و صندلی‌هایی را که قبلا درست کردند، بررسی کنند. اما همیشه همه تا آخر این جلسه‌ی یک ساعته حضور داشتند و گاهی عادل تا زمانی که بحث به حساب‌رسی میز و صندلی‌های هفته‌ی پیش برسه احساس می‌کرد که حوصله‌اش سر رفته، چرا که صحبت در مورد مدل میز جدیدی که قرار بود این هفته تازه ساخته بشه، نه براش مهم بود و نه ربطی به کارش در مورد حساب‌رسی صندلی‌های هفته‌ی قبل پیدا می‌کرد. این وسط از بس که حوصله‌اش سر رفته بود شروع می‌کرد به بازی با موبایل یا گاهی هم که عذاب وجدان بهش دست می‌داد، کاغذ حساب‌رسی را بیرون می‌آورد و کمی اون رو پیش خودش مطالعه می‌کرد. به هر حال حس می‌کرد که حضورش توی جلسه در لحظه چندان مفید نیست، اما زمانی که محسن می‌خواست در مورد حساب‌ و کتاب میز و صندلی‌های هفته پیش صحبت کنه، اینجای کار براش جذاب بود، اتفاقا صحبتشون بیشتر از ۵ دقیقه هم طول نمی‌کشید، اما عادل بعد از صحبت با محسن وقتی فهمید که چه نکاتی رو موقع حساب‌رسی باید رعایت کنه، باز از خودش می‌پرسید که چرا الان باید به صحبت‌های بچه‌ها و کل کل اون‌ها در مورد رنگ میز جدید گوش بده تا این که جلسه تموم بشه؟. لازم به گفتن نیست که ما فقط از احوال عادل گفتیم، اما بچه‌های دیگه هم گاها دست کمی از احوال عادل نداشتند.گفتیم از عادت بچه‌ها و احوال عادل،‌ اما این بار محسن که به شدت براش مهم بود که بچه‌ها حس خوبی توی جلسه داشته باشند، تلاش کرد که جلسه رو پیازی کنه! این جوری که می‌دونست کار عادل قراره خیلی مستقل‌تر از کار بقیه بچه‌ها باشه و از طرفی هم سریع می‌تونه نکات مدنظرشو رو بهش منتقل کنه. پس قرار شد حتی قبل از این که بقیه بچه‌ها وارد جلسه شوند اول به عادل نکات کارش رو بگه در مورد این که چطور براش مهمه که تو حساب‌ و کتاب میز و صندلی‌های گذشته علاوه بر قیمت فروششون، مقدار افزایش یا کاهش قیمتشون هم مشخص بشه. در ادامه نجارهای مبدع و نقاش‌های زبده‌ی تیم وارد شدند تا در مورد میز جدیدی که می‌خواستند بسازند، با محسن صحبت کنند. اما عادل می‌دونست که الان میتونه از جلسه خارج بشه تا به کارهایی که داره برسه. این جا بود که محسن دست کرد توی جیبش و پیازی درآورد و  یک لایه از اونو کند و خورد.برای علیرضا و حامدِ نجار خیلی مهم نبود که میز جدید چه رنگی قراره باشه چون اون‌ها قرار بود که فقط شکل اون رو با چوب بسازند تا بعدا رنگ بشه، اما برعکس برای رضا و حسین مهم بود که میز قراره چه شکلی باشه، چون شکل میز براشون تو انتخاب رنگ مناسب، مهم بود. بنابراین محسن تصمیم گرفت که اول در مورد شکل میز یک طوفان فکری به پا کنند و بعد از نیم ساعت بحث جذاب بین بچه‌ها بالاخره نتیجه گرفتند که میز جدیدشون خوبه که چه شکلی باشه. حالا دیگه نوبت این بود که محسن با رضا و حسین بشینه تا در مورد رنگ میز صحبت کنه. اما جالب این بود که نجارهای تیم حامد و علیرضا دیگه حضورشون لازم نبود و می‌تونستند بروند تا به کارهایشان برسند. هر چند...علیرضا چون براش شخصا جذاب بود که رنگ میز قراره چه رنگی بشه، موند تو جلسه تا ببینه رنگ چه رنگی میشه! در ضمن فکر می‌کرد که چی می‌شد رنگ میز هم‌رنگ همین پیازی بشه که محسن دوباره یه لایه ازش کنده و داره می‌خوردش. بعد از کلی صحبت وقتی در مورد رنگ میز تصمیم نهایی گرفته شد، بچه‌ها رفتند تا به کارهاشون برسند. محسن هم که دیگه خیالش راحت شده بود روی صندلی تکیه‌ای زد و در حالی که تاب می‌خورد، یه نگاه به پیاز توی دستش کرد، یه لبخند زد و با خودش فکر کرد که امروز حال بچه‌ها چقدر بهتر بود.احتمالا تا الان ایده‌ی جلسه‌های پیازی را متوجه شدید. حالا ممکن است بگویید، خب همیشه که محتوی یک جلسه‌ی پر تعداد را نمی‌توان به این صورت طراحی کرد تا بچه‌ها همچون لایه‌های پیاز جدا شوند. جواب من به شما بسیار واضح است:ممکن است همیشه نشود...اما وقتی می‌شود، این کار را بکنید!</description>
                <category>بلاگ فنی بلد</category>
                <author>bardia zamanian</author>
                <pubDate>Sat, 06 Feb 2021 23:56:01 +0330</pubDate>
            </item>
                    <item>
                <title>با یادگیری عمیق پول کم‌تر خرج کن!</title>
                <link>https://virgool.io/BaladMaps/%D8%A8%D8%A7-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D8%B9%D9%85%DB%8C%D9%82-%D9%BE%D9%88%D9%84-%DA%A9%D9%85-%D8%AA%D8%B1-%D8%AE%D8%B1%D8%AC-%DA%A9%D9%86-ta4e8itumq1o</link>
                <description>تصویر ۱ - ترکیبی از نقشه‌ی عادی و نقشه‌ی ماهواره‌ای بلد (منبع هر دو عکس: وب‌سایت balad.ir) من عرفان علی‌محمدی، دانشمند داده (data scientist) در شرکت بلد هستم و قصد دارم در این مطلب درمورد یکی از مسائل مربوط به تصاویر ماهواره‌ای بلد توضیح بدهم.مسئله‌ی ما چه بود؟همان طور که در اپلیکیشن بلد مشخص است، به جز نقشه‌ی عادی راه‌ها می‌توان از نقشه‌ی ماهواره‌ای هم استفاده کرد.تصویر ۲ - در اپلیکیشن اندروید بلد، با باز کردن تنظیمات نمایش نقشه می‌توانید از نقشه‌ی ماهواره‌ای به جای نقشه‌ی پیش‌فرض استفاده کنید. داده‌های نقشه‌ی پیش‌فرض و نقشه‌ی ماهواره‌ای ما در قالب کاشی‌هایی ذخیره شده‌اند که این موضوع در یکی از مطالب پیشین بلاگ بلد توضیح داده شده بود:وقتی در زوم کم‌تر به ایران نگاه می‌کنید، کافی است اطلاعات کلی ایران دانلود شوند و لازم نیست اطلاعات جزئی‌تر مانند پلاک خانه‌ها دانلود شوند. هم چنین هنگامی که نقشه در سطح تهران را مشاهده می‌کنید لازم نیست اطلاعات شهر دیگری مثل یزد دانلود شود. به همین دلیل است که داده‌ها تقسیم شده‌اند. اولاً برای هر مقیاس (زوم) از نقشه داده‌هایی برای آن دقت ساخته شده‌اند. ثانیاً داده‌های هر مقیاس خاص بین ناحیه‌های مختلف تقسیم شده‌اند تا وقتی شما بخشی از تهران را می‌بینید فقط داده‌های آن بخش از تهران دانلود شوند.تصویر ۳ - هر کدام از مربع‌های قرمز یک کاشی هستند که داده‌های نقشه در آن ذخیره شده‌اند، وقتی نمای کلی ایران را می‌بینید کاشی‌ها مساحت بزرگی را شامل می‌شوند و شامل اطلاعات کلی هستند. وقتی به سطح شهر می‌رسید، کاشی‌ها شامل مساحت کم‌تری از نقشه‌اند و جزئیات بیش‌تری دارند. با وجود این که سه عکس نمونه مربوط به نقشه‌ی پیش‌فرض است، همین قاعده درمورد نقشه‌ی ماهواره‌ای هم صادق است.نقشه‌ی ما اصطلاحاً tiled web map است. یعنی تصاویر ماهواره‌ای ما در قالب کاشی‌هایی ذخیره شده‌اند که ابعاد هر یک از آن‌ها ۲۵۶ پیکسل در ۲۵۶ پیکسل است. وقتی در نقشه‌ی ماهواره‌ای روی قسمتی از نقشه زوم کنید عکس ۲۵۶ در ۲۵۶ مربوط به آن بارگیری می‌شود. بلد تصاویر ماهواره‌ای را از شرکت‌های دیگر (مانند شرکت‌های داخلی و خارجی‌ای که کارشان تصویربرداری و نقشه‌برداری است) خریداری می‌کند. به دلایل مختلف، ما به بعضی از تصاویر با جزئیات بالا دسترسی نداریم. یعنی برخی عکس‌های ماهواره‌ای مربوط به بزرگ‌نمایی‌های زیاد در بلد موجود نیست. یکی از مهمترین علت‌ها برای این موضوع، هزینه‌ی بالای تهیه و خریداری این تصاویر است. این مسئله باعث می‌شود که اگر کاربر زوم خیلی زیادی انجام دهد، عکس باکیفیت‌تری لود نشود و تصویر را به صورت تار مشاهده کند که موجب نارضایتی کاربر خواهد شد. برای مثال، اگر کاربر بخواهد سه تصویر زیر را دقیق‌تر ببیند با عکس‌های تارشده مواجه می‌شود:تصویر ۴ - سه عکس ماهواره‌ای تصویر ۵ - سه عکس ماهواره‌ای موجود در تصویر ۴، پس از بزرگ‌نمایی عادی که موجب تار شدن آن‌ها شده است برای جلوگیری از این تار شدن دو راه داریم. انتخاب اول این است که پول بیشتری خرج کنیم و عکس‌های ماهواره‌ای بیشتری بخریم. انتخاب دوم هم این است که نهایت سعیمان را بکنیم تا با استفاده از عکس‌های کنونی عکس‌های باکیفیت‌تری تولید کنیم. به دلیل هزینه‌ی بسیار زیاد روش نخست، ما به سراغ راه دوم می‌رویم تا امکان‌پذیر بودن یا نبودن آن را بسنجیم.چه روش‌هایی برای بزرگ‌نمایی تصویر وجود دارد؟موقع بزرگ‌نمایی تصاویر ماهواره‌ای در حالت عادی از روش‌هایی برای پر کردن اطلاعاتی که از قبل نداریم استفاده می‌شود. مثلاً اگر بخواهیم یک عکس ۲ در ۲ را به یک عکس ۴ در ۴ تبدیل کنیم، باید از روی ۴ عدد قبلی ۱۶ عدد جدید بسازیم و راه یکتایی هم برای این کار وجود ندارد.تصویر ۶ - بزرگ‌نمایی یک عکس ۲ در ۲ (منبع: theailearner.com)راه‌های کلاسیکی برای این کار وجود دارد که در تمام نرم‌افزارهای دنیا به صورت پیش‌فرض مورد استفاده واقع می‌شود.تصویر ۷ - یک راه پیشنهادی برای بزرگ‌نمایی عکس ۲ در ۲ این است که رنگ پیکسل‌های گوشه‌ای را کاملاً مشخص کنیم. همان طور که در تصویر ۷ می‌بینید، یک راه پیشنهادی این است که فقط ۱۲ خانه‌ی خالی جدول جدید را پر کنیم. این نوع مسائل به مسائل درون‌یابی (interpolation) معروف هستند زیرا می‌خواهیم چیزی که درون خانه‌های میانی می‌افتد را پیش‌بینی کنیم. یکی از راه‌های پیشنهادی این است که با شیب ثابتی از سمت ۱۰ به سمت ۲۰ و ۳۰ و ۴۰ برویم تا در تصویر نهایی شیب رنگی ایجاد شود. روش دیگر این است که خانه‌های نزدیک ۱۰ را با ۱۰، خانه‌های نزدیک ۲۰ را با ۲۰، خانه‌های نزدیک ۳۰ را با ۳۰ و خانه‌های نزدیک ۴۰ را با ۴۰ پر کنیم. این دو روش به ترتیب به نام‌های درون‌یابی خطی و درون‌یابی نزدیک‌ترین همسایه شناخته می‌شوند. درون‌یابی‌های معروف دیگری نیز برای این کار وجود دارند، مثل درون‌یابی دومکعبی (bicubic interpolation).این راه‌ها راه‌های خوبی هستند اما راه‌حل‌هایی خیلی عمومی برای این موضوع محسوب می‌شوند. یعنی ممکن است بعضی عکس‌های دنیا را خیلی خوب بزرگ‌نمایی کنند اما لزوماً بهترین روش بزرگ‌نمایی تصاویر ماهواره‌ای نباشند. یعنی شاید بهتر باشد که وقتی دامنه‌ی مسئله‌ی ما مشخص و محدود است، دنبال راه‌حلی برویم که روی همان ورودی خاص ما خوب جواب می‌دهد.ما تصمیم گرفتیم که از یادگیری ماشین (machine learning) برای حل مسئله‌ی خود استفاده کنیم چون یادگیری ماشین ممکن است بتواند یک نوع ورودی خاص از عکس‌ها را یاد بگیرد. یعنی اگر بتوانیم به کامپیوتر عکس‌هایی از قبل و بعد بزرگ‌نمایی نشان دهیم و انتظار داشته باشیم که با دیدن نمونه‌های زیاد از تصویر کوچک و بزرگ این موضوع را یاد بگیرد، ممکن است به راه‌حل بهتری نسبت به راه‌حل‌های عمومی دست پیدا کنیم.ما در این مسیر از راه‌های مختلف مربوط به یادگیری عمیق (deep learning) و شبکه‌های عصبی پیچشی (convolutional neural networks) استفاده کردیم. از آن‌جا که شبکه‌های عصبی تا حدی فرآیند یادگیری از روی نمونه‌ها را شبیه مغز انسان‌ها انجام می‌دهند، ممکن است منجر به نتایج شگفت‌انگیزی شوند.پس از تحقیق و بررسی مقالات منتشرشده در این زمینه دریافتیم که این مسئله را هم به وسیله‌ی یادگیری نظارت‌شده (supervised learning) و هم به وسیله‌ی یادگیری نظارت‌نشده (unsupervised learning) می‌توان حل کرد. ما چندین راه مختلف را برای حل این مسئله ارزیابی کردیم. در بخش بعد جزئیات به کارگیری یک روش نظارت‌شده که نتیجه‌ی امیدوارکننده‌ای داشت را بیان می‌کنیم.روش پیشنهادیما از الگوریتم فشرده‌سازی عکس‌های JPEG الهام گرفتیم. در فرمت JPEG برای کاهش حجم تصاویر، پیکسل‌های اولیه‌ی تصویر به خودی خودی ذخیره نمی‌شوند. بلکه دچار تغییراتی می‌شوند که از حجم تصویر اولیه کاسته شود. JPEG تصاویر را به شکل RGB بررسی نمی‌کند، بلکه آن‌ها را وارد فضای رنگی دیگری موسوم به YCbCr می‌کند.در فضای رنگی YCbCr بر خلاف RGB، رنگ هر پیکسل را با میزان قرمز، سبز و آبی بودن آن نشان نمی‌دهند. بلکه در ابتدا به بخش خاکستری (سیاه و سفید) هر پیکسل توجه می‌کنند و نام آن را Y می‌گذارند. سپس می‌گویند آبی بودن عکس را چه مقدار باید افزایش یا کاهش بدهیم و نام این مقدار را Cb می‌گذارند. در آخر نیز می‌گویند چه مقدار باید قرمزی عکس را تغییر بدهیم و نام این مقدار را Cr می‌گذارند.تصویر ۸ - اگر قسمت Y و Cb و Cr عکس بالا را از هم تفکیک کنیم به سه عکس پایین می‌رسیم. نکته‌ی حائز اهمیت این فضای رنگی این است که در قسمت Y آن تمام اشیا و مرزهای مهم توسط چشم انسان قابل رؤیت هستند. با خاکستری (grayscale) شدن عکس، آسمان، کوه، کلبه و چمن هنوز واضح باقی مانده‌اند. (منبع: ویکی‌پدیای انگلیسی) از آن‌جا که چشم انسان اشیا را از روی میزان درخشندگی (luminance) آن‌ها تشخیص می‌دهد، الگوریتم JPEG نیز به این موضوع توجه خاصی کرده است. در الگوریتم JPEG فقط قسمت Cb و Cr عکس را فشرده‌سازی می‌کنند تا از کیفیت بخش خاکستری عکس کم نشود. در این حالت درخشندگی اشیا و مرزهای مهم دست‌نخورده باقی می‌مانند و انسان هم‌چنان می‌تواند اشیا را به خوبی تشخیص دهد.تصویر ۹ - در فشرده‌سازی JPEG حتی اگر فشرده‌سازی زیادی انجام دهیم، مرزهای اصلی هم‌چنان قابل تشخیص باقی می‌مانند. (منبع: ویکی‌پدیای انگلیسی) با الهام‌گیری از JPEG به سراغ یادگیری عمیق رفتیم چون قصد ما هم تولید تصویری بود که در آن اشیا و مرزهای مهم حفظ شده باشند. در ابتدا عکس را به فضای رنگی YCbCr بردیم و فقط قسمت خاکستری آن را از شبکه‌ی عصبی خود عبور دادیم. معماری استفاده‌شده توسط ما یک شبکه‌ی عصبی تماماً پیچشی (fully-convolutional neural network) بود که به عنوان ورودی یک عکس ۱۲۸ در ۱۲۸ خاکستری دریافت می‌کرد و در خروجی یک عکس ۲۵۶ در ۲۵۶ می‌ساخت. هدف ما این بود که شباهت عکس تولیدی با عکس بزرگ واقعی بیشینه شود.تصویر ۱۰ - شبکه‌ی عصبی تماماً پیچشی شبکه‌ای است که تمام لایه‌های داخلی آن پیچشی هستند. یک عکس را به عنوان ورودی دریافت می‌کند و عکس دیگری را در خروجی تولید می‌کند. (منبع: Towards Data Science)این مدل فقط درمورد بخش خاکستری تصویر بود. برای بزرگ‌نمایی بخش Cb و بخش Cr از همان روش‌های کلاسیک بزرگ‌نمایی استفاده کردیم. در واقع با استفاده از درون‌یابی دومکعبی بخش Cb و بخش Cr را بزرگ کردیم تا با ادغام این سه بخش به عکس نهایی دست پیدا کنیم.خروجی‌های نمونهتصویر ۱۱ - وقتی عکس‌های موجود در تصویر ۴ را بزرگ کردیم به عکس‌های تارشده‌ی تصویر ۵ رسیدیم. همان طور که مشاهده می‌کنید این سه تصویر که خروجی شبکه‌ی عصبی ما هستند، از کیفیت بالاتری برخوردار هستند و کم‌تر تار شده‌اند. رنگ‌ها نیز هم‌چنان طبیعی است.تصویر ۵ - همان تصویر ۵ پیشین دوباره در این‌جا قرار گرفته است که تفاوت آن با تصویر ۱۱ بیش‌تر مشهود باشد.نحوه‌ی ارزیابی روش ارائه‌شدهمعمولاً برای سنجش کیفیت عکس نسبت به عکس ایده‌آل، از معیار peak signal-to-noise ratio یا به اختصار PSNR استفاده می‌شود که یکای آن بل (دسی‌بل) است.تصویر ۱۲ - سه عکس تقریباً مشابه داریم که از راست به چپ دچار کاهش کیفیت شده‌اند. عکس سمت راست عکس اصلی است، عکس وسط مقداری فشرده شده است و عکس سمت چپ خیلی فشرده شده است. از آن‌جا که تغییر کیفیت عکس‌ها را با چشم نمی‌توان تشخیص داد، از معیار PSNR استفاده می‌کنیم. مقدار PSNR عکس وسط برابر ۴۵.۵۳ دسی‌بل و عکس سمت چپ برابر ۳۱.۴۵ دسی‌بل است. (منبع: ویکی‌پدیای انگلیسی) به طور خیلی خلاصه، هر چه میزان اختلاف رنگ پیکسل‌های عکس ثانویه با پیکسل‌های متناظر عکس اولیه کم‌تر باشد، PSNR بیش‌تری خواهیم داشت. این معیار به ما کمک کرد تا بتوانیم روش‌های مختلفی که برای حل مسئله‌مان داشتیم را با هم مقایسه کنیم.روش ارائه‌شده توانست بیش‌ترین PSNR را نسبت به سایر روش ها به دست آورد. زمانی که از فضای رنگی RGB استفاده کردیم به PSNR پایین‌تری رسیدیم. هم چنین زمانی که هر سه بخش رنگی YCbCr را از شبکه عبور دادیم رنگ‌های تصویر خروجی کمی غیر طبیعی شدند. این اتفاق به دلیل ایجاد تغییر در بخش‌های رنگی تصویر تا حدی قابل توجیه بود. یکی دیگر از مزایای روش ارائه‌شده سریع‌تر شدن زمان یادگیری مدل آن هم بود چون در قسمت ورودی شبکه‌ی عصبی فقط به یک‌سوم اطلاعات احتیاج دارد.نتیجه‌گیریبا استفاده از یادگیری عمیق روشی ارائه دادیم که می‌تواند کیفیت عکس‌های هوایی را افزایش دهد. توانستیم رضایت بیشتری هنگام کار با نقشه برای کاربران فراهم کنیم، بدون آن که هزینه‌ی زیادی برای تهیه‌ی نقشه‌های هوایی انجام داده باشیم.</description>
                <category>بلاگ فنی بلد</category>
                <author>عرفان علی‌محمدی</author>
                <pubDate>Sat, 30 Jan 2021 20:05:24 +0330</pubDate>
            </item>
                    <item>
                <title>ناهمواری‌ها در نقشه و مسیریاب بلد</title>
                <link>https://virgool.io/BaladMaps/hillshade-ie5oc0upmmeb</link>
                <description>به نام خدادر این مطلب، به همراه همکار خوبم عرفان قادرمرزی، می‌خواهیم به صورت ساده، در مورد اطلاعات ناهمواری در بلد صحبت کنیم، اینکه این اطلاعات چه هستند و در کجا و چگونه در اپلیکیشن بلد استفاده می‌شوند صحبت کوتاهی داشته‌باشیم.بلد به عنوان یک پلتفرم نقشه سعی می‌کند تا انواع نیازهای مکان محور کاربران را رفع کند، برای رفع این نیاز‌ها در بلد از انواع داده‌های مکان‌محور استفاده می‌کنیم، داده‌های معابر، داده‌های کسب‌و‌کارها که با کمک کاربران بلد هم بهبود داده می‌شود، تصاویر ماهواره‌ای و ... . اطلاعات ناهمواری‌ها نیز جزئی از داده‌هایی هستند که بلد با کمک آن‌ها سعی در ارائه‌ٔ خدمات بهتری برای کاربران می‌کند.در ادامه ابتدا توضیح می‌دهیم که داده‌ٔ ناهمواری‌ها به چه صورت است، سپس در مورد اینکه چگونه از آن برای نمایش دادن کوه‌ها در بلد استفاده می‌شود به عنوان یک مثال توضیح می‌دهیم.مدل رقومی ارتفاع (DEM)به نقل از ویکی‌پدیای فارسی:مدل رقومی ارتفاع (انگلیسی: Digital elevation model) یا DEM مدلی دیجیتال یا نمایشی سه‌بعدی از سطح زمین، ماه یا دیگر سیاره‌ها است که معمولاً برای نمایش ناهمواری‌های زمین و با استفاده از داده‌های ارتفاع از سطح دریا تهیه می‌شود.دیتای خام ما مدل رقومی ارتفاع است که همان‌طور که ویکی‌پدیا توضیح داده‌است، ارتفاع از سطح دریای هر نقطه از ایران را در آن داریم. دیتای مدل رقومی را می‌توان در قالب یک مستطیل n در m دید که هر خانهٔ آن معرف یک ناحیه از زمین است و مقدار آن نشان‌دهنده‌ٔ ارتفاع از سطح دریای آن نقطه است.تصویر۱. نمونه‌ای از «مدل رقومی ارتفاع»، در این داده هر نقطه نمایانگر ارتفاع یک محدوده در ایران است، نقاط روشن‌تر ارتفاع‌های بیشتر و نقاط تیره‌تر ارتفاع‌های نزدیک به سطح دریا را نشان می‌دهد، فرم رشته کوه‌ها کاملا مشخص است. همچنین نقطه‌ای که با پیکان قرمز مشخص شده ‌است قلهٔ دماوند است.همان‌طور که در تصویر هم مشاهده می‌کنید با اینکه مدل رقومی ارتفاع، ناهمواری‌ها را به خوبی نشان می‌دهد، ولی در ذهن تصویر سه‌بعدی از کوه‌ها را به وجود نمی‌آورد، پس لازم است پردازشی روی مدل رقومی ارتفاع انجام بدیم تا به تصویری سه بعدی (یا شبه سه بعدی) از ناهمواری‌ها و کوه‌ها برسیم.تپه‌سایه (Hillshade)اصولا همهٔ نقشه‌ها بخشی از واقعیت موجود در زمین را با تغییراتی نشان می‌دهند. اگر بخواهیم زمین را مانند آن‌چه که هست نشان بدهیم (مثل عکس‌های ماهواره‌ای) نتیجه ممکن است قشنگ باشد ولی کاربر ممکن است نتواند اطلاعاتی که لازم دارد را به راحتی پیدا کند. بنابراین همیشه در تهیهٔ نقشه‌ها یک سری ساده‌سازی‌ها انجام می‌شود و فقط اطلاعات لازم نمایش داده می‌شود. از طرف دیگر ساده‌کردن بیش از حد هم نقشه را خسته‌کننده می‌کند. هنر طراحی نقشه یا کارتوگرافی در این است که بتواند بین بخش‌های کاربردی نقشه و زیبایی آن تعادل ایجاد کند. استفاده از رنگ و سایه‌روشن و تغییر مقیاس برخی چیزها در نقشه کمک می‌کند که نقشه در عین کاربردی بودن از لحاظ بصری هم جذابیت داشته باشد.از آن‌جا که زمین یک شئ سه‌بعدی است و نقشه یک نگارهٔ دو بعدی است به ناچار برخی اطلاعات زمین مثل ارتفاع نقاط از دست می‌رود و باید برای نمایش آن فکر دیگری کرد. تکنیک‌های مختلفی برای نمایش پستی و بلندی‌های زمین وجود دارد. مثلا استفاده از خطوط هم‌ارتفاع (کانتور contour) یک راه فنی مناسب برای درک ارتفاعات روی نقشه است. این تکنیک البته بیشتر در نقشه‌های فنی و عمرانی کاربرد دارد و برای نقشه‌های با کاربرد عام از روش‌های دیگری مثل هیل‌شید (تپه‌سایه) استفاده می‌شود.تپه‌سایه چیست؟از لحاظ تئوری اگر شما عمود بر یک صفحه به آن نگاه کنید تغییرات ارتفاعی در آن را متوجه نمی‌شوید. (مثلا اگر به یک استوانه از کنار نگاه کنیم مستطیل دیده می‌شود و در ظاهر فرقی با یک مکعب ندارد). ولی اگر به این جسم نوری تابانده شود بر سطح آن سایه‌هایی ایجاد می‌شود که به چشم کمک می‌کند که عمق را در آن تشخیص دهد. این قضیه برای سطح زمین هم همین‌طور است و مثلا هنگامی که از هواپیما به کوه‌ها وتپه‌ها نگاه می‌کنیم با تابش نور خورشید به آن‌ها و دیدن سایه روشن‌ها کلیتی از حجم و فرم آن‌ها را درک می‌کنیم. حالا اگر از همین تکنیک روی نقشه استفاده کنیم و یک نقطه را به عنوان محل فرضی خورشید در نظر بگیریم و نقاطی که رو به این منبع نوری هستند روشن‌تر و نقاط پشت به آن را تیره‌تر نشان بدهیم می‌توانیم تا حد زیادی حس دیدن ناهمواری‌ها را در کاربر ایجاد کنیم. این کار اوایل دستی انجام می‌شد و کارتوگرافرهای زبردستی مثل ادوارد ایمهوف (Eduard Imhof) با تکیه بر تجربه و ذوقشان به نقشه عمق می‌دادند و حس واقع‌گرایی را در آن ایجاد می‌کردند.تصویر ۲. سمت راست آقای ادوارد ایمهوف در حال ترسیم دستی تپه‌سایه‌ها، سمت چپ یکی از نقشه‌های ترسیمی او که ناهمواری‌ها را به زیبایی نشان داده. (منبع در پ.ن. ۱) اما در عصر نقشه‌های دیجیتال تپه‌سایه‌ها چطور تهیه می‌شوند؟در بالا گفتیم که اطلاعات پستی و بلندی‌های زمین در یک فایل DEM ذخیره می‌شوند که در آن هر پیکسل از فایل نماینده ناحیه‌ای از زمین است (بسته به رزولوشن فایل DEM اندازه این ناحیه متفاوت است) و رنگ هر پیکسل نشان‌دهندهٔ ارتفاع آن از سطح دریاست. برای تهیهٔ سایه‌روشن‌ها فرض می‌شود که نور خورشید از بالا سمت چپ و با ارتفاع مشخصی به این سطح می‌تابد. حالا چرا بالا و چپ؟ این مساله ربطی به موقعیت واقعی خورشید نسبت به زمین ندارد و به ادراک بصری انسان بستگی دارد. در زندگی روزمره ما عموما عادت داریم اشیاء را طوری ببینیم که نور از بالا به آن تابیده می‌شود.تصویر ۳. کدام‌یک تپه و کدام‌یک گودال هستند؟در این شکل تصاویر فقط ۱۸۰ درجه چرخیده‌اند. ولی ما یکی را تپه می‌بینیم و یکی را گودال. به خاطر این عادت چشم انسان، ما موقعیت خورشید را همیشه از بالا در نظرم می‌گیریم که اتفاقا در نیم‌کره‌ٔ شمالی خلاف موقعیت واقعی خورشید در آسمان است.خب پس از مشخص شدن منبع نوری، تعیین اینکه یک نقطه در معرض نور است یا در سایه کار ساده‌ای است. کافی است از این نقطه به منبع نوری وصل کنیم و اگر در مسیرش به نقطهٔ دیگری برخورد کرد یعنی در سایه آن قرار گرفته ولی اگر بدون مانع به منبع نوری وصل شد یعنی در روشنایی است. البته این «ساده» که گفتیم یعنی مفهوم و روند آن ساده است و از لحاظ فنی مسائل زیادی وجود دارد که باید حل شود. مثلا اغراق در ارتفاعات برای نشان دادن واضح‌تر سایه‌ها لازم است. احتمالا خبر دارید که زمین از لحاظ ناهمواری نسبی (یعنی نسبت ارتفاع دره و کوه‌ها به شعاع) از یک پرتقال هموارتر است! به همین خاطر سایه‌هایی که ایجاد می‌شود اگر با مقیاس واقعی ترسیم شوند خیلی کوچک می‌شوند و عملا دیده نمی‌شوند.در نهایت پس از استخراج تپه‌سایه‌ها ما یک فایل رستر داریم که هنوز برای نمایش روی نقشه بلد مناسب نیست. چون هم حجم زیادی دارد هم اینکه نمی‌توان به سادگی آن را با بقیه عوارض نقشه ترکیب کرد.تصویر ۴. نسخه‌ٔ اولیه از تپه‌سایه، در تصویر بالا خورشید از گوشه‌ی بالا چپ با زاویه‌ی ۴۵ درجه نسبت به محور z می‌تابد، نقاط نورانی نقاطی هستند که نور خورشید به آن‌ها می‌رسد و نقاط تیره نقاطی هستند که نور خورشید به آن‌ها نمی‌رسد، ناحیه‌های مسطح نور خورشید به اندازهٔ متوسط به آن‌ها برخورد می‌کند و نه کاملا روشن و نه کاملا تیره‌اند. دوباره قله‌ٔ دماوند با فلش مشخص شده است.تا الان به چیزی رسیدیم که احساس ناهمواری بودن و کوه بودن به آن داریم، اما همین تصویر چندین گیگابایت حجم دارد و نمی‌توان آن‌را به همین شکل ارائه داد.در ادامه توضیحات مختصری در مورد نمایش تپه‌سایه بر روی گوشی می‌پردازیم.وارد کردن تپه‌سایه در اپلیکیشنیکی از دغدغه‌های ما در بلد حجم دیتای مصرفی کاربرانمان است، ما سعی می‌کنیم بیشترین داده‌ای که برای کاربران مفید و جذاب است را با کمترین مصرف دیتای کاربر ارائه کنیم، پس این موضوع مهم است که تپه‌سایه را به گونه‌ای ارائه کنیم که دیتای مصرفی کاربر زیاد نشود.کاشی‌هااولین کار ما تبدیل تپه سایه به کاشی‌ (Tile)‌هایی‌ست که فقط آن‌ها نمایش داده شوند، وقتی در بلد در زوم کمتر یعنی در حالتی که همه‌ی ایران مشخص است، به ایران نگاه می‌کنید، کافی‌ست اطلاعات در حد ایران دانلود شوند و لازم نیست اطلاعات جزئی‌تر مانند اطلاعات مربوط به پلاک خانه‌ها و ... دانلود شوند، در مورد تپه‌سایه هم همین طور، وقتی تصویر در سطح کل ایران را می‌بینیم لازم نیست تپه‌سایه‌ای به دقت زیاد مشاهده‌کنیم، کافی‌ست دقت در سطح ایران باشد، همچنین وقتی به جلو می‌رویم، باید اطلاعات دقیق‌تری مشاهده کنیم. همچنین هنگامی که نقشه در سطح تهران را مشاهده می‌کنیم لازم نیست اطلاعات شهر دیگری مثل یزد دانلود شود. پس داده‌ها رو به دو صورت تقسیم می‌کنیم، اولا برای هر مقیاس از نقشه و میزان جلو رفتن داده‌هایی برای آن دقت می‌سازیم و سپس داده‌ها را بین ناحیه‌های مختلف تقسیم می‌کنیم تا وقتی شما بخشی از تهران را می‌بینید فقط داده‌های آن بخش از تهران دانلود شوند.تصویر ۵. نمایش کاشی‌ها، هر کدام از مربع‌های قرمز یک کاشی هستند که داده‌های نقشه در آن ذخیره شده‌اند، وقتی نمای کلی ایران را می‌بینیم کاشی‌ها مساحت بزرگی را شامل می‌شوند، ولی شامل اطلاعات کلی هستند، ولی به سطح شهر می‌رسیم، کاشی‌ها شامل اطلاعات مساحت کمتری از نقشه‌اند ولی اطلاعات با جزئیات بیشتری را داخل خود ذخیره می‌کنند.استخراج چندضلعی‌هاهمچنین تصاویر حجم زیادی دارند، به همین دلیل داده‌ها را تبدیل به شکل‌های هندسی مثل خط و چندضلعی می‌کنیم تا علاوه بر کیفیت و زیبایی، حجم کمتری را به صورت میانگین دانلود کنند، برای اینکار اولا ناحیه‌ی مسطح را از تپه‌سایه حذف کردیم و سپس رنگ‌های نورانی و تاریک را به چندین قسمت تقسیم کرده و برای هر کدام چند‌ضلعی‌هایی ساخیتم، برای اینکه بهتر متوجه شوید مثالی ساده‌شده از روند ساختن این چند ضلعی‌ها را برای ناحیهٔ کاملا تیره ارائه خواهیم کرد.تصویر تپه‌سایه را کاملا مشابه تصویر مدل رقومی ارتفاع می‌توانید به صورت یک مستطیل n در m در نظر بگیرید که در هر خانه از این مستطیل میزان تیرگی آن پیکسل نوشته شده‌است. تمام پیکسل‌هایی که تیرگی آن‌ها از حدی بیشتر است را در نظر بگیرید، این پیکسل‌ها تعدادی مولفه‌ٔ همبندی‌ تشکیل می‌دهند. کوچکترین چندضلعی‌ای که همه‌ی این پیکسل‌ها را شامل می‌شود رسم کرده و با ساده‌سازی آن، به یک چندضلعی نهایی می‌رسیم.تصویر ۶. مراحل به دست آوردن چندضلعی‌ها به صورت ساده برای یک سطح از تیرگی  ۰: تصویر تپه‌سایه در حالت زوم، پیکسل‌-پیکسل بودن آن را می‌توان دید.  ۱: تمام پیکسل‌هایی که تیرگی آن از حدی بیشتر است را قرمز کرده‌ایم.  ۲: کوچکترین چندضلعی‌ای که این پیکسل‌ها در آن قرار بگیرد را رسم کردیم.  ۳: با ساده‌سازی این چندضلعی‌ها به چندضلعی‌های نهایی رسیدیم. سپس با کنار هم قرار دادن تمام این چندضلعی‌ها در سطح‌های تیرگی متفاوت دوباره تصویری مانند تصویر تپه‌سایه‌ی قبل ترسیم خواهد شد.تصویر ۷. دو تصویر بالا چندضلعی‌هایی هستند که محدوده‌هایی که شدت نور در آن‌ها یک مقدار مشخص است را نشان می‌دهند، تصویر بالا راست محدوده‌ها با شدت نور زیاد و روشن است و تصویر بالا چپ محدوده‌ها با شدت نور کم و تاریک است. این محدوده‌ها به شکل اشکال هندسی مثل چند ضلعی در آورده شده‌اند و با کنارهم قرار گرفتن آن‌ها تصویر پایین ساخته شده است.سایر مسائل برای وارد‌کردن تپه‌سایهساختن این چندضلعی‌ها از تصویر نکات جالب و زیادی دارد، این نکات از اینکه چگونه از تصویر به چندضلعی برسیم، چگونه این چند ضعلی‌ها را داخل کاشی‌ها ذخیره کنیم تا جزئیات مربوط به اینکه چگونه چندضعلی‌هایی که می‌سازیم حجم زیادی از دانلود اینترنت کاربرانمان را نگیرند و همچنین زیبایی داشته‌باشند است، حتی اجرای الگوریتم‌های مشهور روی این حجم از داده چندین ماه طول می‌کشد و لازم بود دنبال روش‌های بهینه‌تر با قابلیت توزیع پذیری برای محاسباتمان بگردیم. برای نمونه در مورد یکی از این جزئیات، همان‌طور که در بند قبل گفتیم، کاشی‌ها در مقایس‌های مختلف باید شامل جزئیات متفاوتی باشند تا تپه‌سایه در سطح ایران هم دیده شود ولی حجم مصرفی زیاد نباشد، همچنین در سطح شهر باید جزئیات تپه‌سایه بیشتر شود، مثلا برای یک کوه در سطح ایران نشان دادن دو عدد چند‌ضلعی یکی برای ناحیه‌ٔ روشن و دیگری برای ناحیه‌ٔ تیره کافی است، ولی وقتی زوم می‌کنیم باید جزئیات بیشتری از کوه نمایش داده شود. برای این‌کار دو روش داشتیم، یکی این بود که از الگوریتم‌های ساده‌سازی چندضلعی‌ها استفاده کنیم و سعی کنیم با کمک آن‌ها چندضلعی‌های کوچک و زیادی که برای جزئیات زیاد ساخته شده بود را تبدیل به چندضلعی‌هایی برای جزئیات کم کنیم و دیگری این بود که کیفیت تصویر را با روش‌هایی کم کنیم و تصویر با کیفیت کمتر این چندضلعی‌ها را تولید کنیم، الگوریتم‌های ساده‌سازی چندضلعی‌ها اکثر تلاش بر کم‌کردن تعداد اضلاع می‌کنند و کم کردن کیفیت باعث می‌شد که شکل چندضلعی‌ها از حالت عادی خودشان خارج شوند، با ترکیب این دو روش و چند روش دیگر در پردازش تصویر این مسئله نیز حل شد.تصویر ۸. سه مرحله از جزئیات کوه دماوند و ناهمواری‌های اطراف آن را مشاهده می‌کنید، تصویر سمت چپ کوه دماوند فقط از ۵ چندضلعی ساخته‌شده و برای نمایش وقتی داریم کل ایران را مشاهده می‌کنیم مناسب است، تصویر دوم جزئیات بیشتر شده و تصویر از کنارهم قرارگرفتن چندصد چندضلعی تشکیل شده و برای حالتی که با زوم بیشتر نسبت به ایران به کوه‌ها نگاه می‌کنیم مناسب است و تصویر سوم جزئیات بازهم بیشتر شده و برای حالتی که روی کوه دماوند زوم کردیم مناسب است.البته این روش انجام دارای مشکلاتی نیز است، مثلا همان‌طور که در بندهای بالا گفته شد وقتی نقشه را ۱۸۰ درجه بچرخانیم، دیگر تپه‌سایه‌ای که دیده می‌شود به حالت واقعی نزدیک نیست و احساس پستی و بلندی‌ها به بلندی‌ها و پستی‌ها تغییر می‌کند یا با اینکه حجم به طور میانگین از حالت تصویر کمتر است، در نقاطی که جزئیات ناهمواری‌ها زیاد است حجم از حالتی که کاشی‌ها را به صورت تصویر بودند بیشتر می‌شود و یا اینکه بخشی از پردازش و رندر چندضلعی‌ها را برعهده‌ٔ کلاینت گذاشته می‌شود و ....تا حالا فکر می‌کردید نمایش دادن کوه‌ها در نقشه می‌تواند اینقدر جزئیات داشته‌باشد؟ خوب، باهم یکی از استفاده‌های داده‌های ارتفاعی در بلد را دیدیم، این تنها استفاده از این داده‌ها نیست و کاربرد‌های زیادی دارند، مثلا در مسیریابی پیاده شیب مسیر با کمک مدل رقومی ارتفاع محاسبه می‌شود و در تخمین سختی مسیر و زمان رسیدن موثر است.بلد را می‌توانید از کافه بازار و گوگل پلی نصب کنید و صفحهٔ اینستاگرام و توئیتر بلد را از اینجا دنبال کنید.پانویس:۱. منبع تصویر ۳: -  https://hls-dhs-dss.ch/de/articles/031188/2008-01-22/ -  Räber, Stefan &amp; Jenny, Bernhard &amp; Hurni, Lorenz. (2009).</description>
                <category>بلاگ فنی بلد</category>
                <author>علیرضا توفیقی محمدی</author>
                <pubDate>Wed, 29 Jul 2020 18:44:06 +0430</pubDate>
            </item>
                    <item>
                <title>چه مسیری را برای شناخت کاربران بلد طی می‌کنیم؟</title>
                <link>https://virgool.io/BaladMaps/%DA%86%D9%87-%D9%85%D8%B3%DB%8C%D8%B1%DB%8C-%D8%B1%D8%A7-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D9%86%D8%A7%D8%AE%D8%AA-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86-%D8%A8%D9%84%D8%AF-%D8%B7%DB%8C-%D9%85%DB%8C%DA%A9%D9%86%DB%8C%D9%85-n9uc1ttjbtbe</link>
                <description>ما در بلد تلاش می­‌کنیم سرویس‌­هایی رو که به کاربران می‌­دیم بهبود ببخشیم. لذت­‌بخش‌­ترین لحظاتمون وقتیه که کاربری اعلام می‌­کنه بلد گرهی از کارش بازکرده­؛ مثل پیام تشکر یه پستچی بابت ثبت پلاک­‌ها روی نقشۀ شهر تهران که کارش رو در پیداکردن آدرس‌­ها آسون­‌تر کرده؛ معلم جغرافیایی که عاشق سَفَره و نقاط گردشگری رو در بلد جستجو می­‌کنه؛ ویزیتورهایی که برای پخش اجناسشون در سطح شهر از نقاط منتخب بلد برای مشخص کردن مکان­‌هایی که باید بهشون سربزنن استفاده می­‌کنن؛ پیک موتوری‌هایی که برای مسیریابی نیاز به یه دستیار صوتی دارن که اسم خیابون‌­ها رو با صدای خوشایندی تلفظ کنه؛ جرثقیل‌­های امدادخودرو که برای مسیریابی از بلد استفاده می­­‌کنن؛ راننده­‌های تاکسی‌­های اینترنتی، که از کاربران پرمصرف ما هستن؛ و کسانی که با توجه به پیچیدگی سیستم حمل­‌ونقل عمومی شهر تهران، بلد براشون راهنمای خوبیه. البته این همۀ ماجرا نیست و ما می­‌دونیم که در بهبود سرویس‌­هامون در چرخۀ کاربرمحور، ابتدای راه هستیم. هدف ما در تحقیقات کاربری بلد، اینه که کاربرهامون رو بشناسیم (اینکه چه کسانی هستن، در چه زمان­‌هایی و با چه اهدافی از بلد استفاده می‌­کنن). مشکلات، نیازها، خواسته­‌ها، رفتار و انگیزه­‌هاشون رو در استفاده از نقشه و مسیریاب درک کنیم و در نهایت این شناخت رو به تیم‌­های محصولی­‌مون منتقل کنیم. گزارش‌­هایی که کاربرها به بلد می­فرستن یکی از منابع اصلی ما برای پیداکردن سرنخ‌­هاست. ما با پیگیری پیام­های ارسالی به پشتیبانی بلد، ثبت، دسته­‌بندی و آنالیز پیام ها به شناخت بیشتری از کاربرهامون می­‌رسیم.در بلد ارتباط بین بخش تحقیقات کاربری با پشتیبانی کاربران بسیار نزدیکه. ما با کمک هم سیستمی رو ایجاد کردیم که همۀ گزارش­‌های کاربرها در اون ثبت می­شه و برچسبی می‌­خوره که مشخص می­کنه هر گزارش از جنس پیشنهاده یا کاربرها مشکلی رو دربارۀ محصول اعلام کردن. بعد این گزارش‌­ها با درنظرگرفتن ورژن محصول، برچسبی می­‌خورن که مشخص می­کنه مربوط به کدوم تیم در بلد هستن و در نهایت به صورت ماهانه به تیم­‌های محصولی انتقال داده می­‌شن. به این ترتیب، ما رصد می­‌کنیم که هر ماه بیشترین مشکل، درخواست و پیشنهاد مطرح‌­شدۀ کاربرهامون چه مواردی هستند. به کمک این سیستم ما می­تونیم کاربرهامون رو با توجه به اهداف و انگیزه‌­هایی که برای استفاده از بلد دارن به دسته‌­های مشخصی تقسیم کنیم و راه­‌های ارتباطی بهتری برای گرفتن تست‌­های محیطی (یا مصاحبه) با هر دسته از کاربرها پیدا کنیم تا شناختمون رو ارتقا بدیم و نواقص محصول رو بهبود ببخشیم. البته کار ما در تحقیقات کاربری فقط به پیگیری مشکلات و نظراتی که کاربرها اعلام می­‌کنن محدود نمی­‌شه. در واقع، گاهی نظری که کاربر به پشتیبانی اعلام می­‌کنه بیشتر از جنس خواسته‌ست تا نیاز؛ و لزوما نمی­‌شه به دلیل فراوانی اعلام یه درخواست، اون رو نیاز واقعی کاربر تلقی کرد و در اولویت کارها قرارش داد. گاهی خواسته‌­ای که کاربر مطرح می‌­کنه در واقع تجربه­‌اش از محصول مشابه هست و نه نیاز ضروری؛ با بررسی فرایند رفتار و اعمال کاربر در استفاده از محصول (user journey)، مشخص می­شه که اولویت مسئله اونقدر زیاد نیست که هدف کاربر رو در مسیریابی شهر واقعاً تحت تأثیر قرار بده. مثال معروفی که برای مشخص­‌ترشدن موضوع وجود داره، ماجرای دیس‌­لایک در فیس­بوکه. درخواست کاربرها این بود که اگرچه لایک پاسخ سریعی برای عکس‌­العمل نشون­ دادن به پیام‌­های خوشایند دیگرانه و در خیلی از مواقع افراد رو از کامنت‌­گذاشتن بی­‌نیاز می‌­کنه، چطور می­شه خبر یک اتفاق غم‌­انگیز مثل سیل یا فوت پدر دوستمون رو لایک کرد؟ در نتیجه درخواست کاربرها عکس‌­العمل سریع و کاملاً مخالف با لایک مثل دیس­‌لایک بود. اگر فیس­بوک می­‌خواست فقط به فراوانی اعلام نیاز پاسخ بده، باید کنار لایک دکمۀ دیس‌­لایک رو هم اضافه می­‌کرد، که احتمال ایجاد تنش و تشدید اختلاف‌­نظر رو بین کاربرها بالا می‌­برد. بررسی و تحقیقات کاربری بیشتر روی این درخواست نشون دادکه در واقع نیاز اصلی کاربرها عکس‌­العمل­‌های معنادارتر به پیام‌­های دیگران بود. اون­‌ها می­‌خواستند عصبانیت، غم، شگفتی، شادی، تشویق، همدلی و علاقه­‌شون رو به محتوای انتشاریافتۀ دیگران ابراز کنن. پس راه‌­حل فیس­بوک اجرای دقیق درخواست کاربرها و اضافه‌­شدن دکمۀ دیس‌­لایک نبود، بلکه ارتقا لایک با ایموجی­‌های مختلفی بود که پاسخگوی نیاز واقعی کاربرها باشه. با مشاهدۀ رفتار کاربرها از نزدیک، انجا‌م‌­دادن تست‌­های کاربردپذیری و آنالیز صحبت‌­هاشون بعد از مصاحبه‌­های عمیق، نیازهای کاربرها کشف می­شه که نقش تعیین‌­کننده‌­ای در استفادۀ کاربر از محصول، رسوندن او به اهدافش و ایجاد حس رضایت در او داره.  در بلد یکی از تیم­‌هایی که با تحقیقات کاربری، برای بهبود چرخۀ طراحی کاربرمحور، ارتباط مستقیم داره تیم طراحی تجربۀ کاربریه. در این بخش ما مشکلات کاربرها و نیازهای اون‌­ها رو شناسایی می­‌کنیم و به طراح ها انتقال می­‌دیم تا کیفیت استفاده از محصول رو ارتقا بدیم و به تجربه‌­ای لذت­‌بخش تبدیلش کنیم. ایده‌­های طراح ها هم به صورت پروتوتایپ درمیاد و ما معمولاً روند رسیدن کاربر به اهدافش رو با استفاده از پروتوتایپ محصول، پیش از انتشار نهایی، تست می‌­کنیم. در این چرخه، ایدۀ طراح ها،که با نمونه‌­های اولیه در دسترس کاربر قرار می‌­گیره، سنجیده می‌­شه و با گزارش نتایج و بازطراحی به ارتقا کاربردپذیری نسخۀ نهایی منجر می‌­شه. بخش دیگری از تحقیقات ما بررسی انگیزه‌­های کاربرها در استفاده از محصولاتیه که مشابهش در ایران موجود نیست و کابرهای بلد برای اولین‌­بار با این سرویس مواجه می­‌شن. در این زمینه هم تیم تحقیقات تجربه کاربر سعی می‌­کنه انگیزۀ کاربران رو در استفاده از یک محصول بررسی کنه و به شناخت نیازهاشون در این حوزه دست پیدا کنه؛ به طور مثال: اگرچه قبل از بلد محصول مشابه‌ای نبود که حمل‌­و­نقل عمومی ترکیبی (استفاده از مترو، بی‌­آرتی، تاکسی و اتوبوس­‌های شهری) رو در سطح شهر پیشنهاد بده، ما سعی کردیم رفتار کاربرها رو در مسیریابی و استفاده از وسایل حمل‌­و­نقل عمومی بررسی کنیم. اینکه اگر کاربری سعی داره با استفاده از  حمل‌­و­نقل عمومی به مقصد ناشناخته‌ای در شهر برسه، از چه روش و ابزارهایی استفاده می­‌کنه، چه سؤالاتی رو می‌­پرسه و چطور از نقشه استفاده می­‌کنه. با این مطالعات شناخت ما از نیازهای کاربر برای مسیریابی با استفاده از وسایل حمل‌­و­نقل عمومی و شیوۀ صحیح‌­تر انتقال اطلاعات مشخص‌­ شد.در نهایت ما با همۀ تلاشمون برای ایجاد ارتباط مؤثرتر با کاربرهامون و انجام‌­دادن تحقیقات کاربری اثربخش، می­‌دونیم که ابتدای راهیم و با توسعۀ محصول و عرضۀ سرویس­‌های بیشتر، مسیری طولانی رو برای شناخت کاربرها پیش رو داریم.</description>
                <category>بلاگ فنی بلد</category>
                <author>مهسا رحیمی</author>
                <pubDate>Sun, 05 Apr 2020 19:20:32 +0430</pubDate>
            </item>
                    <item>
                <title>بلد در جست‌وجوی شلوغی!</title>
                <link>https://virgool.io/BaladMaps/balad-corona-d6ehjrsaeroi</link>
                <description>این محدوده‌‌های قرمزرنگ مناطق پرتردد تهران هستن. جاهایی که در دوره شیوع کرونا بهتره کمتر توشون رفت‌وآمد کنیم. 
تو این مطلب، هم به شکل فنی و هم غیرفنی، می‌خواهیم خیلی  مختصر براتون از آخرین کاری که برای بیماری کرونا کردیم بگیم.همیشه وقتی به تاثیر داده‌ها روی زندگی عادی فکر می‌کردم یا وقتی بین یک دنیا داده چرخ می‌زدم به این فکر می‌کردم که چطور می‌تونم این اطلاعات رو طوری که به یک دردی بخوره استفاده کنم. با هم تیمی‌هام در تیم زیرساخت دادهٔ بلد هم که صحبت می‌کردم ایده‌های جالب و تاثیرگذاری مطرح می‌شد.از تقریباً ۳ هفتهٔ پیش که شیوع کرونا شروع شد؛ ما هم مثل هر کسب و کار دیگه‌ای به این فکر می‌کردیم که چطور می‌تونیم در برابر این بحرانی که به‌وجود اومده، تاثیرگذار باشیم و حرکت مثبتی در این زمینه انجام بدیم.از کارهایی که تیم‌های مختلف بلد در مورد نمایش مراکز ویژهٔ کرونا و داروخانه‌ها و نمایش مراکز اهدای خون انجام دادند، این جریان شروع شد و ما هم خب دست به کار شدیم و شروع کردیم به سرچ کردن و دیدیم کشورهایی که زودتر از ما دچار این بحران شده بودند چه کارهایی انجام داده‌اند. محصول‌‌هایی که در زمینهٔ مشابه ما کار می‌کنند، یک سری اقدامات انجام داده بودند. یکی از اون‌ها Corona Maps در کره جنوبی بود که با استفاده از داده‌هایی که از دولت کره جنوبی گرفته بودند، بر روی نقشه محل بیمارها رو نشون می‌دادند و به مردم کمک می‌کردند که از جاهای پرخطر پرهیز کنند.ولی خب ما دسترسی به اطلاعات بیماران نداشتیم، در نتیجه سراغ داده‌های خودمون رفتیم. ایدهٔ ما این بود که بررسی کنیم که چه جاهایی در یک شهر نسبت به جاهای دیگه شلوغ هستند و احتمال مبتلا شدن به این بیماری در اون محدوده‌ها بیشتر می‌تونه باشه.خب ببینیم چی داریم؟!قدم اول این بود که از کدام منابع دیتایی‌مون استفاده کنیم. چندتا منبع خیلی واسمون جذاب بودند:اول داده‌های لوکیشن‌ها بودند که ما به صورت ناشناس از کاربرامون می‌گیریم. پیام توی مطلب های قبلی بلاگ بلد به این موضوع اشاره کرده. اما برای یادآوری باید بگم که ما اطلاعات کاربران را بدون نام و شماره تلفن و اطلاعات شخصی آنها نگهداری می‌کنیم. و هر گوشی رو با یه آی‌دی‌ای که به شکل رندوم تولید می‌شه شناسایی می‌کنیم.دوم، داده‌های درخواست‌های مسیریابی‌ بلد بود که به ما می‌گه کاربرها از کجا به کجا مسیریابی می‌کنند.و در آخر هم داده‌های مربوط به سرچ کاربرهامون.دو منبع اول به نظرمون از همه مفیدتر بود و از بین این دو گزینه، به نظرمون رسید که اطلاعات درخواست مسیریابی، نتیجه بهتری خواهد داشت. چون که ما در اطلاعاتی که از مکان‌های مختلف داریم، دو مدل داده ذخیره می‌کنیم، یکی مکان‌های کاربرانی که در مسیریابی هستند و یکی هم کسانی که در حالت مسیریابی نیستند و صرفا بلد را برای جست‌وجو یا پیدا کردن نقاطی که مد نظرشون هست باز کردند. حجم داده‌هایی که ما از لوکیشن‌ها داریم روزانه در مقیاس میلیاردی هست پس به این فکر کردیم که داده‌های کاربرانی که در حالت مسیریابی نیستند خیلی قابل استفاده نخواهند بود، چون وقتی بلد باز نباشه ما لاگ لوکیشن دریافت نمی‌کنیم. از طرف دیگه کسانی که در حال مسیریابی هستند، با احتمال خیلی بالا در راه مقصدی هستند که از قبل درخواست داده بودند. در نتیجه تصمیم گرفتیم که منبع شمارهٔ دو را انتخاب کنیم.در این منبع هم، انتخاب منطقی‌تر این بود که روی داده‌های مقصد، تحلیل‌هامون رو انجام بدیم. پس شروع کردیم!بریم تو دل شلوغی!از آنجایی که داده‌های ما از تهران بیشتر از هر شهر دیگه‌ای بود، برای شروع تهران رو  انتخاب کردیم. اینطوری می‌تونستیم تحلیل‌های مطمئن‌تری رو برای موضوع کرونا در تهران انجام بدیم.برای شروع مثل هر پروژه‌ی تحلیل‌ داده‌ای دیگه‌ای با فاز اکتشافی شروع کردیم و یه مصورسازی ساده به شکل روزانه، انجام دادیم. هدف از این کار این بود که ببینیم جاهای شلوغ‌تر نسبت به بقیهٔ نقاط به شکل شاخصی متفاوت هستند یا نه. البته قبلش یک سری تمیزکاری‌هایی هم روی داده‌‌هامون انجام دادیم، به عنوان مثال اگر درخواست‌هایی با فاصله‌ی زمانی کم وجود داشتند که از سمت یک کاربر اومده بودند فقط یکی‌شون رو نگه می‌داشتیم. که از این روش در قدم اول خروجی قابل قبولی ندیدیم.در گام بعدی تصمیم گرفتیم روی این داده‌ها یک الگوریتم خوشه‌بندی پیاده کنیم. منظورمون از خوشه، نقاطی هستند که داده‌های اون، دارای چند ویژگی‌ مشخص مشترکی هستند، در این مدل ویژگی‌هایی که ما بررسی می‌کنیم، تراکم نقاط در طول و عرض جغرافیایی‌شون هست.با یکی از معروف‌ترین الگوریتم‌ها یعنی K-means شروع کردیم و بعد چند خوشه‌ای که بیشترین داده رو در خودشون دارند بررسی کردیم. خروجی‌ قابل قبول بود چون ما می‌دیدیم که مناطق مرکز شهر، عموما در خوشه‌های متراکم قرار دارند.نمایش محدوده بزرگ برای کاربران خیلی کاربردی نیست، پس سراغ نقاط کوچک و متراکم رفتیم.اینجا بود که با خودمون فکر کردیم باید برگردیم خونهٔ اول و ببینیم که ما دقیقا چه خروجی‌ای ‌می‌خواهیم؟ خودمون رو جای کاربرامون گذاشتیم. این که خیلی کلی بگیم این مناطق که محدودهٔ بزرگی دارند شلوغ و خطرناک هستند خیلی کاربردی نیست. به این نتیجه رسیدیم که بهتره یک سری نقاط کوچک و متراکم رو در بیاریم که افراد اگر هم مجبور به سفر به حوالی اون نقاط بودند، از اون نقاط متراکم عبور نکنند. یکم بیشتر فکر کردیم و دیدیم الگوریتم کلاسیک و محبوب DBSCAN اینجا خیلی به کارمون میاد. حالا این مدل چیکار می‌کنه؟این مدل برخلاف مدل قبلی از ما نمی‌خواد که تعداد خوشه‌های مطلوب‌مون رو بگیم، و به جای اون با گرفتن یک سری پارامترها، خوشه‌های متراکم رو به ما برمی‌گردونه. پارامترهایی مثل حداقل تعداد نقاط همسایه برای تعیین نقطهٔ مرکزی، فاصلهٔ بین نقاط در خوشه و … در نتیجه سعی کردیم بهترین عددها رو با کمک یک سری مصورسازی و الگوریتم‌ها برای اون انتخاب کنیم و مدل‌مون رو اجرا کردیم.این بار خروجی‌هامون کاربردی‌تر شدند. با استفاده از این خروجی، مکان‌هایی مثل یک سری بیمارستان‌ها، میدان‌های بزرگ مانند فاطمی، ونک، ولیعصر، ترمینال غرب و… در خروجی‌مون دیده می‌شدند و کاربرها اگر مجبور به ترک خونه‌شون بودند با استفاده از محل‌هایی که ما مشخص کردیم می‌تونستند از اون نواحی عبور نکنند یا اگه خواستند به بیمارستانی مراجعه کنند،‌ بیمارستانی رو انتخاب کنند که طبق آخرین نتایج ما نسبت به سایرین کمتر شلوغ هستند.هدف ما از نمایش مناطقی که احتمال ابتلا به کرونا زیاد است این بود که هر فردی اگر به هر دلیلی نیاز ضروری به خروج از خانه داشت و باید کار اداری، بانکی یا خرید ضروری انجام می‌داد، بتونیم به وسیلهٔ این لایهٔ کرونا (که روی بلد به اسم نقاط پرتردد هست) روی نقشه از محدوده‌های پرتردد عبور نکنه و مسیرهای جایگزین رو انتخاب کنه. این اطلاعات در کنار 50 جست و جوی اول بلد که چند روز پیش تیم سرچ ارائه دادند هماهنگه. مثلا اطراف خیلی از داروخانه‌ها و بیمارستان‌ها، احتمال میره جاهای پرخطرتری باشه.ما تو این کار خیلی سعی کردیم احتیاط زیادی به خرج بدیم و حواسمون باشه که اطلاعات درستی به کاربرها بدیم و استرس زیادی ایجاد نکنیم. برای اینکه از این ابزار استفاده کنید کافیه که لایهٔ مناطق پرتردد رو از قسمت لایه‌ها، روی نقشهٔ بلد روشن کنید تا بتونید برای ترددهای ضروری‌تون مسیر بهتری پیدا کنید و همچنان اینکه بهترین روش تو خونه موندنه. امیدواریم دفعه بعد از دانش فنی تیم زیرساخت داده برای اتفاقات بهتر استفاده کنیم. بلد رو  می‌تونید از کافه بازار و گوگل پلی نصب کنید و صفحهٔ اینستاگرام بلد رو از اینجا دنبال کنید.</description>
                <category>بلاگ فنی بلد</category>
                <author>Arash Ahmadi</author>
                <pubDate>Tue, 17 Mar 2020 19:07:34 +0330</pubDate>
            </item>
                    <item>
                <title>کلیک شما مهمه!</title>
                <link>https://virgool.io/BaladMaps/%DA%A9%D9%84%DB%8C%DA%A9-%D8%B4%D9%85%D8%A7-%D9%85%D9%87%D9%85%D9%87-nad808gvl6ua</link>
                <description>دانشمندان داده بلد، با محاسبات آماری برای هر چیزی که شما جست‌وجو کردید؛ تشخیص می‌دن که کدوم جواب بیشتر مورد نظر کاربرها بوده است.توی این مطلب می‌خواهیم خیلی ساده براتون بگیم که ما چطوری سعی می‌کنیم با کمک خود شما سرویس جست‌و‌جوی بلد رو هر روز بهتر از روز قبل بکنیم. چون بلد اپلیکیشنیه که با کاربرهاش معنی پیدا میکنه.این شما هستید که به ما کمک می‌کنید که بفهمیم الان تو کدوم خیابون ترافیک سنگینه. شما به ما کمک می‌کنید که بفهمیم مغازه‌های سهروردی کی کارشون رو شروع می‌کنند و اسم کلیدسازی خیابون سرو چیه.شما هستید که به ما کمک می‌کنید در جواب جست‌و‌جوی «میدون کاج» اول نتیجه سعادت‌آباد رو بیاریم یا سازمان برنامه رو. شما با مسیریابی در بلد، با مشارکتتون در جمع‌آوری داده و با کلیک‌هاتون رو جواب‌های جست‌وجو به ما کمک می‌کنید.داستان از اینجا شروع می‌شه که شما بلد رو باز می‌کنید و یه جایی توی شهر خودتون یا شهرهای دیگه رو جست‌وجو می‌کنید. طول و عرض نقطه‌ای که توش هستید و عبارتی که جست‌وجو کردید به سمت سرورهای بلد میاد. مهندس‌های ما سعی می‌کنند بهترین نتیجه رو به شما نشون بدن، مثلا شما «میدون آزادی» رو جست‌وجو کردید و ما به شما هشت تا نتیجه دادیم. شما یه نگاهی به نتایج جست‌وجو می‌اندازید و جواب سوم رو کلیک می‌کنید. این کلیک شما هم به سرورهای بلد می‌رسه و نقطه مورد نظر روی نقشه به شما نشون داده می‌شه. شما به کارتون با بلد ادامه می‌دهید اما ما توی تیم جست‌وجو تازه کارمون شروع شده.ما جست‌وجوگرهای بلد، کلیک‌های شما روی نتایج سرچ رو جمع‌آوری می‌کنیم، توی یه قالب دقیق و مرتب می‌چینیم و روی یک سرور امن ازشون نگهداری می‌کنیم. ما نمی‌دونیم اسم شما چیه، اهل کجایید یا شماره‌تون چنده. فقط نقطه‌ای که توش هستید، متنی که جست‌وجو کردید، زمان جست‌وجو و جوابی که روش کلیک کردید رو از شما می‌گیریم و چند تا اطلاعات فنی خودمون بهش اضافه می‌کنیم و ذخیره‌اش می‌کنیم، ولی ما یه چیز رو می‌دونیم، ما می‌دونیم که هر چی شما بگید، اون درسته.بعد از جمع‌آوری این اطلاعات دانشمندهای داده و مهندس‌های نرم‌افزار ما از روی سرچ‌های شما و کلیک‌هایی که رو جواب‌ها می‌کنید می‌تونن متوجه بشن که جواب‌های سرچ رو باید با چه ترتیبی بچینن که شما بیشترین رضایت رو داشته باشید. اما چطوری؟تصور کنید که روزی چند صد هزار نفر مثل شما، بلد رو باز می‌کنند و یه سری کلمه رو جست‌وجو می‌کنند. مثلا روزی هزار نفر دنبال خیابان مطهری می‌گردن. از این هزار نفر نصفشون با یه نگاه متوجه می‌شن که خیابان مطهری که زیرش نوشته محله عباس‌آباد همون جاییه که می‌خوان برن. دویست نفر هم می‌خوان برن خیابان مطهری توی محله قنات کوثر. صد نفری هم می‌خوان برن خیابان مطهری توی محله زرگنده. هر کسی روی جوابی که منظورشه کلیک می‌کنه و اطلاعات کلیکش به دست ما می‌رسه . حالا تصور کنید که هر روز هزار تا کلیک برای هر عبارت جست‌و‌جو شده داره ذخیره می‌شه البته برای بعضی عبارت‌ها این عدد بیشتره و برای بعضی‌ها کمتر. در این داده‌ها، حجم عظیمی از اطلاعات وجود داره که توی خودشون ترجیحات همشهری‌های ما رو مخفی کردن.دانشمندهای داده بلد، اول این اطلاعات رو به اصطلاح تمیز می‌کنند. یعنی سعی می‌کنند تشخیص بدهند کدوم جواب‌ها قابل اطمینان‌تره. بعد با محاسبات آماری برای هر چیزی که شما جست‌وجو کردید تشخیص می‌دن که کدوم جواب بیشتر مورد نظر کاربرها بوده و اون جواب رو بالاتر به شما نشون می‌دهند که دیگه لازم نباشه همه لیست رو بخونید که جواب مورد نظرتون رو پیدا کنید. این محاسبات رو ما در بازه‌های زمانی مشخص مجددا تکرار می‌کنیم که مطمئن بشیم همیشه ترجیحات شما تو جواب‌های بالاتر قرار می‌گیره.شما با کلیک‌هاتون باعث شدید که خیلی از جواب‌های جست‌و‌جوی بلد جابه‌جا بشن. ما هم این جواب‌ها رو الان توی سرچ بالاتر به شما نشون می‌دیم.شما با کلیک‌هاتون باعث شدید که خیلی از جواب‌های جست‌و‌جوی بلد جابه‌جا بشن. ما از روی کلیک‌های شما فهمیدیم که وقتی در تبریز، «بازار» جست‌و‌جو می‌کنید و بیشتر شما، روی «بازار بزرگ تبریز» کلیک می‌کنید؛ پس حتما اون جا، همون جاییه که شما می‌خواهید برید؛ ما هم اون جواب رو بالاتر آوردیم تا بیشتر در دسترس شما باشه. یا مثلا فهمیدیم که وقتی می‌نویسید «تهرانپارس» بیشترتون می‌خواهید برید فلکه اول تهرانپارس یا فلکه سوم تهرانپارس. ما هم این جواب‌ها رو الان توی سرچ بالاتر به شما نشون می‌دیم. یا برای «مطهری» هم وقتی بیشترتون می‌خواهید برید خیابان مطهری که همون تخت طاووسه ما این جواب‌ رو براتون میاریم بالاتر.ممنونیم از شما که کلیک می‌کنید. کلیک کنید که در بلد کلیک شما شمرده می‌شه.</description>
                <category>بلاگ فنی بلد</category>
                <author>شادی حسین نژاد</author>
                <pubDate>Sun, 01 Dec 2019 16:58:38 +0330</pubDate>
            </item>
                    <item>
                <title>ماجرای ترافیک لحظه‌ای در نقشه بلد به زبان ساده</title>
                <link>https://virgool.io/BaladMaps/httpsvirgooliobaladmapsbaladlivetrafic-sziyvesvlbju</link>
                <description>در حالت مسیریابی،اطلاعات GPS کاربران به سرورهای بلد ارسال می‌شه. از این داده‌های GPS، ترافیک لحظه‌ای رو بدست میاریم. من پیام آراسته، دیتا ساینتیست، از بچه‌های دیتای بلد، توی این مقاله می‌خوام نه به صورت فنی بلکه خودمونی شرح بدم که چه جوری در اپلیکیشن نقشه و مسیریاب بلد، ترافیک لحظه‌ای بدست می‌آد و به کاربر نمایش داده میشه!جی پی اس گوشی‌تون رو روشن می‌کنید و مقصد مورد نظرتون رو تو اپلیکیشن بلد جستجو می‌کنید. بعد از تایید مکان از بین گزینه‌های موجود و انتخاب مسیر پیشنهادی، راه می‌افتید. در این حال که GPS گوشی‌تون روشنه، مکان قرارگیری‌تون روی نقشه نمایش داده می‌شه تا شما با آگاهی از مکان خودتون، تو مسیر پیشنهادی پیش برید. اما آیا GPS روشن شما فقط  برای نمایش مکان‌تون روی نقشه و میزان پیش‌روی‌تون تو مسیر پیشنهادی تا مقصد استفاده می‌شه؟!!تا حالا فکر کردید که در بلد، ترافیک لحظه‌ای خیابان‌ها و معابر از کجا بدست می‌آد؟ به نظرتون با استفاده از عکس‌های هوایی و داده‌های ماهواره‌ای وضعیت ترافیکی معابر رو بدست میاریم؟ یا شاید هم به دوربین‌های سطح شهری پلیس راهنمایی و رانندگی دسترسی داریم؟ یا کلی آدم رو استخدام کردیم که در سطح شهر گشت بزنن و هر چند دقیقه یک‌بار وضعیت ترافیک خیابون‌ها رو بهمون بِدَن؟بلد از هیچ یک از گزینه‌های بالا برای بدست آوردن وضعیت ترافیک استفاده نمی‌کنه. اما جریان چیه؟!!وقتی شما توی حالت مسیریابی اپلیکیشن بلد هستید، اطلاعات GPS شما به سرورهای بلد ارسال می‌شه. حجم زیادی از داده به سمت ما میاد. دانشمندان داده و همچنین مهندسان نرم‌افزار بلد، از این داده‌های GPS، ترافیک لحظه‌ای رو بدست میارن. در مرحله‌ی اول، از اونجایی که تمامی این داده‌ها قابل استناد نیستن (برای مثال موقعیت مکانی ماشینی که هنوز شروع به حرکت نکرده)، درصدی از اطلاعات دور ریخته می‌شه. داده‌ی GPS حاوی اطلاعات مکانی کاربر و سرعت حرکت اون و برخی ویژگی‌های دیگه‌‌ست. در مرحله‌ی بعد، داده‌ی GPS کاربرهای هر معبر به صورت مجزا بررسی می‌شه. برای مثال تصور کنید که هزار نفر تو خیابون آزادی در حالت مسیریابی هستن، در این حالت هزار سرعت متفاوت برای این معبر در دست ماست. ما با استفاده از مفاهیم آماری، سرعت این معبر رو از داده‌ی GPS این هزار کاربر بدست میاریم. این سرعت، نمایش دهنده‌ی ترافیک اون معبره.بد نیست که درباره‌ی مسائل حفاظت اطلاعات و داده‌ی کاربرها هم صحبت کنیم. ما اطلاعات شما رو که به سرور ما ارسال می‌شه، بدون نام، شماره تلفن و دیگر اطلاعات شخصی شما ذخیره می‌کنیم. اطلاعاتی که ما برای بدست آوردن ترافیک لحظه‌ای از کاربرها می‌گیریم عبارتند از: زمان، طول و عرض جغرافیایی، سرعت و جهت حرکت که از GPS گوشی کاربر بدست میاد. از این رو نباید هیچ گونه نگرانی در این باره برای کاربرها وجود داشته باشه.در ابتدا که سیستم ترافیک لحظه‌ای رو در بلد پیاده‌سازی کردیم،‌ معابری وجود داشتن که هیچ اطلاعاتی از اون‌ها در دسترس نبود. یعنی هیچ کاربری در اون معابر تردد نمی‌کرد. هر چه قدر که زمان گذشت و کاربرهای بلد بیشتر شد، تعداد معابری که اطلاعات ترافیک لحظه‌ای از اونها در بلد بود، بیشتر شد. در حقیقت با استفاده‌ی هر چه بیشتر از بلد و همچنین با افزایش تعداد کاربرهای بلد، کیفیت سیستم ترافیک لحظه‌ای بیش از پیش بهتر می‌شه و دقتش افزایش پیدا می‌کنه. نیازی نیست که شما کاری کنید؛ بلکه صرفا استفاده‌ی شما از اپلیکیشن بلد و ارسال خودکار اطلاعات GPS به سمت سرور‌های ما، سبب بهبود سیستم ترافیک لحظه‌ای می‌شه. هرچه داده‌ی بیشتری به سمت ما ارسال شه، دانشمندان داده و مهندسان نرم‌افزار ما رو بیشتر ترغیب می‌کنه که از این اطلاعات به نفع خود کاربرها استفاده کنن.این شما هستید که با استفاده از بلد، وضعیت ترافیک لحظه‌ای خیابون‌ها رو که ممکنه به خاطر تصادفات، کارهای عمرانی، تجمع اتومبیل‌ها و یا دیگر مسائل وجود داشته باشه، در اختیار ما قرار می‌دید. ما هم اونها رو پس از تحلیل و پردازش در اختیار کاربرهای دیگه قرار می‌دیم.به طور مثال بعضی از کاربرها تو شرق تهران در حال استفاده از بلد هستن، داده‌ای که به سمت ما ارسال می‌کنن، سبب می‌شه که کاربرهای دیگه‌ای که مثلا تو غرب تهران هستن و قصد عزیمت به شرق تهران رو دارن از وضعیت ترافیک شرق تهران باخبر بشن و برای سفرشون به اونجا برنامه‌ریزی کنن. نهایتا هدف ما اینه که با تحلیل و پردازش دقیق این داده‌ها سیستم‌های بی‌نقص‌تری در اختیار‌تون قرار بدیم.توجه کنید که این مقاله اصلا تکنیکال نیست و روند کلی استخراجِ ترافیک لحظه‌ای بلد رو شرح می‌ده. شاید در آینده مقاله‌ای فنی درباره سیستمی که برای ترافیک لحظه‌ای پیاده‌سازی کردیم، منتشر کنیم.برامون جذابه که اگر فکر‌های جالبی درباره‌ی منبع ترافیک ما داشتید، بهمون بگید.</description>
                <category>بلاگ فنی بلد</category>
                <author>تیم محصول بلد</author>
                <pubDate>Wed, 23 Oct 2019 11:26:29 +0330</pubDate>
            </item>
                    <item>
                <title>بلد، چگونه به کاربران در حمل و نقل عمومی کمک می‌کند؟</title>
                <link>https://virgool.io/BaladMaps/%D8%A8%D9%84%D8%AF-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A8%D9%87-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86-%D8%AF%D8%B1-%D8%AD%D9%85%D9%84-%D9%88-%D9%86%D9%82%D9%84-%D8%B9%D9%85%D9%88%D9%85%DB%8C-%DA%A9%D9%85%DA%A9-%D9%85%DB%8C%DA%A9%D9%86%D8%AF-rldp4a60qh5t</link>
                <description>سرویس مسیریابی حمل و نقل عمومی بلد، حدود یک ماه پیش رونمایی شد. در این مطلب از دغدغه‌های تیم بلد و رویکرد مدیران محصول بلد برای برطرف کردن معضل همیشگی ترافیک صحبت کردیم.&#039;اتوبوس‌های رسالت تا ونک، ایستگاه امام خمینی تا پیچ شمروناحتمالا اولین باری که سوار اتوبوس یا مترو شدیم، به دوران کودکی‌مان برمی‌گردد. زمانی که بلیط اتوبوس کاغذی بود و باید از پرفراژ به تعداد نفراتی که سوار اتوبوس می‌شدیم جدا می‌کردیم و به راننده می‌دادیم. خاطرات اتوبوس سوار شدن آن دوران، خوب و بد زیادی داشت، از سوار اتوبوس اشتباه شدن تا ایستگاه را رد کردن و ساعت‌ها انتظار در ایستگاه اتوبوس برای آمدن اتوبوس بعدی. مترو هم داستان‌های خودش را داشت، بلیط‌های کاغذی و ایستگاه‌هایی که یکی بعد از دیگری افتتاح می‌شد و ذوق ما برای اینکه، ایستگاه بعدی کمی بیشتر به خانه‌مان نزدیک خواهد بود.ظاهر اتوبوس‌ها و مترو کمی تغییر کرده و تاکسی‌ها کمی به روز شده اند. اما همپا نبودن سرعت گسترش شهرها و زیرساخت‌های حمل و نقل عمومی از موضوعاتی هستند که مردم شهرهای بزرگ مانند تهران، اصفهان، مشهد و ... هر روز با آن روبرو هستند. ساکنان و مسافران محله‌هایی مانند سعادت آباد و حکیمیه و اطراف دریاچه چیتگر که از امکانات حمل و نقل عمومی خوبی برخوردار نیستند، هر روز برای رفت و آمدشان هزینه زیادی می پردازند. ردیف ماشین‌های شخصی از یک سو و بی اطلاعی از زمان رسیدن اتوبوس‌ها به ایستگاه اتوبوس از سوی دیگر، نتیجه‌ای جز عکس زیر ندارد.در بسیاری از مسیرهای پرتردد، می‌توان به جای خودروی شخصی از حمل و نقل عمومی استفاده کرد.ترافیک تمام می‌شود یا از شهری به شهر دیگر می‌رسد؟از طرح ترافیک تا تغییر ساعت کاری ادارات دولتی و ساخت پل‌های دو طبقه و تقاطع‌های غیرهمسطح، همه راه‌هایی هستند که برای حل ترافیک شهرهای بزرگ به کار برده اند. ناکارآمد بودن ایجاد اتوبان‌های بیشتر مدت‌ها پیش در جهان اثبات شده و خوشبختانه اخیرا در ایران نیز تلاش برای توسعه‌ی حمل و نقل عمومی جایگزین این رویکرد شده است. جایگزین کردن وسایل حمل و نقل عمومی به روز، استفاده ترکیبی از وسایل حمل و نقل شهری و استفاده از روش‌های هوشمند حمل و نقل موضوعاتی هستند که در مدیریت حمل و نقل عمومی شهرهای بزرگ مطرح می‌شوند.جایگزین کردن وسایل حمل و نقل عمومی به روز، استفاده ترکیبی از وسایل حمل و نقل شهری و استفاده از روش‌های هوشمند حمل و نقل موضوعاتی هستند که در مدیریت حمل و نقل عمومی شهرهای بزرگ مطرح می‌شوند.طبق گزارش ایسنا هر شهروند تهرانی به صورت متوسط برای هر سفر درون شهری خود 20 دقیقه از وقت روزانه‌اش را در ترافیک سپری می‌کند. هرچند که برخی از شهروندان، زمان‌های بیشتری را در ترافیک نیز صرف می‌کنند. گسترش خطوط مترو، جدا شدن مسیر تردد اتوبوس‌ها در خیابان ولیعصر، انقلاب، اتوبان چمران و مسیرهای پر رفت و آمد دیگر، باعث شد که استفاده از اتوبوس و مترو بیشتر در بین مردم جا باز کند. با این حال، هنوز مشکلات زیادی در خصوص استفاده از حمل و نقل عمومی وجود دارد که بر کیفیت استفاده افراد از مترو و اتوبوس و تجربه روزانه آنها در سفرهای شهری تاثیر می‌گذارد. با پیشرفت تکنولوژی، امروز گوشی‌های هوشمند هم به کمک آمده اند تا با استفاده از نقشه‌های هوشمند، یک راه حل مناسب و در دسترس برای تمام افراد باشند تا بتوانند با استفاده از اطلاعات زنده و به روز زندگی در شهرهای بزرگ را برای ساکنانش آسان تر کنند.بلد برای مقصد پیشنهادی شما، مسیرهای متفاوتی را پیشنهاد می‌دهد. معیارهای پیشنهاد مسیر تعداد وسیله نقلیه، زمان و هزینه است.خط 2 مترو، ایستگاه سوم، تاکسی های خطی، 150 متر پیاده روی تا مقصدتیم نقشه و مسیریاب بلد برای اولین بار در ایران، امکان استفاده از مسیریابی ترکیبی برای حمل و نقل عمومی را در تیرماه 98 رونمایی کرد. این سرویس، یک روش هوشمندانه برای رفت و آمد روزانه است. با کمک نقشه بلد، شما می‌توانید مبدا و مقصد را روی نقشه انتخاب کنید و با توجه به ویژگی‌های مختلف مثل زمان، تعداد وسایل نقلیه و ... مسیرهای مختلفی را با اتوبوس و مترو و تاکسی ببینید. این مسیرهای پیشنهادی، ترکیبی از انتخاب اتوبوس، تاکسی، مترو و پیاده‌روی هستند، اتوبوسی که باید سوار شوید، خط متروی مناسب و ایستگاهی که باید در آنجا پیاده شوید و در نهایت مقداری که باید پیاده‌روی کنید، بر روی بلد مشخص است و شما می‌توانید با انتخاب مسیر مناسب، دیدی کلی از مسیر پیش روی خودتان داشته باشید.بلد چطور به مسیریابی حمل و نقل عمومی فکر می کند؟ساکنان شهرهای بزرگ، با ساعت‌های طولانی ترافیک غریبه نیستند. معنای قیمت بالای تاکسی دربستی و تاکسی اینترنتی را می‌دانند و بسیاری اوقات چندین کیلومتر را برای فرار از ترافیک پیاده طی کرده‌اند. با توجه به دغدغه‌های متفاوتی که افراد برای حل مشکل ترافیک دارند، بلد راه‌حل های متفاوتی را برای حل این مشکل ارائه کرد. از نظر ما، راه حل بهینه برای تردد در شهر و کم کردن اثر ترافیک، در گرو استفاده از وسایل حمل و نقل عمومی است و با توجه به این موضوع، پیشنهاد سفر به کاربران بلد را براساس استفاده ترکیبی از مترو، اتوبوس، تاکسی و مسیرهای پیاده انجام دادیم.پیشنهاد سفر به وسیله حمل ونقل عمومی را براساس استفاده ترکیبی از مترو، اتوبوس، تاکسی و مسیرهای پیاده انجام دادیم.مسیرهای پیشنهادی در اپلیکیشن بلد، ترکیبی از معیارهای مورد نظر کاربران هستند.مسیرهای پیشنهادی در اپلیکیشن بلد، ترکیبی از معیارهای مورد نظر کاربران هستند. در انتخاب هر مسیر، یکی از تفاوت‌های اصلی، متوسط زمانی است که شما در این مسیر برای رسیدن به مقصد صرف می‌کنید. در هنگام استفاده از مسیریابی حمل و نقل عمومی بلد، زمان کلی برای رسیدن به مقصد و مدت زمان استفاده از هر وسیله نقلیه نیز نمایش داده می شود. موضوع دوم بر طبق نتایج رفتارشناسی کاربران، تعداد وسایل نقلیه‌ای است که در یک مسیر باید تغییر دهید. موضوع آخر، هزینه‌ای است که هر کاربر باید برای انتخاب یک مسیر بپردازد. بدون شک تفاوت در هزینه، معیاری تاثیرگذار برای ترجیح دادن یک مسیر پیشنهادی، بر دیگری خواهد بود.ما در تیم بلد، تلاش می‌کنیم تا مسیریابی حمل و نقل عمومی بلد را بیشتر شبیه انتخاب کاربرها کنیم. شما با استفاده بیشتر از بلد، و بازخورد دادن نسبت به مسیرهای پیشنهادی، دقت مسیرها، راه‌های جایگزین و ترکیب‌های مناسب در پیشنهاد مسیر به ما کمک خواهید کرد تا اطلاعات را دقیق‌تر و نزدیک‌تر به واقعیت نشان دهیم.</description>
                <category>بلاگ فنی بلد</category>
                <author>Zoya Niknam | زویا نیکنام</author>
                <pubDate>Wed, 21 Aug 2019 11:23:47 +0430</pubDate>
            </item>
            </channel>
</rss>