ساخت برنامه های موبایل آماده جاده

آموزش ساخت برنامه Driver Samsara

به یاد می آورم مکالمه ای که چند سال پیش با پدرم داشتم. من در مورد فناوری سنجش لیزری 3D نمایشگاه اتومبیل خودران که اخیراً دیده ام صحبت می کردم. من درمورد ایده هایی که چگونه این فناوری جدید می تواند بسیاری از مشکلات را برطرف کند استفاده می کردم - با استفاده از هوش ازدحام برای کاهش ترافیک ، اشتراک مداوم سوار شدن به معیوب ترین جاده ها و پارکینگ های خیابانی و غیره.

بعد از چند دقیقه اجرای من ، پدرم مکث کرد و پاسخ داد: "خوب ، همه اشکالات چیست؟"

"منظورت چیه؟" من پرسیدم.

"می دانید ، ما در غرب تگزاس اشکالات زیادی داریم. یک سنسور در جاده موظف است همه آدامسها را با روده های حشره خالی کند. "

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

چالش های منحصر به فرد برنامه درایور سامسارا

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

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

در حالی که برنامه ما صنایع گسترده ای از جمله حمل و نقل مسافر ، K-12 ، دولت های ایالتی و محلی و خدمات میدانی را ارائه می دهد ، حمل و نقل کالا یکی از بزرگترین صنفی است که ما در خدمت آنها هستیم. صنعت حمل و نقل حمل و نقل ستون فقرات اقتصاد ایالات متحده است و از رانندگان 3.5 میلیون نفری بهره می برد و 70 درصد از حمل و نقل داخلی ما را حمل می کند. این بدان معنی است که رانندگان با استفاده از برنامه ما باید بتوانند به آن اعتماد کنند. این با درک نقش برنامه ما در این صنایع است که می توانیم شروع کنیم به چالش های منحصر به فرد برنامه خود باید در نظر بگیریم. برخی از این چالش ها عبارتند از:

  1. ارائه قابلیت مشاهده در مناطق عملیاتی از راه دور برخی از برنامه ها عملکرد آفلاین را در درجات مختلف پشتیبانی می کنند اما هنوز هم انتظار دارند یک شبکه عمدتا سازگار و مطمئن به منظور عملکرد خوب باشد. این مورد در مورد برنامه درایور سامسارا صدق نمی کند. ما انتظار داریم که رانندگان ما با اتصالات شبکه ای پراکنده مسافت های زیادی را طی کنند یا تریلرها را در حومه شهر از راه دور تغییر دهند. برنامه ما باید در صورت عدم اتصال به شبکه ، درایورها را قادر سازد تولید کنند. کمک به ساخت سیستمی که از این پشتیبانی می کند بسیار جالب است.
  2. بهینه سازی عملکرد در دستگاه های غیر پریمیوم عملی بودن صنعت حمل و نقل محدودیت های جالبی را ایجاد می کند که موجب نوآوری و خلاقیت می شود. اغلب دستگاههایی که درایورهای ما استفاده می کنند از حافظه کم ، شبکه های پرتاب شده ، حداقل فضای ذخیره سازی و محدودیت های MDM (مدیریت دستگاه تلفن همراه) برخوردار هستند. هنگام توسعه ، باید قابلیت های دستگاه های تلفن همراه را که برنامه ما در آن اجرا می شود در نظر بگیریم.
  3. اطمینان از زمان کار در حین رشد زیاد با افزایش تعداد درایورهایی که از برنامه ما استفاده می کنند ، باید ثبات ، قابلیت اطمینان و در دسترس بودن را توسعه دهیم. هرگونه خرابی می تواند تأثیر گسترده ای را به ناوگان سراسر جهان که به خدمات ما وابسته هستند ، از ورود به سیستم ساعت راننده و پیگیری تحویل ها تا نظارت بر مسیرها ، داشته باشد. اطمینان از اینکه ما قادر به تکرار و حرکت سریع هستیم در حالی که برای کاربران ما کمترین مزاحمت را ایجاد می کند امری ضروری است.
درایورهای ما با وجود عدم اتصال به شبکه ، باید اسناد را ایجاد و اصلاح کنند.

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

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

معیارهای خود را درک کنید

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

با QA دوست شوید

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

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

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

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

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

محدودیت های تاثیر ویژگی را در نظر بگیرید

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

ما به عنوان مهندس سامسارا برای حمایت از مشتریان بیشتر ، که برخی از آنها هزاران دارایی و درایور را مدیریت می کنند ، نیاز داریم تا به سؤالات پاسخ دهیم ، "آیا ویژگی شما می تواند از صد راننده پشتیبانی کند؟ هزار؟ ده هزار؟" ما باید بیش از این مرزها راه حلهای دلپذیر را پیاده سازی کنیم و درک عمیقی از محدودیتها در آن داشته باشیم.

شخصیتهای کاربر خود را بشناسید

اگر کاربران خود را درک کنید ، می توانید شروع به توسعه شخصیت هایی کنید که نمایانگر دسته ای از رفتارها و ویژگیهای کاربر هستند. به عنوان مثال ، ما می توانیم شخصیت راننده داستانی را ایجاد کنیم ، باب ، که نماینده درایوری است که از برنامه برای تحویل تولید استفاده می کند. باب شیفت های 8 ساعته را در روزهای هفته ، در ارتباط خوبی برقرار می کند و تا 20 ایستگاه در روز را انجام می دهد. در هر توقف ، باب با مشتریانی که هفته ای در مسیر عادی خود می بیند ، تعامل برقرار می کند و به شدت به ویژگی Documents ما اعتماد می کند تا تمام سفارشات را مدیریت کند. از طرف دیگر ، ما می توانیم شخص دیگری برای راننده ایجاد كنیم ، سالی ، كامیون حمل و نقل جاده ای كه به طور مكرر در امتداد طولانی از بزرگراه های آمریكا با اتصال ضعیف رانندگی می كند. او به شدت به ویژگی سیاهههای مربوط به رانندگی ما متکی است ، که اغلب اوقات شبانه رانندگی می کند و فقط برای وقفه های قانونی که متوقف می شود متوقف می شود. personas کاربر می تواند به ما کمک کند تا به سرعت در تشخیص الگوهای رفتاری کاربر شروع کنیم.

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

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

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

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