Jak wygląda pisanie aplikacji na platformy Apple – wywiad z CEO Omni Group

Od dłuższego czasu używam OmniFocus do śledzenia swoich zadań, a niebawem na portalu pojawi się recenzja OmniOutliner. Udało mi się “usiąść” z prezesem Omni Group i zadać mu kilka pytań. Oto czego się dowiedziałem.

KB: Witaj, jak się masz?

KC: Bardzo dobrze! Lato zawsze jest najbardziej pracowitym czasem w Omni. Wszystko z powodu poznawania nowości wdrożonych przez Apple na początku lata, które ostatecznie pojawią się na początku jesieni. Ten okres to idealny moment na spędzanie czasu w Seattle, gdy temperatury nie są za wysokie, a niebo jest błękitne. Niedaleko miasta jest wiele jezior, oceanów i gór. Próbujemy spędzać aktywnie weekendy po tygodniach ciężkiej pracy.

KB: Zwracacie uwagę na opinie użytkowników przed wprowadzeniem aktualizacji aplikacji?

KC: Zawsze! Głównym powodem tworzenia naszych aplikacji są nasi klienci. Za każdym razem bierzemy pod uwagę ich uwagi.

Nawet mniejsze aktualizacje na tym bazują. Pojawiają się częściej, a większe zmiany wprowadzamy co parę lat.

Opinie użytkowników są kluczowe w trakcie wdrażania poprawek i mają znaczenie w każdej fazie. Decyzje odnośnie funkcji i wyglądu też są oparte na opiniach klientów. Podobnie jest z dostępnością, stabilnością i wydajnością. Opinie nie omijają też dokumentacji i lokalizacji naszych aplikacji.

KB: Myśleliście nad wydaniem aplikacji dla Windows lub Androida?

KC: Myśleliśmy nad tym, ale naszym celem nie jest dotarcie do największej ilości użytkowników. Wolimy tworzyć najlepsze aplikacje, więc wybraliśmy platformę, na której możemy się skupić w 100%

Na początku swojej przygody pisałem aplikacje na UNIX, potem nadszedł NeXT, który był lepszy. Wtedy stanąłem przed wyborem, pisać aplikacje z niezbyt dobrym UX dla większości lub skupić się na lepszej. Wybrałem drugą drogą z mniejszą bazą użytkowników, a z biegiem czasu NeXT podstawą dla Mac OS X, a później iOS i iPadOS.

Od tamtego momentu rynek uległ zmianom. Pojawiły się nowe platformy, ale skupiając się na platformach z podobnymi podstawami, łatwiej nam tworzyć aplikacje.

KB: Czy tworzenie aplikacji dla visionOS różni się od reszty systemów Apple?

KC: Tak i nie. Interfejs się różni tak samo, jak mechanizmy odpowiedzialne za interakcję z oprogramowaniem. visionOS łączy wiele z komputerami Mac, iPhone’em i iPadem. Dzięki temu większość kodu jest podobna, a do tworzenia aplikacji wykorzystujemy te same narzędzia. SwiftUI mocno upraszcza i przyspiesza ten proces.

Można używać aplikacji z iPadOS w visionOS, ale wg nas nie jest to idealne rozwiązanie. Jeżeli się na tym skupisz, Apple przypnie łatkę kompatybilne z visionOS i to wszystko. Na ten moment można w ten sposób używać OmniGraffle i OmniOutliner, ale to nie potrwa długo. visionOS potrafi wiele i nie chcemy być ograniczani rozmiarem i ograniczeniami iPada.

W tej chwili “natywnymi” aplikacjami dla visionOS są OmniPlan i OmniFocus. Zamierzamy wydać resztę, gdy Apple wyda kolejne, większe aktualizacje. “Natywność” daje więcej w porównaniu z aplikacją wydaną dla iPadOS.

To dopiero początek platformy, ale z biegiem czasu nasze aplikacje mogą ulec wielkim zmianom związanym z Apple Vision Pro. To potrwa parę lat, a obecnie każdy uczy się, jak tworzyć aplikacje dla nowego sprzętu, mającego parę miesięcy na karku.

KB: Inspirujecie się aplikacjami konkurencji?

KC: Nie. Próbujemy znaleźć elementy, które nie są dostępne u innych, wiedząc, jak sobie poradzić z ich implementacją. W tym momencie znajdujemy swoje inspiracje.

Ponad 20 lat temu stworzyliśmy arkusz kalkulacyjny dla Rhapsody/Mac OS X, ponieważ uważaliśmy, że może być brakiem na nowej platformie. Okazało się, że Microsoft wejdzie ze swoim, więc skupiliśmy swoją uwagę w innym miejscu. Wtedy mało kto brał się za wdrożenie przeglądarki internetowej, więc my to zrobiliśmy. Nasza aplikacja wykorzystywała większość zalet systemu operacyjnego Apple i wygraliśmy dwie nagrody Apple Design (nadal używam OmniWeb). Kolejną aplikacją z wygraną w Apple Design Awards była aplikacja tworząca diagramy.

KB: Czy wasze aplikacje się uzupełniają?

KC: Oczywiście. Staramy się nie ograniczać naszych klientów. Projekt można zacząć w OmniOutliner i przenieść większość zadań do OmniFocus lub umieścić je w OmniPlan. Omni Automation to ważna technologia, łącząca aplikacje ze sobą. Dzięki niej można przenosić dane między naszymi aplikacjami i nie tylko.

Nie trzeba używać wszystkich aplikacji, ale świetnie ze sobą współpracują. Z drugiej strony nie mając konkretnego zastosowania, każda nie byłaby oddzielną aplikacją. Czasem wystarczy poszerzyć funkcjonalność, choć to może nie wystarczyć i “musi” się pojawić nowy program

KB: Jak długo zajmuje przygotowanie aktualizacji i jej wdrożenie?

KC: Wszystko zależy od rodzaju aktualizacji. Te mogą zając od dnia do nawet pięciu lat.

Spędzamy lata nad projektowaniem, implementacją i testowaniem większych aktualizacji. Czego dowodem jest OmniFocus 4 i nadchodzący OmniGraffle 8. Mogą minąć lata, zanim wszystko będzie na swoim miejscu.

Z drugiej strony, pierwsze aktualizacje dla OmniFocus 4 zajmowały tydzień. Wszystko było bazowane na opiniach użytkowników i chcieliśmy wydać poprawki tak szybko, jak to było możliwe. Większe aktualizacje zajmują parę miesięcy (OmniFocus 4.3).

KB: Jak radzicie sobie z napotkanymi problemami?

KC: Z optymizmem i determinacją.

Każdy problem jest inny, ale wierzymy, że da się go rozwiązać, jeśli się postaramy. Świetnym przykładem będzie wydanie aplikacji na iPada, którego nie mieliśmy. Jak oczy i dłonie będą wchodzić w interakcje z nowym sprzętem?

Wzięliśmy wymiary ze strony Apple, stworzyliśmy modele 3D, a później wydrukowaliśmy swoje projekty. Następnym krokiem było sprawdzenie prototypów projektów.

Ostatecznie nam się udało i swoją kreatywnością poradziliśmy sobie z wieloma problemami. Dzięki temu OmniGraffle i OmniGraphSketcher były dostępne w dniu premiery iPada!