Author Archive

[Review] Nokia BH-104 Bluetooth Headset

Kommen wir, seit langem mal wieder, zu einem Hardwaretest, der diesmal durch MeinTrendyHandy gesponsort wird. Kleine Anmerkung: ich habe das Gerät zu Verfügung gestellt bekommen und darf es nach dem Test behalten. Das ist der Grund, warum ich diesen Test schreibe, nicht aber, dass der Inhalt oder das Ergebnis davon beeinflusst wird.

Das zum Vorgeplänkel, kommen wir zum Thema. Das Nokia BH-104 ist ein Bluetooth Headset mit Bluetooth 2.1 Standard und funktioniert natürlich mit jedem beliebigen Handy. In meinem Test kam das Motorola Milestone zum Einsatz. Nach der Auspackzeremonie ging das gute Stück erstmal an die Steckdose zum Laden – natürlich mit dem mitgelieferten Standard-Nokia Ladegerät. Über eine kleine Status-LED wird man jederzeit informiert, ob das Gerät noch lädt oder der Vorgang bereits abgeschlossen ist.

Mit vollgetanktem Akku machte ich mich gleich ans Pairing, also das Verbinden mit dem Handy, was erstaunlich leicht von der Hand ging. Im Gegensatz zu “Billig-Bluetooth-Headsets” läuft das auf wesentlich professionellerer Ebene ab: Das Gerät ist nach dem Pairing fest an das Handy gekoppelt. Klingt kompliziert, äußert sich aber relativ einfach: Wenn man im Restaurant sitzt und sein Headset einschaltet, jedoch noch Bluetooth am Handy deaktiviert hat, kann es passieren, dass sich ein anderes Handy mit dem Headset verbindet. Nicht so beim BH-104 – es ist für andere Geräte nicht mehr sichtbar und kann somit auch keine andere Bindung eingehen. Die Bindung kann man per Reset aufheben und das Headset anschließend erneut mit einem anderen Gerät pairen.

Ist das Nokia BH-104 Bluetooth Headset erstmal mit dem Handy gepairt, läuft vor allem die erneute Verbindung sehr vorbildlich ab. Meine vorherigen Noname-Headsets können da nicht mal ansatzweise mithalten. Viel zu oft musste ich mehrfach ein erneutes Pairing durchführen, um endlich telefonieren zu können.

Kommen wir zur Verwendung. Nokia ist hier mal wieder neue Wege gegangen und hat eine Kombination aus Bügel und Klemmmechanismus gewählt. Man hängt sich das Headset mittels des gebogenen Bügels ans Ohr und drückt es anschließend in die Ohrmuschel. Mit einer Art Wiederhaken hält es dort fest. Wenn man nicht telefoniert, kann man es auch einfach nur am Bügel hängen lassen. Ob das die beabsichtigte Vorgehensweise ist, weiß ich nicht. Es hat bei mir zumindest gut funktioniert. Allerdings scheint man bei den Finnen andere Ohrenmaßstäbe zu haben, denn ich musste den Bügel bereits auf die kleinste Position stellen. Wer also kleinere Ohren als ich hat – ich gehe jetzt mal davon aus, dass meine Ohren normal groß sind – der wird Probleme haben, sich das Teil anstecken zu können. Wie bei allen anderen Headsets, die ich bisher verwendet hatte, fangen die Ohren irgendwann zu schmerzen an. Auch das BH-104 macht da keine Ausnahme, allerdings nur, wenn man es durchweg in der Ohrmuschel behält. Hängt es einfach nur über dem Ohr, bemerkt man es überhaupt nicht.

Das Headset verfügt über 4 Tasten: Ein/Aus, Rufannahme und Laut/Leise. Die Rufannahmetaste verfügt, je nach Handy, über zusätzliche Funktionen wie Wahlwiederholung oder Sprachwahl. Die Tasten sind gut erreichbar, nur für den Ein/Aus Schalter muss man das Headset abnehmen. Die Rufannahmetaste ist extrem groß gehalten, was sich auch in der Bedienung positiv bemerkbar macht. Die Status-LED zeigt den aktuellen Verbindungsstatus sowie den Ein- und Ausschaltvorgang an, der zusätzlich auch von entsprechenden akkustischen Signalen begleitet wird. Gut mitgedacht hat Nokia im Falle eines Anrufes – das Headset selbst (im Kopfhörer) spielt den typischen Nokia-Klingelton ab, sodass man eingehende Anrufe auch bemerkt, wenn das Handy nicht in der Nähe liegt oder auf lautlos geschalten ist.

Die Lautstärke sowie die Sprachqualität während der Telefonate sind völlig in Ordnung und ich konnte bisher an dieser Stelle keine Mängel feststellen. Auch die Grenzen der Akkulaufzeit von 10h telefonieren/200h Standby habe ich nicht erreicht, bei mir waren es bisher insgesamt ca. 14 Stunden Autofahrt und der Akku war bei weitem noch nicht alle. Während dieser Zeit habe ich allerdings nur ab und zu telefoniert – Langzeitgespräche konnte ich noch nicht testen.

Fazit:
Nokia hat hier, im Gegensatz zu seinen Smartphones, ganze Arbeit geleistet und ein wirklich gutes Gerät abgeliefert. Der Tragekomfort wird nicht bei jedem Ohr gegeben sein und auch die Anbringung des Headsets am Ohr ist nicht gerade intuitiv. Sieht man aber davon einmal ab, erhält man ein businesskompatibles Headset mit durchdachter Funktion und einfacher Handhabung für schlanke 22 Euro.

Rainer von Vielen – Mein Block

Für solche Sachen liebe ich die Bayern ;)

Gastautoren / Blogpartner gesucht

Leben und Karriere sind nicht immer leicht in Einklang zu bringen, dass weiß ich selbst aus eigener Erfahrung. Leider hat dies nun auch Johannes, meinen Co-Autor getroffen und so hat er keine Zeit mehr, hier zu schreiben. Ich bin nun also wieder auf der Suche nach Unterstützung. Wer Bock auf Schreiberei hat und seine Meinung zu Technik und auch allem anderen im Netz verbreiten möchte, der ist hier genau richtig.

Also, wer Interesse hat, ab und zu bzw. auch regelmäßig hier Artikel zu posten, der sollte sich entweder per Kommentar oder Mail oder über einen der restlichen Kanäle melden. Keine Angst, ich beiße nicht – noch nicht ;)

Facetime

Ach ja, wie wurde Apple doch für seine Videotelefonie belächelt – geht nur über Wlan und außerdem kann das ja jedes billige UMTS Handy mit entsprechenden Kameras genauso. Letzterer Punkt mag stimmen, aber ich frage mich bei den Leuten, die so argumentieren, ob sie dieses Feature mit ihrem Handy schonmal ausprobiert haben – es ist grottenschlecht. Die eingebauten Frontkameras haben eine extrem kleine Auflösung und sind zudem noch sehr lichthungrig. Man kann damit vielleicht am helllichten Tage etwas sehen, aber in-Door oder Abends geht gar nicht. Hinzu kommt, dass das System nur am Stocken und ruckeln ist und dazu noch eine extreme Komprimierung erfährt.

Kurz gesagt, es ist nicht zu gebrauchen.

Ob man Videotelefonie nun überhaupt braucht, sei auch nochmal dahingestellt. Ich persönlich finde es recht praktisch, vor allem, wenn man weit entfernt von Heimat und Familie wohnt. Aber darum geht es gar nicht. Apple wollte es besser machen – und hat es scheinbar auch geschafft. Aber eben nur über Wlan. Findige Jailbraker haben es nun geschafft, dem iPhone vorzugaukeln, es befände sich im Wlan – was natürlich nicht der Fall ist. Somit ist es nun auch unterwegs möglich, Facetime zu verwenden. Der Preis dafür ist allerdings hart – mit 3Mbyte pro Minute an Daten muss man rechnen. Das erklärt auch, warum Apple die Wlan-Only Variante gewählt hatte. Ich selbst habe Facetime noch nicht in Aktion gesehen, kann also nur allgemein darüber sprechen – finde es aber trotzdem ne tolle Sache. Wenn man die Technik jetzt noch ins iPad packt, dann greif ich sofort zu. Aber bisher ist da ja noch leider nichts in Aussicht.

Real Life Mech Warrior?

Zumindest hätte man hier schonmal die Steuerung. Wie geil wäre das dann wohl mit der Wiimote?

Links:
hackaday.com

Ich bin wieder hier…

…in meinem Revier. Sorry für die Auszeit, aber das war einfach mal nötig. Nachdem wir in der Firma nun gut ein halbes Jahr an unserer neuen Plattform gearbeitet hatten und die Fertigstellungsphase sichtbar war, wurde sämtliche Energie in das Projekt gesteckt, was keinen Platz mehr für’s Bloggen und nur wenig für Twitter übrig ließ. Der mehr als verdiente Urlaub kam gleich im Anschluss und da wollte ich endlich mal komplett abschalten, was ich in großen Teilen auch konnte – komplett offline geht einfach nicht ;)

Mein erster Arbeitstag hat es nun gleich wieder ordentlich in sich – unser IT-Büro ist umgezogen, meine ersten Azubis kommen und es muss flott weiter entwickelt werden. Aber ich muss ehrlich gestehen, dass mir bereits Ende der Urlaubs-Woche die Arbeit gefehlt hat – ob das nun positiv oder negativ zu werten ist kann ich noch nicht sagen… Auf jeden Fall freue ich mich auf eine spannende Woche. Auch hier im Blog will ich wieder ein bisschen Normalität reinbringen, denn aufgegeben habe ich das Bloggen noch lange nicht. Inwieweit ich das diese Woche schaffe weiß ich noch nicht, ich geb mir aber Mühe.

endlich Urlaub

So sehr mir mein Beruf auch gefällt, muss ich doch trotzdem erkennen, dass Arbeit nicht alles im Leben ist. Und so bin ich seit Mittwoch mit meiner Frau, meinem Bruder und seiner Freundin in den ersten Urlaub seit 3 Jahren gefahren – es ging an die Ostsee, nach Binz auf Rügen. Auch wenn das Wetter bisher nicht so perfekt mitspielte, konnten wir bereits viele schöne Stunden zusammen verbringen. Neben dem Sprung in die Wellen gab es viel Fisch, Cocktails, Go-Kart und natürlich Entspannung. Ein wunderschöner riesiger Strand lädt zum Baden, Spazieren und Genießen ein und so entdecken wir jeden Tag etwas neues.

Für die Woche sind noch eine Mondscheinwanderung, eine Schiffstour, ein Grillabend, die Störtebecker Festspiele, eine Radtour usw. geplant – es soll ja nicht langweilig werden. Ich wünsche allen meinen Lesern einen ebenso tollen Urlaub.

ich werde Ausbilder

Tja, etwas mehr als ein Jahr ist es her, seit ich meine Ausbildung zum Fachinformatiker vollendet hatte – und schon bilde ich selber aus. Zwei Azubis sind gefunden und werden ab August in meine Obhut gegeben. Ich freu mich schon riesig drauf, Wissen weiter zu geben und anderen jungen Menschen bei ihrer Karriere zu helfen.

Etwas schockiert war ich über die Ansichten der IHK, PHP sei ja gar keine richtige Programmiersprache bzw. damit kann man doch keine Fachinformatiker ausbilden. Denen war einfach nicht klar, das PHP mittlerweile eine sehr moderne, vollständig objektorientierte Programmiersprache ist, mit der auch business-kritische Anwendungen entwickelt werden können. Und was damit wirklich möglich ist, zeigt sehr eindrucksvoll Facebook. Naja, wir haben die junge Dame überzeugt und haben grünes Licht bekommen. Etwas befremdlich sind diese Ansichten trotzdem, wenn man bedenkt, dass offensichtlich nicht genug Lehrstellen vorhanden sind…

Ad-Blocker – wie zerstöre ich das kostenlose Netz

Jeder kennt sie, die in Grundfarben blinkenden Monster, die sich über den Inhalt ganzer Internetseiten legen und einen durch fiese Button-Belegung daran hindern wollen, geschlossen zu werden. Und da kommen sie ins Spiel, die Ad-Blocker. Sicher kein verwerfliches Mittel gegen diese Plagen – nur leider wird auch an dieser Stelle mal wieder über das Ziel hinausgeschossen.

Es scheint mittlerweile Standard zu sein, sämtliche auch nur ansatzweise mit Werbung in Zusammenhang gebrachten Inhalte zu blocken. Und leider scheint es wieder eins zu zeigen: den Geiz der Menschen. Sie sind sogar zu geizig, sich Werbung anzuschauen. Und dabei rede ich jetzt nicht von extrem nerviger Werbung, die die Inhaltsaufnahme oder das Anschauen eines Videos verhindert – da sind Blocker sicher angebracht. Nein, diese Leute blocken z.B. sogar die Werbebanner, die Spiegel.de rechts neben dem Inhalt platziert, sie blocken Google Adwords sowie weitere Ad-Services. Natürlich mag das auf den ersten Blick ein angenehmeres Surfen sein, jedoch bezweifle ich mal, dass es im Sinne des Seitenbetreibers ist – zum einen wegen des Designs, zum anderen natürlich wegen der Einnahmen.

Die Leute haben scheinbar noch immer nicht verstanden, warum so viele Inhalte im Fernsehen und im Internet “kostenlos” angeboten werden können: durch Werbung. Und ich muss ehrlich sagen, dass ich gegen gut gemachte Werbung nichts einzuwenden habe – auch nicht gegen sehr schlechte, denn da gibts öfter mal was zu lachen. Darum geht es aber gar nicht: Der Punkt ist, dass sich der Seitenbetreiber etwas dabei denkt, wenn er die Werbung einbaut. Und so lange das dezent als Werbebanner passiert, sollte auch niemand was dagegen haben. Es muss jedem klar sein, dass man eine professionelle Redaktion nicht mit Freigetränken und ein paar Flattr Beiträgen bezahlen kann.

Ich wünsche mir wirklich, dass wieder mehr Menschen ein bisschen mitdenken und nicht gegen das etablierte ökonomische System im Netz arbeiten – auch wenn ganz kostenlos und ohne Werbung sicher eine schöne Wunschvorstellung bleiben wird. Diesen Bereich decken ja zumindest sehr viele Blogs ab.

Auch ich werde Ad-Words hier im Blog wieder entfernen, weil es nicht viel bringt. Der Plan war nie, damit reich zu werden, ich wollte jedoch zumindest die Serverkosten wieder reinholen. Hat nicht geklappt, also bleibt es weiterhin ein Hobby mit nicht nur geistiger Investition ;)

[php] Tutorial – SOAP mit dem Zend Framework

Die Frequenz an Zend Artikeln hier im Blog ist steigend, da ich immer mehr damit zu tun habe. Und es ist ein geiles Framework!

Eine meiner vielen Aufgabenstellung war nun die Anbindung anderer Applikationen per SOAP Webservice Schnittstelle an das bestehende System.

Für alle, die nicht wissen, was ein Webservice ist: Es handelt sich dabei um eine Schnittstellentechnik, die es ermöglicht, dass Anwendungen über die Grenzen von Programmiersprache und Betriebssystem hinaus miteinander kommunizieren können. Die Schnittstellensprache ist dabei XML, und zwar in beiden Richtungen. Man ruft Funktionen per XML auf und erhält auch die Ergebnisse in XML-Form.

Nun kann man das ganze zusammenbauen, anschließend eine umfangreiche Dokumentation schreiben und sie dann an die Partner bzw. Benutzer weitergeben. Mann kann aber auch auf WSDL setzen – Webservice Description Language – die das vollautomatisch für einen erledigt. Unter Zend Framework muss man seine Funktionen nur mit Kommentaren im PHP Doc Format ausstatten und anschließend die entsprechende Funktion aufrufen – schon wird die WSDL automatisch erzeugt und man kann auf die entsprechenden Funktionen zugreifen.

Das erstmal als Hintergrundwissen. Aber wie wird der Webservice nun aufgebaut? Dazu benötigt man möglichst zwei Klassen: eine Klasse, um den Webservice zu verwalten sowie eine weitere Klasse, die die verfügbaren Funktionen stellt. Die Klasse zur Verwaltung ist aber wirklich optional, ihr könnt den Code auch an anderer Stelle platzieren.

Erstellen wir zuerst einmal die Klasse, die die aufrufbaren Funktionen bereit stellt:

class webservice
{
	/**
	 * get a hello world
	 *
	 * @param string $name
	 * @return string
	 */
	public function getHello($name)
	{
		return 'Hello world, '.$name.'!';
	}

}

Wie man sieht, eine stinknormale Klasse. Wichtig hier nochmal: die PHP Doc Kommentare!!! Ohne die funktioniert das nicht!

Nun noch das Handling des Webservice, was ich mal aus Gründen der Einfachheit ohne Klasse platziere:

ini_set("soap.wsdl_cache_enabled", 0);
$request = new Zend_Controller_Request_Http();
$url = 'http://testserver/webservice_test/public/api/remote?wsdl=show';

if($request->getQuery('wsdl') == 'show')
{
	$autodiscover = new Zend_Soap_AutoDiscover();
	$autodiscover->setClass('webservice');
	$autodiscover->handle();
}
else
{
	$server = new Zend_Soap_Server($url);
	$server->setClass('webservice');
	$server->handle();
}

So, das war jetzt schon ein bisschen komplizierter. Aber gehen wir den Spass doch mal Stück für Stück durch:

In der ersten Zeile deaktiviere ich soap.wsdl_cache_enabled, weil man sonst Probleme während der Entwicklung bekommt. Ruft man die WSDL nämlich ab, ändert danach etwas und ruft sie erneut ab, wird die Version aus dem Cache genommen und eure Änderungen kommen da ja nicht drin vor. Wichtig: schaltet soap.wsdl_cache_enabled auch bei eurem Client aus! Nach der Entwicklung könnt ihr das gerne wieder deaktivieren.

Anschließend hole ich mir das Zend Request Objekt, über welches ich überprüfe, ob die WSDL angefordert oder der Webservice selbst angesprochen wird – sprich, ich schau mir den GET-Parameter “wsdl” an und werte sein Value aus.

$url enthält den Pfad, welcher den auf den Webservice zeigt. Sprich: Wenn die WSDL unter http://testserver/webservice_test/public/api/remote?wsdl=show erreichbar sein soll, dann muss dieser Pfad auch hier so drin stehen. Grund dafür ist, dass der SOAP Server selbst diese Webservice Definition benötigt, sonst funktioniert er nicht!!! Dieser Punkt hat mich fast verzweifeln lassen, also passt hier besonders auf! Falls ihr an dieser Stelle Probleme habt: einfach mal vom Webserver aus die URL per Wget oder Curl aufrufen und prüfen, ob ihr ein Ergebnis bekommt. In meinem Fall konnte der Webserver nicht die URL zu sich selbst auflösen und somit auch nicht die URL aufrufen.

In der folgenden Weiche unterscheide ich wie gesagt, ob die WSDL angefordert wird oder nicht. Zend_Soap_AutoDiscover sorgt für die automatische Generierung einer WSDL Beschreibung, Zend_Soap_Server kümmert sich dann um die SOAP Requests.

Das war es eigentlich schon, und ihr habt euren ersten Webservice geschrieben.

Links

http://framework.zend.com/manual/en/zend.soap.server.html