Historia drukowania na Androidzie i jak dzięki Mopria Alliance było ono lepsze

Drukowanie dokumentów z urządzeń z systemem Android nie zawsze było proste, ale przeszło długą drogę. To w dużej mierze zasługa stowarzyszenia Mopria Alliance, które współpracowało z Google przy wdrażaniu podstawowych technologii drukowania w systemie Android 8.0 Oreo.

Przed debiutem domyślnej usługi drukowania w systemie Android 8.0 Oreo drukowanie dokumentów w systemie Android było łatwiej powiedzieć, niż zrobić. Mobilny system operacyjny Google uzyskał natywną obsługę drukarek dopiero w systemie Android 4.4 KitKat (z wyjątkiem). rozwiązań innych firm, takich jak Samsung, konfiguracja drukarki wymagała wtyczek specyficznych dla dostawcy i kierowcy. Ale dzięki Mopria Alliance, konsorcjum producentów smartfonów i drukarek, zgodność Androida z drukarkami znacznie się poprawiła. Android Oreo obsługuje zdumiewające 97 procent drukarek dostępnych na rynku – ponad 100 milionów – a ponadto oferuje takie funkcje, jak drukowanie dwustronne, drukowanie Wi-Fi Direct, orientacja i regulacja rozmiaru papieru.

Ale co ma wspólnego sojusz Mopria z drukowaniem mobilnym i co czeka przyszłe wersje Androida? Oto krótka historia platformy drukowania dla systemu Android i podgląd nadchodzących ulepszeń.

Drukowanie na systemie Android z systemem Android 4.4 KitKat

Menu drukowania Androida KitKat.

Wczesne wersje Androida nie obsługiwały natywnie drukowania. Drukowanie dokumentu, obrazu lub czegokolwiek innego ze smartfona lub tabletu z systemem Android w wersji wcześniejszej niż KitKat wymagało pobrania narzędzia innej firmy, takiego jak Google Cloud Print, wyciągając dokument w innej aplikacji i używając menu Udostępnij Androida, aby przekazać go do wspomnianego narzędzia. Nie trzeba dodawać, że nie było to eleganckie rozwiązanie – zwłaszcza w porównaniu z usługą AirPrint firmy Apple i innymi, wschodzącymi konkurentami.

Usługa drukarki w Androidzie wymagała przeróbki, a Google zajął się nią w 2013 roku. Androida 4.4 KitKat oznaczał debiut interfejsów API do zarządzania drukarkami i natywnej platformy drukowania dla systemu Android. Powstająca platforma Android Print Framework posiadała interfejs użytkownika z rozwijanymi menu umożliwiającymi wybór drukarki i strony oraz menedżera drukowania, który przekazywał żądania drukowania z aplikacji do dostępnych usług drukarek.

Oczywiście producenci drukarek nie byli ograniczeni do nowego menedżera druku. Mogli używać interfejsów API do opracowywania własnych usług drukowania i rozpowszechniania ich za pośrednictwem Google Play, co zrobiło wielu, w tym HP, Canon, Epson i Brother. Tymczasem twórcy aplikacji mieli swobodę dodawania do aplikacji działań drukowania lub wdrażania nowych interfejsów API drukowania w celu tworzenia, anulowania i sprawdzania stanu trwających zadań drukowania.

Oto, jak wtedy działał stos drukowania w Androidzie (i jak w dużej mierze działa nadal dzisiaj): Kiedy użytkownik uruchomił wydruk zadanie z poziomu aplikacji, aplikacja wykonywała wywołania API do platformy Android Print Framework, która z kolei wykonywała wywołania funkcji print praca. (Jedno z tych wywołań API było skierowane do modułu renderującego PDF firmy Google, który wygenerował spaginowaną na strony wersję pliku PDF do Następnie usługa drukowania zakończyła uzgadnianie z drukarką, która rozpoczęła proces drukowania.

Niestety, nowa platforma druku KitKat była samą definicją gołych kości. Androida 5.0 Lollipop udoskonalono go za pomocą menu inspirowanego Material Design z podglądem wydruku i rozwijanymi selektorami rozmiaru papieru, koloru, orientacji i zakresu stron. I Androida 7.0 Nougat przyniosło ze sobą nowe wywołania API, które ujawniały stan zadań drukowania, umożliwiając aplikacjom wyświetlanie wskaźników postępu drukowania. (W poprzednich wersjach Androida nie było to od razu widoczne). Jednak możliwości drukowania Androida zaczęły działać dopiero w Oreo.

Ulepszenia drukowania w systemie Android 8.0 Oreo dzięki Mopria Alliance

The Sojusz Mopria, globalna organizacja non-profit zajmująca się standardami druku mobilnego, może nie pochwalić się zbyt dużą rozpoznawalnością marki, ale nie jest to nowość na rynku. W ciągu pięciu lat od założenia firma zatrudniła największych graczy w branży drukarskiej i produktywności, w tym Adobe, Konica Minolta, Qualcomm, Lexmark, Kyocera, Dell i Toshiba, z których wszystkie zobowiązały się do wspierania podstawowych technologii, funkcji i usług drukowania na urządzeniach mobilnych.

– powiedział Brent Richtsmeier, przewodniczący Komitetu Sterującego Sojuszu Mopria Programiści XDA że technologia Mopria jest zainstalowana na ponad 750 milionach różnych urządzeń mobilnych i że codziennie dostarcza do drukarek 1,4 miliona stron. „W miarę jak świat staje się coraz bardziej połączony [...] staje się jasne, że wszystko jest ze sobą połączone i bardziej mobilne, ale ludzie nadal muszą drukować” – powiedział Richtsmeier.

W tym celu Mopria nawiązała współpracę z producentami OEM Androida, takimi jak SAMSUNG—członek-założyciel Sojuszu Mopria—ZTE, Huaweia, I Amazonka dostarczanie tabletów i smartfonów z Mopria Print Library (MLP), pakietem narzędzi programistycznych Mopria. Jednym z owoców tej pracy jest usługa Samsung Print Service, narzędzie do drukowania mobilnego dla platformy Android Print Framework, które jest preinstalowane na komputerze Samsung Galaxy S4, S5, S6, S7, S8, I S9. (Pan Richtsmeier twierdzi, że ma około 400 milionów aktywnych użytkowników miesięcznie). Innym jest ZTE Axon 7 oraz Axon 7 Max, który był dostarczany w Chinach z fabrycznie załadowaną usługą Mopria Print Service.

Jednocześnie Mopria nawiązała współpracę z Google połączyć swoje technologie z projektem Android Open Source (AOSP) baza kodu. W latach następujących po wydaniu KitKat wniósł tysiące linii kodu, których kulminacją było Nowa i ulepszona domyślna usługa drukowania w Androidzie Oreo.

Domyślna usługa drukowania w Androida 8.0 Oreo obsługuje standardowe ustawienia drukowania, takie jak regulacja kolorów, wybór typu nośnika i kopiowanie. Jest bezpłatny i łatwy w użyciu, ale nie uniemożliwia programistom tworzenia własnych produktów z certyfikatem Mopria.

Zdaniem Richtsmeiera pójście niestandardową trasą jest stosunkowo łatwe. Pierwszym krokiem jest dołączenie do sojuszu Mopria — wiąże się to z uiszczeniem niewielkiej opłaty licencyjnej. Następnie programiści mają kilka opcji: (1) Skompiluj bibliotekę Mopria z własnym kodem, (2) użyj bazy kodu, która Mopria udziela licencji wszystkim członkom Mopria Alliance lub (3) wykorzystuje istniejący kod AOSP Mopria do napisania niestandardowego rozwiązania.

Gdy kod jest już gotowy, następuje testowanie. Członkowie Mopria Alliance mają dostęp do zestawów narzędzi do testowania zgodności, w tym zautomatyzowanych testów specyficznych dla urządzeń i drukarek. Po przeprowadzeniu niezbędnych testów i zebraniu danych wyniki należy przesłać do Mopria inżynier, który je przegląda, aby upewnić się, że kod działa zgodnie z oczekiwaniami i sprawdza wszystko, co niezbędne pudła. Jeśli wszystko pójdzie dobrze, aplikacja zostanie uznana za posiadającą certyfikat Mopria.

Przyszłość drukowania na Androidzie

Platforma drukowania Androida przeszła długą drogę od czasów poprzedzających KitKat, kiedy wymyślano szalone obejścia (zwykle obejmujące menu Udostępnij) były jedynym sposobem wydrukowania czegoś — poza przesłaniem plików do komputera podłączonego do drukarki lub kurs.

To powiedziawszy, w domyślnej usłudze drukowania Androida Oreo wyraźnie brakuje funkcji dla przedsiębiorstw, takich jak dziurkowanie, składanie, zszywanie, uwierzytelnianie PIN czy funkcje księgowe. Nie obsługuje także funkcji „udostępnij do wydrukowania” — nie ma łatwego sposobu wydrukowania czegoś z menu Udostępnij w systemie Android. (Pan Richtsmeier obwinia ten ostatni problem za błąd w klasie WebView systemu Android sprzed roku, który opóźnił wdrożenie).

Różnica w funkcjach między domyślną usługą drukowania w systemie Android Oreo a aplikacją Mopria. Źródło: Mopria.

Usługi drukowania stron trzecich, takie jak samodzielna usługa drukowania Mopria firmy Mopria, która jest dostępna bezpłatnie na stronie Sklep Google Play, pomagają wypełnić lukę w funkcjonalności, dodając takie funkcje, jak wybór podajnika wejściowego, drukowanie Bluetooth, drukowanie ad hoc Wi-Fi i bezpośrednie drukowanie USB-OTG. Nie jest to jednak wielkie pocieszenie dla użytkowników w krajach o niestabilnej infrastrukturze internetowej lub w których Sklep Google Play nie jest dostępny.

Usługa drukowania MopriaDeweloper: Sojusz Mopria

Cena: za darmo.

4.5.

Pobierać

Na szczęście na horyzoncie widać oznaki poprawy, as Android P w pewnym stopniu wypełni lukę w funkcjach.

Kilka zmian w systemie Android Gerrit przesłanych pod koniec ubiegłego roku przez programistów Mopria wskazuje na obsługę Drukarki obsługujące wyłącznie protokół IPPS. IPPS to bezpieczna implementacja protokołu Internet Printing Protocol (IPP), oparta na protokole HTTPS, która umożliwia aplikacjom wysyłanie zadań drukowania, sprawdzanie stanu zadań drukowania i wykonywanie innych czynności za pomocą drukarek podłączonych do Internetu.

W styczniu programiści Mopria rozpoczęli prace nad kolejnym przydatnym rozwiązaniem: drukowaniem Wi-Fi Direct. Obecnie domyślna usługa drukowania w systemie Android obsługuje tylko połączenia lokalnej infrastruktury bezprzewodowej za pośrednictwem routera lub hotspotu, ale nowe zobowiązania dodać obsługę połączeń bezpośrednio między smartfonami i tabletami z systemem Android oraz drukarkami zgodnymi z Wi-Fi Direct. Dzięki funkcji Wi-Fi Direct nie jest wymagane parowanie, a w przeciwieństwie do hotspotów Wi-Fi niektóre drukarki nie wymagają nawet hasła.

Pan Richtsmeier powiedział, że programiści Mopria dostarczyli także kod umożliwiający ręczne dodawanie drukarek.

„Przeprowadzono badania, które pokazują, że osiemdziesiąt procent pokolenia milenialsów, które stanowią większość siły roboczej, wykonuje swoją pracę, korzystając z technologii mobilnych, ale tylko 33 procent z nich twierdzi, że te technologie mobilne spełniają ich potrzeby” – powiedział Richtsmeier – „a drukowanie jest dla ludzi kluczową rzeczą wydarzającą się w biuro. Mopria stara się wypełnić tę lukę [i] zaspokoić [te] potrzeby.”