Integracja androida z Linuksem po mojemu

Czasem jest tak, że w oprogramowaniu nam czegoś brakuje. Albo nie ma aplikacji, której byśmy chcieli, albo jest, ale nie do końca spełnia nasze oczekiwania, albo coś nam nie pasuje. 

Zwykle mamy trzy drogi: rozglądać sie za alternatywami ( tu mogą się przydać dobre programy btw.), albo poprosić twórców o zmiany, albo.... napisać "se" samemu. 

No więc ja wybrałem trzecią drogę. Otóż mam taką zachciankę: chciałbym na pulpicie mojego linuksa widzieć powiadomienia, które mam na komórce. Z poziomu jakiejś aplikacji chciałbym też móc odpowiadać na sms-y, sprawdzić stan baterii i może włączyć dzwonek, kiedy nie wiem gdzie leży mój telefon. 

No to zgodnie z trzema opcjami, patrzymy co jest dostępne. Jest "trochę" takich aplikacji. Jest AirDroid - przeglądarkowy i .... jak dla mnie przeładowany. 

Jest Pushbullet - nie do końca darmowy i nie ma wersji na linuksa ( ale jest fajny)

KDE Connect - wygląda całkiem spoko.... I czar pryska kiedy okazuje się że i komórka i laptop do poprawnego działania powinny być w tej samej sieci. 

Jest też parę innych. nawet otwartoźródłowych, które głównie opierają sie na dodatkach do chrome.

Pierwsza opcja, czyli poszukiwanie istniejącego rozwiązania odpadła.

Druga opcja, czyli wpłynięcie na developerów żeby coś pozmieniali jest szczerze mówiąc często fikcyjna. Jeśli jest to oprogramowanie komercyjne, to nikt o biednym linuchu nie myśli, a jeśli otwarte to też jest problem z dobiciem sie do community. Można nawet usłyszeć czasem: "a to zrób se sam".

No to "se" zrobiłem. Poniżej schemat: 

W prawdzie programuje ładnych pare lat, ale głównie w .NET zawodowo, stąd zadanie jakieś trywialne nie jest. Ale akurat mam urlop - może coś z tego wyjdzie.

Słowem wyjaśnienia: nie znam sie specjalnie na pythonie, i na kotlinie - w javie coś tam robiłem. Na androida też, ale to było dawno. W webówce chyba sobie radzę.

Jestem jakieś 3 dni od kiedy wpadłem na pomysł i mam:

 - Moje powiadomienia pojawiają się na linuksie w czasie rzeczywistym (mint w moim wypadku akurat, ale to nie ma znaczenia) 

 - aplikacja na andka można powiedzieć za chwilę będzie wychodzić z fazy alpha. Już można korzystać z komunikacji w obie strony. Zaczyna to działać stabilnie. UI jest do niczego (paskudne z guzikami do testów). Nie ma jeszcze flow dla rejestracji ( co da sie zrobić z poziomu swaggera) 

 - Jest w zasadzie w pełni działający i sprawny backend w ASP net Core 2.0. Jest hosting. Działa nawet sprawnie. Niewiele, ale wystarczy + websocket którego na screenie nie widać oczywiście.

 - Mogę z poziomu swaggera zalogować się i wysłać sms jeśli pamiętam numer telefonu, albo puścić dzwonek w telefonie zdalnie. 

No i co jest do zrobienia:

- Będę pisał "grubego klienta" w PYQT - narazie to jest prosty skrypt który odbiera notyfikacjie po websocketach i nie ma prawdziwego UI. 

 - Robienie "komend" (jest tam taki "commandDispatcher" w androidzie), czyli przekazywanie "CO" ma zrobić komórka po odebraniu sygnału.

- Serwis do stanu baterii.

- konfiguracja SSL na backendzie. 

- jakiś proces przypomnienia hasła

- może prosta stronka internetowa.

- TESTY i przydałoby się jakieś CI/CD z prawdziwego zdarzenia a nie zestaw skryptów.

No i wrzucenie całości na git-a :) 

No i sie pojawia pytanie. Czy ktoś jest takim czymś zainteresowany jako potencjalny użytkownik? A jako członek projektu?

Ja to tam prędziej czy później dowiozę wszystko- będę informował na blogu może. Niestety "dedlajnu" jakotakiego nie mam. Sprintów tez sobie nie będę robił sam ;) Samemu napewno tego nie rozkręcona tyle żeby więcej ludzi z tego korzystało. A chcąc więcej zrobić to już by trzeba ponieść jakieś koszty.

Byłbym wdzięczny za sugestie komentarze czy jakiekolwiek wsparcie w temacie. Podoba wam się pomysł? Jakie funkcje byście chcieli tu mieć? Mam parę pomysłów, ale posłucham z chęcią waszych. Może ktoś zna się na programowaniu i chciałby pomóc? BARDZO mocno was zachęcam do komentowania. Przeczytałeś?Zostaw chociaż jakiś znak, żebym wiedział czy KOGOKOLWIEK to interesuje :) 

Dzięki. Do następnego :)