Wywiad z Jamesem Thomsonem - deweloperem i byłym pracownikiem Apple
Z Jamesem Thomsonem - szkockim twórcą aplikacji i byłym pracownikiem Apple - miałem okazję porozmawiać na temat programowania, blokowania reklam i nowych rozwiązań Apple. Ma on do zaoferowania nie tylko świetne programy, ale także ciekawe spojrzenie na wiele tematów, z którym warto się zapoznać.
Cześć James, czy mógłbyś się przedstawić naszym czytelnikom i powiedzieć kilka słów o swoich aplikacjach?
Cześć! Piszę oprogramowanie na Maca od 23 lat i dla iOS, od kiedy to tylko było możliwe. Obecnie jestem najbardziej znany z mojego kalkulatora naukowego PCalc dla iOS, watchOS i OS X, a wcześniej popularność przyniosła mi moja aplikacja DragThing na Maca, która modyfikowała systemowy Dock. Przez krótki czas, pod koniec lat dziewięćdziesiątych, pracowałem dla Apple, gdzie byłem częścią zespołu odpowiedzialnego za Findera w OS X i stworzyłem oryginalną wersję Docka. Nigdy nie wszedł on w życie w moim pierwotnym założeniu, poza trzecią wersją deweloperską Mac OS X, którą John Siracusa opisał w swojej recenzji słowami „całkowita klęska”.
Zdecydowałeś, że nie przygotujesz wersji PCalc przeznaczonej dla systemu Windows i Android. Dlaczego?
Rdzeń PCalc został napisany w Objective-C i wykorzystuje sporo API udostępnionego przez Apple. Dostosowanie aplikacji do Androida wymagałoby napisania kodu od początku, co kosztowałoby mnie wiele pracy. Nie mam również zbyt wiele doświadczenia z programowaniem w Java i, szczerze powiedziawszy, słyszałem od znajomych deweloperów, że sprzedanie oprogramowania premium dla Androida jest dużo trudniejsze. Oba te czynniki oznaczają, że praca włożona w napisanie aplikacji od nowa nie opłaciłaby się mi.
Windows jest bardziej interesującą propozycją. Microsoft zaprezentował ostatnio narzędzie do konwersji programów z iOS na ich system. Stworzenie PCalc z wykorzystaniem tej technologii byłoby możliwe, ale jeszcze jest na to za wcześnie. Kto wie, może kiedyś napiszę coś dla Windowsa i wreszcie będę miał PCalc na moim Xboksie. Póki co chcę się jednak skupić na platformach Apple.
Czytałem Twój artykuł o „walucie mediów społecznościowych”, reklamach i AdBlocku w iMore. Przedstawiona przez Ciebie wizja przyszłości jest bardzo apokaliptyczna. Czy masz pomysł, jak walczyć z AdBlockiem albo jak znaleźć alternatywne rozwiązanie do monetyzacji treści internetowych?
Myślę, że walka z oprogramowaniem blokującym reklamy nie ma sensu, choć wojna technologiczna i prawna pomiędzy jego twórcami a reklamodawcami jest bardzo prawdopodobna. Wydaje mi się, że podejście niektórych serwisów, jak na przykład MacStories, które proszą czytelników o wsparcie pieniężne, jest interesujące. Jason Snell rozważa wprowadzenie podobnego rozwiązania na swojej stronie Six Colors, gdzie ponadto co tydzień sprzedaje boks reklamowy. Giant Bomb - strona o grach komputerowych - wprowadziła płatne subskrypcje, które umożliwiają dostęp do ekskluzywnych materiałów. Tego typu podejście przynosi skutek jednak tylko wtedy, gdy masz sporą i lojalną społeczność czytelników. Nie mam ponadto pojęcia, jak sprawdzi się, gdy każdy serwis wprowadzi tego typu rozwiązania. Myślę, że to ważne, aby twórcy mogli w jakiś sposób zarabiać na życie. W innym wypadku nie będziemy mieli przyzwoitych treści do czytania.
Napisałeś na Twitterze, że deweloperzy mogą zarabiać pieniądze, sprzedając relatywnie drogie aplikacje. Myślisz, że programy powinny kosztować więcej w dobie modelu freemium i aplikacji z reklamami?
Bez wątpienia. Sądzę, że wielu deweloperów sprzedaje swoje aplikacje po zbyt niskiej cenie, aby ich biznes był przez długi czas zrównoważony. Na tyle dużo osób korzysta z systemu iOS, że kierowanie programów na rynek masowy, który oczekuje darmowych aplikacji, nie jest konieczne. Nie musisz sprzedawać wszystkim, a zaledwie wystarczającej liczbie osób, aby mieć na życie.
Jakie jest Twoje podejście do Swift i Objective-C? Który z tych języków powinni wybrać młodzi ludzie, jeśli chcą uczyć się programować?
Dobre pytanie. Apple zachęca deweloperów do pisania w Swift i myślę, że to przyszłość. Nikomu jednak nie zaszkodzi pouczyć się również Objective-C, ale jeżeli miałbym dzisiaj wybrać jeden język, byłby to Swift. Oczywiście patrzę teraz z perspektywy osoby, która nie napisała nawet jednej linijki kodu w Swifcie, więc zapytaj mnie jeszcze raz za sześć miesięcy! Jeśli jednak nauczysz się jednego języka programowania, to nabędziesz umiejętności, które sprawią, że nauka kolejnego języka będzie bardzo prosta.
Od wielu lat korzystasz z systemów OS X i iOS. Co sądzisz o ostatnich produktach Apple i kierunku, w jakim prowadzi tę firmę Tim Cook?
Jestem bardzo zadowolony z produktów Apple. Mój MacBook Pro Retina jest najlepszym laptopem, jaki kiedykolwiek miałem. Podobnie się rzecz ma z iPhone’em 6s. Zarówno El Capitan, jak i iOS 9 wydają się ponadto bardziej stabilne niż zeszłoroczne wydania tych systemów. Ponadto Tim Cook sprawił, że Apple jest bardziej otwarte, niż miało to miejsce wcześniej. Choćby nowe Apple TV było miłą niespodzianką dla deweloperów. Nie mogę więc narzekać.
Czasami jestem jednak sfrustrowany wsparciem Apple dla deweloperów. Stronie internetowej iTunes Connect towarzyszyło mnóstwo problemów kilka tygodni temu, kiedy to wielu twórców aplikacji zgłaszało swoje programy dla iOS 9 i watchOS 2. Przygotowano jednak nową stronę, która wydaje się być ulepszona, ale musimy jeszcze poczekać, aby to potwierdzić.
Czy masz w planach stworzenie nowej aplikacji?
Na ten moment pracuję nad aktualizacjami dla PCalc. Wersja dla iOS wkrótce otrzyma wsparcie dla 3D Touch w nowych iPhone’ach, a ponadto rozpocząłem również prace nad odsłoną dla tvOS. Później zajmę się iPadem Pro, a na okres świąteczny planuję zrobić sobie trochę przerwy od programowania. Zobaczymy jednak, co wydarzy się w przyszłym roku!
Dziękuję Ci za wywiad, James!
Dzięki, mam nadzieję, że moje odpowiedzi były interesujące!