Cu ceva timp în urmă am dat peste un anumit roboțel pentru iPhone pe Amazon. Părea interesant și familiar în același timp. Mi-am amintit că văzusem o campanie kickstarter pentru același robot. Se pare că proiectul fusese finanțat și avusese un oarecare succes și de aceea l-am putut găsi la vânzare pe Amazon.
După câteva cercetări scurte am aflat că Romotive, compania din spatele acestuia, nu mai exista, ceea ce ar putea însemna că robotul nu ar fi fost susținut. Pe scurt, a fost prea intrigant pentru a rezista, așa că am plasat comanda.
Prețul ar fi literalmente o afacere, DACĂ robotul ar funcționa. Aceasta a fost marea întrebare în mintea mea, având în vedere lipsa de informații online. Câteva zile mai târziu a sosit pachetul, Romo a fost despachetat și a apărut prima problemă.
Mărime
Se pare că mărimea contează când vine vorba de roboți. Romo a fost făcut pentru iPhone 5, un dispozitiv considerabil mai mic decât actualul iPhone X. Aveam prin preajmă un iPhone 5S care, așa cum era de așteptat, se potrivea perfect. Aveam, de asemenea, un iPhone 6S, care era mai mare, dar care, în cele din urmă, a încăput și el cu o mică strângere. Nu a fost chiar o problemă. Până aici totul bine!
App
A doua dezamăgire a venit la scurt timp după aceea, deoarece aplicația anunțată nu se mai afla în App Store. Cred că contul Apple al Romotive nu a fost reînnoit după ce compania a intrat în faliment și odată cu aceasta aplicațiile au fost scoase din App Store.
Acesta a fost un blocaj major. Prima mea idee a fost să încerc să găsesc o IPA veche. Aceasta nu este o bere, ci un executabil al unei aplicații iOS. Acest lucru este mai ușor de spus decât de făcut, deoarece pe iOS este greu să pui mâna pe fișiere IPA și chiar dacă reușești, ar fi nevoie de un telefon cu jailbreak pentru a putea să-l rulezi pe dispozitivul tău.
O altă cale pe care am vrut să o explorez a fost să găsesc poate ceva cu sursă deschisă pe GitHub sau în altă parte. După câteva tatonări cu depozite neîntreținute sau incomplete, am reușit să asamblez codul sursă complet al aplicației Romo și SDK-ul! Aparent, Romotive, înainte de a se închide, a avut amabilitatea de a face acest lucru:
„Am decis să deschidem complet în sursă deschisă până la ultima fărâmă de inteligență a lui Romo. Toate proiectele noastre trăiesc în acest repo și sunteți liberi să le folosiți așa cum doriți.”
Hooray! Lucrurile încep în sfârșit să arate bine.
Nu atât de repede… Ceea ce aveam în mâinile mele o bază de cod destul de învechită și masivă, cu o mulțime de erori, avertismente și incompatibilități. Din fericire, sunt un dezvoltator iOS, așa că am putut să mă folosesc de ceea ce aveam în mâini. Aceasta nu ar fi fost o sarcină ușoară și nu exista nicio garanție că va funcționa cu adevărat la final.
Fast forward to today
După o mulțime de ore de muncă și după ce am împărțit sarcina în bucăți mai mici am reușit să curăț mizeria și să am aproape totul funcțional!
Acum sunt suportate toate versiunile vechi și noi de iOS. Puteți utiliza Romo cu orice iOS de la iOS 6 la iOS 12! A fost depusă o muncă semnificativă doar pentru compatibilitatea retroactivă, astfel încât să puteți folosi cu toții vechile Romos cu 30 de pini și vechile iPhone-uri.
Puteți folosi orice dispozitiv până la iPhone 8! Pun pariu că producătorii de Romo nu s-au așteptat la asta 😎
Puteți utiliza Romo X Control pentru a vă controla robotul Romo de pe un alt dispozitiv iOS din aceeași rețea.
Au existat curățări și optimizări majore, aplicația fiind acum atât de ușoară încât chiar și un iPhone 3GS o poate gestiona.
Romo Developers
Obiectivul final a fost acela de a permite unor comunități existente sau noi de creatori, tutori și cercetători să se implice în mod activ în platforma Romo și în robotica smartphone-urilor în general.
Văd un mare potențial cu hardware-ul împachetat în smartphone-uri în ultima vreme. Iar faptul de a avea acești cai putere pe roți deschide cu siguranță noi posibilități.
Am vrut să fac mai ușor pentru dezvoltatori să adopte Romo și să înceapă să scrie aplicații pentru el în cel mai scurt timp. De aceea, acum SDK-ul Romo este open source și este oferit pe CocoaPods.
Am văzut deja alte proiecte Romo, cum ar fi acest proiect grozav care pune Romo în realitate augmentată.
Sper că adoptarea CocoaPods va ajuta să vedem din ce în ce mai multe proiecte ca acesta!
Ce urmează
Având spus că am aproape totul în funcțiune este corect, totuși aș vrea să pot elimina cuvântul aproape din propoziția mea. Singurul lucru care lipsește este teleprezența, posibilitatea de a te conecta de la distanță la Romo și de a-l controla. Este o caracteristică grozavă și utilă pe care mulți utilizatori au cerut-o.
Dacă vreți să vedeți că acest lucru se întâmplă la fel de mult ca și mine, vizitați pagina mea Patreon și vă rog să mă susțineți. Puteți vedea obiectivele stabilite și cât de departe suntem de acestea. Puteți găsi Romo X și Romo X Control în App Store.
Mulțumiri speciale tuturor oamenilor care au lucrat pentru ca Romo să devină realitate în primul rând și, de asemenea, susținătorilor mei de pe Patreon.