Posted by: marcoos on: 30.06.2009
Przed paroma minutami, po roku wytężonych prac, Mozilla oficjalnie wydała wersję 3.5 przeglądarki internetowej Firefox.
Jak dla mnie najfajniejsze są dwie rzeczy: nowy, lepszy silnik JavaScriptu (w tym wątki “web workers” i natywny JSON) oraz obsługa znaczników <audio> i <video> i formatu Ogg. Obsługa filtrów w SVG i transformacje w CSS także ucieszą wielu web developerów. A dla zwykłego użytkownika ważne jest to, że w 3.5 aplikacje WWW działają szybciej i otworem stoi droga do zwiększenia ich możliwości.
Więcej informacji na stronie Możliwości Firefoksa 3.5 i w informacjach o wydaniu.
Zapraszamy do pobierania i życzymy miłego użytkowania! :)
PS. Na bieżąco aktualizowane statystyki pobierania Firefoksa 3.5 można podglądać na stronie downloadstats.mozilla.com.
Posted by: marcoos on: 17.06.2009
Mozilla Hacks to zbiór artykułów na temat nowych możliwości silnika Gecko w Firefoksie 3.5. Członkowie Aviary.pl zamierzają tłumaczyć co ciekawsze artykuły z Mozilla Hacks na polski. Na Techblogu zacznę od artykułu „Better security and performance with native JSON”, autorstwa Aruna Ranganathana.
Mechanizm reprezentacji danych JavaScript Object Notation (JSON) szybko stał się nieodzownym narzędziem programisty WWW, umożliwiając aplikacjom w języku JavaScript pobranie i przetworzenie danych w sposób intuicyjny, w skryptach, z prostą hermetyzacją danych. Firefox 3.5 zawiera natywną obsługę JSON-a, udostępnioną przez własność window.JSON obiektu globalnego.
Natywny JSON, wbudowany w maszynę wirtualną JS, stał się możliwy dzięki specyfikacji ECMAScript 5 (specyfikacja w formacie PDF), której inne części również zostały
zaimplementowane w Firefoksie 3.5. Obecnie natywną obsługę JSON-a udostępniają Firefox 3.5 i IE8, można się też spodziewać, że i inne przeglądarki wkrótce będą miały ją zaimplementowaną.
Natywna obsługa formatu JSON ma dwie zalety:
eval do wyznaczenia wartości wyrażeń zwróconych jako ciągi znaków nie jest bezpieczne. Ponadto, natywny JSON obsługuje wyłącznie dane. Nie można go użyć do przetworzenia obiektów zawierających wywołania metod – spowoduje to zgłoszenie błędu.Oto kilka przykładów.
API JSON do wyszukiwania może wyglądać jak poniżej:
/* Załóżmy, że dane w zmiennej data zostały otrzymane z serwera. Dla przejrzystości, wyświetlamy je tutaj w osobnych liniach. */ var data = ' { "responseData": {"results": [ { "SafeSearch":"true", "url":"http://www.arunranga.com/i.jpg", }, { "SafeSearch":"false", "url":"http://www.badarunranga.com/evil.jpg", } ]}}';
Takie zasoby mogły zostać zwrócone na przykład przez proste żądanie HTTP GET z wykorzystaniem API typu REST.
Dzięki natywnemu JSON-owi, można napisać taki kod:
/* Pobranie uchwytu do ww. zasobu JSON. Najwygodniej zrobić to za pomocą zewnętrznych bibliotek obsługujących natywnego JSON-a. */ if (window.JSON) { var searchObj = JSON.parse(data); for (var i=0; i++; i < searchObj.responseData.results.length) { if (searchObj.responseData.results[i].SafeSearch) { var img = new Image(); img.src = searchObj.responseData.results[i].url; // ... Wstaw obrazek do drzewa DOM ... } }
Dzięki metodzie stringify można obiekt z powrotem zserializować (przekształcić do ciągu znaków w formacie JSON – przyp. tłum.):
// Powrót do wyjściowej sytuacji var data = JSON.stringify(searchObj); // zmienna 'data' zawiera teraz pierwotny ciąg znaków
Oczywiście, aby w pełni skorzystać z możliwości JSON-a, warto spróbować pobierać dane JSON z innych domen, poprzez mechanizmy callback takie jak JSONP. (JSONP nie skorzysta z natywnego JSON-a, nie wiem, czemu artykuł oryginalny o nim tu wspomina – przyp. tłum.). Wielu programistów raczej nie będzie korzystać z obiektu JSON bezpośrednio. Najczęściej korzystać oni będą z mechanizmów udostępnianych przez biblioteki takie jak Dojo i jQuery. Biblioteki te ułatwiają odbieranie i przetwarzanie zasobów JSON z różnych domen i udostępniają wiele “cukru składniowego” dla procesu wywołań callback i manipulacji drzewem DOM.
Natywna implementacja JSON-a współpracuje z popularną biblioteką json2.js (która prawidłowo rozpoznaje, czy dostępna jest natywna obsługa JSON-a), dzięki czemu programiści mogą bez problemu korzystać z przetwarzania JSON-a w przeglądarkach bez natywnej jego obsługi (API zdefiniowane w json2.js jest identyczne z natywnym API omawianym w tym artykule – przyp. tłum.). W chwili pisania tego artykułu, Dojo i jQuery ogłosiły, że będą wspierać natywną obsługę JSON-a:
Posted by: marcoos on: 19.04.2009
Dzisiaj zakończyło się copółroczne spotkanie zespołu Aviary.pl w Krakowie.
Efekty? Odświeżone szefostwo – zastępczynią Huberta Gajewskiego została Joanna Mazgaj. Mamy też nowe pomysły i plany na przyszłość. :)
Spotkanie w Krakowie zbiegło się w czasie z tym, o czym pisałem w poprzedniej notce, czyli objęciem przez Firefoksa pierwszego miejsca pod względem liczby użytkowników w Polsce. Było więc co świętować. :)
Posted by: marcoos on: 2.04.2009
For the first time since the late nineties, Microsoft Internet Explorer is no longer the most popular web browser in Poland. Mozilla Firefox scores the highest marketshare percentage ever, 45.3%, leaving MSIE behind by 0,3 percentage points.
All the Gecko-based browsers amount to 45.5% of the marketshare, Opera is at 8% and growing. WebKit-based browsers like Chrome and Safari grouped with KHTML-based Konqueror are only at 0.3%.
We did it! We broke the Microsoft monopoly! Big thanks to all the people who have supported Mozilla in Poland, starting with Marcin Jagodziński, the first man to translate Mozilla into Polish, Piotr Bartecki and Marek “GmbH” Wawoczny for everything they did at MozillaPL.org, and to all of my friends at Aviary.pl. We would not be here without all your work! I also personally would like to thank the Mozilla Europe team for supporting the Polish team.
To our great community – MozillaPL.org forum members, Polish extension developers, contributors to the alt.pl.mozilla newsgroup, and to all the Polish web developers who supported web standards and Gecko even in the days of 1% marketshare, to all of you – THANK YOU!!!
History happens!

Wszystkie przeglądarki oparte na silniku Gecko mają łącznie 45,5%, a Opera osiągnęła poziom 8% i nie przestaje rosnąć. Przeglądarki oparte na silniku WebKit, takie jak Chrome i Safari, łącznie z opartym na KHTML Konquerorze mają łącznie 0,3%.
Udało się! Przełamaliśmy monopol Microsoftu! W tym miejscu chciałbym podziękować wszystkim, którzy wspierali Mozillę w Polsce, zaczynając od Marcina Jagodzińskiego, który rozpoczął polską lokalizację Mozilli, przez Piotra Barteckiego i Marka “GmbH” Wawocznego (za wszystko, co zrobiliście w MozillaPL.org) po moich przyjaciół z Aviary.pl. Bez Waszego oddania nie byłoby to możliwe. Dziękuję także stowarzyszeniu Mozilla Europe za wsparcie, jakiego udziela polskiemu zespołowi.
Naszej wspaniałej społeczności – użytkownikom forum MozillaPL.org, twórcom polskich rozszerzeń, uczestnikom dyskusji na alt.pl.mozilla, a także tym wszystkim web developerom w Polsce, którzy przestrzegali standardów WWW i wspierali Gecko nawet w najbiedniejszych dniach jednoprocentowego udziału w rynku, Wam wszystkim – WIELKIE DZIĘKI!!!
Tak oto dzieje się historia. :)
PS. Na ten temat po polsku pisze dziś także Hubert.
Posted by: marcoos on: 5.03.2009
W najnowszym rankingu GemiusTraffic MSIE wyprzedza przeglądarki oparte na Gecko tylko o 0,9 punkta procentowego:
Firefox we wszystkich wersjach ma łącznie 44,7% (sam Firefox 3: 38.4%), Opera – 7,7%, wszystkie WebKitopodobne – 1,2% (z tego większość ma Chrome – 0,8%). MSIE 7 nieco wyprzedza swojego starszego brata – o 0,8 pkt proc. (23,3% do 22,5%).
Czy w przyszłym tygodniu IE zasłużenie utraci prowadzenie? Zobaczymy. Fajnie by było. :-)
Posted by: marcoos on: 12.01.2009
Ok, so Staś tagged me and I have to think about seven things people don’t generally know about me. Let’s see…
7. My (probably) first contribution to open source were these renderings of Slackware Linux logo. Yup, I was trying to learn GIMP at the time. :)
6. Now something shameful: my first publically available website (which is more-less what evolved into this blog over the years) was made with Microsoft FrontPage Express and only worked well in IE 4. But a few months later I became a fundamentalist convert to the Netscape faith. When I first encountered a Gecko-based build I thought it was totally broken. How the hell couldn’t it support my l33t document.layers-based JavaScript code? ;-)
5. I do not really speak Russian, but I’ve learned Cyrillic from a pocket English-Polish-French-German-Russian electronic translator, thanks to the fact that many words in Polish and Russian are the same, only written in different scripts. I was in the 4th grade of primary school then. How geeky is that? Oh, this also means I can only read printed Cyrillic, Russian handwriting is something I can’t decipher. :)
4. I am a huge frakin’ Battlestar Galatica (2003) fan.
3. I basically hate techno music, but when I was twelve I used to compose wanna-be-techno tracks with ProTracker and DigiBooster on my Amiga 1200. One guy even bought a tape with some of them from me and played it at a few parties. :)
2. The nickname “marcoos” is actually the rendition of my first name “Marek” in Latin – “Marcus”, with spelling bastardized to look more awesome. At least that’s what I thought about it in 1996, when I invented it to sign my never publically released demos written in AMOS. I’ve never changed that nickname… Oh, well.
1. As a high school paper journalist, in late 2000 I flew on board the Polish “Air Force One” (a rather scary and old Soviet Tupolev 154M aircraft) with then-Prime Minister of Poland and took part in the press conference after the meeting of four PMs of Poland, Czech Republic, Slovakia and the Netherlands in Bratislava, Slovakia.
Now, seven other Mozilla people I’d like to tag:
(I hope nobody has tagged you before I did ;))
Posted by: marcoos on: 6.01.2009
Posted by: marcoos on: 18.12.2008
Tylko 6 (słownie: sześć) punktów procentowych w najnowszym rankingu Gemiusa dzieli przeglądarki oparte na silniku Gecko (Mozilla) od przeglądarek opartych na silniku Trident (Microsoft/Windows Internet Explorer) – 42,7% polskich użytkowników korzysta z przeglądarek z silnikiem Mozilli (w tym sam Firefox: 42,5%), a z przeglądarki Microsoftu i jej “opakowań” – 48,7%.
Przeglądarkom konkurencyjnym wobec niedawnego monopolisty udział w rynku dość wysoko podskoczył – o ponad trzy punkty procentowe w przypadku Firefoksa i o 0,4 pkt. procentowego w przypadku norweskiej przeglądarki. Przyczyn można się dopatrywać w odkrytej niedawno poważnej luce w zabezpieczeniach produktu Microsoftu, choć głośniej o niej zrobiło się dopiero pod koniec okresu, którego dotyczy najnowszy raport GemiusTraffic.
Stoją za to w miejscu przeglądarki oparte na silniku WebKit, takie jak Safari i Google Chrome, które łącznie w polskim rynku do kupy z linuksowym Konquerorem nie osiągają nawet procenta użytkowników.
Cieszy to, że już 73% użytkowników Firefoksa korzysta z wersji 3.0.x (lub testuje 3.1 beta). Wśród użytkowników Firefoksa procentowo najwięcej osób używa jego najnowszej wersji, co znaczy, że, po pierwsze, system aktualizacji działa całkiem nieźle, a po drugie, samo przejście na 3.0.x nie stanowi większego problemu. Odsetek użytkowników najnowszych wersji w przypadku IE i Opery jest znacząco niższy, odpowiednio ok. 50% i 51%.
PS. Osobom używającym wersji 2.0.0.x Firefoksa przypominam, że wsparcie dla niej skończy się dziś wieczorem (wydaniem niespodziewanej wersji 2.0.0.20), dlatego naprawdę warto poczynić kroki ku migracji do “trójki” – dla bezpieczeństwa, ale też i wygody. :)
Posted by: marcoos on: 21.11.2008
Na Gazeta.pl pojawił się wywiad z Sethem Bindernagelem. Zachęcam do przeczytania.
Drobny zgrzyt… Red. Ścisłowski w pytaniu do Setha pisze tak:
W angielskiej wersji językowej Firefoksa stosowne są dwie komendy: „Cancel” i „Discard”. W języku polskim obydwa te znaczenia oddaje słowo „Anuluj”. Tymczasem w we wczesnej wersji Firefoksa zauważyłem w kilku miejscach określenie „Poniechaj”. Jest to dosyć zabawne słowo, którego nikt nie używa w branży IT. Pytanie zatem brzmi: czy za tłumaczenie odpowiedzialna jest wyłącznie społeczność?
Nie, panie redaktorze. Odpowiedzialność za głupie słówko “Poniechaj”, które w Firefoksie można było zobaczyć tylko pod Mac OS X, ponosi ta firma i z niej proszę się nabijać. ;-)
Lokalizując oprogramowanie nie możemy abstrahować od lokalizacji samego systemu operacyjnego. Tak więc jeśli w systemie “Directory” byłoby przetłumaczone na “Teczka”, to my nie możemy zrobić z tego “Folderu” ani “Katalogu”. W polskiej lokalizacji Mac OS X wykonanej przez Apple IMC Poland SAD sp. z o.o. słówko “Cancel” tłumaczono właśnie na archaiczne “Poniechaj”. Na szczęście zmieniło się to w Leopardzie na “Anuluj” i Firefox 3 ma “Anuluj” jako “Cancel” na wszystkich platformach.
Tak samo w Windows kreatory mają przyciski “Dalej”, a w GNOME – “Naprzód”. Dla spójności z Windows mamy więc w kreatorach w Firefoksie dla Windows “Dalej”, a w Firefoksie dla Linuksa – “Naprzód”.
I z tych samych przyczyn menu “Edit” nazywa się głupio “Edycja” – bo jest to stały element systemu i, mimo że chcielibyśmy, nie możemy go przetłumaczyć lepiej, żeby nie wprowadzać zamieszania.