„Dzień bez barier…” 30 maja w Legnicy w ramach #WroAccessible16, czyli kiedyś to mi się chciało… programować
Pod tym zawiłym tytułem, który widzicie powyżej, kryje się zaproszenie na „Międzynarodowy Dzień Wydarzeń bez Barier w Teatrze im. Heleny Modrzejewskiej w Legnicy” oraz krótka opowieść o tym, jak po prawie 5 latach przywróciłem do życia jeden z moich zapomnianych programów.
Wszystkich, którzy dysponują czasem w poniedziałek od 16.00 (można się trochę spóźnić) i przebywają w rejonie Legnicy, zapraszam na interesujące wydarzenie, którego częścią będzie multimedialny wernisaż abstrakcji Lucyny Pawlak i premiera „odnowionej” aplikacji (Lu) Art Puzzle, którą to napisałem sześć lat temu i teraz „reaktywowałem” specjalnie na ten pokaz (o czym napiszę kilka słów niżej). Drugą częścią „Dnia bez barier…” w ramach #WroAccessible (której to akcji patronuje MyApple.pl) jest spotkanie z Ellą Vine, o czym możecie poczytać więcej w oficjalnym komunikacie.
Co ma wspólnego program na iOS z dostępnością i barierami?
Wbrew pozorom całkiem sporo. Lucyna (autorka miniatur) nie lubi rozstawać się ze swoimi obrazami, ale jednocześnie chce je pokazywać w „szerokim świecie”. Wpadłem więc na pomysł, aby zrobić z nich puzzle z dodatkową możliwością komponowania „laurek”. Programy (to jest seria) swego czasu spotkały się z bardzo przychylnym przyjęciem, o czym świadczą komentarze, ale z racji „porzucenia” zostały trochę zapomniane. Wernisaż będzie połączonym pokazem oryginalnych prac oraz aplikacji z nimi w roli głównej. Wypadało więc dostosować program do nowych systemów i rozmiarów ekranu. I z tego to powodu musiałem „grzebać się” w kodzie napisanym dla iOS 3.0 i to w starej wersji Objective-C.
Akcja reaktywacja
W aktualnych wersjach Xcode najniższy „target”, jaki można ustawić to iOS 4.2, ale tylko teoretycznie. Obecnie można wysyłać do App Store jedynie programy posiadające wersję 64-bitową (poza 32-bitową), a to wymaga znów podwyższenia „celu” do iOS 5.1.2. Niestety chciałem użyć reklam AdMob w programie, co wymusiło kolejne podniesienie wymagań do iOS 6.0. Nie dość, że nie mogę z tego powodu zainstalować odnowionej aplikacji na moim stareńkim iPad 1, to jeszcze musiałem pokonać znaczenie więcej błędów wywoływanych „przestarzałymi” funkcjam. To nie koniec zmagań. Dalej konieczne było dodanie nowych proporcji ekranów w iPhone i wysokiej rozdzielczości grafik dla iPad retina (i iPhone „plus”).
W 2010 roku miałem dużo zapału i energii, co skutkowało rozbudowanymi funkcjami w programie (jak na moje amatorskie kodowanie) i sporą ilością animacji elementów interfejsu. Teraz musiałem „ręcznie” wykrywać proporcje ekranu i odpowiednio modyfikować pozycje i parametry animacji. Dodam, że program był na tyle dobrze napisany, że działał nadal na iOS 9, choć nie wszystko było idealnie, zawłaszcza na iPadach. Po tygodniu walki udało się pokonać błędy kompilacji, ostrzeżenia i dopasować do nowych ekranów (miałem sporo zabawy z grafikami interfejsu) oraz przygotować do kompilacji na 64-bitowe procesory. Jednak sam mój dawny kod „wjechał” mi na ambicję i postanowiłem dołożyć parę funkcji. Z marszu dodałem nowe opcje udostępniania wyników i „laurek”, a następnie synchronizację wyników przez iCloud, bo bardzo mnie irytowało, że na iPhone i iPadzie miałem inne osiągnięcia w układaniu. Na szczęście obecnie czas oczekiwania na sprawdzenie w App Store skrócił się z około tygodnia do jednej doby i programy (dwie serie puzzli) są już dostępne i gotowe do poniedziałkowego wydarzenia, na które to gorąco zapraszam!
A! (Lu) Art Puzzle są dostępne za darmo i sami możecie ocenić ile miałem kiedyś zapału programistycznego i czy „reaktywacja” zakończyła się pełnym sukcesem. Pamiętajcie: programuję bo lubię! ;-)
Międzynarodowy Dzień Wydarzeń bez Barier w Teatrze im. Heleny Modrzejewskiej w Legnicy