wtorek, września 11, 2012
Czy EULA (End-user license agreement) jest potrzebna w aplikacji mobilnej, czy nie?
Dodatkowo informuję użytkowników, że mogą aplikacji używać jak chcą i kiedy chcą, byle nie łamali prawa i nie robili nikomu krzywdy (jak dla mnie oznacza to np. że ktoś prowadzący faszystowskiego bloga i używający Bloggeroia łamie umowę). Do tego ostrzegam, że Bloggeroid działa przez sieć, więc może wpływać na zużycie pakietu danych. W końcu zaznaczam, że nie mam żadnych związków z Bloggerem, Picasa Web Albums czy Google.
Ogólnie chcę być w porządku z użytkownikami i dać im szansę decyzji.
Próbuję się też zabezpieczyć przed pewnym rodzajem userów, którzy próbują ścigać twórców softu za swoje błędy.
Proponuję uczciwy układ.......... ale EULA na początku działania programu zniechęca pewną liczbę ludzi.
Żądam jakiegoś zaangażowania, nie dając im jeszcze nawet szansy na spróbowanie aplikacji.
Do tego niektórzy widzą moje ostrzeżenia jako groźby...
Staram się działać w interesie usera, ale ten tego tak nie musi odbierać ;-)
Coby ułatwić zapoznanie z aplikacją robię w niej pewne zmiany, np. przesuwam moment gdy trzeba wprowadzić konto do czasu pierwszej publikacji, wtedy też chcę pokazywać EULA'ę....
Do tego sam tekst EULA'i przerabiam, tak by był bardziej user friendly...
Ale ciągle się zastanawiam, czy jednak EULA w aplikacji mobilnej to jednak nie przesada?
Podobne postybeta
Spróbowałem Wintela w wersji od Dell'a i to jednak nie jest mój styl
Tnę i przerabiam na mniejsze, czyli nieprzewidziane skutki refactoringu
Ku dyktaturze...
POpulizm
"Zapomniałem napisać, że w piątek (albo sobote, choć chyba był to czwartek)"
poniedziałek, września 10, 2012
HeapSort, a MergeSort i QuickSort :-) - od strony "chytrości" ;-)
Czemu? Bo jest najbardziej "chytrym" algorytmem ;-)
Taki merge sort jest niemal intuicyjny, podziel to co chcesz sortować na 2 równe/podobne części, posortuj każdą z nich merge sortem, a to co wróci połącz tak, że z każdego z posortowanych podciągów wybieraj mniejszy element z wierzchu....
Quick sort jest niby trochę bardziej chytry, ale chytrość jest głównie w metodzie partition i w tym jak się zapewnia, że wszystkie mniejsze bądź równe od elementu rozdzielającego są przed nim, a wszystkie większe za nim... tutaj jednak chytrość widać dopiero w użyciu metody parition do wyznaczania mediany i ogólnie dowolnej n-tej liczby/wartości w ciągu.
Ale heap sort jest najbardziej chytry.
Najpierw sama idea kopca, nie jest taka oczywista. Na pierwszy rzut oka nie widać jednak, że samo utrzymanie tego, że rodzic jest zawsze większy lub równy swoim dzieciom wystarczy do wstępnego uporządkowania.... że można to zrobić liniowo i że wystarczy przyjąć, że dziećmi są węzły o indeksach 2*i i 2*i+1....
Już na to musiało być trudno wpaść....
Ale później wpaść na to, żeby najpierw zbudować kopiec... a później skorzystać z tego, że największy element jest na jego szczycie, podmienić go z ostatnim elementem w kopcu, zmniejszyć rozmiar kopca i przywrócić własność kopca dla pierwszego elementu..... i tak dalej..... to jest genialne :-)
Chyba nawet użycie tego do zbudowania kolejki priorytetowej nie jest aż tak odkrywcze ;-)
Chociaż z drugiej strony, pamiętam że zrozumienie metody partition z Quick Sorta zajęło mi z 30 minut tępego patrzenia się na pseudokod ;-) a z heap sortem poszło szybciej ;-)
Merge sort jakoś od razu załapałem, ale zawsze miałem problemy z implementacją, bo zawsze mi się gdzieś indeksy myliły ;-) w merge'u.
Tu heap sort był zawsze najmilszy, jakoś tak najłatwiej się go zawsze implementowało ;-)
[a to wszystko wyżej przez to, że mi laptop dziś przez dość dłuższą chwilę chorował i czytałem Cormena i spółkę - Wstęp do algorytmów ;-)]
Podobne postybeta
Przeżycie artystyczne ;-)
Przydałby się "reset" w głowie ;-) Dlaczego powtórka algorytmów męczy bardziej niż nauka.
Jak czytać kod...
Koszmarne Garbage Collectory part 2 ;)
Książki które zmieniły moje życie
środa, września 05, 2012
Jaki jest powód? ;-)
Od trzech miesięcy chodzę do pracy. Zajmuje mi to jakieś 40 minut w jedną stronę.
Ale od jakiegoś czasu każdego ranka bardzo, ale to bardzo mi się nie chce...
I teraz tylko pozostaje mi zapytać czy to z powodu chodzenia czy pracy? ;-)
#toBlogger
Podobne postybeta
Przyjaciel ;-)
Darmowy hosting JSP
Rewolucja w fizyce?
Windows 10, krótka recenzja ;-)
I po urlopie ;-)
Trudniej jest lepiej... część druga, bohater odkrywa, że da się łatwiej - czyli opowieść o AccountManagerze w Androidzie
Rzeczywiście się da :-) wystarczy zawołać getResult() na Future z getAuthToken() :-)
Dzięki temu jest szansa, że jednak nie będę musiał robić aż tak głębokich zmian w kodzie Bloggeroida :-)
Przy okazji okazało się, że AccountManger zwraca token dla ClientLogin, a nie dla OAuth... chociaż w dokumentacji sugerują, że to jednak dla OAuth ;-)
Podobne postybeta
Trudniej jest lepiej.... czyli AccountManager w Androidzie...
OAuth mnie denerwuje ;-)
Chrome2Chrome 0.7.2 - OAuth w akcji ;-)
Medytacja
Programowanie trudne ;-)
poniedziałek, września 03, 2012
Trudniej jest lepiej.... czyli AccountManager w Androidzie...
Sprawienie, że aplikacja dla Androida będzie w stanie korzystać z autentykacji OAuth2 tak, że do zdobycia pierwszego tokena użyje przeglądarki, czyli zrobi wszystko tak jak aplikacje na np. iOS, czy Windows.
Czy może wersja w której skorzysta się z wbudowanego w Androida AccountManagera, który jest po to by ułatwić?
Rozsądek podpowiada, że opcja druga jest lepsza i szybsza..... a figa!
Pisząc wszystko samemu i korzystając z WebView w Androidzie do autoryzacji OAuth2, a później bawiąc się samemu w cały taniec z tokenami wszystko zajmie z 5 godzin, może mniej. Do tego aplikacja może prosić jednocześnie o autoryzację dla większej ilości serwisów. Co najlepsze będzie działać nawet na Androidzie 1.5.
Robiąc wszystko "po bożemu" z wykorzystaniem AccountManager'a siedzę nad tym już 2 dzień i co prawda widzę światełko w tunelu, ale wiem, że będę musiał przepisać duża część aplikacji, bo ktoś uznał, że Callback'i są tak zajefajne, że trzeba je wszędzie stosować....
Inna sprawa, że w odróżnieniu do sytuacji gdy do potwierdzenia, że user chce nam dać dostęp do konta, używamy przeglądarki tutaj nie można zdobyć uprawnień od razu do 2 czy większej ilości serwisów....
Ta! Trudniej jest lepiej........
Podobne postybeta
Trudniej jest lepiej... część druga, bohater odkrywa, że da się łatwiej - czyli opowieść o AccountManagerze w Androidzie
Google Play Services dobre jest :-)
Programowanie trudne ;-)
Światełko w tunelu :-)
OAuth mnie denerwuje ;-)
niedziela, września 02, 2012
Nowy potworek na tapecie ;-)
Proste narzędzie do zarządzania zadaniami.
Idea jest taka, że ekran miałby być podzielony na stany w których znajduje się dany task, a user, znaczy się ja ;-) mógłby przeciągać je przy pomocy drag and drop.
Prototyp, który wykonałem w wolnej chwili wygląda tak:
Pobawić się nim można pod tym adresem (spróbuj przeciągnąć task do któregoś z obszarów "roboczych", albo jeden taks na inny).
Zabawne jest to, że łatwo można jedno zadanie złożyć z kilku innych i później je sobie przesuwać :-)
Mam oczywiście masę wątpliwości. Po pierwsze taką czy taki podział na stany ma sens? Próbowałem się przyjrzeć temu co w pracy robię i z biegiem czasu większość rzeczy przechodzi w stan kwantowy ;-) czy może bardziej rozmyty. Są np. po części "in progress", po części "working on", a jeszcze w części "waiting". Co może oznaczać np. że inwestyguję jakiś problem czekając na odpowiedź na maila, bo już po jego wysłaniu dotarło do mnie, że przecież sam mogę spróbować odpowiedzieć sobie na zadane tam pytanie (np. o to jaki numerek odpowiada jakiemu krajowi, co mogę ustalić jeśli zajrzę w parę miejsc, ale wpadłem na to dopiero po tym jak się spytałem).
Stąd mam wątpliwości co do tego czy "to ma sens" ;-)
Inna wątpliwość to drag & drop w HTML5 na urządzeniach dotykowych.... W skrócie, nie działa ;-)
W Chrome na Androidzie sobie mogę to otwierać i nic, nie jestem w stanie przeciągać tasków.
Drag & drop się z interfejsem dotykowym nie lubią ;-)
Znaczy, udało się to zrobić ładnie w Androidzie gdzie da się wiele rzeczy tak przesuwać, ale nikt (at least) w Androidzie nie wpadł by to przenieść do HTML5... możliwe, że nawet by się nie dało ;-)
Ale ogólnie mi się to podoba, tylko tak nie do końca w to wierzę ;-)
A czemu nie poszukam gotowego programu? Bo samo pisanie i tworzenie to zabawa, to tutaj, jeśli skończę będzie takie jakbym chciał no i nie będę się musiał męczyć wybierając z masy programów, ani się ich uczyć.
Podobne postybeta
O wyższości debuggera
Fix na problem, który męczył Bloggeroida od lat.....
Malutki serwerek HTTP - dziełko, albo potworek ;-)
Chrome OS po 24 godzinach
Przepływ sterowany danymi - A takie Java'owe coś ;-)
sobota, września 01, 2012
EEE PC 900 - warto rozszerzać czy nie? ;-)
Rozważałem kupno 2GB RAM i wymianę strasznie wolnego SSD na coś większego i szybszego.
2GB RAM i 64GB dysk SSD o prędkości zapisu równej 100MB/s (odczyta 150MB/s) kosztują jakieś 600 PLN....
I mam zgryza ;-)
Nie są to jakieś strasznie pieniądze, ale pewnie jakby chciał to mógłbym kupić EEE PC 1000 czy jakiś podobny z HDD za podobną kwotę...
Jeśli w poniedziałek nadal będę to chciał to chyba jednak kupię ;-)
Podobne postybeta
2GB :-)
Brakuje mi BuffyPedii....
Windows mnie jednak nie lubi ;-)
Archos 101 i zgryz ;-)
Dart, opcja --optimze naprawdę pomaga ;-)
piątek, sierpnia 24, 2012
Kryzys Androida
No, kryzys Androida mam.
Tak się zastanowiłem i wyszło mi, że chociaż mam 3 urządzenia z Androidem to każde ma problemy.
G1 to wiadomo, stare więc i problem zrozumiały.
Nexus S strasznie zwolnił... nie wiem czy to wina Jelly Bean, czy raczej aplikacji, które są coraz bardziej pamięciożerne, ale faktem jest, że gdy kiedyś miałem zwykle około 100 MB wolne to teraz potrafi być tych wolnych MB 32.... (btw. ktoś potrafi mi wyjaśnić po co programiści ładują wielie aplikacje do pamięci? Taki Meditation Reminder odpala serwis po to by o odpowiedniej godzinie zadzwonić... serwis śpi, ale RAM zajmuje).
EEE Pad Transformer za to miewa kryzysy tożsamości. Szczególnie dopadają go w trakcie gier 3D.... czasem po prostu ekran zaczyna migać i koniec... z logów widzę, że problem jest gdzieś w OpenGLu...
Ale nawet jakby nie to, to EEE Pad Transformer podobnie jak Nexus S miewa zwiechy wynikłe z braku RAM...
Zwykle było go 400 MB, teraz bywa po 200....
Stąd czekam na Nexus 7 (podobno od 3 września ma być we Francji i paru innych krajach UE po 249 Euro :-)) i jakiegoś nowego Nexusa na telefon....
A wracając do kryzysu Androida to jak dla mnie i Asus i Google wypuszczając nowe wersje OSu za bardzo oparli się na testowaniu na świeżych urządzeniach, a problemy zwykle widać po 1-2 dniach w miarę intensywnego użycia.... no chyba, że to iż lubię mieć duże uptime'y to powód moich problemów ;-)
A teraz czas spać ;-)
#toBlogger
Podobne postybeta
Laptop
Dowcipny laptop ;-)
Projektowane dla Kalifornii ;-)
No i chyba wyleczyłem EEE Pad Transformera z mega czkawki
Książki, książeczki, książunie ;-)
czwartek, sierpnia 23, 2012
Wielki Scott'cie....
Jak mi się nie chce.........
Wg. niejakiego Newtona wystarczy bym przyśpieszył, nabrał pewnej prędkości V i przy drodze S równej 150 km powinienem dotrzeć na miejsce za t=S/V.......... ale drań zapomniał, że jest jeszcze potrzeba by w chwili T0 mi się chciało....... znaczy nawet przed chwilą T0.... a się nie chce.....
[tak to może ie mieć sensu, ale jestem w stanie przedchorobowym, mało spałem i jestem ogólnie zirytowany, więc wylewam żale ;-)]
#toBlogger
Podobne postybeta
Gorzkie żale zegarowe
Metoda Newtona w Go ;-)
Amazon Prime Video na XBOX One w Polsce - how to ;-)
EEE PC 900 - warto rozszerzać czy nie? ;-)
Czemu Writer nie jest interfejsem?
piątek, sierpnia 17, 2012
Gdy Kindle zachoruje, część 2 - Następca...
Dla przypomnienia, w sobotę (11 sierpnia) mój Kindle zachorował, zgłosiłem chorobę Amazonowi i wysłali mi nowego Kindla.
Przybył w czwartek (16 sierpnia), byłby dzień wcześniej gdyby nie święto w Polsce.
Ten nowo przybyły był już zarejestrowany na mnie, musiałem tylko potwierdzić, że chcę korzystać z mojego konta.
Nie było na nim jednak moich książek.........
Część z tych, które wysłałem na niego wcześniej (już po połączeniu go z moim kontem, ale jeszcze przed jego otrzymaniem) się tam zaczęło pojawiać.
I tu zrobiłem błąd ;-) skopiowałem wszystkie pliki z katalogu documents ze starego Kindle, i wrzuciłem je do nowego.....
Nie było kolekcji, ale nie wyglądało to źle.... dopiero po jakimś czasie gdy zacząłem klikać na książki okazywało się, że nie można ich oglądać bo mają licencje dla innego urządzenia. Wysyłanie ich przez stronę Amazona nie działa bo są już kopie na urządzeniu.... trzeba najpierw skasować, a później wrzucić znów [przez stronę Amazona, albo pobrać z Archived Items].
Wszystko już niemal dobrze wyglądało ;-) Zostawiłem Kindla na parę godzin, po tych paru godzinach miał już nową wersję systemu (4.1) i zdublowane książki....
Znów kasowanie ;-)
Co najzabawniejsze okazało się, że po skasowaniu nadmiarowych zostały tylko te z licencją na poprzedniego Kindle (wygląda jakby za pierwszym razem nie zostały skasowane z Flasha).
Trzeba było znów kasować i pobierać....... i tu ciekawa sprawa, pobrały się z automatu do dobrych kolekcji.
Wniosek ogólny jest taki, że w razie wymiany Kindla trzeba mu pozwolić na zdecydowanie samemu co zrobić ;-)
A Amazon powinien pomyśleć o prostym i wyraźnie widocznym mechanizmie klonowania ;-)
W końcu jednak mam nowego Kindla i teraz muszę tylko odesłać tego starego..... już z niego wszystkie książki skasowałem i leży sobie w pudełku czekając na wysyłkę.
#toBlogger
Podobne postybeta
Gdy Kindle choruje...
Terminy
Taa.. PostPC... znaczy zamiast PC będziesz nosić ze sobą masę innych rzeczy
Co się odwlecze, to nie uciecze ;-)
Jak walczyć z gigantycznym kodem w Java'ie, część 1 ;-)
