Archive for Programowanie
Witty
kwiecień 22, 2008, godzina 12:55 · Komputery, Programowanie »
Kiedy ostatnio wspomniałem o aplikacji o dźwięcznej nazwie Witty, która to jest klientem Twittera, pozwalającym na łatwiejsze śledzenie co też nasi znajomi wysyłają do tego serwisu, dla mnie - znacznie łatwiejsze niż z użyciem komunikatora czy strony internetowej, to martinez zwrócił uwagę w komentarzu, że aplikacja wprost idealnie wywraca się.
I taka też była prawda - Witty, wówczas w wersji 0.1.6 beta 2 wywracał się pięknie na każdym komputerze, który miał inne ustawienia regionalne niż en-US. Błąd ten sobie był zgłoszony nawet, a ja - dla siebie tylko - poprawiłem go (ale i informując autorów aplikacji co i gdzie należy poprawić). Zwolennicy ruchu Open Source tutaj się szeroko uśmiechnęli ;-)
Witty jest napisany w C# z użyciem technologii WPF (Windows Presentation Foundation), co oznacza, że akurat pasuje do moich zainteresowań. Szczerze mówiąc - znalazłem go przypadkiem, gdy chciałem poszukać jakiś bibliotek do obsługi Twittera by napisać samemu, bo poprzednio używany przeze mnie klient, Tweet-r, napisany dla platformy Adobe AIR, w ogóle nie zechciał działać po aktualizacji. Do dziś nie wiem dlaczego. Miał też kilka innych dziwactw, które za bardzo nie wiem z czym miały związek nawet - choćby otwieranie linków w Internet Explorerze, zamiast domyślnego dla mojego systemu Firefoksa.
Mniejsza o to. Witty 20 marca dorobił się wersji 0.1.7, która niestety nadal nie umiała działać na naszych systemach. Ściągnąłem całkiem niedawno bezpośrednio znów wersję z SVN, chcąc poprawić znów błąd i wypuścić program dla naszych użytkowników, ale spotkała mnie niespodzianka. W pobranej rewizji 199 błędu już nie było i program po kompilacji działał poprawnie. Do tego ta wersja udostępniała kilka nowych funkcji, takich jak klikalne “@imię”. Przed paroma minutami pobrałem z SVN rewizję 302, zmodyfikowałem w niej dosłownie jeden fragment kodu XAML, by uwidocznić w nagłówku, że nie jest to oficjalna wersja 0.1.7, a wersja “nightly” i skompilowałem - najpierw testując chwilę w trybie debug, potem do release.
I oto i on. Witty rev. 302.

Co ciekawego daje Witty oprócz przeglądania wpisów? Powiadomienia, szybką obsługę wiadomości bezpośrednich czy też przeglądanie globalnych odpowiedzi na nasze tweety.
Do pobrania archiwum ZIP (około 1 MB) jeżeli ktoś już teraz chciałby zacząć używać. Jeżeli ktoś jest programistą i ma dostęp na przykład do Visual C# 2008 Express - może samodzielnie pobrać wersję z SVN i skompilować. Instrukcje są do znalezienia na stronie programu.
Mam nadzieję, że programiści Wittiego się nie zmartwią, że udostępniam ich program ;-) Ale spodziewam się, że skoro jest to w SVN to program w wersji następnej będzie już działał jak trzeba oficjalnie.
Permalink |
Językowe skojarzenia
październik 20, 2007, godzina 10:40 · Programowanie »
Do zabawy zaprosił mnie Riddle. Mam wypisać skojarzenia z językami programowania. Jednak ja zrezygnowałem z rozdzielania C i C++, a dodałem, wzorem poprzednika, ASP (.NET gwoli ścisłości, i tak, wiem, że to nie język).
| Język |
Pozytywne skojarzenie |
Negatywne skojarzenie |
| PHP |
Proste, łatwe, szybko się w miarę robi |
PHP/HTML/PHP/HTML/PHP/HTML… fuj! |
| Java |
Enterprise. |
Wolne oprogramowanie. Wolne as in żółw. I aplety na stronach! |
| Pascal |
Sentyment. |
Pascal umarł, a Delphi przegrywa. |
| C/C++ |
Przenośnie. |
“jaki segmentation fault?! cholerne wskaźniki!” |
| ASP.NET |
To co robiłem w PHP godzinę, w ASP.NET zajęło 5 minut. |
Yellow Screen of Death. |
| Ruby |
Rails. |
Fanboye. |
| Perl |
PCRE. |
@!#$%, co to ma być? |
| Python |
Fajna składnia. |
Hm? |
| C# |
Visual Studio i pełna obiektowość! |
Szybkością to też nie grzeszy. |
| JavaScript |
Usability dzięki ajaksowatości rośnie. |
<a href="javascript:"> i kliknij tu śródklikiem… |
| Assembler |
Całkiem fajne, że kilka dziwnych rzeczy robi takie duże rzeczy. |
Jagoda. Nie każdy wie, ale to taki symulator DSM-51. |
A dalej do zabawy zaproszę Dota i Michała Górnego.
Technorati Tags: programming languages
Permalink |
Day the world ended
październik 3, 2007, godzina 20:06 · Microsoft, Programowanie »
Krok w dobrą stronę? Być może. Microsoft udostępni kod .NET Framework.
One of the things my team has been working to enable has been the ability for .NET developers to download and browse the source code of the .NET Framework libraries, and to easily enable debugging support in them.
Today I’m excited to announce that we’ll be providing this with the .NET 3.5 and VS 2008 release later this year.
We’ll begin by offering the source code (with source file comments included) for the .NET Base Class Libraries (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc), ASP.NET (System.Web), Windows Forms (System.Windows.Forms), ADO.NET (System.Data), XML (System.Xml), and WPF (System.Windows). We’ll then be adding more libraries in the months ahead (including WCF, Workflow, and LINQ). The source code will be released under the Microsoft Reference License (MS-RL).
#
Licencja MS-RL nie jest oczywiście cudownie otwarta, zaaprobowana przez OSI i tak dalej, ale pozwala na używanie udostępnione kodu jako pomocy w tworzeniu własnych rozwiązań na przykład. Myślę, że bardzo taka pomoc może się przydać programistom Mono ;-)
Piekło powoli zamarza, czy tylko mi się tak wydaje?
Permalink |
Zakoduj swój e-mail?
wrzesień 18, 2007, godzina 15:58 · Komputery, Programowanie, Webmastering »
Obroną przed grasującymi po Sieci robotami, które automatycznie zbierają adresy e-mail jakie znajdą, by dołączyć do spamerskich baz danych może być - według wielu osób - różnorakie kodowanie adresu e-mail.
Jednak niestety - tak w gruncie rzeczy to większość z popularnych w internecie metod jest w gruncie rzeczy nie warta nic. Albo bardzo niewiele. Ot choćby takie coś jak popularna zamiana znaku “@” na “(at)” czy inne “[at]”. Co stoi na przeszkodzie by w spamerskim bocie po pobraniu tekstu strony zmieniać wszystkie “(at)”, “[at]” czy inne, nawet takie jak moje “(na)” po prostu na “@”? Nic nie stoi na przeszkodzie. Tak samo nic nie stoi na przeszkodzie by zamieniać znak @ czyli właśnie “@” w innym zapisie.
Niektórzy zatem tworzą bardziej skomplikowane rozwiązania kodujące adres e-mail. Oprócz zamiany samego “@” na ciąg postaci &#xx; zamieniane są wszystkie znaki w adresie. Przeglądarka wyświetla to jak trzeba, w źródle strony będzie nieczytelne. Albo dodają do adresu nadmiarowe rzeczy w rodzaju USUNTO (spam@example.com.usunto), które raczej zauważy i usunie tylko człowiek, a nie robot. Im bardziej niekonwencjonalne rozwiązanie, tym bardziej skuteczne. Te popularniejsze już przecież musiały zostać przez spamerów zauważone, prawda? Dlatego szczerze wątpię w skuteczność zamian na encje.
Niezłe jest wykorzystanie obrazka z adresem. Jednak należy wystrzegać się takich sytuacji, gdy adres e-mail jest umieszczony w obrazku (i nie do odczytania przez normalne roboty), ale adres np. komunikatora GTalk (taki sam jak e-mail) już nie jest w żaden sposób “ukryty”. Oczywiście obrazek ma też tą wadę, że jest nie do przeczytania przez osoby niewidome czy używające przeglądarek tekstowych.
I są w końcu skrypty JavaScript. Jedni stosują wymyślne podstawianie i zmiany w tekście w drzewie DOM, inni po prostu wpisują tekst na stronę używając document.write(). Jednak tak naprawdę, czy te rozwiązania są skuteczne? Przeglądarka internetowa obsługująca JavaScript wyświetla adres już na przykład w formie zdekodowanej. Zatem czy coś stoi na przeszkodzie, by stworzyć robota zbierającego adresy obsługującego JS? Albo może nawet zapytam inaczej - czy jest jakikolwiek sens tworzyć takiego robota, skoro mamy już gotowe mechanizmy do wykorzystania - właśnie silniki przeglądarek internetowych! Jakiś czas temu w ramach nauki C# stworzyłem taki program - wykorzystując kontrolkę WebBrowser potrafi ominąć większość “zabezpieczeń” adresu e-mail jakie są stosowane, bo nie operuje na normalnym źródle strony, a na tekście już “przetrawionym” przez JavaScript.
Jednak tworząc ten program (i szukając różnych metod ukrycia adresu) znalazłem zabezpieczenie, które będzie bardzo trudne do ominięcia. Wystarczy stworzyć odnośnik, do którego zdarzenia onclick będzie podpinana funkcja, która naszą przeglądarkę na właściwe źródło nakieruje. Wydaje się proste. Należy jednak pamiętać, by podmieniając adres nie napisać go gdzieś w źródle w postaci jawnej (np. var newmail = mailto:dobry@example.com), a składać go na przykład z kilku zmiennych. Dlaczego? By ustrzec się z kolei przed robotami operującymi na źródle, które z pewnością taki ładny link by zauważyły, nawet poza znacznikiem <a>.
A może są jakieś inne metody, dobre i naprawdę skuteczne, a ja o czymś nie wiem?
Technorati Tags: javascript, spam, antispam, harvester
Permalink |
Adobe AIR
sierpień 13, 2007, godzina 09:20 · Komputery, Programowanie, Technologia »
Obiecałem, że napiszę kilka słów, czego mi brakuje w Adobe AIR, w jego obecnej fazie, bo jest to - jak wiele rzeczy w dzisiejszych czasach - wersja beta. Nie byłem przekonany do tego pomysłu, bo za Flashem nie przepadam (od strony użytkownika, od strony programistycznej to nie widziałem nigdy), ale zacząłem używać dwóch aplikacji napisanych dla “Apollo”, tj. AIR i sprawują się całkiem nieźle i nawet nie są - wbrew moim obawom - wolne.
Jednak cudo to nie jest. Przynajmniej na razie ma parę rzeczy, które mnie denerwują zwyczajnie. Przede wszystkim - respektowanie domyślnej przeglądarki internetowej. W moim systemie jest to Mozilla Firefox - Internet Explorer służy tylko do otwierania plików .mht czy .mhtml (oraz .xml bo ma lepszy sposób pokazywania plików XML bez ostylowania). Jednak programy napisane pod AIR usilnie otwierają wszystkie linki w Internet Explorerze, bo dla Adobe to jest domyślna przeglądarka w systemach z rodziny Windows (o ile dobrze pamiętam jakieś FAQ). Co z tego, że mogę szybko przejść do linków, jakie moi znajomi wysyłają na Twittera (którego używam namiętnie przez Tweet-r) czy Pownce, skoro otwierają się nie tak jak powinny?
Po drugie brakuje mi jakiegoś menedżera do zainstalowanych aplikacji. Gdy usunę skróty z Menu Start to gdybym nie wiedział, gdzie te aplikacje się znajdują, to bym nie uruchomił już. Swoją drogą też znajdują się w dziwnym miejscu (C:UsersMarcinAppDataLocal miejscem na aplikacje?), co jednak wymuszone jest tym, że mogą się zainstalować także bez uprawnień dostępu do Program Files, więc rozumiem dlaczego.
Nie pasuje oczywiście też to, że przyciski np. instalatora AIR (jak i cały styl tej aplikacji) nie są zgodne ze stylem systemu, a są “własne”. Może i ładniejsze, nie wiem, w każdym razie - inne.
Ciekawi mnie jednak czy i jak się to przyjmie…
Permalink |
Separator dziesiętny
maj 5, 2007, godzina 15:15 · Komputery, Programowanie »
Czasem wymagane jest, aby użytkownik podał do naszej aplikacji jakieś dane liczbowe. Na przykład ilość pieniędzy jakie program kosztuje, ilość kopii dokumentu jakie chce wydrukować czy cokolwiek innego. To, że użytkownikowi każemy “podaj liczbę dodatnią”, a ten poda ujemną albo zero to w miarę normalne i przed tym się wiele aplikacji zabezpiecza i mniej więcej każdy programista o tym wie. Gorzej jednak wygląda sprawa z separatorem dziesiętnym.
Intuicyjnym dla nas formatem rozdzielenia części całkowitej i ułamkowej jest przecinek, Polska należy do grupy krajów nawet nazywanych “krajami przecinka”, jednak dla krajów anglosaskich separatorem jest kropka. A że z tamtym kręgiem kulturowym związanych jest większość języków programowania, to w nich najczęściej stosowanym separatorem dziesiętnym jest także kropka. Przecinek zarezerwowany jest na przykład do oddzielania parametrów wywołania funkcji.
Co to za sobą niesie? Że użytkownik może podać dane w “nieprawidłowym” dla programu, ale intuicyjnym dla niego, formacie, tj. z przecinkiem w Polsce, podczas gdy program operuje na kropce. A co to może spowodować? A na przykład bardzo dziwne wyniki obliczeń, ja na pewnej stronie dowiedziałem się, że mam niedowagę ze wskaźnikiem BMI 2,16 oraz zawartością tłuszczu w organizmie -8,78% (sic!). A tylko dlatego, ze jako wagę podałem 72,7 kg, zamiast 72.7 kg, jakich oczekiwał skrypt.

Jak się przed tym bronić? Jedną z najprostszych metod jest oczywiście pobieranie od użytkownika danych jako łańcuch znaków i następnie zamiana przecinków na kropki, po czym dopiero konwersja na wartość zmiennoprzecinkową. Jeżeli tego nie zrobimy to wyniki mogą być wprost absurdalne - ujemna zawartość tłuszczu w moim ciele to po prostu dobry żart, ale co jeżeli nagle w jakimś systemie księgowym znajdą się ujemne wypłaty dla programistów?
Permalink |
Poprawność adresu e-mail
luty 7, 2007, godzina 22:53 · Programowanie »
Trzeba sprawdzać na stronach poprawność adresu e-mail, bo a nuż ktoś wpisze nam alamakota@abrakadabra i nie dostaniemy jego danych i będzie źle dla nas i w ogóle. Dlatego też wymyśliliśmy, że musi być w adresie małpa, musi być kropka, musi być domena, a domena ma 2 lub trzy znaki… Wróć!
To właśnie przez takie testy, pisane przez webmasterów, którzy zapominają, że domena nie musi mieć trzech znaków maksymalnie, a może mieć więcej, zdarzyło mi się już, że nie mogłem zarejestrować się gdzieś, bądź skorzystać z jakiś usług. Teraz, przed chwilą, sobie o tym przypomniałem próbując skorzystać z subskrypcji serwisu PoradyKomputerowe.pl co było wymagane do pobrania bezpłatnego raportu. A kiedyś, o ile pamiętam, podobna sytuacja przytrafiła mi się na oGame.
Wyrażenie regularne postaci ^([0-9a-z._]{1,25})@([0-9a-z._]{1,25}.[a-z]{2,3})$ (chyba powinno działać, pisałem “na czuja”) nie jest dobre. Ze względu na to, że od jakiegoś czasu dostępne są domeny cztero- i więcej znakowe. Ot choćby właśnie moja .info. Podobnie niedobra .mobi, czy mało popularna .name. A absolutnym rekordzistą pod względem długości jest niedawno wprowadzona .travel. A sam, instalując jakieś aplikacje na wewnętrznym serwerze w sieci lokalnej, stosuję adresy e-mail administratora w postaci admin@costam.local. “Domena” .local jest u mnie w sieci lokalnej szeroko używana.
Podobnie też zastosowane tutaj sprawdzanie długości od jednego do 25 znaków (zaczerpnięte z pewnej książki), nie jest zbyt dobre, bo o ile tak długą część przed “małpą” ciężko mi sobie wyobrazić (najdłuższe znane mi imiona+nazwiska osiągają ledwo 22 znaki) o tyle nazwa serwera może być dłuższa. Ot, przed momentem wymyśliłem kompletnie idiotyczne mailserver.3141592653.travel ;-) Jednak bardziej denerwują mnie wspomniane ograniczenia co do długości domen. Jak się domyślam, to aplikacje były pisane w czasach, gdy .com było ledwo popularne i nikt się dłuższych rzeczy nie spodziewał.
PHP-owy framework, jaki bardzo lubię, CodeIgniter, posiada w swoich zasobach bibliotekę Validation, która posiada funkcję sprawdzającą poprawność adresu e-mail opierając się na znacznie bardziej złożonym wyrażeniu regularnym niż to, które napisałem wyżej. I jest odporne na domeny .info, .local i .travel.
/**
* Valid Email
*
* @access public
* @param string
* @return bool
*/
function valid_email($str)
{
return (!preg_match("/^([a-z0-9+_-]+)(.[a-z0-9+_-]+)
*@([a-z0-9-]+.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
}
Złamanie linii dodane sztucznie, bez niego trochę wychodził kod poza stronę.
Technorati Tags: e-mail, validation, PHP, CodeIgniter, domains
Permalink |
Nie dotykaj Program Files!
październik 24, 2006, godzina 18:37 · Microsoft, Programowanie, Windows »
Jest sobie taki katalog, w którym większość instalowanych pod Windows aplikacji ląduje. Program Files. I są aplikacje, które sobie swoje dane konfiguracyjne zapisują w swoim podkatalogu tegoż systemowego folderu. W jakiś plikach INI, XML - nieważne. Fakt jest jednak taki, że niestety rzadko programiści (amatorzy - w przypadku komercyjnych aplikacji tego problemu nie zauważyłem) zwracają uwagę na fakt, że użytkownik niekoniecznie musi mieć prawa zapisu do katalogu aplikacji! I wtedy piękne “Cannot create file” czy inny nieobsłużony wyjątek środowiska programistycznego się pojawia. Bo kto by o tym pomyślał, ze czasy Windows 9x się skończyły, a konta administracyjnego się nie używa?
Sam przyznaję, ten błąd popełniliśmy w PilotMP3. I Notatniku SP. Ale gdzieś go jeszcze widziałem w paru programach. A odkryłem tę sytuację praktycznie przypadkiem. Pod Windows XP używałem konta “Użytkownik zaawansowany”, które akurat prawa zapisu do Program Files ma (ale do Windows - nie). Ale siadłem do Visty i używam konta administratora. Jednak jestem chroniony przez UAC (User Account Control) i każda akcja poważniejsza wymaga potwierdzenia, w tym także zapis do Program Files. Niestety, używałem pewnej aplikacji, która systemowi nie zgłosiła zapotrzebowania na uprawnienia administracyjne (co w sumie normalne - raz, że o Viście to nie słyszano gdy ją pisano, dwa - bo nie robi nic specjalnego), próbowała zapisać do swojego katalogu… i wyskoczył błąd. No trudno się mówi. Ale ja chcę zamknąć program - błąd! Bo nie może zapisać konfiguracji. I wyjść się inaczej niż przez zabicie procesu nie da…
Zapis konfiguracji do katalogu aplikacji jest zły. Po to dano nam w systemie Windows 2000/XP/Vista katalog Documents and Settings[konto]Dane aplikacji (względnie Users[kontoAppData w Viście, na który przekierowywany jest link ze starszych systemów - podziękujmy łączom stałym), aby w nim takie rzeczy zapisywać.
W PilotMP3 1.1 (obecnie faza RC) zastosowałem pewną bardzo skomplikowaną z pozoru funkcję, która uwzględnia kilka różnych przypadków folderów gdzie dane programu można zapisać. Ogólnie zaczyna ona od zapisania w folderze, którego ścieżkę pobiera ze zmiennej środowiskowej %APPDATA%. Jeżeli jest pusta, to oznacza, że mamy do czynienia z systemem Windows 98/ME - a więc wtedy ustalamy katalog roboczy na katalog aplikacji. Jeżeli mamy już jednak ścieżkę do “Danych aplikacji” to próbujemy tam utworzyć podkatalogi jeśli ich nie ma. Albo zapisujemy tam gdzie trzeba. Ale, jeżeli zapis się nie uda - to zapisujemy dane do katalogu tymczasowego, którego ścieżkę pobiera się ze zmiennej środowiskowej %TEMP%. A do niego to każdy zapisać może. Co najwyżej dane znikną (w rzeczywistości dochodzi jeszcze warunek próbowania zapisu w Temp - jeśli się nie powiedzie to program generuje fatalne zakończenie aplikacji z wyjątkiem $FF).
Nie dotykać katalogów, do których się nie ma absolutnej pewności, że będzie można zapisać. Bo uruchamianie aplikacji z prawami administratora chyba mija się z celem. Programiści - macie aplikacje, które do swoich katalogów zapisują dane? Przepiszcie je. Żeby użytkownikom było lepiej.
Technorati Tags: Microsoft, Windows, Vista, UAC, programming, Program Files
Permalink |
Internet Explorer 7 będzie powodował problemy
wrzesień 1, 2006, godzina 10:55 · Microsoft, Programowanie, Technologia »
Od dawna w Delphi jest komponent TWebBrowser - czyli jednym słowem kontrolka ActiveX do wyświetlania stron, oparta o mechanizmy Internet Explorera. Oczywiście w innych językach także jest do niej dostęp. Stąd mamy sporo aplikacji, które wykorzystuję te mechanizmy - choćby wiele komunikatorów, w tym ten najpopularniejszy w Polsce. Plus klienty pocztowe (a zwłaszcza jeden, zintegrowany bardzo z systemem). Nie wspominając o takich błahych sprawach jak strony “Welcome page” w różnorodnych programach, nawet w tych wspominanych środowiskach programistycznych.
Uzależnienie aplikacji od zewnętrznych mechanizmów zawsze może przynieść kłopoty. A teraz, gdy zbliża się Internet Explorer 7 jest to szczególnie widoczne. Widoczne jest, że aplikacje wykorzystujące silnik IE mogę przestać działać poprawnie, czy powodować problemy, gdy silnik zostanie zaktualizowany. A zaktualizowany zostanie, bo IE 7 będzie dytrybuowane jako poprawka krytyczna, co automatycznie sprawi, że duża część użytkowników Windows (oprócz tych używających nielagalnego systemu i tych bez włączonych poprawek) zostanie obdarzona nowym dziełem Microsoftu.
Napisałem na początku tekstu o Delphi, ponieważ na blogu któregoś z twórców tego narzędzia znalazłem notkę, w której poruszał on temat zachowania się kontrolki wraz z silnikiem z IE 7 RC1. I niestety - bywały problemy. A aplikacji, jakie te problemy mogą dotknąć jest mnóstwo.
Programiści już teraz, póki IE 7 jest w fazie beta, powinni postarać się o wydanie łat dla własnych aplikacji, by mogły one prawidłowo funkcjonować wraz z następnym IE.
Technorati Tags: Microsoft, Internet Explorer 7, Delphi, TWebBrowser, compatibility, problems
PS. A ludzie od WordPressa mogli by się postarać o coś, abym nie trafiał w jakąś kombinację klawiszy publikującą wpis. Albo żeby nie działało z prawym Altem, który jest za polskie litery odpowiedzialny. Ech, znowu nie trafiłem i poszło za wcześnie…
Permalink |
Wpisz kod produktu
lipiec 10, 2006, godzina 14:32 · Programowanie, Z innej beczki »
Okienko, w którym należy podać kod produktu to częsty element instalatorów róznego oprogramowania, wyłączając oczywiście najrózniejsze programy Open Source. Ten kod, zwykle alfanumeryczny, ma zaświadczyć że dysponujemy legalną płytą CD, na której odwrocie jest napisany, lub też zarejestrowaliśmy sie na stronie producenta, a kod uzyskaliśmy pocztą.
Niestety, tak prosta sprawa jak kod może być zrealizowana niewygodnie dla użytkownika. Pewien edytor, który mam teraz okazję przez dwa tygodnie testować nakazał mi wpisać kod. Gdy przyszedł na e-mail to mnie zatkało. 55 znaków, w jednym ciągu, nieco przypominające sumę kontrolną MD5. Czy to troszkę nie za długie? Na szczęście można go było skopiować z e-maila i wkleić do instalatora. A może być gorzej - to udowodnił pewien inny producent, który pozostawił kilka okienek do wpisania kodu, a gdy wklejamy kod to wkleja się tylko do pierwszego okienka. I to nie cały. Należy ręcznie kopiować i wklejać po kawałku.
Gorzej jest, jeżeli się tak łatwo kopiować i wklejać nie da - inny instalator po prostu zakrywa cały ekran i jedyną drogą do przejścia do okienka e-maila z kodem jest kombinacja klawiszy Alt+Tab. I po co tak utrudniać wpisanie tego kodu?
Microsoft, w swoich produktach każe wpisywać kodu chyba od Windows 95 wzwyż. Na początku było to też kilka okienek, na szczęście sam kursor do następnego pola kodu przechodził w instalatorze (czego w niektórych produktach nie ma). A co się zmienia w najnowszych? Tak, teraz jest jedno pole do wpisywania kodu, a ponadto automatycznie po podaniu kodu pojawia się odpowiedni znaczek mówiący czy wpisany klucz produktu jest prawidłowy. Co przypomina mi trochę w działaniu oparte bardzo o Ajax strony internetowe, które przy rejestracji automagicznie sprawdzają czy przypadkiem dana nazwa użytkownika nie jest już zajęta. Bardzo wygodna sprawa, od razu widać, że coś jest źle, nie trzeba klikać “Dalej” by zobaczyć komunikat o błędzie.
A kwestia aktywacji produktów wspomnianego koncernu, gdzie też kod jest bardzo długi i jak się go przez telefon dyktuje to się można załamać, to już inna sprawa.
Zalecenie mam jedno. Jedno okienko, możliwość wklejania kodu ze schowka (ja wiem, że mozna go skopiować pewnie z serialsandcracksforfree.com) i maksymalne uproszczania kodów będzie błogosławieństwem.
Swoją drogą ciekawe czy kody produktu podawana przy instalacji mają jakąkolwiek przyszłość, czy też zastąpione zostaną przez mechanizmy aktywacji wszelkiego rodzaju. Albo przez masowy atak oprogramowania o otwartych źródłach.
Technorati Tags: usability, installer, serial numer, product key
Permalink |
« Poprzednia strona