wtorek, 29 sierpnia 2017

AmiWigilia - Wywiad teksowy 2 - Artur Jarosik - NetSurf

Artur Jarosik - przełom na rynku przeglądarek dla Amigi 68k?

Dawno w świecie Amigi 68k nie było dobrej i dopracowanej przeglądarki. Do teraz najpopularniejszy jest stary IBrowse. Czy Artur oraz jego wersja NetSurf dla AmigaOS 3.x ma szansę zmienić tą sytuację?
NetSurf to przeglądarka internetowa, dostępna i tworzona na wiele systemów. W amigowym świecie mamy wersję dla AmigaOS 4.x oraz od paru lat pieczołowicie już rozwijaną wersję dla procesorów 68k i AmigaOS 3.x. Port tworzy Artur Jarosik.

1. Standardowe pytanie na rozgrzewkę: pierwsze komputery oraz jak zaczęła się przygoda z Amigą?

Moja przygoda z Amigą rozpoczęła się w 1993 roku kiedy dostałem na komunię Commodore Amiga CDTVKomputer wyrzedzający swoje czasy, CD-ROM, slot na kartę flash i bezprzewodowy pilotBezprzewodowy gamepad miała dopiero konsola Playstation 3 14 lat później (W moim przypadku). Atari także miało swoje podejście ale zasięg radiowy pilota powodował, że można było sterować innymi Atari w promieniu 300m :D, przez co nigdy nie doszło do masowej produkcji.

2. Jakiej Amigi używasz? Czy Twój główny system to AmigaOS 3.x czy może jednak testowałeś jego nowsze wcielnia?

Obecnie używam A500, w sumie przypadkowo ponieważ przez pomyłkę dostałem V500 zamiast V600. Trochę nie jest mi na to rękę ponieważ internet przez PCMCIA jest szybszy na A600 co chciałem wykorzystać do testowania NetSurf'a w tym odtwarzanie z YouTube i cda.pl.

Poza tym używam WinUAE z systemem AmiKIT X (jestem betatesterem). Wersję bez FPU testuję na ClassicWB.

Planuję zakup nowego Vampira V4. Jestem w Teamie Apollo BTW. V4 będzie oparty na Cyclone V (obecnie Cyclone 3) a więc większa pojemność FPGACo za tym idzie? Szybszy procesor + FPU. FPU jest obecnioe w fazie testowaniaV4 posiadać będzie 512MB RAM, porty USB oraz wbudowany Ethernet. Będzie mogła pracować bez Amigi czyli praktycznie to nowa Amiga :) A jak ktoś woli "real feel" to można jej użyć razem z A500/600 lub A1200.

Jeśli chodzi o NG to posiadam oryginalny AmigaOS 4.1 zainstalowany na emulatorze WinUAE.


3. Skąd pomysł na przeglądarkę? Kiedy to w ogóle się zaczęło? Nad portem pracujesz sam, czy masz może kogoś do pomocy? Czy masz beta testerów?

Moja przygoda z programowaniem na Amigę zaczęła się w 2008 od portu gry Open Red Alert. Współpracowałem wtedy z Berndem Roeschem nad ulepszeniem libnixa, ixemula oraz SDL. Brakowało w tamtym czasie przeglądarki obsługującej CSS. Powstało więc bounty na port Firefoxa, które w puli miało dość sporą kwotę. Chyba $10000. Mając tylko doświadczenie z SDL szukałem przeglądarki wykorzytującej tą bibliotekę. Najpierw zabrałem się za arosowy OWB. Miałem już 90% skompilowej całości jednak jej skompilkowanie mnie przerosło. Był wtedy już port OWB jednak wymagania miał kosmiczne. Procesor 060 z 500MHz :). Więc trzeba było czegoś mniej wymagającego. W 2009 natrafiłem na wątek on NetSurfie na Amigans.net i tak się zaczęło. Po jakimś chyba miesiącu miałem działającą wersję. Pierwsza wydana wersja źle wyświetlała kolory (brak konwersji endianów). Błąd naprawił Bernd Roesch, z którym pracowałem jeszcze jakiś czas. Głównie nad wyłapywaniem bugów. Potem błędy zgłaszali użytkownicy poprzez email lub na forum EAB i PPA.

4. Ile czasu zajęło wydanie pierwszej wersji NetSurf dla Amigi 68k? Jak dużo czasu poświęcasz na tworzenie aktualnych wydań lub wersji?

Jak napisałem powyżej, wydania pierwszej wersji NetSurf zajął mi ok miesiąc.
Pyt2.
Dosyć dużo, nie ma tygodnia żebym coś tam nie dodał lub uaktualnił źródeł czy biblioteki curl, png bądź sslMam utrudnione zadanie ponieważ moję źródła nie są w oficjalnym repozytorium więc każda większa zmiana to dla mnie praca na "czystym" kodzie.

5. Jak widzisz najbliższy rozwój NetSurf 68k? Czy planujesz poprawić prędkość działania? Niestety nawet na procesorach 68060 jest dość wolno.

Chciałbym oczywiśnie aby program przeszedł w całości na MUI bez SDL, wtedy na pewno przyspieszy... Niestety z mojej strony jest to nierealne.

6. Jak widzisz dalszą przyszłość NetSurf? Z biegiem czasu powinna nadejść wersja 4.0, oferująca HTML5 czy JS. Prawdopodobnie procesory 68k będą jednak za słabe na obsłużenie takich nowości.

Niestety prace nad NetSurfem spowolniły i nie jestem już pewien czy w ogóle zaimplementowana będzie pełna obsługa JS czy HTML5. W ciągu 3 lat dodano tylko jedną nową funkcję CCS3. Oczywiście źródła są otwarte i w każdej chwili ktoś spoza NetSurf teamu może dodać wyżej wymienione ficzery.
Podobno OWB w wersji na Arosa m68k nie jest aż tak wolne więc to OWB może być nową nadzieją na nowoczesną przeglądarkę na kolejnych Vampirach z szybkim FPGA.


7. Preferencje programu już teraz są napisane w MUI. Tak więc czy planujesz przejście całego programu na MUI? Prawdopodobnie wpłynęłoby to na prędkość jego działania.

Wersja od Chrisa Young'a, która używa ReAction jest dość szyba, jednak często lubi się zawiesić.
Moja wersja natomiast szybciej przewija strony na Vampire dzięki SDL, które wymaga szybkiej pamięci.

8. Czy NetSurf 68k będzie działać pod MorphOS, AROS lub AmigaOS 4.1?

Już działa wersja bez fpu. Oczywiście dzięki Trance oraz Petunii. Na Arosie m68k działa natywnie.

9. W związku z powyższym, czy planujesz współpracę z autorem NetSurf dla AmigaOS 4.1 i 3.9 (3.5) wykorzystującym ReAction. Bez wąptienia wspólna praca dwóch developerów, Ciebie oraz Chris'a Young przyniosła by wiele dobrego dla rozwoju amigowego NetSurf.

Dzięki testom na moim NetSurfie Chris mógł wogóle zacząć prace na jego wersją. Na amiga.org w wątku o jego NS-sie nie raz się udzielałem. Ostatnio w kwesji wersji nofpu dla Wampira.
Teraz widzę, że Chris wpółracuje z niejakim DNADL-em w naprawieniu duktape'a (silnik javaskrypt), który nie działa w jego wersji pod clib2. Clib2 ma jeszcze jeden duży problem z fragmentacją pamięci. Przez co bardzo zwalnia po wczytaniu paru stron. Sugerowałem mu przejście na libnix, ale Chris woli clib2.
Aktualizacja: Clib2 naprawiony.

10. Nawiązując do poprzedniego pytania, czy nie najlepszym rozwiązaniem jest współpraca na poziomie kluczowego oprogramowania między różnymi osobami ze środowiska 68k, MorphOS, AmigaOS czy AROS?

W amigowym świecie każdy sobie rzepkę skrobie...heh :)

11. Myślałeś o jakimś wsparciu finasowym dla Ciebie lub Twojego projektu? Czy uważasz, że środowisko Amigi jest gotowe na powrót komercyjnych aplikacji?

Pyt1: Dotacje można składać na stronie projektu http://ami-soft.blogspot.com. Czasem otrzymuję wsparcie, głównie z zagranicy.
Pyt2: Projekt Apollo-Core pokazał, że w środowisku amigowym można skutecznie współpracować. Liczę, że coraz szybsza prędkość procesora przyczyni się do powstawania nowych projektów. Właściwe już to ma miejsce. Powstaje coraz więcej dobrych portów gier.
Szkoda, że AmiStore na 68k nie doszło do skutku. Myślę, że programy za kilka dolarów zachęciłyby developerów a użytkownicy chętniej wspierali by twórców małymi kwotami.
Innym pomysłem jest Patreon, poprzez który wpierani są autorzy Tanks Fury lub Brigde Strike.

12. Jaki jest feedback od użytkowników przeglądarki? Uważasz, iż w przyszłości Twój NetSurf może stać się główną przeglądarką dla systemów AmigaOS 3.x (szczególnie w połączeniu z FPGA)?

Użytkownicy głównie zgłaszają błędy ale są też przykłady udzielania się np. skrypt instalacyjny w starszych wersjach, podsunięcie mi MUIBuildera, którym posłużyłem się do stworzenia Preferencji lub ostatnio, poprawa lokalizacji przez HanSolo.

13. Czy potrzebujesz pomocy programistycznej przy rozwoju NetSurf? Planujesz kolejne, inne projekty dla Amigi?

Jako pomoc głownie służy mi stackoverflow lub forum ppa czy EAB. Kurs MUI Kraszana pomógł mi przy tworzeniu 'Preferencji'.
Inne moje projekty są na https://artishq.wordpress.com. Są tam głównie porty gier SDL + stary port programu do pixelartu Grafx2Ostatnio głównie pracuję nad portami gier, które świetnie działają na V500/600 m.in HHexen, Zelda ROTH a ostanio OpenTyrian lub właśnie wydany MiniSlug, które działają bardzo szybko. MiniSlug nawet zbyt szybko, heh. W przygotowaniu jest Cave Story a inne porty czekają na mociejszego Vampira np. emulator SNES Snes9x.
Znaczący wzrost prędkości umożliwiają instukcje AMMX, które zaimplementował w SDL autor EaglePlayera i nowej Rivy, Henryk Ritcher.

Poza tym jestem betatesterem nowego AmiKIT X na komputer Alice a w teamie Apollo Core testuje nowe rdzenie.
AmiKit lubię ponieważ ma nowoczesny wygląd AmigaOS (niemal jak OS4) i jest wygodny w użytkowaniu. Mam tu na myśli Dopus Magellan 5.82, można sobie np. zrobić skrót do serwera FTP na pulpicie. Poza tym testuję na nim wszyskie moje porty. Ostatio w najnowszej wersji X, można nawet uruchamiać programy Windowsowe lub linuksowe ale nie korzystam z tego.

14. Jak wygląda Twój warsztat? Pracujesz na Amidze czy na emulatorze? Jakich narzędzi developerskich używasz?

Pracuję na emulatorze co jest bardzo wygodne poniważ szybko działa. Na co dzień korzystam z notepad'a++ do edycji kodu oraz dystrybucji Debian na wirtualnej maszynie, której używam do kompilacji z gcc 3.4. Mam nadzieję, że bebbo ukończy gcc w wersji 6.3, która w testach jest najszybszą z dotychczasowych.

Chaiałbym pracować na Amidzie ale nie znalazłem gcc 3.4 w wersji na motorolę. Wersja 2.95 jest już zbyt problematyczna. Preferencje MUI zmontowałem na AmigaOS w MUIBuilderze na WinUAE, o czym już wspominałem oraz SimpleCat do lokalizacji. Pracowałem także w Bash On Ubuntu On Windows ale po awarii Windowsa wróciłem do VM. VM jest bardzo wygodne w kwestii robienia backupów.

15. Jak autor NetSurf widzi amigowe przeglądarki? Co sądzisz o IBrowse, a co o Odyssey Web Browser?

IBrowse to prawdziwie amigowa, szybka bo napisana głównie (?) w asm przeglądarka z rozbudowanym interfejsem w MUI i wsparciem dla javaskyptów. Niestety brak aktualizacji powoduje, że jest coraz mniej użyteczna m.in. przez niaktulne zabezpieczenia SSL oraz brak CSSPodobno ma się ukazać wersja 2.5, która niestety tylko uaktualni SSL.

Odyssey to najlepsza przeglądarka na systemy NG. Obsługuje nowe technologie ale dla klasyka jest zbyt wymagająca. Jedynie szybkie FPGA mogbłyby ją 'pociągnąć' jak zapowiadana karta Vampire na układzie Arria 10, która jest tylko w planach. Jak napisałem wyżej, następny Wampir będzie oparty o Cyclone V, który jest minimum 20% szybszy od Cyclone 3.


16. Co myślisz o środowisku Amigi? Podział na sprzęt retro oraz aż na trzy systemy nowej generacji nie ułatwia tworzenie oprogramowania. Jak widzi to developer?

Wiele systemów sprawia, że każdy znajdzie coś dla siebie. Ja nie mam problemu bowiem programuję tylko na klasyka, a jak napisałem wyżej mam ułatwione zadanie gdyż na OS4 czy MorphOS programy działają od razu.

17. Czy "rewolucja" w postaci kart FPGA, implementująca procesory serii 68k oraz szybkie karty graficzne pomoże w odrodzeniu rynku oprogramowania dla Amigi?

Na pewno powstaną nowe programy lub porty, które wcześniej byłyby zbyt wolne np. te oparte o biblioteki SDLAplikacje SDL-owe działają szybko na karcie Vampire ponieważ posiada ona dużo szybszy dostęp do pamięci czego ta bilbioteka wymaga.

18. A może jednak lepiej spróbować się skupić na nowych rozwiązaniach typu AmigaOS 4.1 lub ogólnie systemy NG.

Na pewno systemy NGłatwiejsze do piasania/portowania programów ponieważ posiadają one uaktualnione narzędzia deweloperskieDla mnie sprzęt jednak jest za drogi w przypadku OS4 no i do klasyka mam sentyment.

19. Walcząc z tą amigową multiplatformowością, być może odpowiedzią na to jest Hollywood? Wielu developerów gardzi tym rozwiązaniem, jak Ty to widzisz?

Nie korzystałem ale podziwiam twórców. Wspierają wszystkie platformy w tym WarpOSDobrze, że coś takiego istnieje i może sam zakupię i sprawdzę co oferuje.

20. Czy Twoim zdaniem dla Amigi jest jeszcze jakaś szansa? Czy droga PowerPC nie okazała się jednak błędem? Być może warto by przejśc na inne procesory lub rozwiązania wręcz bazujące na linuxowym jądrze?

Moim zdaniem jest już za późno na powrót Amigi do mainstreamu. PPC znika z rynku i jest coraz droższe czyli ślepa uliczka. Z drugiej strony MorphOS działa na tanich Makach oferujących niezłą wydajność wystarczjącą do internetu i gier.
Gdyby 20 lat temu pojawił się Vampire to Amiga mogłaby by być dzisiaj bardzo popularna a komputer X5000 był tańszy to na pewno zainteresowaliby się nim także osoby z poza środowiska.

21. NetSurf najlepiej działa pod emulatorem typu WinUAE. Co sądzisz na temat emulacji Amigi 68k, PowerPC czy wręcz AmigaOS 4.1?

Lubię sobie od czasu do czasu odpalić OS4.1 na emulatorze. Działa naprawdę dobrze. W wyborze opcji jego emulacja dogania już OS3.x. Udało mi nawet się odpalić na nim NetSurfa (wersja bez FPU) :) i działał całkiem ok. Mogło być szybciej ale nie mam najnowszego procesora.

22. Retro powraca z ogromną siła w każdym z obszarów życia. To chwilowy trend czy jednak może coś stałego?

Chciałbym, żeby retro się rozwinęło na tyle, aby ludzie zaczęli zauważać Amigę i o Vampire było tak głośno jak o nowej konsoli Atari.

23. Pozdrowienia.

Brak komentarzy:

Prześlij komentarz