Apr 24

Ein Beispiel für die Verwendung eines Cookies mit dem Mojo.Framework und WebOS (Palm Pré).  Wer Interesse hat sich eine App für WebOS zu entwickeln, kann sich weitere Informationen auf der Seite von PALM holen und sich ein
Developer-account auf http://developer.palm.com

Voraussetzung,  ich weiß was WebOS, ein Palm und das Mojo-Framework
ist Wie man ein Projekt zur Erstellung einer APP anlegt und versteht.
(Werde dazu später noch ein mini Tut veröffentlichen.)

Was wollen wir machen?

Wir wollen unsere E-Mailadresse, die wir vorher in einem Cookie gespeichert haben,  in einer Textzeile, die eine E-Mailadresse wünscht, wieder anzeigen.

1. HTML Code Zeile und Button
2.Javascript, initialisiert ”Button” +  ”Ausgabezeile” + “Cookie”

Scene1-scene.html (Wir legen eine Eingabezeile und ein Button an, der dann auch später noch eine PHP Datei aufrufen soll und unseren
Cookie setzt.)

<div>
 <div x-mojo-loc=''>eMailadresse:</div>
 <div>
 <div>
 <div x-mojo-focus-highlight="true">
 <div>
 <div x-mojo-element="TextField" id="emailAdresse"></div>
 </div>
 </div>
 </div>
 </div>
 </div>
<table width=98% cellpadding=1 cellspacing=0 border=0>
 <tr>
 <td>
 <div x-mojo-element="Button" id="ButtonSend" name="gesendet"></div>
 </td>
 </tr>
</table>

—EOF Scene1-scene.html—

scene1-assistant.js (Wir definieren den Button, Texfeld. / Speichern den Cookie und schicken die E-Mailadresse zusätzlich an eine PHP Datei.)

Als Erstes legen wir unsere HTML-Elemente fest. Mojo hat die
Eigenart, x-mojo-elemente erst dann anzuzeigen, wenn sie
initialisiert sind.

Wir fangen mit unserem Textfeld an.

Scene1Assistant.prototype.setup = function() {

 this.controller.setupWidget("emailAdresse",
 this.attributes = {
 hintText: $L('E-Mail eingeben'),
 multiline: false,
 enterSubmits: false,
 focus: true,
 autoFocus: true,
 emoticons: false
 },

 this.emailAdresseModel = {
 value: email_val,
 disabled: false
 });
<!---- Code geht weiter für prototype.setup


In der Variable email_val steht später die E-Mailadresse die wir von
unserem Cookie holen. Sollte kein E-Mailadresse vorhanden sein, gibt
es den hinText des Widgets "emailAdresse" wieder, in dem Fall
"E-Mail eingeben."

Jetzt kommen wir zu unserem Button. Der wird auch im prototype.setup
initialisiert. Er hat die Bezeichnung 'buttonSend' was auch im
HTML-Teil die ID des Buttons ist.

this.controller.setupWidget('buttonSend',
 this.attributesSend = {
 type: Mojo.Widget.activityButton
 },

 this.buttonSendModel = {
 buttonLabel: 'Senden und Setzen',
 buttonClass : 'sendButton',
 disabled: false
 });

Jetzt bestimmen wir noch wie sich der Button zu verhalten hat. Bevor
wir nun prototype.setup schließen, legen wir folgenden Code rein.
Hier wird, wenn der Button gedrückt ist, die Function bzw. der
Event "SendButtonPress" aufgerufen.

this.SendButtonPressFocus = this.SendButtonPress.bind(this);
 Mojo.Event.listen(this.controller.get('buttonSend'),
 Mojo.Event.tap, this.SendButtonPressFocus);

} <--- Schließt prototype.setup



Nachdem wir das Setup geschlossen haben, kommen wir auch gleich
zu unser Function "SendButtonPress". Hier wird in die Variable email
mit this.emailAdresseModel.value unsere E-Mailadresse geschrieben.
this.emailAdresseModel.value ist der Wert den ich in der Eingabezeile
eintrage, quasi unsere E-Mail. 

Wenn ihr dann die App zum ersten mal aufruft, kann dort
außer des hinTextes nichts drin stehen, da der Cookie erst noch
gesetzt werden muss. Erst nach dem Eintragen eurer E-Mail wird der
Button unser Cookie setzen.

E-Mail eintragen, Button drücken. E-Mailadresse wird in die Variable
email geschrieben. Cookie mit dem Inhalt der Variable email wird
gesetzt E-Mailadresse wird auch zu einer PHP Datei geschickt. Kann
dann später z.B. zum eintragen in einen Newsletter o.ä. verwendet
werden.

Scene1Assistant.prototype.SendButtonPress = function(event){        

 email = this.emailModel.value;

//cookie setzen

 this.myValue = email;
 this.myCookie = new Mojo.Model.Cookie('login_sc1');
 this.myCookie.put(this.myValue); 

//email verschicken

 var URL = "http://www.xxxxx.com/login.php?email=" + email;
 buttonSend.mojo.activate();

 var request = new Ajax.Request(URL, {
 method:'get',
 evalJSON: 'force',
 onSuccess: this.ausgabe.bind(this),
 onFailure: this.fehler.bind(this)

});

} <-- ende function SendButtonPress


Jetzt setzen wir noch am Anfang der Scene1Assistant.js den Code zum
aufrufen des Cookies und zum lesen seines Inhalts rein.
Der Inhalt unseres Cookies wird in die Variable email_val gelegt.


function Scene1Assistant() {
 this.savedValueCookie = new Mojo.Model.Cookie('login_sc1');
 this.savedValue = this.savedValueCookie.get();
 email_val = this.savedValue;    

}

Wenn wir jetzt die App neu starten, müsste der hinText "E-Mail
eingeben" mit unserer E-Mailadresse ersetzt worden sein. *freu*



Zusammenfassung Cookiessssss.....

Cookie setzen:

email = "eineemailaddresse.de;

 this.myValue = email;
 this.myCookie = new Mojo.Model.Cookie('login_sc1');
 this.myCookie.put(this.myValue);

Mit put() wird der Inhalt von myValue gesetzt.


Cookie Lesen:

this.savedValueCookie = new Mojo.Model.Cookie('login_sc1');
 this.savedValue = this.savedValueCookie.get();
 email_val = this.savedValue;

Mit get() wird der Inhalt des Cookies geholt und in die Variable
email_val geschrieben.


Mit remove() kann man Cookies löschen.

Winke winke!!!

Nov 26

Zeigt Flagge! UNIQ-ARTS macht mit….

Eine passende blaue Mütze findet man bei Mr. Zeldman.

Weitere Infos zum Blue Beanie Day u.a. auf der offiziellen Facebook-Seite, bei t3n unter dem Titel Blaue Mützen für ein besseres Web oder bei Robert Lender.

* Weniger neue Frameworks die die Welt nicht braucht.
* Mehr Opensource-entwicklung
* Schlankere Browser, weniger Wigets -> mehr Leistung-> mehr Technik für Barrierefreiheit.

* Weniger Microsoft -> Mehr UNIQARTS

bluecap

Okt 06

Ich werde immer wieder gefragt “Was versteht man denn unter barrierefreiem Screendesign?”.

Die Frage wird mir meist dann gestellt, wenn im Vorfeld schon einiger Quatsch erzählt wurde. Die Meisten verstehen darunter immer “nur”, dass es sich hierbei um Design und Layout handelt, was in jedem Browser so angezeigt wird, dass man keinen Unterschied zwischen den einzelnen Browsern bemerkt. Sicher ist das ein Teil davon, aber nicht Antwort auf alle Fragen. Barrierefrei besteht aus ganz vielen kleinen Bereichen mit lustigen englischen Bezeichnungen. Auf die wichtigsten werde ich mal versuchen einzugehen.

Accessibility, wird immer wieder als die Definition von Barrierefrei benutzt. Nachtrag: “Es ist die Deutsche Übersetzung aus dem Englischen.” (Zugänglichkeit, Erreichbarkeit = Barrierefreiheit “Wäre eine Definition”) Auch werden Usability und Accessibility gleich gestellt. Und das stimmt nach meiner Meinung so nicht. Hier gibt es Unterschiede, welche wirklich wichtig sind.

Usabillity ist die Benutzerfreundlichkeit einer Internetseite für “normale” Menschen, die ohne Behinderung eine Seite bedienen und deren Informationen verarbeiten können. Bei einer optimalen Usability reden wir von einer Internetseite, die für den Rezipienten ersichtlich und logisch erklärt wird. Das heißt, mir wird jede Informationen und jede Zusatzinformation durch optimale Technik und Semantik leicht zugänglich ausgegeben.

Accessibility, ist die Technologie, welche der Seite zur Verfügung gestellt wird, um die Zugänglichkeit für Leute mit Behinderung zu ermöglichen. Sie ist aber nicht zuständig dafür, dass der User mit Behinderung die Information zum Schluss tatsächlich auch erhält bzw. wahrnehmen kann. Nein, sie stellt nur die Möglichkeit zur Verfügung! Also ist es möglich sich die Seite vorlesen zu lassen (schlechtes Sehen, blind, oder Leseschwächen), sie zu vergrößern (schlechtes Sehvermögen) und eine Ausgabe für Blinde, die mit einer sogenannten Braille-Zeile Informationen aufnehmen können, zu erhalten. (Blindenschrift)

Wie wir sehen, gehen Accessibility und Usability nicht Hand in Hand. Ich kann eine Seite reinweg für Leute mit Behinderung erstellen, welche einem Menschen mit “normalen” Fähigkeiten vielleicht den Nerv rauben könnte. Oder wir erstellen eine Seite, bei der wir mit Grafiken und lustigen Designs nur so zugepflastert werden, bei welcher ein Mensch mit Behinderung einfach keine Möglichkeit hat, Informationen zu erhalten.

Ich denke, das richtige Maß an Information und die entsprechende Selektion meiner Zielgruppe, lassen mich entscheiden, ob ich mehr auf Accessibility oder Usability Rücksicht nehme.

Finde ich eine optimale Balance, und schaffe es, Leuten mit und ohne Einschränkung ein genügendes Informationsangebot zur Verfügung zu stellen, dann können wir erst von Barrierefreiheit sprechen.

Was sollten wir verstehen?

Barrierefreiheit ist nicht nur zwischen den Interpretationsschwierigkeiten einzelner Browser zu sehen. Nein, hier spielt auch der Informationsaustausch zwischen “normalen” und Menschen mit einer Einschränkung eine große Rolle.

Nachtrag: Hier wird nicht diskriminiert. Es gibt nun mal Menschen mit Einschränkung. Ich versuche mit diesem Beitrag eingentlich zu vermitteln.

Denn das ist Barrierefrei!


Aug 11

WordPress e-Commerce Plugin, so lautet das Plugin für Worpress. Es ist einfach immer wieder bemerkenswert was man mit unseren kleinen schnuckeligen Wordpress veranstalten kann. Die Qualität des Plugins ist sehr hoch. Es legt wert auf Standarts, Ästhetik und Usability und hat eine menge an Zusatztools. Es gibt dann auch noch eine Goldvariante die dann noch einige Zahlungssysteme unterstützt. Die Single, quasi für Blogger kostet 40$ und die Business 195$. Ob man das braucht oder eigene Systeme installieren möchte kann man dann immer noch entscheiden.

 

Weitere Informationen zu den WP eCommerce findet ihr auf http://www.instinct.co.nz/e-commerce/ leider nur in Englisch!

 

Grüße

Aug 11

Da Adobe ständig neue Versionen von seinen Suiten unter die Leute bringt, ist es immer wieder ein Problem die Testversionen zu entfernen. Auf “Hans im Glück” habe ich eine Anleitung gefunden die es ganz gut erklärt. Doch zeigt sie wie man es Manual zu machen hat. Ich glaube, die Keys stehen auch noch in einer Datei, wo sie genau ist weis ich nicht. 

Um das Programm wirklich richtig deinstallieren zu können schlage ich euch vor den AppZapper oder CleanApp zu benutzen. Diese Programm löschen die Programm und ihre Verweise. 

Bye

Aug 08

Wer ein Gästebuch für Wordpress vermisst kann sich mal auf bueltge.de eins anschauen.

Auf der Seite http://bueltge.de/wp-gaestebuch-wp-guestbook-plugin habe ich ein Gästebuch-Plugin für Wordpress gefunden. Ihr findet dort auch die Installationsanweisung in Form eines kleinen Tutorials. Wer solch ein Gimik noch haben möchte, sollte sich diese “alternative” Erweiterung ruhig mal anschauen und testen.

Aug 08

Auf der Suche nach einer Fotogalerie als Plugin für Wordpress , bin ich auf sehr viel Müll gestoßen. Entweder gehen sie gar nicht oder lassen sich nur sehr schwer Integrieren. Doch eines der Plugins möchte ich an dieser Stelle empfehlen. Und zwar das von Christian Schenk. Das Plugin heißt SmoothGallery  und lässt sich per Shortcuts (Tags) steuern und auf die Page oder im Post einfügen. 

Doch leider vermisse ich hier den Button in der Artikel-API von Wordpress. Schön wäre es so ein Verzeichnis anzulegen und die Bilder einfach per Configbutton in meinem Artikel einzufügen. Also lässt sich das Plugin nur Aktivieren und Deaktivieren. Aber sonst sehr gelungen und mit ein bisschen Übung auch gut zu bedienen.

http://www.christianschenk.org/projects/wordpress-smoothgallery-plugin/comment-page-12/#comment-9234

 

So, und die Leute die sich nun Fragen wie sie das Teil integrieren müssen, gehen an Besten hier auf http://www.christianschenk.org/projects/wordpress-smoothgallery-plugin/videos-for-this-plugin/  und schauen sich die Videotutorials an. 

 

Marc

Aug 01

Ich möchte euch mal die Semantik im Webdesign näher bringen und versuchen es kurz und knapp zu erklären, was sich eigentlich hinter diesem Begriff verbirgt. Klingt sehr Wichtig und Schwierig – Wichtig ist es, aber Schwierig nicht!

Was ist Semantik?

Semantik im Web heißt, neben dem dargestellten Angebot eine zusätzliche Information zur Verfügung zu stellen. Damit wird versucht die Bedeutung eines Angebotes, eines Textes den Computer beizubringen. Aus der Linguistik kennen wir die Semantik als “Die Lehre von der Bedeutung”. 

Semantisch strukturiertes  Webdesign

So schwer sollte das Verständnis eines semantisch strukturierten Layout (Quellcode) nicht sein. Alles was ich in bestimmten Tags lege und diese per CSS steuere, sind semantische Herangehensweisen.  So gibt man der Suchmaschine oder den Crawler die Möglichkeit den Inhalt einer Seite zu “verstehen”. Zum Beispiel ist eine Überschrift im H1-Tag sehr Wichtig. Wir haben aber die Auswahl von H1 bis H6, somit ist auch die Wichtigkeit der Überschrift für den Crawler zu erkennen, die Wichtigkeit nimmt mit der Zahl hinter dem H-Tag ab. So verhält es sich auch mit <strong>, <ul> (ungeordnete Liste)  und <ol> (geordnete Liste) – die Inhalte, die in diesen Tags platziert werden, sind Semantisch. Da sie zur Interpretation des Inhaltes, Angebotes wichtig sind und Suchmaschinen und Computern die Möglichkeit geben zu “verstehen”.

Ist semantisch strukturiertes Webdesign wichtig? JA! 

Sicher, denn Struktur ist zwischen Anwender und Computer die Richtige Kommunikation. Erst damit können von Beiden Inhalte besser erfasst, ausgewertet und verstanden werden.

 

Gut, ich hoffe das ihr nun mit dem Begriff semantisches Webdesign umgehen könnt und ihr verstanden habt was das eigentlich ist.

 

Liebe Grüße, Marc

Jul 24

Hallo

Wer schon immer sein eigenes Design für Wordpress erstellen wollte und nicht wusste wie, der hat jetzt die Möglichkeit mit diesem sehr schönen Wordpresstutorial es selbst in Angriff zu nehmen.

Den Beitrag könnt ihr hier finden. –> http://bueltge.de/wp-tutorial-wir-schreiben-ein-wordpress-theme-teil-1/498/

Grüße

Jul 23

Für alle Freunde von TYPO3 haben wir ein gratis eBook mit dem Titel “Wie führe ich ein TYPO3 Projekt erfolgreich durch?” gefunden. Es kann hier im Fachinformatiker Blog von Thomas heruntergeladen werden.

Nun, ein Fünkchen Wahrheit steckt wohl drin, aber seht selbst. :D