Zeitgeist 2011 reloaded: Suchmaschinen

20. Januar 2012

Im Artikel Zeitgeist 2011 bin ich noch eine wichtige Statistik schuldig geblieben (die man aber bei Googles Zeitgeist sicher nicht finden wird): Von welchen Suchmaschinen oder anderen Quellen kamen die Zugriffe?

Suchmaschinen

Hier die Liste der wichtigsten Suchmaschinen:

Rang Webseite Blog
1 Google Google
2 Bing Google Images
3 Yahoo! Bing

Wahrscheinlich für niemanden überraschend ist Google sowohl bei der Webseite als auch beim Blog an erster Stelle.

Google hat dabei eine erdrückende Übermacht, beim Blog hat die Google Bildersuche als einzige noch einen wirklich sichtbaren Anteil.

Suchmaschinen-Marktanteil Web 2011

Suchmaschinen-Marktanteil Web 2011

Suchmaschinen-Marktanteil Blog 2011

Suchmaschinen-Marktanteil Blog 2011

Diese Übermacht ist bereits seit der Umstellung auf Piwik so, die entsprechenden Grafiken, wie ich sie in Zeitgeist revisited erstellt hatte, habe ich mir deshalb erspart.

Verweise

Hier die Liste der wichtigsten Domänen, die auf meine Webseiten verlinken:

Rang Webseite Blog
1 nsis.sourceforge.net www.rolandbaer.ch
2 de.wikipedia.org www.google.com
3 forum.computerbild.de www.google.de
4 www.google.de www.facebook.com
5 blog.rolandbaer.ch www.google.at

Aus dieser Tabelle kann ich einige interessante Schlüsse ziehen:

  1. Das ‘interne Marketing’ zwischen Webseite und Blog ist einseitig. Das Blog erhält viel mehr Traffic von der Webseite als umgekehrt (nicht nur in der Rangliste, sondern auch in absoluten Zahlen). Wenn man die beiden Seiten betrachtet wird auch schnell klar warum: Auf der Webseite ist das Blog besser sichtbar als auf dem Blog der Link zur Webseite. Da besteht sicher noch optimierungspotential.
  2. Das NSIS-Tutorial auf meiner Webseite ist der Traffic-Bringer
  3. Der Einsatz des Plugins Add Link to Facebook zahlt sich aus.

Fazit

Neben den Statistiken und den schönen Grafiken können mit der Analyse mit Piwik auch Schwachstellen der Webseite erkannt werden. Dies gibt Ansporn, Verbesserungen zu planen und vorzunehmen. Dabei kann der Fokus auf Google bleiben, solange die anderen Suchmaschinen noch keinen nennenswerten Marktanteil haben. Dass sich dies im Jahr 2012 ändert würde ich aber eher bezweifeln.

Zeitgeist revisited: A Browsers History

08. Januar 2012

In meiner Zeitgeist-Auswertung habe ich auch die Marktanteile der Browser dargestellt. Aus Neugier wollte ich wissen, ob sich der Marktanteil eines Browsers stark verändert hat. Dazu habe ich die Zugriffe auf meine Webseite seit der Umstellung auf Piwik ausgewertet:

Browser Marktanteile April 2010 - Dezember 2011


Grosse Verschiebungen sind nicht zu beobachten. Beim Internet Explorer ist ein leichter Abwärtstrend auszumachen, die Webkit-Familie kann diese Schwäche zu einer kleinen Marktanteils-Steigerung nutzen.

Für die allgemein als die grossen drei angesehenen Browser Firefox, Chrome und Internet Explorer habe ich noch Grafiken erstellt, die die verschiedenen Versionen der Browser darstellen. Daraus kann man die Aktualisierungen schön sehen. Als erstes der Internet Explorer:

Internet Explorer Versionen April 2010 - Dezember 2011

Internet Explorer Versionen April 2010 - Dezember 2011


Man kann schön sehen, dass der Browser nicht allzu oft überarbeitet wird, mehrere Versionen über lange Zeit verwendet werden und deshalb alte Versionen nicht so schnell ‘aussterben’.

Als Gegensatz dazu Chrome von Google:

Chrome Versionen April 2010 - Dezember 2011

Chrome Versionen April 2010 - Dezember 2011


Die grosse Legende zeigt schon an, dass die Version sehr oft ändert, der Browser also fleissig überarbeitet wird. Der automatische Update-Mechanismus führt auch dazu, dass der Browser schnell aktualisiert wird und deshalb kaum alte Versionen im Umlauf sind.

Beim Firefox sieht man die Philosophie-Umstellung recht schön:

Firefox Versionen April 2010 - Dezember 2011

Firefox Versionen April 2010 - Dezember 2011


Bis im ersten Quartal des letzten Jahres wurde die Version 3.6 wohl weiterentwickelt, dies zeigte sich aber nur in der dritten Versions-Nummer (3.6.x). Ab der Version 4 wurde dann die Google-Philosophie der häufigen Updates mit Versionsnummer-Erhöhung an der ersten Stelle übernommen. Diese werden nun auch automatisch aktualisiert, so dass die Versionen 4 bis 7 kaum mehr im Einsatz sind.
Man sieht auch, dass etwa 20% der Besucher bei diesem “Update-Wahnsinn” nicht mitmachen wollen und bei der Version 3.6 geblieben sind.

Die Tendenzen entsprechen auch den bei browser-statistik.de gezeigten Statistiken der Browser-Versionen (Achtung: umgekehrte Darstellung, neue Versionen werden unten hinzugefügt).

Zeitgeist 2011

06. Januar 2012

Inspiriert von Googles Zeitgeist veröffentliche ich hier ein paar Statistiken aus meinen Piwik-Analysen des vergangenen Jahres.

Suchbegriffe

Rang Webseite Blog
1 nsis tutorial slippery when wet
2 nsis nsis package including subdirectory
3 nsi deleteregkey piwik vs awstats

Browser

Wie aus den Grafiken unten und der Tabelle ersichtlich ist auf meinen Seiten der Firefox klarer Marktführer.

Browser-Marktanteil Web 2011

Browser-Marktanteil Web 2011


Browser-Marktanteil Blog 2011

Browser-Marktanteil Blog 2011

Browser-Familie Webseite (%) Blog (%)
Gecko (Firefox) 63.75 57.00
Trident (IE) 18.58 23.99
WebKit (Safari) 10.99 15.63
Presto (Opera) 6.52 2.63
KHTML (Konqueror) 0.07 0.42
unbekannt 0.09 0.33

Androids Marktanteil bei 50%

16. November 2011

Laut den Zahlen von Gartner hat Android bei den Smartphone-Betriebssystemen einen Marktanteil von 50% an den im dritten Quartal 2011 verkauften Geräten erreicht.

Während Apple mit den iPhones die Stückzahlen steigern konnte (aber trotzdem etwas an Marktanteil einbüsste) blieben RIMs BlackBerries bei den Stückzahlen stabil, was einen grösseren Verlust beim Marktanteil zur Folge hat. Microsoft verlor sowohl bei den Stückzahlen als auch beim Marktanteil. Microsoft muss sich also sehr sputen, wenn die Prognosen von Gartner vom Frühling erreicht werden sollen.

Microsoft wurde bereits von Samsung mit ihrem eigenen Betriebssystem Bada überholt (Steigerung beim Marktanteil von 100%!). Bada ist aber noch weit von den Big 4 (Android, Symbian, iOS und Research In Motion) entfernt, von denen Symbian als der grosse Verlierer angesehen werden muss.

Warten wir mal gespannt auf die Abschlusszahlen für 2011 und vergleichen diese dann mit den alten Prognosen.

Slippery When Wet #5: The Process object or Optimization? don’t do it!

12. November 2011

Slippery When WetI proudly present to you the fifth in a infinite number of posts of “Slippery When Wet.” In these posts I show you a little bastard I stumbled on.

To get the memory usage information you can use the System.Diagnostics.Process class. As I wantet to check the memory usage regularly I kept the reference to the Process object in my class. But the value never changed anymore… Then I tried to get the Process object every time i needed the current memory size – and it worked.

So I read the documentation a little more carefully and got to this part:

The process component obtains information about a group of properties all at once. After the Process component has obtained information about one member of any group, it will cache the values for the other properties in that group and not obtain new information about the other members of the group until you call the Refresh method. Therefore, a property value is not guaranteed to be any newer than the last call to the Refresh method. The group breakdowns are operating-system dependent.

So I changed my code again to not get the Process every time I wanted the current memory size but call the Refresh method.

And what did we learn from this episode?

Michael A. Jackson (“The First Rule of Program Optimization: Don’t do it (…)“) and Donald Knuth (“(…) premature optimization is the root of all evil (…)“) are right. Don’t do optimization, especially not if you don’t really know what you are doing…

Piwik in Version 1.6 erschienen

29. Oktober 2011

Nachdem seit dem letzten Update doch einige Zeit verstrichen ist, erschien am 18. Oktober die Version 1.6 von Piwik.

Neben verschiedenen Verbesserungen an bestehenden Funktionalitäten wurden auch Sicherheitslücken geschlossen.

Für diesen Release wurden 75 Tickets abgearbeitet.

Leider ist die Ankündigung nicht in RSS Feeds des Blogs ersichtlich, deshalb kam meine Ankündigung auch etwas verspätet.

Studien zu Piwik und Google Analytics

05. Oktober 2011

Als Benutzer und Unterstützer von Piwik bin ich natürlich auch daran interessiert, wie sich Piwik gegenüber Google Analytics und anderen Webanalyse-Tools behaupten kann.

Ende September hat yourposition ihre Studie “Web Analytics in der Schweiz” präsentiert. In dieser Studie liegt Piwik in der Schweiz auf Position 5, ganz klar abgehängt von Google Analytics und auch mit relevantem Abstand zu den Plätzen 2 bis 4. Wenn man nur die Webseiten betrachtet, die ein clientseitiges Webanalyse-Tool einsetzen (784 in der Studie) kommt Piwik auf einen Marktanteil von 2.9%.

W3Techs analysiert regelmässig die verwendeten Technologien auf den Webseiten. Sie stellen dabei auch eine Analyse für Top Level Domains (TLD) zur Verfügung. Laut W3Techs Analyse der Webanalyse-Tools für die TLD “.ch” erreicht Piwik mit einem Marktanteil von 4.3% den zweiten Platz hinter Google Analytics (Stand 5. Oktober 2011). Die weiteren Konkurenten kann Piwik mit knapp einem Prozent oder mehr Vorsprung hinter sich lassen.

Marktanteile der Webanalyse-Tools

Aus dem Vergleich der beiden Studien kann man einige Schlüsse ziehen:

  • Google Analytics ist klarer Marktführer, ob nun mit knapp 73% (laut yourposition) oder mit knapp 88% (nach W3Techs) Maktanteil.
  • Piwik hat einen gewissen Marktanteil erreicht, es hat aber noch Potential nach oben!
  • Je nach Auswahl der Webseiten (Schweizer Webseiten und Webseiten mit TLD .ch müssen nicht dieselben sein) und Anzahl derselben kann das Resultat unterschiedlich ausfallen.
  • Studien und Analysen sollten immer mit einer Portion Skepsis betrachtet werden, getreu dem Sprichwort “Glaube keiner Statistik, die du nicht selbst gefälscht hast”.

Dritter Teil des NSIS Tutorials veröffentlicht

06. September 2011

Der dritteTeil des NSIS Tutorials ist ab sofort online. Viel Spass beim lesen. Über Fragen/Vorschläge/Wünsche freue ich mich, entweder per Mail oder über Kommentare in diesem Blog.
Aufmerksame Leser werden bemerken, dass der Hinweis auf den vierten Teil verschwunden ist. Dieser Teil ist in nächster Zeit nicht geplant, da mich zur Zeit andere Projekte und Interessen stärker beschäftigen. Mehr dazu werded ihr hier in diesem Blog oder auf meiner Webseite sehen.

Piwik in Version 1.5.1 erschienen

13. Juli 2011

Am Wochende ist Piwik in der Version 1.5 erschienen.

Für diesen Release wurden 16 Tickets abgearbeitet. Es wurden dabei keine neuen Features implementiert sondern nur Fehler und Probleme behoben.

Slippery When Wet #4: this is it – the this keyword in Javascript

13. Juli 2011

I proudly present to you the fourth in a infinite number of posts of “Slippery When Wet.” In these posts I show you a little bastard I stumbled on.

Coming from the C++/C#/Java world, the ‘this’ keyword is well known for accessing the instance of the class itself. For accessing members, it is not mandantory but often favored for clearness.

With this background, a first try could look like this (complete html page in the package, file this1.html):

var marc = {
    name: "Marc",
    hello: function(visitor) {
        document.write("Hello " + visitor + ", my name is " + name + "!")
    }  
}

window.onload = function()
{
    marc.hello("Peter");
}

And the output is:

Hello Peter, my name is !

OK, let’s try again!
We call the name property explicit (this2.html):

        document.write("Hello " + visitor + ", my name is " + this.name + "!")

And the output is, as expected:

Hello Peter, my name is Marc!

So, it’s a piece of cake, we have only to put the this keyword for all members, and we’re done…

Wait, not so fast, youngster!

Let’s try it with a function reference like in the next example (this3.html):

var marc = {
    name: "Marc",
    hello: function(visitor) {
        document.write("Hello " + visitor + ", my name is " + this.name + "!")
    }  
}

var greet = marc.hello;

window.onload = function()
{
    greet("Peter");
}

And the output is:

Hello Peter, my name is !

The name is lost again!

This problem occurs because JavaScript doesn’t support implicit binding in a way C++ and others do.

With calling the function through the function reference, the this inside the hello function points not to marc but to the window. To verify this thesis, we just add a name to the window:

var marc = {
    name: "Marc",
    hello: function(visitor) {
        document.write("Hello " + visitor + ", my name is " + this.name + "!")
    }  
}

var greet = marc.hello;

window.name = "Sue";

window.onload = function()
{
    greet("Peter");
}

And the output is:

Hello Peter, my name is Sue!

But how can we solve this problem? The two easiest solutions are apply and call:

var marc = {
    name: "Marc",
    hello: function(visitor) {
        document.write("Hello " + visitor + ", my name is " + this.name + "!")
    }  
}

var greet = marc.hello;

window.onload = function()
{
    greet.apply(marc, ["Peter"]);
    document.write("<br />");
    greet.call(marc, "Peter");
}

And the output is:

Hello Peter, my name is Marc!
Hello Peter, my name is Marc!

With apply and call, you do an explicit binding. The object you pass as the first argument (in our example marc) does not need to have the function itself, but should of course have the members that are used inside the function.
The difference of apply and call is only in the signature of the function. With apply, the parameter have to be passed inside an array. With call, the parameters are lined up after the explicit binding object.

This should give you some ideas to identify problems coming from the binding and some solutions to solve them.

For further reading i suggest the following articles: