Od powiadomienie o piaskownicy w przypadku aplikacji w sklepie Mac App Store toczyły się gorące dyskusje na temat tego, jak Apple utrudnia pracę programistom. Jednak dopiero pierwsze ofiary i konsekwencje pokazały, jak dużym problemem jest to posunięcie i co może oznaczać dla deweloperów w przyszłości. Jeżeli sandboxing nic Ci nie mówi, to w skrócie oznacza ograniczenie dostępu do danych systemowych. Aplikacje w iOS działają w ten sam sposób - praktycznie nie mogą integrować się z systemem i wpływać na jego działanie ani dodawać do niego nowych funkcji.
Oczywiście ten krok ma również swoje uzasadnienie. Przede wszystkim chodzi o bezpieczeństwo – teoretycznie taka aplikacja nie może wpłynąć na stabilność czy wydajność systemu, ani uruchomić złośliwego kodu, gdyby coś takiego umknęło zespołowi zatwierdzającemu aplikację dla App Store. Drugim powodem jest uproszczenie całego procesu zatwierdzania. Wnioski są łatwiej weryfikowane i recenzowane, dzięki czemu zespół daje zielone światło dla większej liczby nowych aplikacji i aktualizacji dziennie, co jest logicznym krokiem, gdy wniosków jest od tysięcy do dziesiątek tysięcy.
Jednak w przypadku niektórych aplikacji i ich twórców sandboxing może oznaczać ogromną ilość pracy, którą w przeciwnym razie można by poświęcić na dalszy rozwój. Zamiast tego muszą spędzać długie dni i tygodnie, czasami zmieniając całą architekturę aplikacji, tylko po to, by zostać zjedzonym przez wilka. Oczywiście sytuacja różni się w zależności od programisty, dla niektórych oznacza to po prostu odznaczenie kilku pól w Xcode. Inni będą jednak musieli szczegółowo zastanowić się, jak obejść te ograniczenia, aby istniejące funkcje mogły nadal działać, albo z bólem serca będą musieli usunąć funkcje, ponieważ nie są kompatybilne z piaskownicą.
Deweloperzy stają zatem przed trudną decyzją: albo opuścić Mac App Store i w ten sposób stracić znaczną część zysków związanych z marketingiem odbywającym się w sklepie, jednocześnie zrezygnować z integracji z iCloud czy centrum powiadomień i kontynuować aby rozwijać aplikację bez ograniczeń, lub pochyl głowę, zainwestuj czas i pieniądze w przeprojektowanie aplikacji i uchroń się przed krytyką ze strony użytkowników, którzy przegapią niektóre funkcje, z których często korzystali, ale musiały zostać usunięte ze względu na piaskownicę. „To po prostu dużo pracy. Wymaga to ogromnych, często wymagających zmian w architekturze niektórych aplikacji, a w niektórych przypadkach nawet usunięcia funkcjonalności. Ta walka pomiędzy bezpieczeństwem a komfortem nigdy nie jest łatwa.” mówi David Chartier, programista 1Password.
[do action="quote"]Dla większości tych klientów App Store nie jest już niezawodnym miejscem zakupu oprogramowania.[/do]
Jeśli programiści ostatecznie zdecydują się opuścić App Store, stworzy to nieprzyjemną sytuację dla użytkowników. Ci, którzy kupili aplikację poza Mac App Store, będą nadal otrzymywać aktualizacje, ale wersja Mac App Store stanie się oprogramowaniem porzuconym, które będzie otrzymywać co najwyżej poprawki błędów ze względu na ograniczenia Apple. O ile dotychczas użytkownicy woleli dokonywać zakupów w Mac App Store ze względu na gwarancję bezpieczeństwa, ujednolicony system bezpłatnych aktualizacji i łatwy dostęp, o tyle zjawisko to może spowodować gwałtowny spadek zaufania do App Store, co będzie miało daleko idące konsekwencje dla zarówno użytkownicy, jak i Apple. Marco Arment, twórca Instapaper i współzałożyciel Tumblrskomentował sytuację w następujący sposób:
„Następnym razem, gdy będę kupować aplikację dostępną w App Store i na stronie dewelopera, prawdopodobnie kupię ją bezpośrednio od dewelopera. I prawie wszyscy, których irytuje banowanie aplikacji z powodu piaskownicy – nie tylko programiści, których to dotyczy, ale wszyscy ich klienci – zrobią to samo w przypadku swoich przyszłych zakupów. Dla większości tych klientów App Store nie jest już niezawodnym miejscem zakupu oprogramowania. Zagraża to przyjętemu celowi strategicznemu, jakim jest przeniesienie jak największej liczby zakupów oprogramowania do Mac App Store.”
Jedną z pierwszych ofiar sandboxingu stała się aplikacja TextExpander, która umożliwia tworzenie skrótów tekstowych, które następnie aplikacja zamienia na całe frazy lub zdania w całym systemie. Gdyby programiści byli zmuszeni zastosować Sanboxing, skróty działałyby tylko w tej aplikacji, a nie w kliencie pocztowym. Chociaż aplikacja jest nadal dostępna w sklepie Mac App Store, nie będzie już otrzymywać żadnych nowych aktualizacji. Podobny los spotkał aplikację Postbox, gdzie twórcy postanowili nie udostępniać nowej wersji w Mac App Store, gdy ukazała się trzecia wersja. Ze względu na sanboxing musieliby usunąć kilka funkcji, np. integrację z iCal i iPhoto. Wskazali także na inne mankamenty Mac App Store, takie jak brak możliwości wypróbowania aplikacji, brak możliwości zaoferowania obniżonej ceny dla użytkowników starszych wersji i inne.
Twórcy Postboxa musieliby stworzyć specjalną wersję swojej aplikacji dla Mac App Store, aby zachować zgodność z ograniczeniami narzuconymi przez wytyczne Apple, co dla większości programistów jest niemożliwe. Zatem jedyną główną zaletą oferowania aplikacji w Mac App Store jest wyłącznie marketing i łatwość dystrybucji. „Krótko mówiąc, Mac App Store pozwala programistom spędzić więcej czasu na tworzeniu świetnych aplikacji, a mniej na budowaniu infrastruktury własnego sklepu internetowego” dodaje Sherman Dickman, dyrektor generalny Postbox.
Odpływ programistów z Mac App Store może mieć także długoterminowe konsekwencje dla Apple. Może na przykład zagrozić raczkującej platformie iCloud, z której nie mogą korzystać programiści spoza tego kanału dystrybucji. „Tylko aplikacje w App Store mogą korzystać z iCloud, ale wielu programistów komputerów Mac nie będzie tego robić lub nie będzie w stanie tego zrobić ze względu na niestabilność polityczną App Store” twierdzi deweloper Marco Arment.
Jak na ironię, choć ograniczenia nałożone na iOS App Store z czasem stały się bardziej korzystne i na przykład programiści mogą tworzyć aplikacje, które bezpośrednio konkurują z natywnymi aplikacjami na iOS, w przypadku Mac App Store jest odwrotnie. Gdy Apple zaprosił programistów do Mac App Store, postawił pewne bariery, których aplikacje musiały przestrzegać (zobacz artykuł Mac App Store – tutaj także programistom nie będzie łatwo), ale ograniczenia nie były tak krytyczne jak obecne piaskownice.
[do action="quote"]Zachowanie Apple wobec programistów ma długą historię na samym iOS i świadczy o arogancji firmy wobec tych, którzy mają największy wpływ na sukces danej platformy.[/do]
Jako użytkownicy możemy się cieszyć, że w przeciwieństwie do iOS, na Macu możemy instalować aplikacje także z innych źródeł, jednak świetny pomysł centralnego repozytorium oprogramowania Mac zostaje totalnie powalony ze względu na coraz większe ograniczenia. Zamiast rozwijać się i zapewniać programistom niektóre opcje, o które od dawna zabiegali, takie jak opcje demonstracyjne, bardziej przejrzysty model roszczeń lub obniżone ceny dla użytkowników starszych wersji aplikacji, Mac App Store zamiast tego ogranicza je i dodaje niepotrzebne dodatkową pracę, powodując porzucanie oprogramowania i tym samym frustrując nawet użytkowników, którzy kupili oprogramowanie.
Sposób, w jaki Apple traktuje programistów, ma długą historię tylko w przypadku systemu iOS i świadczy o arogancji firmy wobec osób, które mają duży wpływ na sukces platformy. Częste odrzucanie aplikacji bez powodu bez późniejszego wyjaśnienia, bardzo skąpa komunikacja ze strony Apple, wielu programistów musi sobie z tym wszystkim poradzić. Apple zaoferowało świetną platformę, ale także podejście „pomóż sobie” i „jeśli ci się nie podoba, to odejdź”. Czy Apple w końcu stał się bratem i spełnił ironiczną przepowiednię z 1984 roku? Odpowiedzmy sobie na każde z nich sami.
Apple zdecydowanie stał się bratem. I siostra i teść też.
fajny artykuł i święta prawda!
To prawda, ale z doświadczeń z innych dziedzin wiem, że lepiej najpierw wszystkiego zakazać, a potem stopniowo na to pozwalać, niż odwrotnie, pozwalać na wszystko, a potem zakazywać tylko tego, co jest nadużywane :)
Dokładnie. Biorąc pod uwagę, że na początku nie można było nawet instalować aplikacji na iOS, a po dodaniu tej opcji, aplikacje te z roku na rok mogły trafiać do systemu w coraz większym stopniu, ma to duży sens. Zwłaszcza powoli. I zostało to przyjęte w całości normalnie (czyli przez tych, którzy zdążyli przeczytać gazetę przed uruchomieniem przeglądarki - to już inny rozdział) dzięki temu, że współpracowało z konkurencją, ale... - Aplikacje Java, to było jedno wielkie nieszczęście – wszyscy to ściągnęli gdzieś z sieci, potem rozdzielczość nie pasowała, czasem nawet się nie uruchamiało, z Symbianem to samo, nie mówiąc już o tym, że zwykli ludzie nie robili takich czynności.
Tak to działa na komputerze i ludzie już dawno się do tego przyzwyczaili, a ponieważ jestem na Windowsie od dawna, mogę powiedzieć, że chyba nie znam osoby, która korzystała z Windows Media Playera żeby odtwarzać multimedia, bańka na ciebie krzyczy, szybko instalujesz antywirusa, inny chce zainstalować sterownik po podłączeniu czegoś - i tak to się zaczyna, gdy tylko przywieziemy komputer do domu, coś jest już zainstalowane i chodzi szalone i każdemu wydaje się to normalne, hej, .exe kliknij-kliknij i wtedy działa, więc jak to się okazuje Ale jeśli Apple chce zmienić ten obszar na lepsze, co w moim przekonaniu i moim zdaniem robi od dawna, to po prostu musi powiedzieć nie i zacząć od zera, podobnie jak z iOS z drugiej strony, w przyszłości znowu będzie mogło wprowadzić 200 nowych opcji :) nie, to raczej tak nie będzie działać, ale wydaje mi się to po prostu krokiem w dobrym kierunku, gdyby wzięli duży kęs, mogłoby się okazać źle lub zająć dużo czasu, a każdy z nas na pewno czeka na jesienną, wiosenną, letnią myśl przewodnią itp., więc to by bolało jeszcze bardziej.
Z drugiej strony, jeśli nowe opcje będą udostępniane stopniowo, istnieje większa szansa, że programiści będą z nich korzystać częściej, niż gdyby wypuścili 10 razy więcej, wtedy niektóre, ale dobre, mogłyby się zmieścić (widok mniejszych zespołów programistycznych).
Jedyne, co mogłoby się zdarzyć, to to, że twórcy chcieli więcej pieniędzy za dodatkową pracę (co wydaje mi się mało prawdopodobne). Ale gdyby to tylko działało w taki sposób, że programiści będą pracować przy biurkach, ale i tak to w końcu zrobią, nie widzę w tym problemu, Apple'owi trudno byłoby cokolwiek zmienić, gdyby poszli do wszystkich błagam, żeby wyrzucili tę i tamtą funkcję, bo zasilanie zakłóca pracę systemu.
I powinni zrobić to samo z Flashem we współpracy z kimś, po prostu do widzenia. Wierzę, że gdyby było po prostu „Steve’owi się to nie podoba” i działałoby zarówno na iPhonie, jak i iPadzie, tutaj mobilny Flash działa pełną parą i jeszcze bardziej żarłoczny.
Holt Ci, którzy chcą prowadzić samochód, muszą liczyć się z takimi sytuacjami, o których tu piszesz. Mają moje pełne poparcie i proszę (z całym szacunkiem) o nałożenie kapelusza na tego starszego brata i rok 1984. W ogóle nie widzę związku zwiększonego bezpieczeństwa w Mac App Store z działaniami IBM w latach 80-tych.
Moim zdaniem bardziej chodzi o dynamikę tego, kto kogo bardziej potrzebuje. O ile Microsoft musi zrobić wszystko, co w jego mocy, aby wypromować Windows Mobile, Apple może sobie pozwolić (bez mojej zgody) na pewną arogancję w stosunku do iOS, ponieważ dzięki wcześniejszemu rozwojowi osiągnął pozycję najbardziej dochodowej platformy mobilnej.
Jeśli chodzi o Mac App Store, autor zapomniał o dwóch powodach obrony Apple. Po pierwsze, w przypadku zmiany przepisów najgłośniej protestują osoby niepełnosprawne. Pozostali dostosowują się bez słowa (jeśli naprawdę potrzebujesz tylko naprawić kilka linii w Xcode). Jeśli więc na 1000 aplikacji 980 przejdzie, a 20 nie, twórcy tych XNUMX będą krzyczeć głośniej niż większość. Poczekajmy i zobaczmy, jaki procent aplikacji faktycznie spadnie z tego powodu. Być może zostanie dla nich stworzony alternatywny App Store, podobnie jak ma to miejsce w przypadku oficjalnych aplikacji i jailbreaków na iOS
Po drugie, należy wspomnieć, że Apple potrzebuje nie tylko aplikacji, ale także całego systemu OS X. Jeśli chce utrzymać reputację OS X jako środowiska „wolnego od wirusów”, potraktujmy to po prostu jako strategiczną decyzję o bezpieczeństwo systemu, przez co umrze nawet kilka aplikacji. Na początku iOS wszyscy mówili także o tym, jak Apple je ograniczał i ile miliardów dolarów App Store przyniósł już programistom. Jednak Microsoft widzi 30 procent dla Apple i będzie próbował nalegać na coś podobnego dla Windows 8
Osobiście uważam, że pozostałe kwestie (wersja demo, rabaty dla obecnych klientów) są w dłuższej perspektywie dużo ważniejsze niż sandboxing
Dziś natomiast dwa razy zastanowiłbym się nad zakupem czegoś poza sklepem Mac App. Na pewno nie twierdzę, że są idealne, nawet przez przypadek, brakuje mi dokładnie tego, co zostało wspomniane, potrzebna jest wersja demo, płatna aktualizacja dla programistów (być może coś takiego istnieje), rabaty itp.
Ale dla mnie zalety wyraźnie przewyższają:
1) wszystko w jednym miejscu
2) aktualizacje
3) łatwość zakupu, instalacji, dezinstalacji (nawet jeśli nadal jest daleka od ideału)
4) brak konieczności tworzenia kopii zapasowych plików instalacyjnych, numerów licencji...
5) nawet sandboxing - nie jest źle, gdy jakaś aplikacja jest za bardzo "zintegrowana" z systemem i może to tylko spowodować niestabilność, spowolnienie itp. (nie mówię, że to dotyczy wszystkiego w ogólności) - ale rozumiem, że w w niektórych przypadkach może komuś to przeszkadza, to tylko mój punkt widzenia
A jeśli mówimy o odpływie programistów ze sklepu App Store z powrotem na swoje strony internetowe, gdzie byłaby dziś większość programistów iOS, gdyby nie App Store? Z pewnością nie da się tego bezpośrednio porównać, ale myślę, że przyszłość App Store rysuje się w jasnych barwach, czy podoba się to programistom, czy nie. I sądzę, że za kilka lat będzie to jedyna możliwość zainstalowania aplikacji (co nie znaczy, że w pełni to akceptuję). Jest to konieczne tylko dlatego, że iCloud będzie odgrywał coraz większą rolę, a Dropboxy i inne pójdą w odosobnienie.
Czy ten artykuł jest oparty na jakichś liczbach? Jaki procent aplikacji ma to wpływ? Mam wrażenie, że na razie to tylko mistyfikacja bez faktów. A potem pojawia się pytanie, czy przypadkiem stworzenie aplikacji spełniającej zasady sandboxingu i następnie sprzedawanej za pośrednictwem App Store jest nadal bardziej opłacalne niż własny kanał dystrybucji dewelopera.
Jeśli Apple nie pozwoli ……, wkrótce od tego uciekniesz.
W przypadku kropek wpisz dowolne z poniższych:
- Lampa błyskowa
– swoboda aplikacji w urządzeniu
- wersja demo
- zwrot pieniędzy w ciągu 24 godzin
– licencjonowanie własnego systemu operacyjnego innym producentom
– alternatywny zakup aplikacji na iOS zamiast w App Store
...
Jako programista muszę powiedzieć, że większość z nas doceni jedynie zalety App Store (icloud, centrum notatek, piaskownica, łatwość komunikacji,...). Tak, kilku programistów tworzących aplikacje ingerujące w jakiś sposób w system straci $$$, ale na pewno nie jest to próba reprezentatywna. Większość programistów zrobiła to bez bzdur.
Flash to rzecz, która denerwuje mnie, przeciętnego użytkownika. Nie widzę powodu, dla którego mieliby na to pozwalać na iOS. Z iOS pracuję codziennie od nieco ponad roku i nigdy mi tego nie brakowało.
Licencjonowanie systemu operacyjnego na bardzo, bardzo rygorystycznych warunkach – tak, ale działa to w ten sposób już od dłuższego czasu i nie jest to dokładnie w stylu Apple.
„Większość programistów zrobiła to bez bzdur”
Właśnie to mnie interesuje w sandboxie. Jak wiemy za 80% pieniędzy wszędzie można zrobić 20% krzyku. To, że ktoś z Instapaper nie akceptuje piaskownicy, jest dla mnie wystarczającą informacją. Interesuje mnie, jak duży jest to problem w skali globalnej, jeśli można to już stwierdzić po tak krótkim czasie. Apple wymaga piaskownicy tylko od wersji 1.6. 2012. Oczywiście pewien rodzaj aplikacji nigdy nie spełni zasad Apple. Jeśli instaluję program, który robi coś za pośrednictwem systemu, muszę podjąć ryzyko mniejszego bezpieczeństwa, a Apple nie chce tego w Sklepie.
Już pierwsze zdanie – czy Apple narzeka, czy Apple komuś utrudnia sprawę? Po naprawieniu błędu proszę o usunięcie mojego postu ;)
A żelazna kurtyna? Myślę, że historia nie jest tak odległa, że możemy to traktować jako żart.
Czy to jest artykuł dla SEO? Inaczej nie bardzo rozumiem... Ci, którzy chcą, szukają sposobów, ci, którzy nie chcą, szukają powodów. A w porównaniu do żelaznej kurtyny? Daleko.
Zdecydowanie jest to problem, gdy patrzę, na które aplikacje wpływa – przynajmniej dla mnie są to co najmniej trzy istotne aplikacje, które znacznie poprawiają wygodę użytkownika w codziennej pracy. Należę do osób, które teraz dwa razy zastanowią się nad zakupem aplikacji w App Store, jeśli jest ona dostępna bezpośrednio od dewelopera. Wygoda instalacji z App Store na pewno nie zastąpi utraty wspomnianych aplikacji.
Jestem pewien, że można było to zorganizować inaczej, nawet przy zachowaniu bezpieczeństwa. Jeśli Apple w ten sposób zmusi użytkowników do dokonywania zakupów poza App Store, z pewnością nie wpłynie to na ogólne bezpieczeństwo.
Wydaje mi się, że zamurowując okna zwiększa się bezpieczeństwo... Na pewno poprawi się bezpieczeństwo domu przed niepowołanym wejściem, co do tego nie ma wątpliwości.
Zwykle nie komentuję aktywnych artykułów, ale tym razem muszę odpowiedzieć.
1, część o piaskownicy wymagająca zmiany architektury... to chyba jasne, o to chodzi! I że będzie to oznaczać dużo dodatkowego kodowania? Osobiście tak nie sądzę. Idealnie sprawdzi się jednak głównie w nowych zastosowaniach. Ale bądźmy szczerzy – przy istniejących aplikacjach nie jest łatwo od czasu do czasu zrobić „cięcie do życia”, bo aplikacja wymknęła się spod kontroli i jest trudna w utrzymaniu… do tego jesteśmy zmuszeni to zrobić To. Widzę to jako zwiększenie zdrowego rozsądku w kodowaniu i ograniczenie miejsca na stosowanie pewnych potencjalnie niebezpiecznych „wzorców projektowych”… Nic nie jest idealne, więc nawet w piaskownicy można obecnie stworzyć aplikację typu Keylogger… Jednak Osobiście uważam, że Apple w przyszłości rozbuduje sandbox o dodatkowe proxy – analogią może tu być np. sposób, w jaki realizowany jest rozwój na urządzenia z systemem iOS.BTW: Apple ogłosiło już strategię na przyszłość, w której rozważana jest możliwość opracowania uniwersalnych aplikacji przeznaczonych dla systemów iOS i MacOS. Jeden pakiet na wszystkie urządzenia - brzmi kiepsko ;-)2, jeśli Apple chce mieć kontrolę nad tym, w jaki sposób nasze aplikacje uzyskują dostęp do zasobów systemowych, oceniam to bardzo pozytywnie. To część ich zamkniętego modelu biznesowego – to właśnie czyni Apple wyjątkowym. Tak jest w iOS i tak będzie w Mac OS. 3. TextExpander jako studium przypadku „bezpłatnej aplikacji” nie ma tu miejsca – narzędzia, takie jak elementy sterujące, to dodatkowy rozdział. W przypadku Appstore Apple zastosował starą, dobrą zasadę 20/80. Około 80% aplikacji nie wymaga dostępu do zasobów poza piaskownicą. A AppStore jest dla nich stworzony... Świetnie jest wyszukiwać aplikacje w jednym miejscu, zamiast czasochłonnego googlowania. Do tego dochodzi gwarancja jakości oprogramowania – Apple ma dość restrykcyjną politykę publikowania w sklepie z aplikacjami, więc ryzyko przy pobieraniu nieznanych aplikacji jest nieporównywalnie niższe, niż byłoby to w przypadku pobierania z niezaufanej strony internetowej. Osobiście wolę aplikacje z App Store, oprócz już wspomnianych, bo istnieje centralny system ich aktualizacji. Wreszcie! Następnym razem proszę o bardziej wyważone spojrzenie na tę kwestię, a zwłaszcza o mniej prowokacyjny tytuł...