Google
What do people say about Google? What's the freshest news, the brightest comment? Start reading and stay tuned!
 

02 Juli 2009

Dr. Web

Büroprogramme 2010: Büro Easy und QuickBooks in der nächsten Runde

Alle Jahre wieder erscheint eine neue Jahresversion von Büro Easy und QuickBooks. Als Nutzer ist man quasi zu einem Neukauf beziehungsweise zu einem Update gezwungen, weil die Vorjahresversion ihre Funktionalität verliert. Wir haben uns angeschaut, was die Anwender bei den 2010er-Versionen erwartet und auf welche Neuerungen man sich freuen darf.

Bereits im vergangenen Jahr berichteten wir über die Büroprogramme Büro Easy 2009 und QuickBooks 2009. Die Bewertungen fielen positiv aus. Büro Easy von Lexware erwies sich wegen der Tutorials und Videoerklärungen als einsteigerfreundlich und war somit eine Kaufempfehlung für alle Buchhalter-Laien. Gerade gegenüber dem direkten Konkurrenzprogramm WISO MEIN BÜRO aus dem Hause Buhl Data konnte Büro Easy punkten, denn auch MEIN BÜRO soll einen leichten Einstieg ermöglichen, doch im direkten Vergleich zeigt sich, dass die Einarbeitungszeit hier erheblich länger ausfällt.

QuickBooks 2009, das ebenfalls von Lexware produziert wird, richtet sich hingegen an eine gänzlich andere Zielgruppe. Tutorials oder Videoerklärungen suchte man hier vergebens, weshalb Einsteigern von diesem Programm eher abgeraten werden musste. Dafür aber erfreuten sich die Fortgeschrittenen an der etwas umfangreicheren Funktionalität. Sofern Vorkenntnisse im Bereich der Buchhaltung vorhanden sind, schätzt man die mehrfachen Buchungsauswertungen und man kann sogar komplett auf den Steuerberater verzichten, weil mit QuickBooks die Einnahme-Überschuss-Rechnung abgeschlossen werden kann. Kurzum ließ sich also festhalten, dass Einsteiger mit Büro Easy und Fortgeschrittene mit QuickBooks eine gute Wahl treffen.

Die Büroprogramme gehen in die nächste Runde

Die Nutzung eines solchen Büroprogramms ist leider nie von langer Dauer. Lexware und Buhl Data (WISO Mein Büro) haben ausschließlich Jahresversionen im Programm. Vom 1. Januar 2010 an werden die 2009er-Versionen praktisch unbrauchbar, weil sich das Programm nicht auf das neue Jahr umstellen kann. Möchte man also weiterhin mit der Software arbeiten, ist dies zwangsweise mit einer weiteren Ausgabe verbunden. Immerhin bietet Lexware im Gegensatz zu Buhl Data Update-Versionen an. Die Preisersparnis gegenüber der Vollversion beträgt etwa 20- (bei Büro Easy) beziehungsweise 50 Prozent (bei QuickBooks). Man sollte die Anschaffung allerdings nicht direkt bei Lexware tätigen, denn beim Hersteller liegen die Preise erheblich höher als im Handel.

Die neuen Features

Bereits im vergangenen Jahr zeigte sich, dass man bei den Jahresversionen keine bahnbrechenden Neuerungen erwarten kann. Die Grundfunktionalität bleibt meist unverändert und die neuen Features sind eher im Detail zu finden. Im Jahre 2010 verhält sich dies nicht anders. Sowohl bei Büro Easy 2010 als auch bei QuickBooks 2010 sind die Menüs fast unverändert. Als Nutzer der Vorjahresversion wird man also direkt loslegen können und keine Einarbeitung benötigen.

Das wichtigste neue Feature entdeckt man bei einem Blick auf die Navigationsleiste. Büro Easy und QuickBooks verfügen über ein neues Mahn-Center. Laut Lexware haben im vergangenen Jahr viele Kunden nach einem Ausbau des Mahnwesens verlangt, und man wollte diesem Wunsch nachkommen. Tatsächlich erweist sich die neu hinzugekommene Funktionalität im Arbeitsalltag als sehr hilfreich. Zunächst einmal kann das Mahn-Center individuell eingerichtet werden, wobei unter anderem über die Fälligkeitstage der einzelnen Mahnungen, über den Mahnzinssatz und über die Mindestgebühren individuell bestimmt werden kann. Später wird man jederzeit eine Auflistung darüber finden, welche Kunden ihre Rechnung noch nicht beglichen haben und in welcher Mahnstufe sie sich gerade befinden. Im Bedarfsfall ist eine weitere Mahnung schnell erstellt.

Langfristig wird man aber sicherlich darum bemüht sein, lediglich für Kunden mit guter Zahlungsmoral tätig zu sein. Auch dabei ist Büro Easy beziehungsweise QuickBooks behilflich. Detaillierte Auswertungen geben Auskunft darüber, welche Kunden in der Vergangenheit schnell bezahlten und welche Kunden öfters abgemahnt werden mussten. Gerade, wenn man über einen großen Kundenstamm verfügt und die unterschiedliche Zahlungsmoral nicht im Kopf hat, erweist sich diese Übersichtsfunktion als hilfreich.

Ein weiteres neues Feature stellt die Reisekostenabrechnung dar. Diese ist sowohl in QuickBooks als auch in Büro Easy Plus enthalten; in der Standardversion von Büro Easy fehlt es hingegen. Es enthält nicht nur ein herkömmliches Fahrtenbuch, auch die sonstigen Reisekosten kann man erfassen. Die Reisekostenabrechnung funktioniert mit bis zu drei Personen, und die gesetzlichen Pauschalen und Berechnungswerte für In- und Auslandreisende werden automatisch berücksichtigt. Eine weitere interessante Neuerung, die sowohl in Büro Easy als auch in QuickBooks enthalten ist, stellt der Newsletter-Generator dar, mit dem man die Kunden regelmäßig über neue Angebote oder Sonderaktionen informieren kann. Dabei hat man nicht nur Kontrolle über den textlichen Inhalt sondern auch über die grafische Darstellung.

Damit wären nun aber auch schon alle wesentlichen Neuerungen abgehandelt. Die sonstigen hinzugekommenen Features fallen eher weniger ins Gewicht. So zum Beispiel eine verbesserte Kontensuche, eine Mengenkalkulation, das Anlegen von Sonderpreisen und mehr Selektionsmöglichkeiten im Serienbriefmanager, sodass man die Kunden auch nach deren Kundennummer, der Postleitzahl, der Preisgruppe oder dem Kundentyp heraussuchen kann.

Die unterschiedlichen Versionen

Während von QuickBooks lediglich eine Version erscheint, kann man sich bei Büro Easy zwischen zwei verschiedenen Programmversionen entscheiden. Die Unterschiede zwischen Büro Easy 2010 und Büro Easy Plus 2010 sind allerdings nicht für alle Selbstständige von Interesse. Neben dem bereits erwähnten Unterschied, dass die Plus-Version über eine Reisekostenabrechnung verfügt, richtet sich die erweiterte Funktionalität lediglich an Arbeitgeber. So ist eine Stamm- und Lohndatenverwaltung aller Mitarbeiter vorhanden, eine Termin- und Aufgabenorganisation, ein Brutto-Netto-Gehaltsrechner und eine komfortable Arbeitszeiterfassung.

Testversion

Gerne würden wir an dieser Stelle auf eine herunterladbare Testversion hinweisen. Leider aber enttäuscht Lexware auch in diesem Jahr wieder und bietet den Interessenten kein Demo. Stattdessen wird eine 4wöchige Testphase geboten. Das heißt, man erwirbt das Programm über Lexware und hat innerhalb der ersten 4 Wochen bei Nichtgefallen volles Rückgaberecht. Nur wenn man zufrieden ist und die Software nach der Testphase behalten möchte, muss man die Rechnung begleichen.

Fazit

Büro Easy und QuickBooks 2010 verfügen, wie erwartet, über keine bahnbrechenden Neuerungen. Dennoch habe einige der neuen Features zumindest eine positive Erwähnung verdient. Speziell das neue Mahn-Center und die Reisekostenabrechnung stoßen auf Gefallen. Ob man sich nun für QuickBooks oder für Büro Easy entscheidet, hängt wie immer von dem eigenen Kenntnisstand ab. Wer ein Einsteiger in der Buchhaltung ist, ist mit Büro Easy wesentlich besser bedient. Nur im Falle einer ausreichenden Vorerfahrung kann QuickBooks empfohlen werden.

Bevor sich nun aber eine klare Kaufempfehlung aussprechen lässt, sollte man die Veröffentlichung von "WISO Mein Büro 2010" und "WISO Selbstständig 2010" abwarten. Ein genauer Veröffentlichungstermin steht zwar noch nicht fest, laut Buhl Data ist aber zwischen Mitte- und Ende September damit zu rechnen. Und sollten die beiden Programme hinsichtlich der Einsteigerfreundlichkeit aufgeholt haben, so könnten sie durchaus eine gute Alternative zu Büro Easy werden. (tm)

Über Oliver Jensen

Gravatararbeitet als freiberuflicher Texter und Journalist und ist für Zeitschriften, Redaktionen und verschiedene Firmen tätig. Bevor er diesen Werdegang einschlug, konzentrierte er sich auf die dramaturgischen Aufgaben, wobei er ein Theaterstück und Drehbücher für Kurzfilme und Showreels schrieb. Website. Weitere Beiträge für Dr. Web: 93

Verwandte Artikel

by Oliver Jensen at 6:59 :: 02 Juli 2009 under Software

 

01 Juli 2009

Chip

Podcast 45: HTC Hero, C903, iPhone ohne Vertrag

Ein neuer iPhone-Rivale mit Google-Betriebssystem ist Thema im 45. Xonio-Podcast: Wir sprechen über den Praxis-Test des HTC Hero.
>



10:54 :: 01 Juli 2009

Sistrix

Google enteignet Burda, oder?

Hubert Burda hat sich in der FAZ öffentlich beschwert: Suchmaschinen wie Google würden die Content-Produzenten "schleichend enteignen". Die Argumentation geht folgendermaßen: während Qualitätsmedien (Burda produziert übrigens auch Superillu und Glücks-Revue) für viel Geld tolle Inhalte erschaffen, würden Suchmaschinen diese Inhalte übernehmen und einen Großteil der Werbeerlöse einstreichen. Es ist sicherlich kein Zufall, dass ihm das gerade während einer extremen Wirtschafts- und folglich ...

10:24 :: 01 Juli 2009

Dr. Web

JavaScript: Animiertes Säulendiagramm mit HTML Canvas

Mit HTML Canvas braucht man nicht mehr auf Tricks zurückgreifen, sondern kann direkt in JavaScript punktgenaue Grafiken zeichnen. Wir stellen das anhand eines animierten Säulendiagramms vor. Schauen wir uns an wie Rechtecke inklusive Farbverlauf gezeichnet werden.

In JavaScript können mit HTML Canvas im Webbrowser komplexe Grafiken programmiert werden – dazu stehen Methoden wie fillRect(),bezierCurveTo() und createLinearGradient() zur Verfügung. Am Beispiel eines animierten Säulendiagramms stellt dieses Tutorial die Grafikprogrammierung mit HTML Canvas vor und beschreibt wie Rechtecke inklusive Farbverlauf gezeichnet werden sowie der Ursprung des Koordinatensystems verschoben wird.

Beispiel: Animiertes Säulendiagramm -- Live Demo plus Quelltext (neues Fenster)

Welche Webbrowser unterstützen HTML Canvas?

HTML Canvas wurde von Apple mit dem Dashboard von Mac OS X eingeführt. Heute wird es unter anderem von den Webbrowsern Chrome, Safari 1.3+, Firefox 1.5+, Konqueror und Opera 9.00+ unterstützt. Für den Internet Explorer steht HTML Canvas mit dem ExplorerCanvas-JavaScript von Google zur Verfügung.

Spezifiziert ist HTML Canvas derzeit als Entwurf in HTML 5 von der WHATWG und dem W3C.

Rechteck zeichnen

Erster Schritt für das animierte Säulendiagramm ist das Zeichnen eines gefüllten Rechtecks mit fillRect():

fillRect(in float x, in float y, in float w, in float h)

Die ersten beiden Werte x, y geben die linke obere Ecke des Rechtecks und die beiden folgenden w, h die Breite und Höhe des Rechtecks an. Alle Angaben erfolgen dabei in der Punkteinheit des Koordinatensystems von Canvas, dessen Ursprung links oben liegt:

var canvas = document.getElementById('canvas');
    if(canvas && canvas.getContext) {
        var ctx = canvas.getContext('2d');
        if(ctx) {
            ctx.fillRect(50, 25, 100, 150); // x, y, w, h
        }
}

Beispiel: fillRect() -- Live Demo plus Quelltext (neues Fenster)

Canvas und der Grafikkontext

Im Beispiel sieht man, dass fillRect() und auch alle anderen Zeichenmethoden nicht direkt zum Canvas-Objekt gehören, sondern in einen 2D-Grafikkontext liegen, den man mit ctx = canvas.getContext('2d') erhält. Dadurch wird das Canvas-Element flexibler und lässt sich z.B. auch für 3D-Grafik nutzen: moz-glweb20- und opera-3d-Kontext.

Das HTML Canvas-Element selbst wird mit dem Startag <canvas>, dem Endtag </canvas> sowie der Breite und Höhe des Elements im width- und height-Attribut definiert:

<canvas id="canvas" width="200" height="200">
</canvas>

Webbrowser ohne Canvas-Unterstützung zeigen alles an, was zwischen dem Start- und End-Canvas-Tag liegt. Dies sollte man für sinnvolle Fallbacklösungen nutzen. Im Fall eines Diagramms zum Beispiel für ein Bild:

<canvas id="canvas" width="510" height="200">
  <p><img src="image/Umsatz_2042.png" width="510" height="200" alt="Umsatz 2042" /></p>
</canvas>

Ursprung verschieben

Um zur Ausgabe der aufrechtstehende Säulen die Koordinaten nicht selbst umrechnen zu müssen, wird die Transformationsmatrix verändert. Dazu wird der Ursprung mit translate(20, canvas.height - 30) in den unteren Bereich der Zeichenfläche verschoben und die Koordinaten mit scale(1, -1) an der x-Achse gespiegelt.


Beispiel: translate() -- Live Demo plus Quelltext (neues Fenster)

Farbverlauf

Farbverläufe sind eine einfache Möglichkeit, eine Grafik ansprechender aussehen zu lassen. Ein linearer Farbverlauf wird im Canvas mit createLinearGradient(x1, y1, x2, y2) erzeugt. Die x/y-Koordinaten geben den Start- und Endpunkt der Linie an über die sich der Farbverlauf erstreckt.

Wichtig ist dabei, dass diese Punkte in dem Bereich liegen, in dem das Zeichnen erfolgt. Im Fall der maximal 120 Punkte hohen Säulen ist dies eine Linie von 0, 0 nach 0, 120 zum Füllen der Säulen von unten nach oben. Liegen die Endpunkte des Farbverlaufs außerhalb der gezeichneten Figur, dann bleibt die Figur einfarbig wie das createLinearGradient()-Beispiel zeigt:

Beispiel: createLinearGradient() -- Live Demo plus Quelltext (neues Fenster)

Die Farben des Farbverlaufs werden mit addColorStop(offset, color) gesetzt. Mit offset wird die Position der Farbe auf der Linie beschrieben. Dieser Wert liegt zwischen 0.0 und 1.0. 0.0 steht für den Startpunkt der Linie, 1.0 für den Endpunkt. Die Farbe wird als String mit einem CSS 3-Farbwert angegeben. Folgender Programmcode definiert einen Farbverlauf von Gelb, nach Rot in der Mitte, zu Blau im Endpunkt:

var fill = ctx.createLinearGradient(0, 0, 0, canvas.height - 1);

fill.addColorStop(0.0, 'yellow');       // Gelb
fill.addColorStop(0.5, '#ff0000');      // Rot
fill.addColorStop(1.0, 'rgb(0,0,255)'); // Blau

Beispiel: addColorStop() -- Live Demo plus Quelltext (neues Fenster)

Status der Transformationsmatrix für Hintergrund retten

Während für die Säulen der Ursprung in den unteren Bereich verschoben wird, soll sich der Farbverlauf für den Hintergrund dagegen über den gesamten Canvas von der linken oberen bis zur rechten unteren Ecke erstrecken. Es wird also einmal eine Transformationsmatrix für den Ursprung links oben im Canvas-Element (die vorgegebene Transformationsmatrix) und eine zweite für das Zeichnen der Säulen mit dem verschobenen Ursprung benötigt. Dies kann man im Canvas leicht mit den save()- und restore()-Methoden erreichen:

save() rettet alle Eigenschaften des Canvas auf einen Stack. Dazu gehören u.a. die gesetzten Farben, die Strichstärke, die Schattenwerte und die Transformationsmatrix.

restore() holt diese Werte wieder vom Stack runter und setzt die Eigenschaften auf ihre zuvor geretteten Werte zurück. Damit reduziert sich der Wechsel des Ursprungs auf folgenden Programmcode:

Hintergrund zeichnen;

save(); // Ursprung retten

  translate(); // Ursprung verschieben
  scale();     // Koordinaten spiegeln

  Säulen zeichnen;

restore(); // Ursprung wiederherstellen

Beispiel: Animiertes Säulendiagramm -- Live Demo plus Quelltext (neues Fenster)

Animation

Im letzten Schritt werden die Säulen animiert. Eine einfache Schleife für Animationen ist folgende:

forever {
  Neue Positionen berechnen;
  Objekte zeichnen;
  40 Millisekunden warten; // für 25 Bilder/Sekunde
}

In JavaScript gibt es jedoch keine Methoden wie waitTime() oder delay(), um ein Skript 40 Millisekunden warten zu lassen. Stattdessen stellt JavaScript setTimeout() und setTimeInterval() zur Verfügung:

timer = setTimeout(expression, timeout) führt nach Ablauf der in Millisekunden angegebenen timeout-Zeit einmalig den JavaScript-Ausdruck expression aus.

Beispiel: setTimeout() -- Live Demo plus Quelltext (neues Fenster)

timer = setInterval(expression, interval) führt dagegen den Ausdruck im Abstand von interval Millisekunden wiederholt aus, bis der so gestartete Zeitgeber mit clearInterval(timer) wieder gelöscht wird – genau das, was für eine Animation benötigt wird.

function startTimer() {
    timer = setInterval(logTimeDiff, 1000 / 25);
}

function logTimeDiff() {
    if(count++ > 20) {
        clearInterval(timer); // Zeitgeber stoppen
    }

    // Zeitdifferenz ausgeben
}

Beispiel: setInterval() -- Live Demo plus Quelltext (neues Fenster)

Stopp nach 2 Sekunden Laufzeit

Die Säulenanimation soll nicht endlos lange laufen, sondern nach 2 Sekunden sollen die Säulen komplett sichtbar sein. Zum Stoppen der Animation merkt sich das Skript daher mit startTime = new Date().getTime() den Startzeitpunkt der Animation, vergleicht ihn in animate() mit der aktuellen Zeit und beendet die Animation durch das Löschen des Timers mit cleanInterval(timer).

var timer    = null; // JavaScript Timer
var duration =  2;   // Laufzeit in Sekunden
var fps      = 25;   // Bilder pro Sekunde

function animStart() {
    startTime = new Date().getTime();
    timer = setInterval(animate, 1000 / fps);
}

function animate() {
    var diffTime = new Date().getTime() - startTime;

    // Ende?
    if(diffTime >= 1000 * duration) {
        clearInterval(timer);
    }

    draw();
}

Flüssige Animation

Am setInterval()-Beispiel wird man wohl auch auf dem eigenen Rechner sehen können, dass die logTimeDiff()-Funktion nicht immer exakt nach 40 Millisekunden aufgerufen wird:

  • Timer start
  • 47
  • 49
  • 40
  • 41
  • 39
  • 57
  • 40

Die Unterschiede ergeben sich aus Faktoren wie der Genauigkeit des Zeitgebers des Betriebssystems, dem Verhalten des Webbrowsers, dem was sonst noch auf dem Rechner und im Webbrowser gerade abläuft. Damit die Animation trotzdem möglichst flüssig aussieht benutzt das Skript einen Skalierungsfaktor, der abhängig von der verstrichenen Zeit zwischen 0.0 und 1.0 liegt und in animate() berechnet wird: scale = diffTime / (1000 * duration). Mit diesem Faktor wird die Höhe der Säulen gezeichnet: fillRect(0, 0, 30, scale * value)

Am Ende scale auf 1.0 setzen

Da durch die Ungenauigkeit des Zeitgebers die verstrichenen Zeit am Ende über 2 Sekunden liegen kann und der Skalierungsfaktor dann größer als 1.0 ist, wird er zum Schluss auf den gewünschten Endwert von 1.0 gesetzt. So wird das Skript robust gegenüber dem ungenauen Zeitgeber und das Diagramm zeigt keine falschen Werte an:

// Ende?
if(diffTime >= 1000 * duration) {
    scale = 1.0; // Auf 1.0 setzen, damit die Säulen am Schluss mit
                 // Sicherheit mit dem richtigen Wert gezeichnet werden
    clearInterval(timer);
}

Namensraum per Objektliteral

Damit das fertige Skript nicht mit anderen gleichzeitig auf einer HTML-Seite eingebundenen Skripts kollidieren kann, ist es mit Hilfe des Objektliterals im eigenen Namensraum eingeschlossen. Aus:

var timer     = null; // JavaScript Timer
var startTime =  0;   // Startzeitpunkt der Animation
var fps       = 25;   // Bilder pro Sekunde

function anim() {
}

function animStart() {
  startTime = new Date().getTime();
  timer = setInterval(animate, 1000 / fps);
}

Wird im Objektliteral:

var bc = {
   timer    : null, // JavaScript Timer
   startTime:  0,   // Startzeitpunkt der Animation
   fps      : 25;   // Bilder pro Sekunde

   anim: function() {
   },

   animStart: function() {
       bc.startTime = new Date().getTime();
       bc.timer = setInterval(bc.animate, 1000 / bc.fps);
   }
};

Tipp: Das Objektliteral und darüber hinausgehende Möglichkeiten für den Aufbau von JavaScripts beschreibt Mathias Schäfer in Organisation von JavaScripten.

Zusammenfassung

Beispiel: Animiertes Säulendiagramm -- Live Demo plus Quelltext (neues Fenster)

Dieses Tutorial hat anhand eines animierten Säulendiagramms vorgestellt wie in HTML Canvas direkt mit fillRect() gezeichnet, ein Farbverlauf mit createLinearGradient() und addColorStop() beschrieben, der Ursprung und die Ausrichtung der Koordinatenachsen mit translate() und scale() verändert, mit Hilfe von setInterval() die Ausgabe animiert und der Programmcode mit Hilfe des Objektliterals im eigenen Namensraum eingeschlossen wird.

Die Demos, Anwendungen und Tutorials in der Linkliste zeigen weitere Möglichkeiten des HTML Canvas-Elements.

Material zum Download

Zip-Archiv mit allen ausführbaren Beispielen.

Links

Über Sven Drieling

Gravatar

**** 38911 BASIC BYTES FREE ****

READY.
[]

Website. Weitere Beiträge für Dr. Web: 1

by Sven Drieling at 7:20 :: 01 Juli 2009 under Javascript

 

30 Juni 2009

Internetmarketing

Hubert Burda VS Google

In einem Gastbeitrag in der FAZ stellt Hubert Burda einige scheinbar “verzweifelte” aber ansonsten völlig “schwachsinnige” Forderungen.

Er wirft Suchmaschinen vor mit den “journalistischen” Inhalten Geld zu verdienen. Was natürlich nicht ganz falsch ist. Aber natürlich verdienen auch grade die Verlage durch den von Google gelieferten Traffic. Sie werden hier nun wirklich nicht ausgenutzt. Andernfalls wäre es ja auch ein leichtes per robots.txt die notwendigen Schritte einzuleiten. Hubert Burda sind hierin “kein tragfähiges Geschäftsmodell für journalistische Qualität im Internet”. Wo kämen wir denn hin, wenn sich Verlage schon alleine vom Google-Traffic finanzieren könnten …

Nun wirft Hubert Burda Suchmaschinen und sogar Providern und anderen Anbietern vor, überproportional von den Inhalten der Verlage zu profitieren. Mal davon abgesehen, dass die Nennung von Providern ziemlich “lächerlich” ist. Herr Burda sollte mal einen Blick über den Tellerrand werfen. Die von Suchmaschinen indexierten Inhalte stammen nur zu einem sehr kleinem Teil von Verlagen. Wenn Verlage nun ihren Anteil haben sollen, gilt das genauso für viele andere …… im Internet kommen qualitativ hochwertige Inhalte bei weitem nicht alleine von Verlagen. Und wie man die eigenen Angebote für ein unverzichtbares “Kultugut” halten kann und gar zur Bewahrung der Demokratie für notwendig erachtet, der hat offenbar den Stand und die weitere Entwicklung des Internet noch nicht verstande.

Im übrigen deutet sich derzeit an, dass zum Beispiel durch Facebook und Twitter weitere wichtige Traffic-Quellen für insbesondere auch nachrichtenorientierte Webseiten entwickeln. Deutschland hinkt hier zwar noch hinterher, aber auch hier wird es sich entwickeln. Insofern bleibt abzuwarten wie sich die “Gatekeeper”-Funktion von Google zukünftig entwickelt. Vielleicht täten Verlage besser daran, ein Angebot aufzubauen, das Besucher freiwillig regelmässig “direkt” besuchen. Ich für meinen Fall besuche täglich Spiegel Online ….



by Jojo at 18:46 :: 30 Juni 2009 under Sonstiges

PC Welt

Yello Sparzähler: Stromkosten von Yellow Strom bei iGoogle im Blick

Yello Sparzähler: Stromkosten von Yellow Strom bei iGoogle im Blick
Den Yellow Sparzähler von Yello Strom können Sie ab Herbst auch via iGoogle abfragen. So haben Sie Ihre Stromkosten immer im Blick.

>

>

11:14 :: 30 Juni 2009

Chip

Dell: iPod-Konkurrent mit Android in Planung?

Der Computer-Riese Dell arbeitet angeblich an einem Gerät auf Basis des freien Google Betriebssystems Android, das dem iPod touch Konkurrenz machen soll. Es sollen bereits erste Prototypen existieren.
>



7:39 :: 30 Juni 2009

Dr. Web

PageRank-Sculpting mit nofollow & Linkjuice - neueste Erkenntnisse

The early years

Im Jahr 2005 führte Google das Attribut "rel=nofollow" für den <a>-Tag in HTML ein. Gedacht war es als Anti-Spam-Maßnahme in der Blogsphäre. Links in Kommentaren zu Blog-Postings werden seitdem in 95% der Fälle "nofollow" gesetzt (allerdings vor allem zur Spam-Vermeidung). Damit existieren die Links für Google und andere große Suchmaschinen nicht. Sowohl HTML 4.01 und XHTML 1.0 erlauben die Erweiterung des "rel"-Attributs um eigene Werte.

Zweckentfremdet

Für findige Suchmaschinen-Optimierer war das neu eingeführte Attribut ein eleganter Weg, den so genannten Linkjuice (Linkpopularität) und den PageRank der Website zu konzentrieren beziehungsweise zu erhöhen:

Statt mittels des META-Tags "robots" ALLE Verweise einer Website als "follow"/"nofollow" zu klassifizieren, bietet das Attribut "rel=nofollow" eine differenzierte Methode an, um einzelne Links für Google auszuschließen. Bevorzugt wurden seit dem Aufkommen des "PageRank Sculptings" - also dem "Formen" der einer Website innewohnenden Linkpopularität - zum Beispiel Menü-Verweise auf "Impressum", "Kontakt", "Nutzungsbedingungen" als "nofollow" gekennzeichnet. So gingen diese nicht in das Page-Ranking ein, wodurch nur die vom Content her (ge)wichtigen Bereiche einer Website in das Google-Ranking mit einfließen sollten.

Up to date

Google hat seit der Einführung des PageRank 2000 einige Verbesserungen an dem Algorithmus erzielt. Link-Auswertungen sind heute wesentlich komplexer geworden und es wurde bereits gerüchteweise verbreitet, Google hätte vor etwa einem Jahr seinen PageRank-Algorithmus in Bezug auf "nofollow" - Verweise geändert. Diese Änderung betrifft derzeit circa 3% der indexierten Verweise im Internet und damit etwa 9 Milliarden Links.

Zum besseren Verständnis habe ich die Auswirkungen der Veränderung im Algorithmus grafisch aufbereitet :

Für den Einsatz des nofollow-Attributs bedeutet dies folgendes. Konzentrierte sich früher der "Linkjuice" durch Einsatz dieses Attributs auf wichtige Links, so versickert heute quasi ein Teil des Linkjuice in den nofollow-Links. Google nimmt als Basis nämlich die Gesamtzahl der Verweise auf der Seite, nicht mehr nur die follow-Links. Matt Cutts hat dies noch einmal klar und deutlich in seinem Blog am 17. Juni dieses Jahres mitgeteilt:

Does this mean “PageRank sculpting” (trying to change how PageRank flows within your site using e.g. nofollow) is a bad idea?
A: I wouldn’t recommend it, because it isn’t the most effective way to utilize your PageRank. In general, I would let PageRank flow freely within your site. The notion of “PageRank sculpting” has always been a second- or third-order recommendation for us. I would recommend the first-order things to pay attention to are 1) making great content that will attract links in the first place, and 2) choosing a site architecture that makes your site usable/crawlable for humans and search engines alike.

Sein Fazit also : Nofollow - Attribute für PageRank-Sculpting sind zu vermeiden beziehungsweise nur ein Mittel für extrem hoch geratete, große Sites.

Sie führen zu einem schlechteren PageRank , da sie zwar PageRank "konsumieren", aber nicht "fließen" lassen.

Konsequenzen aus Googles Umdenken

Die Konsequenzen aus Googles Änderungen vor einem Jahr werden kontrovers disktuiert. Vielfach wird die Vermutung geäußert, dass SEOs zu den "klassischen" Methoden der Pre-nofollow-Ära zurückgreifen, um den PageRank zu formen. Unliebsame Links werden mit Javascript oder Flash "maskiert" und so vor Google versteckt.

Allerdings verkündete Vanessa Fox bereits in Ihrem Blog, dass der GoogleBot gängige Maskierungsmethoden bereits entlarven und die darin enthaltenen Verweise mitaufnehmen kann, um so ein objektives Bild der Website zu bekommen. Eine Ausnahme bilden Linkmaskierungen durch externe Skripte - diese werden bisher nicht erkannt. Eine weitere Alternative wäre es, die Kommentare zu Blogeinträgen zu moderieren. Allerdings ist dies bei größeren Blogs/Communities kostenintensiv beziehungsweise nicht zu bewerkstelligen.

Meiner Meinung nach ist es wahrscheinlich, daß Blogs weiterhin auf das nofollow-Attribut in ihren Comments setzen, während es für OnPage-Optimierung der Linkstruktur nahezu bedeutungslos werden wird. (fm)

Über Frank Mey (ehem. Gerards)

GravatarFrank Mey arbeitet nach seinem Studium Medienproduktion und -technik an der HAW Amberg-Weiden als Medienbeauftragter eines Mittelständlers und als Freelancer v.a. im Bereich TYPO3. Website. Weitere Beiträge für Dr. Web: 2

by Frank Mey at 6:28 :: 30 Juni 2009 under SEO

 

29 Juni 2009

Internetmarketing

TaT: Facebook VS Google, …

Dem Wetter und der Nachrichtenlage entsprechend sind wir wohl im Sommerloch … ein paar Links für alle die “noch” arbeiten:



by Jojo at 21:56 :: 29 Juni 2009 under This and That

Chip

HTC Hero: Google-Held im Praxis-Test

Flash, 5-Megapixel-Kamera, HSPA und Touchscreen: Das HTC Hero bringt Android-Handys auf einen neuen Level.
>



15:30 :: 29 Juni 2009

Dr. Web

Illustrator: Logodesign mit dem Pathfinder

Mit Adobe Illustrator lassen sich ganz einfach und schnell Logos und Icons erstellen. Alles was man dafür braucht ist ein bisschen Fantasie und das praktische Pathfinder-Werkzeug, das auch von Einsteigern leicht zu bedienen ist.

Dies sind die Illustrator-Werkzeuge, die wir für das Logo brauchen:

Kreis, Rechteck und Dreieck Aufziehen

Für unser Logo wollen wir eine stilisierte Schere und einen Zeichenstift gestalten. Als erstes ziehen wir für die Schere mit Rechteck- und Ellipse-Werkzeug einen Kreis und ein schmales Rechteck auf. Mit dem Zeichenstift werden dann Ankerpunkte für ein spitzes Rechteck gesetzt, das die Schneide der Schere darstellen wird. Falls etwas schief gehen sollte: Command/Control Z macht den letzen Schritt rückgängig.

Pathfinder - Hinzufügen

Alle drei Formen werden aneinander gelegt und mit der Shift-Taste und dem Auswahl-Werkzeug markiert. Mit gedrückter Alt-Taste und Pathfinder „Hinzufügen“ werden sie zu einem Objekt vereinigt. (Die Alt-Taste beseitigt überflüssige Pfade, man kann aber auch den Umwandeln-Button im Pathfinder klicken)

Schnittmenge entfernen

Für das Loch im Scherengriff wird ein weiterer Kreis aufgezogen und mit Alt + „Schnittmenge entfernen“ ausgeschnitten.

Spiegeln

Das Spiegeln-Werkzeug mit gedrückter Alt-Taste erzeugt eine reflektierte Kopie des Scherenelements. Dafür wählt man das Objekt mit dem Auswahlwerkzeug und aktiviert das Spiegeln-Werkzeug, welches sich hinter dem Drehen-Werkzeug in der Werkzeugleiste verbirgt, oder Objekt-Transformieren-Spiegeln in der Menüleiste. Das Spiegeln erfolgt entweder per Hand, indem man einen Ankerpunkt wählt und das Objekt mit gedrückter Alt-Taste zieht, oder über die Eingabe eines Winkels.

Subtrahieren

Damit sich die beiden Teile besser voneinander abheben, wird ein schmales Rechteck auf eines der beiden Scherenteile gelegt, beides markiert und mit Alt + „Subtrahieren“ ausgeschnitten.


Das Gleiche noch einmal mit einem kleinen Kreis in der Mitte des anderen Scherenteils:

Am Ende wählen wir die ganze Schere aus und fügen alle Teile zusammen mit  Alt und „Hinzufügen“ - fertig!

Ankerpunkte bearbeiten

Jetzt bauen wir einen Stift und gehen ganz ähnlich vor. Zuerst ziehen wir ein längliches Rechteck auf. In der Mitte  der Ober- und Unterkante wird mit dem Ankerpunkt-hinzufügen-Werkzeug, das hinter dem Zeichenstift-Werkzeug liegt, jeweils ein weiterer Ankerpunkt gesetzt.

Mit dem Direktauswahl-Werkzeug, wählt man den oben gesetzten Ankerpunkt und zieht ihn hoch, so dass eine Spitze entsteht.

Die Rundung an der Unterkante des Stiftes erzeugt man mit dem Ankerpunkt-Konvertieren-Werkzeug. Dazu muss der Ankerpunkt auch mit dem Direktauswahl-Werkzeug ausgewählt werden. Danach zieht man den Punkt nach unten, die Rundung kann man mit den Grifflinien ausbessern.

Fläche aufteilen

Als nächstes sollen die Spitze des Stiftes und die Stiftmine abgetrennt werden. Ein auf der Spitze platzierter Kreis wird zusammen mit dem Stift markiert. Klickt man „Fläche aufteilen“ entstehen drei gruppierte Objekte. Über Objekt - Gruppierung aufheben kann man den oberen abgetrennten Teil des Kreises löschen. Dasselbe wiederholt man oben an der Mine. Die drei übrigen Teile etwas auseinander ziehen, damit man die Konturen erkennt.

Subtrahieren

Um die Linien auf dem Stift zu erzeugen ziehen wir ein sehr schmales Rechteck auf, das wir mit dem Auswahl-Werkzeug und der Alt+Taste ein paarmal auf der Stiftfläche duplizieren.

Diese werden gemeinsam mit der Stiftfläche ohne Spitze ausgewählt und wieder mit „Subtrahieren“ ausgeschnitten. Zum Schluss wird der Stift über „Hinzufügen“ zusammengefügt.

Drehen & Duplizieren

Um das Ganze interessanter zu gestalten, kann man Schere und Stift noch ein paarmal drehen und gleichzeitig duplizieren. Das Drehen Werkzeug wählen und bei gedrückter Alt-Taste den Rotationspunkt etwas nach unten ziehen und loslassen. Es erscheint der Drehen Dialog und man kann einen 90° Winkel eingeben. Wichtig ist, dass man dann eine Kopie erstellt und nicht einfach „ok“ drückt. Mit Transformieren - Erneut transformieren oder Command/Control D kann man diesen Vorgang dann vier mal wiederholen.

Jetzt wird schnell noch ein Rechteck aufgezogen. Mit gedrückter Shift-Taste wählen wir es zusammen mit den vier Scheren aus. Wir klicken „Hinteres Objekt abziehen“ im Pathfinder, erhalten eine Silhouette und sind fertig.

Fazit

Adobe Illustrator bietet erstaunlich viele Werkzeuge, mit denen man von Vektor-Illustrationen, Grafiken und sogar simple 3D-Objekte erstellen kann. Der Pathfinder macht einem das Leben besonders leicht. Am besten probiert man alle Optionen einfach einmal durch, oft ergeben sich auch überraschende und unerwartete Ergebnisse. Für eine solche Vektorillustration gibt es natürlich verschiedene Herangehensweisen, vielleicht kennt jemand eine noch schnellere. (sl)

Über Aniko

GravatarAniko ist Volkswirtin, studiert aber momentan Digital Media in Ulm. Sie interessiert sich besonders für Grafikdesign/Illustration und möchte unbedingt auch HTML und CSS lernen. Im Internet ist sie meist als Defifee unterwegs. Website. Weitere Beiträge für Dr. Web: 1

by Aniko Atilla at 10:19 :: 29 Juni 2009 under Vektorgrafiken

Chip

GeeksPhone: Google-Handy auf Omnia-Basis

Die spanische Firma GeeksPhone will eine eignes Android-Handy auf Basis des Samsung Omnia auf den Markt bringen.
>



9:12 :: 29 Juni 2009

 

28 Juni 2009

Dr. Web

Tutorial: Toggle-Boxen mit jQuery

Mit jQuery werden mittlerweile viele Websites verschönert, indem die Informationen nicht mehr, wie gewohnt, statisch in irgendeinem HTML-Element präsentiert werden; die Benutzer werden manchmal schon zur Interaktivität „gezwungen“. Eine Methode, so was mit jQuery zu erstellen, ist das Akkordion. Nachteil hierbei ist, dass standardmäßig jeweils nur eine Box geöffnet ist. Was ist aber, wenn ich mehrere offen halten will? Am besten baut man sich eigene Toggle-Boxen.

Fast genauso einfach, wie das Einbinden des Accordion Widgets vom jQuery UI, kann man sich mit Hilfe von jQuery einfache Toggle-Boxen selbst bauen. Genauso wie beim Accordion existieren die Boxen bereits zur Laufzeit und werden nur noch aus- oder eingeblendet. Die Boxen funktionieren auch ohne JavaScript und werden damit auch von Suchmaschinen ausgelesen.

Zu Beginn

Um jQuery und dessen mitgelieferte Funktionen zu nutzen, muss man die JavaScript-Datei im Head-Bereich einbinden, die man sich von der jQuery-Website herunterladen kann.

<script type="text/javascript" src="js/jquery.js"></script>

Hier müssen gegebenenfalls der Pfad und der Dateinamen angepasst werden.

Newsbox bauen

Der folgende Ausschnitt zeigt, wie das Steuerelement, das Bild, später als Knopf über der Newsbox eingebunden wird.

<img src="images/box_news_open.gif" alt="News" id="boxhead_news" class="box_head" />

Der Klassenname ist später wichtig, damit wir die Grafiken ansprechen können, wenn diese angeklickt wurden. Die ID wird später auch noch relevant sein, denn daran wird unser Skript später erkennen, welche Box sich öffnen oder schließen soll.
Wir beginnen mit einer geöffneten Box, damit, wenn JavaScript deaktiviert ist, diese trotzdem angezeigt wird. Wichtig ist hier das Suffix des Dateinamens mit dem _open. Warum werden wir in dem Abschnitt „Toggle der Schaltfläche“ näher erklären.

Unsere eigentliche Newsbox bauen wir, wie folgt, auf:

<div id="box_news" class="boxes">
    <p>
        <strong>Beispieltitel</strong><br />
        Beispieltext
    </p>
</div>

An dieser Stelle ist es wichtig, dass die ID unserer Box, die gleiche Endung hat, wie unser Button oben (in diesem Fall also _news), sonst öffnet sich später die falsche Box oder gar keine.

Mit CSS formatieren wir noch mal grob unsere Boxen und unser Bild. Dazu habe ich im Head-Bereich die CSS-Datei eingebunden:

<link rel="stylesheet" type="text/css" href="css/style.css" />

und folgende Eigenschaften definiert:

.box_head{
    border: 1px solid #9C9C9C;
    margin-bottom: -6px;
    margin-top: 10px;
    width: 280px;
}
.boxes{
    width: 280px;
    border: 1px solid #9C9C9C;
}
.boxes p{
    padding: 20px;
}

Wenn die Box später beim Zuklappen „springt“, liegt es daran, dass jQuery die Höhe falsch berechnet und die Padding-Eigenschaft überspringt (tritt bei älteren jQuery-Versionen auf). Deswegen definiere ich an dieser Stelle nie ein padding-top oder padding-bottom als Eigenschaft für die Box. Deshalb gebe ich dem nächsten Kindelement (in unseren Beispiel dem P-Tag) hier das Padding-Attribut.

Box-Toggle programmieren

Die eigentliche Funktion, erfolgt in einer separaten Datei, welche wir ebenfalls im Head-Tag (nach der jQuery-Inkludierung) einbinden. Die Datei kann natürlich wieder beliebig benannt werden; hier muss dann nur der Pfad angepasst werden.

<script type="text/javascript" src="js/script.js"></script>

In die Datei schreiben wir nun folgenden Quellcode:

$(function(){
    $('.box_head').click(function(){
        idelem = $(this).attr('id');
        idelemdiv = idelem.replace('boxhead_', 'box_');
        $('#'+idelemdiv).slideToggle("normal");
    });
});

Ich werde das Skript hier erläutern. Wer sich auskennt, springt einfach zum nächsten Punkt. In der ersten Zeile steht die Kurzschreibweise von $(document).ready(function(){});

Der Inhalt dieser Funktion wird erst ausgeführt, wenn das Dokument komplett geladen ist und damit alle Elemente ansprechbar sind. Versucht man dieses ohne, kann kein Event-Listener an das Element gebunden werden, weil dieses einfach noch nicht existiert und die Box würde später nicht auf einen Klick reagieren. Wenn man wollte, könnte man die Sachen auch ohne einen aktiven Event-Listener programmieren, indem man im HTML-Quelltext eine onclick-Funktion auf das Bild legt.

In der zweiten Zeile binden wir ein Klick-Event mit einer anonymen Funktion an alle Elemente mit der Klasse box_head.
Die eigentliche anonyme Funktion ist in Zeile 3-6 ausprogrammiert.

In Zeile 3 wird die ID von dem jeweiligen Element (this), welches angeklickt wurde, geholt, um es später zu identifizieren. In Zeile 4 wird nun aus der ID das boxhead_ durch ein box_ ersetzt. An dieser Stelle wird es vielleicht klar, warum es so wichtig ist, dass das Bild, welches als Button fungiert, eine ähnliche ID wie die Box hat.

In Zeile 5 wird die Box nun mit der slideToggle-Funktion, welche von Haus aus von jQuery mitgeliefert wird, auf- oder zugeklappt (je nachdem, welchen Status sie vorher hatte). Als Parameter übergeben wir der Funktion die Einstellung für die Geschwindigkeit der Animation. Möglich sind hier als String zu übergeben "slow", "normal" oder "fast" oder aber auch ein numerischer Wert für die Zeit in Millisekunden.

Nun müsste der Toggle-Effekt bereits funktionieren und die Box müsste auf- und zugehen, wie vorher angedacht.

Toggle der Schaltfläche

An dieser Stelle werden wir unser Skript erweitern, sodass das Bild vom Button beim Klick wechselt. Wir schreiben uns also folgende Funktion:

function change_boximage(elem){
    src = $('#'+elem).attr('src');
    if (src.indexOf("_open") >= 0){
        src = src.replace('_open', '_close');
    } else {
       src = src.replace('_close', '_open');
    }
    src = $('#'+elem).attr('src', src);
}

Diese Funktion macht nichts anderes, als sich den Inhalt des src-Attributs aus dem Image-Tag zu holen und nach einem „_open“ zu suchen. Deswegen ist es an dieser Stelle so wichtig gewesen, dass die Bilder mit _open oder mit _close als Suffix im Dateinamen benannt werden. Je nachdem, ob die Box also schon auf oder geschlossen ist, ersetzt sie entsprechend das src-Attribut. Anschließend weist die Funktion dem Image-Tag den Wert zu.

Möchte man die Bilder anders benennen, muss man an dieser Stelle die Parameter der Funktion "replace" dementsprechend verändern. Diese Funktion rufen wir wiederum in unserer anonymen Funktion von dem Click-Event unserer Box auf.

change_boximage(idelem);

Das sollte nun schon funktionieren, sofern zwei Bilder existieren, die korrekt benannt wurden.

Button-Mouse-Over erstellen

Spontan wird niemand darauf kommen, auf die Boxen zu klicken. Schon gar nicht, wenn sich der Cursor nicht verändert. In diesem Fall müssen wir dafür sorgen, dass der Cursor sich beim Mouse-Over verändert. Dies machen wir ebenfalls mit jQuery, indem wir das hover-Event von jQuery an die Boxen binden. Dieses schreiben wir mit in unsere Document-ready-Funktion, in der wir bereits den Event-Listener für die Boxen integriert haben.

$('.box_head').hover(
    function() {
        $(this).css('cursor', 'pointer');
    },
    function() {
        $(this).css('cursor', 'default');
    }
);

Das hover-Event ist glücklicherweise mit zwei Parametern ausgestattet: der erste für das Event mit Mouse-Over und das zweite für Mouse-Out. So können wir mit einer Funktion gleich auf beide Möglichkeiten reagieren.

Wir benutzen die css-Eigenschaft cursor und setzen hier beim MouseOver den Cursor auf den Wert pointer und setzen diesen beim MouseOut wieder auf default zurück. Dieser Aufruf erfolgt erneut in einer anonymen Funktion. Dies müsste sofort funktionieren und wir hätten damit die Grundfunktion der Toggle-Boxen komplett ausprogrammiert.

Wenn man jetzt möchte, kann man die Toggle-Boxen im HTML-Gerüst vervielfältigen. Man muss lediglich darauf achten, dass die IDs zusammen passen und keine doppelten vorkommen.

Toggle-Boxen im Einsatz

Wie man sieht, ist das eigentlich recht einfach gemacht. Mit CSS kann man nun viele Feinheiten vornehmen, um die Boxen zu stylen. Ihr könnt das Beispiel auch noch mal hier im Web finden und dort ausprobieren oder wenn bei Euch was nicht ganz funktioniert, eventuell auf Fehlersuche gehen.

Material zum Artikel

Über René Bärje

GravatarRené (Jahrgang 1987) ist tätig als Webentwickler in einer Bremer Werbeagentur. Als gelernter Technischer Assistent für Informatik suchte René neue Herausforderungen und absolvierte eine Ausbildung zum Mediengestalter. René gibt Schulungen zu diversen Themen, führt viele Webprojekte an, schreibt Anwender-Dokumentationen und erstellt Kundenprojekte am laufenden Band. Website. Weitere Beiträge für Dr. Web: 1

by René Bärje at 14:21 :: 28 Juni 2009 under Tutorials

PC Welt

Black Hat SEO: Tricks der Suchmaschinen-Spammer

Black Hat SEO: Tricks der Suchmaschinen-Spammer
Mit Suchmaschinen-Optimierung versucht jeder Webmaster seine Seiten im Ranking von Google & Co. nach vorn zu bringen. Nicht alle Tricks sind gern gesehen - und damit meist keine gute Idee. Der Artikel stellt diese sogenannten Black-Hat-SEO-Methoden vor.

>

>

8:01 :: 28 Juni 2009

 

26 Juni 2009

SeekXL

Google Doodle: Siebenschläfertag

Da seit gut 20 Minuten der Siebenschläfertag ist, hat sich Suchmaschine Google dem Tag angepasst und ein entsprechendes Google Doodle zum Schmuck seiner Startseite spendiert. Für alle die mit dem Siebenschläfertag nichts anzufangen wissen, finden auf Wikipedia ausführliche Informationen. So wird der Tag, sowohl mit den Sieben Schläfern von Ephesus, als auch mit dem Nagetier Siebenschläfer [...]

by seekXL at 22:24 :: 26 Juni 2009 under Siebenschläfertag

Heise

Dr. Web

Project Pier - Projektmanagement für den eigenen Webspace

Dass Onlinetools für den modernen Webworker große Vorteile bieten, ist nicht zu bestreiten. Kritisch zu betrachten, ist allerdings, dass sehr viele Onlinetools auf fremden Servern laufen und die eingegebenen Daten nur mit nicht klar erkennbarer Sicherheit und Vertraulichkeit behandeln. Wir versuchen daher, bei Dr. Web stets auf sinnvollere Alternativen zum Fremdhosting hinzuweisen. Nachdem wir vor einigen Tagen bereits Collabtive vorgestellt haben, beschäftigen wir uns heute mit der Projektmanagement-Software "Project Pier" und schauen, ob der Claim "easy online collaboration" zu Recht gewählt wurde.

Basics und Systemvoraussetzungen

Auch Project Pier wurde als Fork des mittlerweile kommerziellen activeCollab gestartet. Bis zum jetzigen Zeitpunkt bemühen sich die Entwickler um eine weitgehende Nähe zum Ursprungsprodukt, was man besonders daran erkennen kann, dass es jeweils möglich ist, von activeCollab zu Project Pier upzugraden. Project Pier (PP) wurde unter Verwendung von PHP, Javascript und einer MySQL-Anbindung realisiert und sollte daher auf nahezu jedem heute üblichen Webspace lauffähig sein. PP wird von einer vergleichsweise großen Entwicklergemeinde aus aller Welt gepflegt und weiter entwickelt. Gegenstand meines Test ist die aktuelle Version 0.8.0.3, die bis zum 18. August 2009 durch die Version 0.8.5 abgelöst werden soll.

PP steht unter der GNU Affero General Public License , was bedeutet, dass es frei zu nutzen und zu verändern ist, solange Veränderungen unter der gleichen Lizenz wiederum veröffentlicht werden. PP benötigt auf Serverseite mindestens PHP 5 mit GDlib und SimpleXML-Extension, sowie MySQL ab Version 4.1. Als Webserver wird ein Apache (ab Version 2) empfohlen, grundsätzlich funktioniert PP aber auch auf einem IIS (ab Version 5). Ich teste PP auf einem stinknormalen Hostingpaket der mittleren Preisklasse.

Installation

PP umfasst rund 1.600 Einzeldateien, belegt etwa 8 MB Platz auf Ihrem Webspace und gehört damit schon zu den etwas schwergewichtigeren PHP-Anwendungen. Zur Installation laden Sie sich die Zip-Datei der aktuellen Version auf die Projektsite herunter, entpacken sie und laden sie mittels Ihres FTP-Clients der Wahl auf den Webspace hoch. Ich habe bereits zuvor im Backend meines Hostingpakets eine Subdomain sowie eine Datenbank angelegt. Natürlich ist auch der Betrieb der Software in einem Unterverzeichnis möglich. Ich persönlich finde die Subdomain-Lösung eleganter - Geschmackssache.

Nachdem PP vollständig hochgeladen ist, rufen Sie die Subdomain oder die sonstige URL, unter der Sie PP erreichen wollen auf. PP erkennt, dass es noch nicht installiert ist und verweist Sie auf den korrekten Installationspfad.

01-not-installed.gif

Im ersten Schritt der Installation informiert PP Sie in übersichtlicher Weise über die Systemvoraussetzungen und die für eine erfolgreiche Installation erforderlichen Informationen, sowie die einzelnen Installationsschritte. In dieser vorbildlichen Art und Weise präsentieren sich leider nur wenige Installationsscripte.

02-installscreen.gif

Sodann prüft PP, ob alle Installationserfordernisse auf Ihrem System erfüllt sind. Mängel werden rot gekennzeichnet. In meinem Fall weist PP darauf hin, dass ich noch auf einige Verzeichnisse Schreibrechte vergeben muss. Dabei beschränkt PP sich erfreulicherweise auf das absolut Notwendigste.

03-installation-check.gif

Nachdem ich Schreibrechte auf die Verzeichnisse Upload, Cache und Public/Files sowie auf die config.php vergeben habe, läuft der Check fehlerfrei durch.

04-installation-checked.gif

Im nächsten Schritt fragt PP nach den Datenbankinformationen. Außerdem besteht an dieser Stelle die Möglichkeit, den Scriptpfad anzupassen. In der Regel erkennt PP diesen aber selbst sehr zuverlässig.

05-installation-dbsettings.gif

Schlussendlich bietet PP Ihnen noch einmal eine Übersicht des Geleisteten und den Link zu Ihrer Installation. Der letzte Schritt besteht in der Anlage des ersten Users. Dieser User wird der Hauptadministrator des Systems. Außerdem geben Sie hier noch an, welcher Firma das System gehört. Das ist bei der Einumrichtung weiterer Benutzer von Bedeutung.

06-installation-success.gif

07-installation-first-user.gif

Erste Schritte

08-loginscreen.gif

Nach dem ersten Login präsentiert PP Ihnen das Dashboard, von welchem aus, Sie späterhin auf Ihre Projekte und Aufgaben zugreifen werden. Von hier aus erfolgt auch die gesamte Administration des Systems, so der eingeloggte User die entsprechenden Rechte besitzt. Beim ersten Aufruf schlägt PP Ihnen eine weitere Vorgehensweise vor, nach der Sie Schritt für Schritt Ihr System alltagstauglich machen.

09-first-login.gif

Abweichend von der vorgeschlagenen Reihenfolge wollen wir jedoch zunächst die Oberfläche auf Deutschsprachigkeit umstellen. Hierzu laden Sie die aktuelle deutsche Übersetzung herunter. Nachdem Sie das lediglich 20 KB große Paket entpackt haben, liegt Ihnen ein Verzeichnis namens de_de, sowie eine de_de.php vor. Diese beiden Elemente laden Sie per FTP in das Verzeichnis Language, welches sich direkt im Root der Installation befindet, hoch. Danach laden Sie die config.php auf Ihren Rechner herunter, öffnen sie mit dem Editor Ihrer Wahl (zum Beispiel dem für MacOSX kostenlos erhältlichen TextWrangler) und ändern die Zeile, in der die DEFAULT_LOCALIZATION definiert wird, von en_us auf de_de. Laden Sie die config.php wieder hoch. Bei dieser Gelegenheit können Sie noch die Schreibrechte von der Datei entfernen. Ein bisschen Paranoia hat noch niemandem geschadet. Befinden Sie sich noch im Backend Ihres PP, reicht ein Browserrefresh, um die Deutschsprachigkeit zutage treten zu lassen.

11-pp-nun-auf-deutsch.gif

Nun könnten wir uns an die Abarbeitung der von PP vorgeschlagenen Schritte machen. Ich persönlich empfinde die Standardoptik des Dashboard als visuelle Umweltverschmutzung und kann mich nicht überwinden, auf einer solchen Basis weiter zu arbeiten. Wenn es Ihnen so geht wie mir, öffnen Sie auf der rechten oberen Ecke des Dashboard das Dropdownmenü namens "Administration" und wählen dort den Punkt "Einstellungen" > "Allgemeines".

12-administration-allgemeines.gif

Hier haben Sie die Möglichkeit, einen mehr oder weniger kreativen Namen für Ihr PP-System zu vergeben oder PP zur automatischen Updateprüfung zu veranlassen. Ebenso geben Sie hier den Speicherort für durch Projektteilnehmer hochgeladene Dateien an. Es empfiehlt sich, diese Einstellung auf Dateisystem zu belassen. Alternativ können Sie natürlich auch alles in die Datenbank ablegen lassen, was abhängig von Art und Zahl Ihrer Projekte allerdings sehr schnell zulasten der DB-Performance gehen wird.

Der einzige Punkt also, den ich zur Änderung in diesem Menü empfehle, ist das Theme. Klicken Sie auf das entsprechende Formularfeld, sehen Sie, dass PP bereits eine ganze Reihe Themes vorinstalliert hat. Es ist mir schleierhaft, warum ausgerechnet das hässlichste die Standardeinstellung erhalten hat. Ich entscheide mich für acSimple, schlagartig lässt der Innendruck meiner Augen nach.

Wo wir nun schon einmal hier sind, werfen wir noch kurz einen Blick auf die E-Mail-Einstellungen. Standardmäßig nutzt PP, wie alle sonstigen mir bekannten PHP-Anwendungen für den Mailversand die entsprechende PHP-Funktion, was in der Regel die Methode der Wahl sein dürfte. Auch in PP ist es möglich, anstelle der PHP-Funktion einem SMTP-Server diese Aufgabe zu übertragen.

13-administration-e-mail.gif

Nachdem nun also die wesentlichen Probleme eines deutschsprachigen Ästheten behoben sind, kehren wir auf das Dashboard, das nun "Startseite" heißt, zurück und wenden uns der Abarbeitung der Vorschlagsliste zu.

14-startseite-aka-dashboard.gif

Zunächst empfiehlt es sich, die Firmeninformationen zu aktualisieren. Dabei sind nahezu alle Informationen optional. Wirklich ändern müssen Sie hier lediglich die Zeitzone, denn die steht nach der Standardinstallation auf GMT.

15-firmeninfo-aktualisieren.gif

Das Anlegen neuer Nutzer schlägt PP als nächsten Schritt vor. Dieser Vorgang ist ziemlich straight forward, bietet dabei aber ein Feature, das ansonsten nur selten zu finden ist, nämlich die automatische Generierung eines Passworts für den User. Gut in Sachen Sicherheit, wahrscheinlich aber zu selten genutzt. Auch ich entscheide mich im Rahmen des Tests lieber für ein Passwort, das ich mir merken kann. Dass PP auf weltweite Kollaboration vorbereitet ist, zeigt die Möglichkeit, jedem Benutzer eine eigene Zeitzone zuzuweisen. So kann der Entwickler in Indien mit dem Entwickler in Deutschland zusammenarbeiten, ohne dass es Irritationen über vereinbarte Zeitpunkte gibt.

16-neuer-nutzer.gif

Kehren Sie auf die Startseite zurück, sehen Sie, dass PP sich darum gekümmert hat, die bereits erledigten Aufgaben aus der Vorschlagsliste entsprechend zu kennzeichnen. Das System ist wirklich mit Liebe zum Detail programmiert.

17-strike-out-todo-liste.gif

Im nächsten Schritt haben Sie die Möglichkeit, weitere Firmen, beispielsweise Ihre Kunden anzulegen, soweit Sie mit diesen über die PP-Plattform zusammen arbeiten wollen. Auf diese Weise entsteht eine Art Rollenmanagement, denn die Mitarbeiter dieser Firmen erhalten im Gegensatz zu Mitarbeitern der eigenen Firma lediglich eingeschränkte Nutzerrechte, die sich pro Projekt und Nutzer gesondert festlegen lassen. Hingegen ist die Rechteverwaltung für eigene Mitarbeiter doch recht pauschal.

Kommen wir nun zum Kern des Pudels.

Das erste Projekt

Die Möglichkeit, neue Projekte anzulegen, besteht stets direkt von der Startseite aus und stellt einen recht simplen Vorgang dar. PP fordert einen Titel und eine Beschreibung an und zeigt im nächsten Schritt die automatisch zugeordneten Teilnehmer der eigenen Firma.

18-neues-projekt.gif

Über die Berechtigungsseite zum jeweiligen Projekt nimmt man nun weitere Personen der eigenen Firma oder solche von anderen Firmen hinzu. Beispielhaft nehme ich zu meinem Website-Meier-Projekt den Nutzer Dr. Web aus der Firma Smashing Media hinzu. Sie sehen, dass ich nun sehr feine Möglichkeiten der Rechtevergabe erhalte.

19-neuer-nutzer-andere-firma.gif

Die Übersichtsseite zum Projekt sieht zwar übersichtlich, aber noch recht leer aus.

20-uebersichtsseite-projekt-leer.gif

Ich lege den ersten Meilenstein an. Dabei habe ich neben dem Offensichtlichen die Möglichkeit, den Meilenstein als privat zu kennzeichnen, was dazu führt, dass lediglich die Mitarbeiter meiner eigenen Firma diesen Meilenstein sehen können. Außerdem gebe ich hier vor, wem dieser Meilenstein zugewiesen werden soll. Dabei besteht die Möglichkeit, eine Zuweisung an alle, einzelne Mitarbeiter oder alle Mitarbeiter einer hinterlegten Firma vorzunehmen. Verwendet man Firmen systemintern beispielsweise als Teams, könnte man auf diese Weise seinen Teams Aufgaben zuweisen, also recht gezielt mehrere Mitarbeiter ansprechen.

21-neuer-meilenstein.gif

Von der Übersichtsseite des Meilensteins aus gilt es nun, eine oder mehrere Aufgabenlisten anzulegen. Dies geschieht in einem Stapel, was die Anlage längerer Aufgabenlisten komfortabler werden lässt.

22-neue-aufgabenliste.gif

Hier wird deutlich, dass sich PP von anderen Lösungen, wie etwa dem hier ebenfalls vorgestellten Collabtive deutlich unterschiedet. An den Aufgaben ist es nämlich nicht möglich, einen Fälligkeitszeitpunkt zu definieren. Die Aufgaben werden auf einer Übersichtsseite kumuliert und sind von dort aus lediglich noch als erledigt abzuhaken. Etwaige Verschiebungsbedarfe müssen über den zugrundeliegenden Meilenstein realisiert werden.

23-uebersicht-aufgabenliste.gif

Ein wesentliches Element der Projektkommunikation in PP stellen die so genannten Nachrichten dar. Nachrichten dienen dem Austausch von Informationen untereinander und integrieren diese Gesprächsebene, die ansonsten per E-Mail oder IM laufen würde, in das Projektgeschehen, was höchst sinnvoll ist. So steht zu jedem Projekt bei konsequenter Nutzung des Systems stets die gesamte Informationsbasis an Ort und Stelle zur Verfügung.

24-neue-nachricht.gif

Nachrichten sind am weitestgehenden konfigurierbar. So können sie beispielsweise als "Wichtig" oder "Privat" markiert werden, um Ihnen Bedeutung zu verleihen oder sie nur intern der eigenen Firma sichtbar zu machen. An jede Nachricht können Dateien gehängt werden. Das wesentliche Feature dürfte jedoch die Möglichkeit sein, Nachrichten zu kommentieren. Am ehesten muss man sich diese Funktionalität vorstellen wie in einem Blog. Jemand schreibt einen Beitrag aka Nachricht und die übrigen Teilnehmer kommentieren diesen, respektive antworten darauf. So entsteht eine threadartige Übersicht der Diskussion. Nachrichten können sich auf Meilensteine beziehen und auch außerhalb von Meilensteinen, also ohne konkrete Zuordnung existieren.

25-beispielnachricht-mit-kommentar.gif

Auch die Nachrichtenübersicht des jeweiligen Projektes erinnert optisch stark an einen Blog.

26-nachrichtenuebersicht.gif

Interessant ist noch die Möglichkeit, hochgeladene Dateien mit entsprechenden Kommentaren zu versehen. Die Funktionalität ist mit denen der Nachrichten weitgehend identisch. So können Site-Entwürfe, Login oder sonstige Zwischenergebnisse in Dateiform schnell und unkompliziert besprochen werden.

Über den Karteireiter "Tags" lassen sich, eine konsequente Verwendung vorausgesetzt, entsprechende Elemente eines Projektes sehr schnell aufrufen. Die links oben, omnipräsente Suchfunktion führt allerdings auch zuverlässig zu Ergebnissen. Im Projekt wird derzeit diskutiert, ob eine Tagcloud den Karteireiter alsbald ablösen soll.

Über das Feature "Formulare" ist PP ein ganz kleines Stück weit erweiterbar. Ein Formular besteht stets nur aus einem einzigen Feld und hängt die eingebenen Informationen entweder an eine Nachricht oder einen Meilenstein. Ich habe nun eine Nachricht verfasst und "Bereits geleistete Stunden" genannt. Danach richte ich ein Formular namens Zeiterfassung ein und verknüpfe es mit der Nachricht. Jetzt kann jeder Teilnehmer durch simplen Aufruf des Formulars aus dem Formulare-Tab des Projektmenüs seine Projektstunden als Kommentar an die Nachricht hängen. Ich gebe zu, das ist kein nobelpreisfähiges Beispiel, aber das Prinzip wird klar. Übrigens ist mir bislang kein anderes Produkt mit ähnlicher Funktionalität unter gekommen.

27-beispielformular.gif

Was Project Pier nicht kann

Leider fehlt auch Project Pier, ebenso wie dem bereits vorgestellten Collabtive, die sehr nutzwertige Funktionalität, in einer personenbezogenen Übersicht anzeigen zu lassen, welche Personen welchen Projekten zugeordnet sind und welche Aufgaben sie noch zu erledigen, respektive bereits erledigt haben. Damit wird auch Project Pier für komplexere Aufgabenstellungen (viele Projekte, viele Nutzer, viele Aufgaben) ungeeignet.

Mag auf der Basis eines einzelnen Projekts eine solche Übersicht noch verzichtbar sein, so wird es doch für den Ressourcenverantwortlichen der Firma schwer, die Auslastung seiner Teams über alle laufenden Projekte im Blick zu behalten, von einer konkreten Kontrolle des Workflows (Was macht der Müller eigentlich den ganzen Tag?) ganz zu schweigen. Eine etwas rudimentäre Möglichkeit, sich immerhin global über den Verlauf der verschiedenen Projekte unterrichtet zu halten, besteht darin, den RSS-Feed der Gesamtaktivität zu abonnieren. Besser als nichts.

28-uebersicht-aktivitaeten-projekt.gif

Unschön ist auch, dass es in Project Pier keine grafischen Elemente gibt. Dabei dürfte die reine Kalenderübersicht bereits das schmerzhafteste Fehlen darstellen. Nichts von dem, was im Projektmanagement-Business ansonsten state of the art ist, gibt es. Project Pier läuft rein textorientiert. Sicherlich. Man kann über einen iCalendar-Feed etwaige Meilensteine in die Kalenderanwendung seiner Wahl, so zum Beispiel auch in Google Calendar eintragen lassen, aber eine systeminterne Funktion wäre schon komfortabler gewesen. Leider ist der gesamte Faktor Zeit im Programm etwas stiefmütterlich behandelt. Zeitangaben muss man regelrecht suchen, was die Effizienz im Einsatz der Software doch stark einschränkt.

Schade ist weiterhin, dass Kommentare nur an Nachrichten und Dateien möglich sind und nicht an Meilensteinen oder - noch wichtiger - Aufgaben. Basecamp-Nutzer werden das Fehlen der Möglichkeit, auf Kommentare per Mail als Kommentar zu antworten, beklagen. Überhaupt, Basecamp - ein Import aus Basecamp ist, anders als bei Collabtive beispielsweise, nicht möglich.

Mit Blick auf die Aufgaben empfinde ich es auch als nicht sinnvoll, dass es keinerlei speziellere Zuweisungen einzelner Aufgaben an einzelne User mit von den Meilensteinen abweichenden Zeitvorgaben gibt. Sicherlich kann man diesen Mangel durch eine Verstärkung der Anzahl an Meilensteinen, also quasi eine Pervertierung des Meilensteinprinzips beheben. Besser wäre jedoch eine Lösung, die immanent berücksichtigte, dass es bezogen auf einen einzelnen Meilenstein auch Aufgaben geben kann, die in Abhängigkeit voneinander nacheinander abgewickelt werden müssen.Im direkten Vergleich zu Collabtive fehlt PP eine Zeiterfassung, sowie das Instant Messaging. Ich persönlich nutze beides in Collabtive nicht, jedoch mag es für den ein oder anderen Bedarf durchaus bedeutsam sein.

Fazit

Project Pier ist eine stabile, funktionsreiche Lösung zur Abwicklung kollaborativer Projekte und Aufgaben. Dem Vorteil, wichtige Geschäftsdaten auf dem eigenen Server zu behalten, sind verschiedene, mehr oder minder schwere Nachteile im Vergleich zu bekannten Onlinediensten, wie etwa Basecamp, entgegen zu halten. Nutzer von activeCollab, die einen Umstieg in die Welt der freien Software erwägen, kommen indes nicht an Project Pier vorbei. Der Umstieg ist nahe an mühelos.

So bleibt mein Fazit etwas ambivalent. Ideal für den Anwender wäre sicherlich eine Verbindung der Features von Collabtive mit denen von Project Pier. Die solidere Basis stellt dabei Project Pier. Dennoch ergibt sich für mich als Collabtive-Anwender kein Wechselbedarf. Die wesentlichen Mängel Collabtives trägt auch PP und die geringen Vorteile von PP, wie etwa die iCal-Einbindung oder die blogartige Kommunikationsfunktion werden sicherlich bald in Collabtive nachgerüstet. (tm)

Über Dieter Petereit

Gravatarist diplomierter Absolvent des Studienganges Wirtschaftswissenschaften mit Schwerpunkt Marketing, aber bereits seit 25 Jahren in der IT daheim. Seit der Jahrtausendwende ist er bei verschiedenen Unternehmensberatungen tätig gewesen und hat dort KMU in Fragen crossmedialer Marketingstrategien, sowie hinsichtlich konkreter IT-Projekte betreut. Technische Dokumentationen schreibt er seit Ende der Neunziger am Fließband, so dass der Betrieb verschiedener Blogprojekte seit 2005 nur konsequent ist. Website. Weitere Beiträge für Dr. Web: 78

by Dieter Petereit at 6:26 :: 26 Juni 2009 under Teamarbeit

 

25 Juni 2009

Internetmarketing

TaT: …

Während sich scheinbar die ganze Welt mit dem Tod eines Musikers beschäftigt, möchte ich doch lieber mal ein paar Links in die Runde werfen:

Alles jetzt nicht so super spannend, dafür zum Wochenende noch ein lustiges Video: Google it with Bing.



by Jojo at 21:12 :: 25 Juni 2009 under This and That

 

Older entries:


2007 (weeks): 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |