Δημιουργία εφαρμογών για κινητές συσκευές

Μαθαίνοντας από τη δημιουργία της εφαρμογής Samsara's Driver

Θυμάμαι μια συνομιλία που είχα με τον μπαμπά μου πριν από αρκετά χρόνια. Μιλούσα για την τεχνολογία ανίχνευσης 3D με λέιζερ της έκθεσης αυτοκινήτου που είδα πρόσφατα. Ήμουν γεμάτος ιδέες για το πώς αυτή η νέα τεχνολογία θα μπορούσε να λύσει τόσα πολλά προβλήματα - χρησιμοποιώντας τη νοημοσύνη σμήνων για τον μετριασμό της κυκλοφορίας, τη συνεχή κοινή χρήση διαδρομών σε αποσυμφορημένους δρόμους και στάθμευση δρόμου κ.λπ.

Μετά από λίγα λεπτά, ο μπαμπάς μου σταμάτησε και απάντησε: «Λοιπόν, τι γίνεται με όλα τα σφάλματα;»

"Τι εννοείς?" Ρώτησα.

«Ξέρεις, έχουμε τόσα πολλά σφάλματα στο Δυτικό Τέξας. Ένας αισθητήρας στο δρόμο είναι βέβαιο ότι θα πάρει όλους τους εντεταλμένους με έντομα.

Εκείνη τη στιγμή νόμιζα ότι ήταν απλώς δύσκολος, αλλά κοιτάζοντας πίσω, νομίζω ότι ο μπαμπάς μου έκανε ένα πολύ σημαντικό σημείο. Ακόμη και η πιο εξελιγμένη τεχνολογία αισθητήρων μπορεί να γίνει άχρηστη όταν ρίχνονται μερικά σφάλματα στα 70 μίλια / ώρα. Είναι σημαντικό να προσέχετε τον ρόλο που θα διαδραματίσει η τεχνολογία σας στον πραγματικό κόσμο - για να πάρετε πίσω και να πάρετε μια ολιστική εικόνα για να δείτε καλύτερα τις προκλήσεις.

Μοναδικές προκλήσεις της εφαρμογής Samsara Driver

Δεν υπάρχει καλύτερο μέρος για να δείτε τις μοναδικές προκλήσεις που προέρχονται από μια ολιστική άποψη από ό, τι στην εφαρμογή Samsara Driver. Στη Samsara, η τεχνολογία μας είναι ενσωματωμένη στις βιομηχανίες που εξυπηρετούμε. Αυτό ισχύει ιδιαίτερα για την εφαρμογή Samsara Driver, η οποία χρησιμεύει ως κόμβος all-in-one για τη λειτουργία στόλου.

Είναι σημαντικό να προσέχετε τον ρόλο που θα διαδραματίσει η τεχνολογία σας στον πραγματικό κόσμο - για να πάρετε πίσω και να πάρετε μια ολιστική εικόνα για να δείτε καλύτερα τις προκλήσεις.

Ενώ η εφαρμογή μας εξυπηρετεί μια τεράστια ποικιλία βιομηχανιών, συμπεριλαμβανομένης της διαμετακόμισης επιβατών, της Κ-12, της πολιτείας και των τοπικών κυβερνήσεων και των επιτόπιων υπηρεσιών, το φορτηγό είναι μια από τις μεγαλύτερες βιομηχανίες που εξυπηρετούμε. Η βιομηχανία φορτηγών αποτελεί τη ραχοκοκαλιά της οικονομίας των ΗΠΑ, απασχολώντας 3,5 εκατομμύρια οδηγούς και στέλνει το 70% των εγχώριων εμπορευματικών μεταφορών μας. Αυτό σημαίνει ότι τα προγράμματα οδήγησης που χρησιμοποιούν την εφαρμογή μας πρέπει να μπορούν να βασίζονται σε αυτήν. Με την κατανόηση του ρόλου της εφαρμογής μας σε αυτούς τους κλάδους μπορούμε να αρχίσουμε να βλέπουμε τις μοναδικές προκλήσεις που πρέπει να εξετάσει η εφαρμογή μας. Μερικές από αυτές τις προκλήσεις περιλαμβάνουν:

  1. Παροχή ορατότητας σε περιοχές απομακρυσμένης λειτουργίας Ορισμένες εφαρμογές υποστηρίζουν λειτουργικότητα εκτός σύνδεσης σε διαφορετικούς βαθμούς, αλλά εξακολουθούν να αναμένουν ένα ως επί το πλείστον συνεπές και αξιόπιστο δίκτυο για να έχουν καλή απόδοση. Αυτό δεν ισχύει για την εφαρμογή Samsara Driver. Περιμένουμε από τους οδηγούς μας να κάνουν μεγάλες αποστάσεις με άσχημες συνδέσεις δικτύου ή να αλλάξουν τρέιλερ στην απομακρυσμένη ύπαιθρο. Η εφαρμογή μας πρέπει να επιτρέπει στα προγράμματα οδήγησης να είναι παραγωγικά ακόμη και όταν δεν έχουν σύνδεση δικτύου. Είναι πραγματικά φοβερό να βοηθήσετε στη δημιουργία του συστήματος που το υποστηρίζει.
  2. Βελτιστοποίηση της απόδοσης σε μη premium συσκευές Η πρακτικότητα της βιομηχανίας φορτηγών παρέχει μερικούς ενδιαφέροντες περιορισμούς που προωθούν την καινοτομία και τη δημιουργικότητα. Συχνά, οι συσκευές που χρησιμοποιούν τα προγράμματα οδήγησης έχουν χαμηλή διαθεσιμότητα μνήμης, πεταλούδα, ελάχιστο χώρο αποθήκευσης και περιορισμούς MDM (Mobile Device Management). Κατά την ανάπτυξη πρέπει να λάβουμε υπόψη τις δυνατότητες των κινητών συσκευών στις οποίες λειτουργεί η εφαρμογή μας.
  3. Διασφάλιση του χρόνου λειτουργίας κατά την υψηλή ανάπτυξη Καθώς ο αριθμός των προγραμμάτων οδήγησης που χρησιμοποιούν την εφαρμογή μας αυξάνεται, πρέπει να αναπτυχθούμε για σταθερότητα, αξιοπιστία και διαθεσιμότητα. Οποιαδήποτε διακοπή λειτουργίας μπορεί να προκαλέσει ευρεία επίδραση σε στόλους σε όλο τον κόσμο που εξαρτώνται από τις υπηρεσίες μας, από την καταγραφή ωρών οδήγησης και την παρακολούθηση παραδόσεων έως την παρακολούθηση διαδρομών. Είναι απαραίτητο να διασφαλίσουμε ότι είμαστε σε θέση να επαναλάβουμε και να κινηθούμε γρήγορα, ενώ είμαστε ελάχιστα ενοχλητικοί για τους χρήστες μας.
Τα προγράμματα οδήγησης μας πρέπει να δημιουργήσουν και να τροποποιήσουν έγγραφα παρά την κακή συνδεσιμότητα δικτύου.

Η προοπτική που εστιάζει στο χρήστη είναι απλώς μια πτυχή της βαθιάς και ποικίλης γνώσης ενός προϊόντος. Είναι επίσης σημαντικό να σκεφτείτε τον κύκλο ζωής μιας δυνατότητας και πώς ο κώδικας σας ταιριάζει στο μεγαλύτερο σύστημα. Έχοντας αυτό κατά νου, ακολουθούν μερικές πρακτικές που έχω βρει χρήσιμες κατά την ανάπτυξη σε κινητά.

Βέλτιστες πρακτικές για κινητά

Κατανοήστε τις μετρήσεις σας

Η επιλογή των κατάλληλων μετρήσεων και η παρακολούθηση τους είναι κρίσιμες πτυχές του κύκλου ζωής μιας δυνατότητας. Ποια είναι η σχέση του προγραμματιστή με τη λειτουργία μόλις κυκλοφορήσει; Τι είναι σημαντικό να παρακολουθείτε και τι θα ήταν ο θόρυβος; Πόσο σοβαρές είναι οι περιπτώσεις αποτυχίας και πόσο καλύτερα μπορούν να παρακολουθούνται; Ρωτήστε τον εαυτό σας αυτές τις ερωτήσεις και εξοπλίστε τον εαυτό σας για να απαντήσετε. Είναι καλή ιδέα για την ομάδα να διαθέτει συχνό ταμπλό με μερικά από τα πιο σημαντικά γραφήματα και οι μεμονωμένοι μηχανικοί μπορούν να παρακολουθούν πιο συγκεκριμένες μετρήσεις.

Γίνετε φίλοι με το QA

Ένας από τους πιο αποτελεσματικούς τρόπους που έχω βρει για να αυξήσω την αξιοπιστία του κωδικού μου είναι να κάνω φίλους με το QA (Quality Assurance). Είναι τόσο χρήσιμο να αποκτήσετε την εικόνα ενός μηχανικού του οποίου η εργασία πλήρους απασχόλησης είναι να εξετάσετε το εύρος του προϊόντος και τις κοινές διαδρομές ευθραυστότητας.

Στη Samsara, οι μηχανικοί κοινοποιούν τα σχέδια δοκιμών και κυκλοφορίας τους με το QA πριν από τη συγχώνευση της δυνατότητας. Αυτό ενθαρρύνει τη συνεργασία νωρίς στη διαδικασία, επιτρέποντας στους μηχανικούς να επισημάνουν μοναδικές προειδοποιήσεις στο χαρακτηριστικό και επιτρέποντας στο QA να εντοπίζει παλινδρομήσεις γρήγορα.

Δοκιμάστε τις συσκευές που χρησιμοποιούν οι χρήστες σας

Εάν δεν πραγματοποιείτε δοκιμές σε συσκευές που αντικατοπτρίζουν το περιβάλλον του χρήστη σας, δεν είστε αρκετά κοντά στην εμπειρία χρήστη. Αυτό θα μπορούσε να θεωρηθεί μια πτυχή της διατροφής σκύλων ή των προγραμματιστών που χρησιμοποιούν το δικό τους προϊόν για πραγματική χρήση. Αυτό είναι κάτι που κάνουμε με ενθουσιασμό στη Samsara. Για να προσπαθήσουμε να μιμηθούμε την πραγματική εμπειρία των πελατών όσο το δυνατόν πιο κοντά, έχουμε δοκιμαστικές συσκευές που αντικατοπτρίζουν αυτές που χρησιμοποιούνται από τους οργανισμούς που εξυπηρετούμε.

Για παράδειγμα, ορισμένοι από τους μεγαλύτερους οργανισμούς μας έχουν δημιουργήσει MDM σε συσκευές προγραμμάτων οδήγησης που απαγορεύουν την εγκατάσταση εφαρμογών, την απεγκατάσταση και τις ενημερώσεις. Για να κατανοήσουμε πώς συμπεριφέρεται η εφαρμογή μας σε αυτό το περιβάλλον, διαθέτουμε δοκιμαστικές συσκευές που χρησιμοποιούν αυτά τα ακριβή MDM.

Εξετάστε τα όρια του αντίκτυπου της δυνατότητας

Η λειτουργικότητα παίρνει τη δική της ζωή όταν είναι στα χέρια των χρηστών. Είναι σημαντικό για τους μηχανικούς να κατανοήσουν τα όρια και τους μηχανισμούς που διέπουν τη λογική του κώδικα. Ποια είναι η πολυπλοκότητα του αλγορίθμου; Ποια είναι τα ανώτερα και κατώτερα όρια των δεδομένων που μπορεί να αναμένει να επεξεργαστεί;

Καθώς η Samsara κλιμακώνει την υποστήριξη περισσότερων πελατών, μερικοί από τους οποίους διαχειρίζονται χιλιάδες περιουσιακά στοιχεία και προγράμματα οδήγησης, εμείς ως μηχανικοί πρέπει να είμαστε σε θέση να απαντήσουμε στις ερωτήσεις: «Μπορεί η λειτουργία σας να υποστηρίζει εκατό προγράμματα οδήγησης; Χίλια? Δέκα χιλιάδες?" Πρέπει να εφαρμόσουμε χαριτωμένες λύσεις όταν ξεπεραστούν αυτά τα όρια και να κατανοήσουμε βαθιά πού βρίσκονται τα όρια.

Κατανοήστε τις προσωπικότητες των χρηστών σας

Εάν κατανοείτε τους χρήστες σας, μπορείτε να αρχίσετε να αναπτύσσετε προσωπικότητες που αντιπροσωπεύουν ένα σύμπλεγμα συμπεριφορών και χαρακτηριστικών χρηστών. Για παράδειγμα, θα μπορούσαμε να δημιουργήσουμε ένα φανταστικό προσωπικό πρόγραμμα οδήγησης, τον Μπομπ, ο οποίος αντιπροσωπεύει ένα πρόγραμμα οδήγησης που χρησιμοποιεί την εφαρμογή για παράδοση προϊόντων. Ο Μπομπ οδηγεί 8ωρες βάρδιες τις καθημερινές, σε καλή συνδεσιμότητα και κάνει έως και 20 στάσεις την ημέρα. Σε κάθε στάση, ο Μπομπ αλληλεπιδρά με τους πελάτες του, τους οποίους βλέπει κάθε εβδομάδα στην κανονική του διαδρομή, και βασίζεται σε μεγάλο βαθμό στη λειτουργία Έγγραφα για τη διαχείριση όλων των παραγγελιών. Από την άλλη πλευρά, θα μπορούσαμε να δημιουργήσουμε ένα άλλο πρόσωπο οδηγού, τη Sally, ένα φορτηγό over-the-road που συχνά οδηγεί σε μεγάλες διαδρομές αμερικανικής εθνικής οδού με κακή συνδεσιμότητα. Βασίζεται πολύ στη λειτουργία καταγραφής οδήγησης, συχνά οδηγεί τη νύχτα και σταματά μόνο για νόμιμα εξουσιοδοτημένα διαλείμματα. Οι προσωπικότητες των χρηστών μπορούν να μας βοηθήσουν να αρχίσουμε γρήγορα να διακρίνουμε τα πρότυπα συμπεριφοράς των χρηστών.

Πόσα διαφορετικά πρόσωπα χρήστη έχετε; Πόσο ποικίλες είναι οι εμπειρίες της εφαρμογής τους; Ποιες είναι οι πιο κοινές διαδρομές που λαμβάνει κάθε άτομο; Μόλις απαντήσετε σε αυτές τις ερωτήσεις, γίνεται πιο εύκολο να μειώσετε την τριβή στις πιο κοινές ακολουθίες ενεργειών χρήστη. Εδώ στη Samsara, επενδύουμε πραγματικά για να γνωρίσουμε τους πελάτες μας. Η ομάδα ερευνών χρηστών μας επισκέπτεται πελάτες επί τόπου για να διασφαλίσει ότι καταλαβαίνουμε πώς είναι να περπατάμε στα παπούτσια των πελατών μας και ενθαρρύνουμε τους προγραμματιστές να επισκέπτονται και πελάτες.

Στη Samsara, βιώνουμε ταχεία ανάπτυξη σε κάθε μέτωπο. Έχουμε περισσότερους προγραμματιστές που συμβάλλουν στην εφαρμογή για κινητά, περισσότερες ομάδες που ειδικεύονται σε διάφορους κλάδους προϊόντων, περισσότερους οργανισμούς και μεγαλύτερους οργανισμούς με μεγαλύτερους οδηγούς, οχήματα και ρυμουλκούμενα στο διαδίκτυο από ό, τι έχουμε ζήσει ποτέ. Είναι σημαντικό καθώς βιώνουμε αυτήν την ανάπτυξη να εξετάσουμε αυτές τις πρακτικές για να διασφαλίσουμε ότι κατασκευάζουμε βιώσιμα προϊόντα που παρέχουν στους πελάτες μας τα εργαλεία που θέλουν και χρειάζονται.

Σκέφτομαι τώρα αυτή τη συνομιλία που είχα με τον μπαμπά μου και το μάθημα που έμαθε από το σχόλιό του - πώς είναι σημαντικό να λάβετε υπόψη τον κωδικό σας εκτός των ορίων της δημιουργίας του και στα χέρια του χρήστη του. Είναι σημαντικό να έχετε μια στενή σχέση με τη νοοτροπία του χρήστη, το τοπίο της βάσης κώδικα και την ανάπτυξη της δυνατότητας καθώς απαιτούνται περισσότερα από αυτό. Και φυσικά, προσέξτε τα σφάλματα.

Μεταβείτε στη σελίδα σταδιοδρομίας μας για να δείτε τις ανοιχτές θέσεις μηχανικής ή να μας γνωρίσετε σε μια επερχόμενη εκδήλωση! Στη Samsara, καλωσορίζουμε όλους. Όλα τα μεγέθη, τα χρώματα, οι κουλτούρες, τα φύλα, οι πεποιθήσεις, οι θρησκείες, οι ηλικίες, οι άνθρωποι. Εάν σας αρέσει να μαθαίνετε και να χτίζετε πράγματα σε ένα πολύ συνεργατικό περιβάλλον, θα θέλαμε να σας ακούσουμε!