Pierwsza część mojej serii o tworzeniu niezależnych produktów
Największym marzeniem programisty aplikacji mobilnych jest oczywiście napisać aplikację i patrzeć, jak pieniądze same napływają ( ͡° ͜ʖ ͡°).
Jakie problemy można napotkać, budując aplikację samodzielnie? Niedawno opublikowałem własną aplikację i chcę opowiedzieć o problemach, na które trafiłem, oraz o sposobach ich rozwiązania.
1. Określenie potrzeby
Każdy ma nieco inny powód, by chcieć stworzyć niezależną aplikację.
W wielkiej skali można dostrzec pilną potrzebę, której rozwiązanie zmieni świat — brakuje tylko programisty.
W mniejszej skali można po prostu chcieć zobaczyć własną aplikację w App Store. Może być eksperymentem z nową technologią: po wprowadzeniu rozszerzeń Today w iOS 8 pojawiło się wiele charakterystycznych aplikacji opartych na tej funkcji. Może też być narzędziem usuwającym codzienną niedogodność, takim jak aplikacja do zarządzania plikami albo przemyślana aplikacja pogodowa.
Znajdź potrzebę, dużą lub małą. To ona da Ci motywację, by wytrwać.
W odpowiedzi na potrzeby mojej żony stworzyłem aplikację do zarządzania plikami o nazwie „Menedżer plików”.
Menedżer plików zmienia telefon w serwer. Inne urządzenia w tej samej sieci Wi-Fi mogą zarządzać jego plikami przez przeglądarkę: porządkować foldery, kopiować i przenosić pliki oraz je wysyłać lub pobierać.
Po określeniu tej potrzeby doprowadzenie projektu do publikacji zajęło mi około trzech miesięcy. Przy okazji nauczyłem się trochę Swifta.
2. Prototypy i interakcje aplikacji
Gdy znasz potrzebę i rozwiązanie, prawdopodobnie masz już ogólny obraz prototypu i sposobu korzystania z niego. Następny krok to ustalenie konkretnych ekranów i interakcji.
Wypróbowałem kilka narzędzi do prototypowania, po czym z nich zrezygnowałem.
Uznałem, że czas potrzebny na poznanie narzędzia i rozplanowanie ekranów wystarczyłby, by zbudować je za pomocą xib. Ostatecznie rozwiązałem problem prototypowania, szkicując odręcznie.
Tworząc później inne produkty, zrozumiałem, że prototypy są potrzebne. Prototypowanie to tak naprawdę proces porządkowania logiki i zapewniania jej wewnętrznej spójności.
3. Co zrobić z tymi wszystkimi małymi ikonami aplikacji?
Po ustaleniu prototypu miałem ogólny obraz całej struktury projektu. Poza kodem pozostał jednak problem, z którym musi zmierzyć się każdy niezależny programista!
Co zrobić ze wszystkimi małymi ikonami używanymi w projekcie?
Oto kilka bibliotek ikon, z których korzystałem:
- Biblioteka ikon Alibaba → Kompletne zestawy ikon wektorowych z dowolnie regulowanymi kolorami i rozmiarami — bardzo bogate źródło. Użycie komercyjne nadal wymaga zgody twórcy.
- icons8 → 56 500 bezpłatnych płaskich ikon! Są ikony dla różnych platform, a nawet aplikacja na Maca.
- iconfinder → Również oferuje kompletne zestawy ikon, z wyraźniej komercyjnym modelem.
4. Testy własne i beta-testy
W firmie testerzy, osoby odpowiedzialne za produkt i inni członkowie zespołu pomagają doskonalić aplikację. Jak niezależny programista może znaleźć i wyeliminować jak najwięcej błędów, możliwie wcześnie?
4.1 Testowanie samodzielne
Teraz muszę wykonać pracę, którą wcześniej przekazywałem zespołowi testowemu. Poza testami ręcznymi możemy też hodować małpkę testującą, aby nam pomagała.
4.2 Rekrutowanie beta-testerów
Tworzenie niezależnej aplikacji oznacza pełnienie wielu ról poza rolą programisty: produkt, operacje, obsługa klienta i inne. Promocja również należy do nas. Zacznij od przyjaciół, kolegów i rodziny, a potem napisz w mediach społecznościowych: moja aplikacja jest prawie gotowa, pomóżcie mi ją wypróbować!
Użytkownicy wersji beta nie tylko znajdują błędy. Ich nowe potrzeby i sugestie mogą jeszcze bardziej wzbogacić i ulepszyć aplikację.
4.3 Dystrybucja wersji testowych
Jeśli łatwo uzyskać identyfikatory urządzeń beta-testerów, można użyć platformy hostującej wersje beta, takiej jak Pgyer lub fir.im. Obowiązują ograniczenia dotyczące urządzeń.
Jeśli trudno uzyskać identyfikatory urządzeń, można skorzystać z TestFlight firmy Apple, udostępnionego po premierze iOS 8, z maksymalnie 10 000 miejsc dla beta-testerów.
5. Zrzuty ekranu do App Store
Dlaczego zrzuty ekranowe do publikacji zasługują na osobną sekcję? Niezależni programiści mają stosunkowo niewiele kanałów promocji. Zrzuty i opis na stronie produktu w App Store są wejściem i witryną sklepową aplikacji.
Jeśli zrzuty wyglądają źle, możemy stracić użytkownika, który dopiero co odkrył aplikację.
W firmie projektanci UI i osoby odpowiedzialne za produkt pomagają tworzyć zrzuty. Jak pracując samodzielnie uzyskać zrzuty we właściwych rozmiarach?
5.1 Zrzuty w symulatorze
Można przechwycić ekrany aplikacji bezpośrednio w symulatorze, choć efekt może wyglądać nieco surowo.
5.2 Odrobina dopracowania
Polecam bezpłatną witrynę shotbot. Po przesłaniu materiałów tworzy kompletny zestaw spójnie sformatowanych zrzutów produktu.
Uwaga, 2022-04-11: później napisałem aplikację na Maca specjalnie do przygotowywania zrzutów dla własnych publikacji w App Store.
6. Inne zasoby, z których korzystałem
Przy konkretnych interakcjach i projektach narzędzia innych firm oraz gotowe ikony czasem nie spełniają oczekiwań.
Wtedy edytuj obrazy samodzielnie!
Oczywiście większość programistów nie zna Photoshopa szczególnie dobrze, a niektórzy nigdy go nie używali. Co możemy zrobić?
Oto dwie witryny: Online PS i internetowy edytor Meitu
Proste poprawki obrazów można wykonać w przeglądarce bez pobierania ciężkiego oprogramowania Adobe. To dobra wiadomość dla tych z nas, którzy nie radzą sobie zbyt dobrze z Photoshopem.
Poza edycją obrazów problemem może być też sama ikona aplikacji. Polecam witrynę MakeIcon: prześlij logo 1024×1024, a automatycznie wygeneruje wszystkie pozostałe rozmiary ikon. Obsługuje nawet iMessage w iOS 10.
7. Podsumowanie
Ukończyłem prace, wykorzystując istniejące zasoby i bez pomocy projektanta UI. Jeśli masz projektanta, możesz spokojnie wyjść  ̄ヘ ̄.
Od dawna chciałem stworzyć własną aplikację. Na dobre zacząłem dopiero niedawno, gdy uporządkowałem swoje potrzeby. Najważniejsze było to, że wreszcie miałem wyraźną potrzebę, na którą mogłem odpowiedzieć, a po drodze nauczyłem się trochę Swifta.
Podczas prac zdarzył się nawet tydzień, kiedy prawie wcale nie pisałem kodu. Zrozumiałem, że przy tworzeniu niezależnej aplikacji to potrzeba naprawdę pomaga wytrwać. Jej rozmiar nie ma znaczenia; liczy się rozwiązanie problemu.
Wraz z postępem prac przybywało wymagań: udostępnianie przez AirDrop, integracja z iCloud i rozwój ShareExtension wciąż nie były ukończone. Naprzód, małymi krokami i kolejnymi iteracjami! ʘʚʘ (Zdecydowanie nie przyznam, że pierwotnym powodem stworzenia tej aplikacji była chęć udostępniania mojej „kolekcji.avi” między PC, telefonem i iPadem).
Oto łącze do mojej aplikacji: Najprostszy sposób zarządzania plikami — Menedżer plików
Uwaga, 2022-04-11: aplikacji nie można już znaleźć w wyszukiwarce. Ponieważ nie miałem dobrego sposobu na jej monetyzację, sprzedałem ją firmie outsourcingowej. Sprzedaż skłoniła mnie do wielu przemyśleń; następny artykuł omawia je bardziej szczegółowo.
Oryginalny artykuł opublikowano w serwisie Jianshu. Później moje konto Jianshu zostało przejęte, a pozostałe artykuły były ciągle blokowane. Teraz przenoszę wszystkie wpisy blogowe do github.io.