Mittwoch, Februar 28, 2007

Hilfreiche Foren - GWT Groups

Ich baue im Moment gerade ein Web Interface für eine bestehende Applikation. Dabei benutze ich das GWT von Google. Was würde man bei solchen Projekten ohne entsprechenden Foren/Groups machen?
Besonders hilfreich für GWT ist die Gruppe Google-Web-Toolkit. Ich wäre wohl immer noch am Debuggen.

Problem war: Die Client - Server Architektur stand doch konnte ich die entsprechenden Server Klassen einfach nicht aufrufen. Interfaces und so standen und das klappte auch, doch wollte ich auf andere Packages auf dem Server zugreifen, so war dann auch schon fertig.

Lösung: Das Projekt einfach nochmals mittels ProjectCreator erstellen und dann die benötigten Packages dort reinkopieren und nicht umgekehrt, wie ich das am Anfang gemacht habe. Jetzt funktioniert es einwandfrei.

Einen speziellen Dank an Jason für seine Geduld ;)

Dienstag, Februar 27, 2007

Die Webdesign Podcasts der Woche - Teil 2

Technikwürze 61
Extrem gut und unterhaltsam. Es wird über Webstandards diskutiert. Besonders gut hat mir der Teil bei ca. Minute 40 gefallen, wo der eine Moderator über Microsoft herzieht...
Noch zum Thema Webstandards. Die sind einfach genial. Tabellen sind wirklich definitiv out! Also die Jungs geben wirklich alles, um die Hörer davon zu überzeugen. Ich glaube ich wüsste gar nicht mehr, wie das ohne gehen würde.

Boagworld - 68 - Tagtastic
Nicht eine meiner Lieblingssendungen, aber doch gut. Besonders interessant finde ich den Teil über die Navigation. Paul erläutert verschiedene Möglichkeiten: Suche, Tags, Breadcrumbs und Active Navigation. Letztere Schein noch ganz cool zu sein, wird aber wohl nur etwas für extrem grosse Seiten zu sein. Paul hat zudem zum Navigationsteil einen hübschen Blogeintrag geschrieben, welcher wirklich lesenswert ist.
Zudem geht es ein wenig mehr um OpenID.

.net Podcast - 3
Von Paul moderiert, aber leider nicht ganz so unterhaltsam wie Boagworld. Im Vergleich zum 2. Teil um einiges Besser. Wieder mal geht es um OpenID. Scheint überall so ein wenig die Schlagzeile zu sein. Das muss ich wohl wirklich mal ausprobieren.
Zudem gibt es einen interessanten Teil über Microformate im Zusammenhang mit Spam. Fazit: Microformate ungleich Spam! D.h. E-mail Adressen werden gefunden, ob sie als Microformate dargestellt werden, oder einfach so.

Montag, Februar 26, 2007

Bilder für die Homepage

Bilder können wirklich teuer sein müssen aber nicht:

Photocase.com
Anmeldung erforderlich. Danach lassen sich täglich 3 Bilder gratis beziehen. Diese können danach frei verwendet werden (sowie ich die Lizenzbedingungen richtig im Kopf habe). Die Eigentümer wünschen sich lediglich einen Vermerk, wo das jeweilige Foto gebraucht wird. Es finden sich darunter sehr gute Fotos!
Falls mehr Fotos benötigt werden, so nur gegen bezahlung.


Flickr.com
Hier findet man alles, von mieser bis exzellenter Qualität. Man muss halt nur ein wenig suchen. Lizenzen sind verschieben, aber es gibt sehr viele gratis Fotos. Ist mir persönlich zu aufwendig, da man zu lange suchen muss.

Dann gibt es noch diverse Stock Fotographie Bibliotheken... einfach mal ein wenig googlen und man wird schon fündig.

Mittwoch, Februar 21, 2007

Die Webdesign Podcasts der Woche - 1

Wöchentlich höre ich mir Webdesign Podcasts an. Namentlich sind dies das Boagworld Podcast (Englisch) und die Technikwürze (Deutsch).

Boagworld Podcast
Sehr gut. Das Podcast gibt viele Tipps rund um Webdesign. Paul und Marcus richten sich dabei an Professionelle Webdesigner. Das Podcast ist äusserst interessant und auch lustig gemacht (der Britische Humor ist einfach genial).

Die aktuelle Show ist die 67. Es lohnt sich aber auch, die alten mal anzuhören. Was ich besonders gut fand:

  • Einführung in OpenID. Dies scheint eine grosse Sache zu werden, da sich Microsoft dahinter stellt. Werde ich sicher ausprobieren.
  • Freelancing Lessons. Erfahrungen eines Freelancers
  • White space im Design. Dan Rubin erläutert die Wichtigkeit von White spaces im Design.
Technikwürze
Ist ganz ok. Sehr ins Detail. Nicht ganz so humorvoll wie Boagworld, aber doch immer sehr informativ. Für meinen Geschmack sollten die Informationen ein bisschen mehr verdichtet werden, was sich nicht auf das aktuelle Podcast bezieht.

Im aktuellen Podcast geht es um XML und XSLT. Äusserst informatives Podcast! Rund um XML und zwar vom Webdesign standpunkt her. Noch ist es ein wenig umständlich, alles via XML zu machen, doch wird sich das vielleicht noch ändern.

Web 2.0 Show
Meine erste Episode, welche ich hier gehört habe und ich muss ehrlich sagen, dass ich ein wenig enttäuscht war. Episode 37 war nicht gerade der Hammer. Die ersten 15 Minuten waren irgendwie nur bla bla..?
Danach wurde das Firmenkonzept von Lala vorgestellt, welches mehr oder weniger interessant war. Es fehlte hier ein wenig das Hintergrundwissen und beim Joggen konnte ich nicht einfach nachschlagen ;)
Ist eher für den Enduser als für den Webdesigner... Mal schauen, was die sonst noch zu bieten haben. Von den dreien hier auf jeden Fall der Schlechteste.

Ich bin immer noch auf der suche nach Podcasts. Besonders in Richtung PHP suche ich noch etwas empfehlenswertes... Ideen?

Dienstag, Februar 20, 2007

Kleine Übersicht - AJAX - AJAX Frameworks

Javascript/CSS

Viel der Dynamischen Funktionalität kann einfach über JavaScript/CSS erreicht werden. HTML Objekte haben ein „style.display“ Attribut. Dieses kann verschiedene Werte annehmen, z.B. „Block“ oder „none“.

Ajax

Ajax erlaubt eine asynchrone Datenübertragung. Dadurch können Teile einer HTML Seite nachträglich geladen, bzw. aktualisiert werden. Dies verringert den Traffic und die Serverlast und macht das Surfen angenehmer. Zudem wird kein zusätzliches Plug-in benötigt sondern lediglich JavaScript muss aktiviert sein.

2. Übersicht

3. Prototype

Prototype ist ein kleines AJAX Framework, welches aus einer knapp 2000 zeiligen Javascript Datei besteht. Es ist unter http://prototype.conio.net/ frei bezüglich und liegt momentan in der Version 1.4 vor.

Kern des Frameworks ist die Klasse Ajax.Updater und Ajax.Request. Dadurch lassen sich Ajax Anfragen sehr einfach und schnell vollziehen.


function suche(str,id){

var url = 'autocomplete.php';

var pars = 'str='+str+'&colName='+id;

var target = "table_div";

var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars,onComplete: showResponse});

}

url bezieht sich auf die Datei welche auf dem Server liegt, mittels par werden die Parameter übergeben, target bezieht sich auf ein HTML Container, welcher das Resultat darstellen wird.

Im Weiteren stellt Prototype einige andere praktische Funktionen zur Verfügung, z.B. $() welches document.getElementById() abkürzt usw.

So gesehen ist Prototype nicht eigentlich ein Framework sondern vielmehr eine Ansammlung von Javascript-Objekt-Erweiterungen.

Das Problem bei Prototype ist die mangelnde Anbindung an PHP.


4. HTML_AJAX – Pear Package


HTML_AJAX ist erst als Beta Version (0.5) vorhanden. Es wird jedoch bereits produktiv eingesetzt. Dies lässt erhoffen, dass die Version 1.0 sehr stabil sein wird. Es ist ein Pear Package und daher meistens schon standartmässig vorhanden. Im Vergleich zu Prototype erlaubt HTML_AJAX eine enge Anbindung an PHP.

Es können remote PHP Klassen angesprochen werden. Diese müssen in einer externen Datei eingebunden werden. Dort wird ein HTML_AJAX_Server Objekt erstellt, und es werden dann Javascript Stubs erzeugt.

Diese Klasse kann jetzt ganz einfach in der Hauptdatei angesprochen werden. Es fehlen lediglich noch ein paar Zeilen Javascript.


Beispiel:


<html>



<head>



<script type="text/javascript" src="server.php?client=all"&gt;</script&gt;



<script type="text/javascript" src="server.php?stub=all"&gt;</script&gt;



<script type="text/javascript"&gt;



var callback = {



rot13: function(result) {



document.getElementById('target2').innerHTML = result;



},



upperCase: function(result) {



document.getElementById('target2').innerHTML = result;



},



invert: function(result){



document.getElementById('target2').innerHTML = result;



}



}



var remoteExample = new example(callback); // our php5/4 compat version



function add(){



HTML_AJAX.replace("target", "output.php");



}



&lt;/script&gt;



</head>



<body>



<input type="button" onclick="add()" value="Click"/>



<div id="target"></div>



<input id="input" />



<a href="#" onclick="remoteExample.rot13(document.getElementById('input').value)">rot13 input</a>



<a href="#" onclick="remoteExample.upperCase(document.getElementById('input').value)"&gt;upperCase input&lt;/a>



<a href="#" onclick="remoteExample.invert(document.getElementById('input').value)">Invert input</a>







<div id="target2"></div>



</body>



</html>


Die Funktion add stellt einen simplen AJAX Request dar. Output.php wird angefordert und wird dann in target dargestellt.

Will man die PHP Klassen und Funktionen, welche auf dem Server liegen, dann muss man wie folgt vorgehen:

In der Variablen callback wird festgelegt, was mit dem Return Wert der einzelnen Funktionen geschehen soll. Jetzt wird nur noch die Klasse (hier exmple) instanziert. Die eigentlich PHP Methoden können jetzt mittels Javascript angesprochen werden.

Die dazugehörige Klasse auf dem „Server“ sähe wie folgt aus:
&lt;?php

//a session is required(you can also set session.auto_start=1 in php.ini)
session_start();

require_once 'HTML/AJAX/Server.php';

class example {

function rot13($input) {

return str_rot13($input);

}

function upperCase($input) {

return strToUpper($input);

}

function invert($input){

$ar = array();

$arSort = array();

for ($i = 0; $i &lt; strlen($input); $i++)

{

$ar[$i] = substr ($input, $i, 1);

}

krsort($ar);

return implode($ar);

}


}

$server = new HTML_AJAX_Server();

$server-&gt;registerClass(new example());

$server-&gt;handleRequest();


?&gt;


Gute Einführung unter: http://blog.joshuaeichorn.com/slides/Introduction-To-HTML_AJAX/
Die offizielle Seite: http://htmlajax.org/HTML_AJAX/HomePage


5. Google Web Toolkit (GWT)

Das Google Web Toolkit erlaubt es, Ajax Anwendungen mit Java zu bauen. Die Applikation kann in Java entwickelt werden. Zur Verfügung stehen die Kernklassen java.lang und java.util. Dazu hat Google noch einige „GUI“ Klassen, sogenanne Widgets beigefügt. Diese enthalten alle HTML Elemente: Knöpfe, Formulare, Tabellen, Menus usw. (Bsp: http://code.google.com/webtoolkit/documentation/examples/kitchensink/demo.html).

Wie schon gesagt, wird der Code in Java entwickelt, das heisst, es stehen die ganzen Debugging Funktionen zur Verfügung! Wenn das Projekt fertig gestellt ist, wird es in JavaScript kompiliert. Der GWT Kompilier erzeugt Cross-Browser Kompatiblen JavaScript Code (so sagen sie auf jeden Fall). Anfragen an den Server können an JavaServlets erfolgen oder aber an PHP.

6. xajax

Homepage: http://www.xajaxproject.org

Grösse des Frameworks: 181 KB.

Sehr einfaches Framework, welches praktisch ohne Javascript auskommt! Eine Einführung findet sich unter: http://wiki.xajaxproject.org/Tutorials:Learn_xajax_in_10_Minutes, welche sehr gut erklärt.

Einfacher Code sieht wie folgt aus:

&lt;?php

require_once("xajax.inc.php");

$xajax = new xajax();
$xajax->registerFunction("myFunction");

function myFunction($arg)
{
// do some stuff based on $arg like query data from a database and
// put it into a variable like $newContent
// Instantiate the xajaxResponse object
$objResponse = new xajaxResponse();

// add a command to the response to assign the innerHTML attribute of
// the element with id="SomeElementId" to whatever the new content is

$objResponse-&gt;addAssign("SomeElementId","innerHTML", $newContent);

//return the xajaxResponse object
return $objResponse;
}


$xajax-&gt;processRequests();
&lt;html>
<head>
<?php $xajax->printJavascript(); ?&gt;
</head>
<body>

<div id="SomeElementId"&gt;</div>
<form action="get">
<input type="button" value="Insert" onclick="xajax_myFunction(SomeArgument);" /&gt;

</form>
</body>
Vorteil
  • Kaum Javascript Kenntnisse nötig.
  • Sehr einfach einzubinden

Nachteile

  • Eher prozedural orientiert

  • Layout und Programmierung schwer trennbar

7. Weitere Frameworks


  • XOAD - PHP Based Ajax Framework

  • Dojo – The Javascript Toolkit

  • Sajax – Tool

  • AjaxAC - PHP Based Ajax Framework

  • CPAINT - Ajax Toolkit (Cross-Platform Asynchronous INterface Toolkit)

8. Weitere Infos

PS: Die Codeschnipsel sind eher Ansätze als dass sie den Anspruch auf vollständigkeit erheben!

Samstag, Februar 17, 2007

Erste Versuche mit Gimp

Nachdem ich Paint .net ausprobiert habe, habe ich mich jetzt auch noch dem Gimp gewidmet. Noch besser. Paint hat doch ein paar Funktionen gehabt, welche ich vermisst habe, welche jedoch gimp hat.

Hier ein paar Impressionen von meinen dürftigen Gimp Kenntnissen:







Genial!

Links:

Wie schnell ist die Internetverbindung? - Speedtest

Eine interessante Seite, Speedtest.net. Über eine nette Benutzeroberfläche lässt sich die Verbindungsgeschwindigkeit messen. Wie jeder bestimmt weiss, hängt diese jedoch auch vom Zielort ab.
So können Verbindungsgeschwindigkeiten nach China, Amerika, Australien oder einfach zum Nachbarn gemessen werden. Ist noch ganz interessant zu sehen, aber wohl nicht mehr als eine Spielerei.





Links

Freitag, Februar 16, 2007

Portable Apps

Was ich noch vor einem Jahr nach zwei drei Tage wieder weggeschmissen habe, beginnt mir langsam zu gefallen: Die Rede ist von Portable Apps - Programme, welche ohne Installation direkt vom USB Stick gestartet werden können.

Das Grundgerüst habe ich von der Webseite PortableApps.com heruntergeladen. Dort gibst auch gerade einmal ein paar Programme Out-the-Box, wie zum Beispiel:
- Open Office
- VLC Player
- FireFox
- ThunderBird
- 7Zip
- GIMP (Grafikprogramm)

Alles funktionert einwandfrei. Mein USB Stick, ein Cruzer Titanium mit U3 Unterstüzung macht da prima mit. Doch zu U3 gibt es folgendes zu sagen. Beim ersten mal reinschieben neu Formatieren und U3 sofort entfehrnen - Taugt nix! Der einzige Vorteil den es bringt ist, dass das PortableApps Menu direkt ohne aufforderung aufgeht. Ohne U3 muss man noch ein click mehr machen, was ich ohnehin begrüsse, vielleicht will ich ja nicht immer gerade das PortableApps starten, wenn ich meinen USB Stick reinschiebe.

Nach einigem suchen im Netz, habe ich auch noch ein paar andere sehr interessante Programme gefunden. So bin ich auf den IE7 Portable gestossen, den FireFox 2.0, ja sogar das ganze komplette Office 2003!

Weiter empfehlen kann ich die folgenden Programme:

  • Autostitch ( www.autostitch.net )
  • Babylon translator
  • Cute FTP Professional
  • Everest Ultimate ( http://www.lavalys.com/ ) Super programm, welches sämtliches über Dein System weiss
  • XAMPP (habe ich noch nicht ausprobiert, wäre aber sicher praktisch. Muss man einfach beachten, dass man je nachdem halt die Ports nicht öffnen kann...Wenn man aber zu Hause mehrere Computer am selben Router hat, könnte es praktisch sein. Oder einfach den Portablen XAMPP installieren, dann wenn man einmal Computer neu aufsetzt oder so, kann man es nur Copy-Paste.
  • Index Your Files Revolution! ( http://www.indexyourfiles.com/ ) Ist noch praktisch. Indexiert ein Laufwer oder Verzeichnis. Geht ganz schnell und ist ganz einfach, somit auch praktisch. Indexiert nur Dateinamen. Dafür funktioniert die Suche auch offline. Gerade dann praktisch, wenn man seine Externen HDs indexiert hat und herausfinden will, auf welcher eine bestimmte Datei ist.
  • VirtaulDub (ein Video schnitt und konvertierprogramm, sehr toll!)
  • ProcessExplorer (advanced TaskManager, einer meiner Lieblinge)
  • Portable Skype (jetzt noch einfacher zum Installieren)
  • Portable Google Talk
Das ists so, was ich bisher gefunden, und als sinnvoll erachtet habe. Daneben gibts noch tausende andere Dinge, am besten selber herausfinden, obs was taugt. Hinterlässt ja praktisch keine Spuren, kann also bedenkenlos testen. Deinstallation = delete Folder!

Die Beste Liste habe ich bisher hier gefunden:
http://en.wikipedia.org/wiki/List_of_Portable_Software

daneben gibts noch andere kleinere Listen, der Wiki ist aber bisher die grösste, die ich auffinden konnte.

Also, dann, viel Spass!

Freue mich auf weitere findlinge von Euch.


Anhang:
  • 2007-02-16_17:30:: Also bei den HackerCracks findet man dann auch so alles was das Herz begehrt. Da gibts Photoshop voll funktionsfähig für den USB Stick, Dreamweaver, Illustrator, Office 2003, Nero 7, WIN XP, Command&Conquer (diverse Versionen), CS, WinZip, CorelDraw 11, Quake3, PowerDVD, Visual Basic 6, Google Earth. Find ich genial.

Paint .net

Ich bin begeistert! Wozu hunderte von Franken für Photoshop ausgeben, wenn es auch gratis geht. Ok... die Funktionen sind schon ziemlich eingeschränkt, aber für mich vollkommen ausreichen. Arbeiten geht vieeeel schneller. Ebenen werden unterstützt, es gibt diverse schöne Effekte und da das Programm schlank ist, läuft es auch viel schneller auf meinem älteren Notebook.

Mein Profil:
Ich bearbeite zwischendurch mal ein paar Fotos, brauche ab und zu ein paar Webgrafiken und das wäre es dann auch schon. Keine komplizierten Sachen eigentlich. Das einzige was ich bis jetzt vermisst habe war die Funktion "extrahieren" ... Es gibt zwar das Lasso, aber ich muss sagen, die Photoshopt Funktion war ziemlich komfortabel!

Ansonsten werde ich wohl dabei bleiben. Es dient meinen Zwecken voll und ganz...

Was vielleicht dazu noch zu sagen ist. Das .net Framework wird benötigt. Ist aber meistens eh schon installiert.

Links

Donnerstag, Februar 15, 2007

Die Welt als 100 Seelen Dorf

Hat mal nichts mit Computer und Technik zu tun, aber ich finde es trotzdem sehr interessant. Ist zwar schon ein wenig älter, aber ich finde es trotzdem sehr interessant:


Reduzierten wir die ganze Welt auf ein Dorf mit 100 Einwohnern, dabei auf die
Proportionen dieser Welt achtend, sähe dieses Dorf so aus:

57 Asiaten
21 Europäer
14 Amerikaner (Nord + Süd)
8 Afrikaner

52 Frauen
48 Männer

70 nicht-Weiße
30 Weiße

70 nicht-Christen
30 Christen

89 Heterosexuelle
11 Homosexuelle

6 Personen
besaessen 59% des gesamten Weltreichtums und alle 6 kaemen aus den USA
80
hätten keine ausreichenden Wohnverhältnisse
70 waeren Analphabeten
50
waeren unterernaehrt
1 würde sterben
2 wuerden geboren
1 haette
einen PC
1 hätte einen akademischen Abschluß


Falls Du nie einen
Krieg erlebt hast, nie die Einsamkeit der Gefangenschaft, die Agonie der
Gequälten, nie Hunger gespürt hast, bist du glücklicher als 500 Millionen
Menschen auf dieser Welt.

Falls Du eine Kirche/einen Tempel/eine Moschee
besuchen kannst ohne die Angst, dass dir gedroht wird, man werde dich verhaften
oder umbringen, bist Du glücklicher als 3 Miliarden Menschen dieser Welt.

Falls sich in Deinem Kühlschrank Essen befindet, Du angezogen bist, ein
Dach über dem Kopf hast und ein Bett, um Dich hinzulegen, bist du reicher 75%
der Bewohner dieser Welt.

Falls Du ein Konto bei einer Bank hast, etwas
Geld im Portemonnaie und etwas Kleingeld in der Hosentasche, gehörst Du zu den
8% wohlhabenden Menschen auf dieser Welt.


Ich weiss zwar nicht wie aktuell diese Statistik ist, aber ich denke doch mal, dass sie in der Grössenordnung stimmen wird... Ist irgendwie noch eindrücklich...

Mittwoch, Februar 14, 2007

Netgear Skype Handy

Soeben habe ich mit jemandem "geskyped", welcher das nebenstehende Netgear Handy benutzt. Ich muss sagen, ich bin überrascht.
Er hat gesagt, er wäre gerade in Bern in der Stadt und würde jetzt telefonieren. Wau. Es klappt also doch. Jetzt braucht es nur noch genügend Hotspots und schon wird auch die Mobil Telefonie endlich erschwinglich.

Nachdem ich bereits ein Nokia E61 getestet habe, war ich ziemlich ernüchternd bezüglich den Ergebnissen. Besagtes Telefon konnte gerade mal eine Verbindung ins Internet herstellen (WPA 2 war schon nicht mehr möglich). Den SIP Client zu gebrauchen war jedoch nicht möglich und habe ich selbst nach einigen Stunden Probieren nicht geschafft.
Dass es kommt war ja eigentlich klar, die Frage ist nur wann. Ich denke, dass es nach wie vor noch viele Probleme damit gibt, doch es ist doch immerhin schon mal ein Schritt in die richtige Richtung. Auf jeden Fall war die Qualität ziemlich gut. Probleme gabs nur dann, als die Verbindung abriss... lag wohl am Hotspot, bezüglich dessen Signals.

Ich bin auf jeden Fall gespannt, wie sich diese Branche weiter entwickeln wird... Für den Geldbeutel ist es auf jeden Fall gut und ich werde dann wohl endlich mal ein neues Handy kaufen können (ich habe immer noch ein Steinzeit Hand Nokia 3310 -> Es will und will einfach nicht kaputt gehen).

Links

Die besten Firefox Plugins/Add-ons

Diese Plugins gehören einfach in jeden Firefox Browser:


Firebug
Wer dieses Add-on nicht hat, kann sich nicht Webdevelopper nennen. Die Features sind genial: JavaScript debugging (inkl. Haltepunkte setzen), HTML Analyse, CSS Analyse --> Werte direkt ändern und schauen, wie es ausschaut und noch viel mehr.

IE Tab
Der IE bockt. Jeder kennt das. Mit dem IE Tab lässt sich bequem die Seite im Firefox begutachten

Web Developer Toolbar
Ist eigentlich ähnlich wie der Firebox. Ist nicht ganz so praktisch zu gebrauchen, wie der Firebug, doch hat ein paar nützliche Features, z.B. das Fenster automatisch auf eine bestimmte Pixel Grösse resizen, oder einen eingebauten validator. Zudem lassen sich Seiten Elemente bequem "Outlinen"

SEO for Firefox
Habe ich erst kürzlich installiert. Ganz ok. Gibt in der Suchmaschine diverse SEO Angaben an. Habe es noch nicht oft gebraucht...


Sonstige praktische Plugins:
Google Calendar Notifier
Adblock Plus


Interessante Plugins:
Gmail Space (Daten im Gmail Account speichern)


Links

Für weitere nützliche Addons --> Kommentar benutzen.

Dienstag, Februar 13, 2007

Windows Vista installieren in 2 Minuten

Dieses Video ist einfach cool! ... ist aber ein wenig off topic...

YIGG wurde gehackt - uhm ja zuviel kaffee, nix backups und so.. damn

uhm ja zuviel kaffee, nix backups und so.. damn
Das gabs heute bei YIGGS zu lesen...


Sieht fast so aus, als wäre YIGG gehackt worden. Zu schade. Ich hoffe mal, dass die ein Backup haben. Muss wohl heute so um 16:00 Uhr oder so passiert sein. Die Jungs von YIGGS haben es wohl auch noch nicht kapiert.

Was ist YIGG. Dazu hier einfach aus den FAQ von YIGG:
YiGG ist eine Plattform um Nachrichten zu verbreiten und zu bewerten. Dabei kombiniert YiGG soziales Bookmarking, Blogs, RSS-Feeds, Nachrichteneinträge,Tags,Videos und mehr. Da die Benutzer entscheiden was interresant ist handelt es sich um eine nicht-hierarchische Nachrichtenverteilung.

Nicht wie bei normalen Nachrichtenseiten üblich wird die Liste vorhandener Nachrichten von Hand ausgewählt sondern die Benutzer entscheiden was wichtig ist. Nachrichten,Artikel und Videos können eingereicht, bewertet und kommentiert werden. Je mehr Bewertungen ein Artikel besitzt, desto höher steigt er in seiner Kategorie auf oder ab. Die beliebtesten Artikel werden auf der Hauptseite angezeigt.

YiGG bietet auch die Möglichkeit Artikel zu bestimmten Tags,Kategorien,Benutzern sowie den eigenen Freunde oder Suchanfragen als RSS-Feed zu abonnieren oder Gruppen anzulegen und auch diese zu abonnieren. Blogger haben die Möglichkeit automatisch einen Anreiser ihrer Blogposts ueber ein YiGG-Plugin zu veroeffentlichen. Und wer noch kein Blog hat kann sich als registrierter Yigg-Benutzer ein Blog anlegen (benutzername.yiggblogs.de)

Die Plattform wächst ständig, um genau zu erfahren was alles mit YiGG machbar ist meldet man sich am besten an und schaut selber etwas rum :)

Tja, ich hoffe doch mal, dass sich die Jungs dort mal ein wenig an die Arbeit machen und das Problem in den Griff bekommen, wäre doch ein Jammer, wenn alles weg ist.

Es stellt sich halt die Frage, was passiert ist. Also ich würde mal meinen, dass es sich irgend um einen Injection Bug oder so handelt. Sieht halt ziemlich hässlich aus. YIGG ist ja zum glück nicht lebenswichtig und deshalb auch nicht super geschützt, doch ein Problem sind solche Bugs halt immer und jetzt sehe ich es sogar live.

Bin auf jeden Fall gespannt, wie Lange die Jungs brauche, bis es wieder läuft und ob die Daten wiederhergestellt werden können.

Links:
Edit (18:07): Es scheint als wäre wieder alles IO. Die Jungs waren also ziemlich ok von der Geschwindigkeit her...

Edit2 (18:14): Ok, jetzt haben wir wieder etwas Neues:

Scheint als wäre doch irgend etwas passiert. Ist auf jeden Fall eine amüsante Übergangsseite...

Edit3: Heute morgen (ein Tag danach) geht fast alles wieder. Einzig den YIGG Knopf musste ich entfernen, da dieser Probleme bereitet hat :(

Edit 4: So, alles ist wieder gut :)

Edit 5: Offizielle Erklärung

Fotos dynamisch anzeigen Lightbox JS

Danach habe ich gesucht. Meiner Meinung nach fehlt jedoch noch eine Funktion "nächstes Foto", aber sonst ist es genau, was ich gesucht habe. Spielend einfach kann der Besucher wenn er gerne will Fotos genauer anschauen. Ich denke dadurch, dass es noch keine "weiter" Funktion besitzt ist es noch nicht ganz so tauglich, aber das lässt sich sicher noch einbauen.

Durch diese Technik lassen sich auch grössere Fotos einfach anzeigen und man muss nicht "Angst" haben, dass das Design zerrissen wird, bzw. dass das Foto abgeschnitten wird.

Version 2.0
Hurra. Die Version 2 erfüllt voll und ganz meine Erwartungen. Möglichkeit, durch verschiedene Bilder zu "browsen" und zudem hat es ein paar schöne Effekte.

Version 2 ist ein klein wenig komplexer. Die prototype Bibliothek (für AJAX) und die Scriptaculous Effects Bibliothek (für die hübschen Effekte) werden zusätzlich gebraucht (sind im Download enthalten). "Installation" von solchen Bibliotheken sind jedoch absolut kein Problem.

Wers lieber einfach mag, soll die ältere Version nehmen, ansonsten ist die Version 2.0 echt cool! Way to go.

Dieses Script wird sicher einige meiner Seiten in Zukunft zieren!

Links:


Edit:

Danke Jan ;)

Montag, Februar 12, 2007

Firefox 3 wird Offline-Editor

So musste ich mir doch gleich die neue Alpha Version runtersaugen, doch ich muss ehrlich sagen, ich war ein wenig enttäuscht. Auf den ersten Blick hat sich nicht viel geändert.
Wenn besagtes Feature jedoch tatsächlich umgesetzt werden wird, wäre das einfach der absolute Hammer. Dann würde ich 100% sicher keinen e-mail Client mehr installieren, Calender auch nicht und sonst... na gut, OpenOffice würde wohl bleiben, da es mich von der funktionialität bisher noch nicht umgehauen hat fürs tägliche Arbeiten alleine.

Mal schauen, was daraus wird. Ich bin auf jeden Fall schon aufs Jahresende gespannt und was da wirklich dann in die Version 3 reinkommt. Dem IE gehts auf jeden Fall an den Kragen, denn wirklich neues bietet ja die Version 7 nicht. Das ist auch wirklich nötig, denn die Version 6 ist wirklich exterm Bockig! So macht CSS wirklich keine Freude.

Vielleicht sollte ich mich einfach auch mal dazu bringen, den IE 7 zu installieren?

Frames im Webdesign

Vor einigen Wochen bekam ich eine Anfrage, eine Homepage zu überarbeiten. Es ging nicht darum, das Design neu zu entwerfen, sondern darum die zahlreichen Fehlern auszumerzen. Es war schnell ersichtlich, dass das Design auf eine vielzahl von Frames basierte! Selbst zur Zeit, als die Seite entwickelt worden ist, hätte man die Frames bei weitem vermeiden können!

Frames scheinen zwar sehr praktisch, doch sind sie einfach vollkommen out!

Warum sind Frames schlecht?
Suchmaschinen: Es kann durchaus vorkommen, dass der Besucher, welcher via Suchmaschine kommt auf einer einzelnen Frameseite landet... das wird oftmals nicht sehr hilfreich sein, bzw. die weiterreise massiv erschweren. Abhilfe: Javascript

Suchmaschinen 2: Kann immer noch vorkommen, dass die Seite nicht richtig durchsucht und indixiert werden kann: Abhilfe. Sitemap

Browser Inkompatibilitä: Wie ich leider feststellen musste hat IE und FF eine andere Darstellung (besonders von Frameborder).

Blinde: Die werden hier grosse Mühe haben, einen Nutzen von der Seite zu ziehen.


Frame Navigation
Ja, sehr praktisch, da keine Redundanz vorhanden ist, ABER, es lässt sich auch ander lösen. z.B. mittels PHP

include("navigation.php")

Mittels CSS lassen sich zudem Divs so positionieren, dass sie nicht mit dem Inhalt mitscrollen. Auch "overflow:auto" könnte weiterhelfen. Dadurch lässt sich in div Boxen eine Scrollbar anzeigen

Es ist also wirklich an der Zeit mit Frames aufzuhören CSS einzusetzen! ....-> Im genau gleichen Kapitel: Auch Layout Tables gehören nicht mehr dazu!

Sansa - Sandisk e250 - Review

Vor ca. 3 Monaten habe ich mir den Sansa e250 gekauft. Soviel vorweg: ich bin nach wie vor begeistert.



Vorteile:

  • Lange Batterielebensdauer.
  • Preis
  • Verarbeitung
  • Batterie auswechseln
Nachteile:
  • Playlisten erstellen
  • Nicht standart USB Kabel
Warum habe ich diesen Player gekauft:
Beim Kaufentscheid habe ich mir viel Zeit gelassen und die verschiedenen Player genau unter die Lupe genommen. Weiter Player waren IPod Nano, Creative Zen V Plus einer der Samsung.

Der IPod Nano ist ziemlich schnell einmal ausgeschieden, da dieser einfach zu teuer ist. Zudem habe ich gehört, dass die Batterie lebensdauer nicht sehr lange ist und sich diese auch nicht wechseln lässt. Dazu kommt noch der ganze Firelfanz mit dem Proprietären Apple System und
so war dieser ganz schnell weg. Er sieht sicher gut aus und lässt sich sicher auch gut bedienen, doch war es mir das Geld nicht wert. Ich will Funktionalität fürs Geld und nicht Prestige!

Sehr schnell einmal bin ich dann auf den Creative Zen V Plus gekomme.
Dieser schien mir der ideal Player zu sein. Klein, handlich, grosser Funktionsumfang und dazu im Preis ok.
So habe ich sehr lange rumstudiert, habe Reviews gelesen, welche durchaus positiv waren, habe im Media Markt drauf rumgespielt (der Navigationsjoystick ist echt klein!).
Doch auch dieser hat seine Nachteil: Batterie wechseln kaum möglich, Video abspielen ist ein Joke und die Navigation ist auch nicht gerade der Hammer.

So bin ich dann auf den Sansa e250 gekommen. Anfänglich war ich ein wenig skeptisch, da dieser kein standart USB Kabel benutzt. Dies hat mich ein wenig abgeschreckt. Zudem ist es auch nicht möglich, den Player über ein normales Netzteil zu laden (ausser mit einem Adapter).
ABER: Der Preis ist einfach genial. Satte 2 GB ist der günstigste Player und kommt dabei gerade mal auf 100 €. Nicht schlecht. Dazu kommt der einfache Batterie wechsel und die Laufzeit ist auch super lang (etwas bei 20 h). Ich bin noch nie über die Hälfte gekommen, da ich wöchentlich neue Podcasts runterlade und so auch gleich den Player auflade.

Fazit: Vor allem der Preis hat es ausgemacht. Wer jedoch sagt, es wäre nur ein Billig Produkt... nein, überhaupt nicht.

Hier noch ein paar Gedanken nach Thema orientiert:

Verarbeitung:
Der Sansa e250 besteht nicht aus einem billigen Plastikgehäuse. Die Rückseite ist aus solidem Metall. Zudem lässt sich die Rückseite einfach mit einem Schraubenzieher abschrauben, was ein einfaches Ausstauschen der Batterie zulässt.



Navigation:
Es gibt diese Wheel (ähnlich zu dem vom Ipod bekannt, nur nicht ganz so komfortable). Ich finde es eigentlich ganz ok, und es erfüllt seine Zwecke voll und ganz. Navigation ansonsten ist ganz einfach und man kommt schnell zum richtigen Titel, solange man die MP3 Tags richtig gesetzt hat. Mir ist zudem aufgefallen, dass der Player da manchmal ein paar kleine Bugs hat, so habe ich zum Beispiel einmal Lieder gelöscht, doch waren diese danach immer noch in der Navigation sichtbar, obwohl diese eigentlich gar nicht mehr auf dem Player waren. War jedoch überhaupt nicht schlimm.
Handhabung:
Die Handhabung ist eingentlich ganz easy. Einsteckung und schon kann man die Lieder auf den Player kopieren. Der Player wird als normales externes Laufwerk erkannt. Zudem gibt es noch einen Modus, welcher den Windows Media Player unterstützt, diesen brauche ich jedoch nicht.
Auch mit Winamp lässt sich der Player sehr gut managen.
Ein nettes Feature welches ich gerne hätte wäre folgendes: Ich höre den Player sehr viel zum Podcast oder Hörbücher hören. Gut wäre, wenn man ein Podcast stoppen könnte, ein anderes Podcast hören könnte und dann das erste wieder dort weiterhören, wo man aufgehört hat (so wie man das im ITunes kann). Ich weiss nicht, ob es dieses Feature überhaupt irgendwo gibt, aber es wäre sehr praktisch.

Features (von der Sansa Seite)

  • Sleek, thin design with large 1.8” TFT color screen for easy viewing
  • Strong alloy metal casing provides excellent durability and scratch resistance
  • Simple to use, backlit controls for fast device interface navigation
  • User replaceable and rechargeable Lithium Ion battery for up to 20 hours of battery life (Based on continuous playback at 128 kbps MP3; rechargeable batteries may eventually need to be replaced as they have limited charge cycles (which vary with use and settings)
  • Features microSD™ expansion slot for additional memory capacity
  • Supports SanDisk TrustedFlash and Gruvi content cards
  • Digital FM tuner*, on-the-fly FM recording*, and voice recording
  • No FM-tuner (and no FM-recording) is available in Europe
  • Supports Subscription Music Stores
  • One year warranty
    * not available in Europe


Video, Aufnahmegerät
Es gibt die Möglichkeit, Videos drauf zu spielen. Dazu ist die von Sandisk beigelegt Software nötig. Ehrlich gesagt: Ist ein Joke für Spielfilme. Die Qualität ist zwar gar nicht so schlecht für das kleine Ding, doch wer will das schon machen. Zudem werden die Videos exterm aufgeblasen, da kein wirklicher divx codex oder so unterstütz wird.
Eigentlich wollte ich ein Ding, welches gut Videos abspielen kann, doch mittlerweile muss ich sagen, dass ich eh nicht was schauen würde.... dazu bräuchte man schon ein grösseres Gerät.

Die Aufnahmefunktion ist gar nicht mal so übel. Lässt sich extrem einfach auf der Seite bedienen.

Schade nur, dass es in der europäischen Version keinen Radio hat :( das wäre noch das Pünktchen auf dem i gewesen.

Ich kann diesen Player jedem weiterempfehlen.

Donnerstag, Februar 08, 2007

Subversion im Webdesign

Ok. Ich habe vor einem Jahr an einem grösseren Projekt einmal mit SVN gearbeitet. Dies lag daran, das wir 5 Leute waren, welche an einem Projekt programmiert haben. Nachdem ich heute jedoch das Podcast von Technikwürze gehört habe, muss ich sagen, dass es auch als Einmann Betrieb Sinn macht. So habe ich mir den TortoiseSVN installiert und in Betrieb genommen. Sehr einfach und funktioniert wunderbar.

Dazu habe ich noch ein gutes Tutorial gefunden, welches den Start sicher massiv vereinfacht. Der Link zum Podcast von Technikwürze: http://www.technikwuerze.de/podcast/technikwuerze58/ Dort findet sich der Beitrag bezüglich dem Version Control im Webdesign.

Mittwoch, Februar 07, 2007

Verschwinden Desktop Applikation wegen AJAX?

... wohl nicht. Doch ich muss sagen, ich fange langsam an, meine Desktop Applikationen zu dezimieren. Seit kurzem brauche ich den E-mail Client (Thunderbird) nicht mehr und komme eigentlich ganz gut mit Google Mail zurecht.
Ok, es ist ein wenig gewöhnungsbedürftig, dass man keine Ordner zur Verfügung hat, wo man die E-mails verstauen kann. Google hat dafür sogenannte Labels eingeführt. Ist einfach ein Umdenken, denke ich mal. Zudem gibt es ja die interne Suchfuntion, welche einfach super ist und so habe ich bis jetzt eigentlich immer alles gefunden.

Im Weiteren habe ich jegliche Messenger: ICQ, MSN, AOL usw, gelöscht, seit ich auf Meebo aufmerksam wurde. So kann ich alle IM Dienste in einem einzigen Account vereinen und muss nicht mehr immer tausende von Clients offen halten. Oky, viele Zusatzfunktionen gehen natürlich nicht, aber Hand aufs Herz: steigern diese wirklich die Produktivität?

Kalender habe ich eigentlich auch schon lange keinen mehr, da ich den Google Kalender brauche. Dieser ist einfach super! Auch für mehrere Personen klappt es ganz prima.

Dann brauche ich doch ab und zu auch noch ein bisschen Google Spreadsheet um Teamarbeiten zu koordinieren. Ist ganz gratis, einfach und für kleine Projekte durchaus ausreichend. Kein Bedarf für komplizierte und kostspielige Tools. Ich denke, im Laufe der Zeit werden noch weitere dazu kommen.

Leider muss ich als Notebook user sagen, dass es noch ein paar Nachteile hat. Will man unterwegs auf die Daten zugreifen... tja, dann hat man unweigerlich den Zonk! Es sei denn, man verfügt über die entsprechende Hardware, doch diese ist mir im Moment leider noch zu teuer (nicht die Hardware, sondern die damit verbundenen Abogebühren).

Mit den zunehmenden Projekten für flächendeckendes Wireless werden solche Applikationen jedoch immer attraktiver. Wahrscheinlich wird es sich irgendwo einpendeln. Bis dahin bin ich aber auf jeden Fall weiterhin gespannt, was es noch für neue Web Applikationen geben wird.

Montag, Februar 05, 2007

Runde Ecken mit CSS ganz einfach

Web 2.0 verlangt runde Ecken. Diese sind jedoch leider gar nicht so einfach zu machen. Der Firefox füre zwar ein spezielles Round Corner Tag unterstützen, doch das nützt nichts, da es ja immer auch mit dem IE kompatibel sein muss.
Tja, es bleibt nichts anderes übrig, als ein Bild dafür einzusetzen. Um runde Ecken zu machen habe ich eine super Seite gefunden! http://www.spiffybox.com/ Wenn dies nicht einfach genial ist! Einfach die Farben einfügen, Bild speichern und CSS Code kopieren und schon hat man ein paar schöne runde Ecken. Was ich noch bevorzugen würde, wäre eine Strichdicke... muss ich wohl mal vorschlagen...

Ok, viel Spass. Ist wirklich simpel

GWT - simple RPC example

Robert Hanson hat ein sehr einfaches Tutorial bezüglich dem Nutzen von RPC mit dem GWT geschrieben. Es die die absoluten Basics, aber hat mir doch sehr geholfen. Wenn das Prinzip mal klar ist, dann lässt es sich einfach ausbauen.

http://roberthanson.blogspot.com/2006/06/trivial-gwt-example.html

Es ist halt in Englisch, aber ich denke, jeder kommt damit zurecht. Einfach nur den Source Code kopieren geht auch. Man versteht es ziemlich schnell, hier eine Mini Anleitung:

XML Datei muss angepasst werden. Servlet muss eingesetzt werden. path bezieht sich auf die Methode, welche auf dem Server aufgerufen werden will.

<module>
<inherits name='com.google.gwt.user.User'/>
<entry-point class='org.hanson.gwt.client.MyApplication'/>
<servlet path="/myService"
class="org.hanson.gwt.server.MyServiceImpl"/>
</module>

Das erste Interface, welches die Remote Methode hat
[./org/hanson/gwt/client/MyService.java]

package org.hanson.gwt.client;
import com.google.gwt.user.client.rpc.RemoteService;
public interface MyService extends RemoteService
{
public String myMethod (String s);
}

Das 2. Inteface welches ebenfalls die Methode hat. Diese sind sich sehr ähnlich
[./org/hanson/gwt/client/MyServiceAsync.java]

package org.hanson.gwt.client;
import com.google.gwt.user.client.rpc.AsyncCallback;
public interface MyServiceAsync
{
public void myMethod(String s, AsyncCallback callback);
}

Zum Schluss kommt noch der eigentliche Client:

[./org/hanson/gwt/client/MyApplication.java]

package org.hanson.gwt.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.ServiceDefTarget;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.RootPanel;

/**
* Entry point classes define onModuleLoad().
*/
public class MyApplication implements EntryPoint
{

public void onModuleLoad ()
{

// define the service you want to call
MyServiceAsync svc =
(MyServiceAsync) GWT.create(MyService.class);
ServiceDefTarget endpoint = (ServiceDefTarget) svc;
endpoint.setServiceEntryPoint("/myService");

// define a handler for what to do when the
// service returns a result
AsyncCallback callback = new AsyncCallback() {
public void onSuccess (Object result)
{
RootPanel.get().add(new HTML(result.toString()));
}

public void onFailure (Throwable ex)
{
RootPanel.get().add(new HTML(ex.toString()));
}
};

// execute the service
svc.myMethod("Do Stuff", callback);

}
}

Das wären so die wichtigesten Code Schnipsel daraus. Natürlich müssen die entsprechenden Pfade noch angepasst werden und zudem fehlt auch noch das html file, doch dies lässt sich sehr schnell erzeugen.

Bei mir hat es einwandfrei funktioniert!