Tag Archives: JavaScript

Recap jQuery Europ 2013 – More than jQuery

According to Richard D. Worth (Director of the jQuery foundation) over 50 percentage of websites in general use the de-facto standard jQuery for JavaScript-development. So it’s no wonder that Europe’s first ever jQuery conference completely sold out. Host Haymo Meran of Gentics did more than just meeting the expectations of the attendees. The location itself – the historic Palais Liechtenstein in Vienna – proved to be worth the trip, even for longer journeys, and set an impressive stage – also thanks to the intensive snowfall.

But despite Vienna being a wonderful place to be, jQuery is the focus, as the event’s name tells – but not alone. The schedule showed a lot of variation, as well as featuring highly acclaimed speakers on an international level, reaching form accessibility to security, from code to inspiration. I had the honor to talk abut jQuery in terms of Machine to Machine communication (M2M) in a hopefully inspiring way (thanks to Daniel Koch for the nice German summery of my talk). The conference was accompanied by a barcamp, featuring even more sessions in a “meet the experts lounge”, where attendees could contribute, and enter the stage as speakers.

It was an outstanding event and incase you missed it, we can tell that chances are great to have a jQuery Europe again next year. I definitely hope so! Visit Developer Garden for the full recap, photos and further details (English and German).

Generic SMS and Voice service, Telekom Tropo Part 3

Building M2M prototypes with voice (phone) and text (SMS) isn´t that hard. In most cases we only need a way to send a message via SMS or via phone. But once done you get bored doing it over and over again. Hence I build a simple (and quick and dirty) service for these needs (based on PHP but you can use nearly any language for your choice). This service just gets the needed parameters via URL. Based on these parameters a message will be sent or call initiated.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
// Include Tropo classes.
require('tropo.class.php');
 
// $session = new Session(); or low-level usage of JSON:
$session= json_decode(file_get_contents("php://input"));
$message= $session->session->parameters->message;
$numberToDial= $session->session->parameters->numberToDial;
$method = $session->session->parameters->method;
 
$tropo = new Tropo();
 
if ($method == "text") {
	$tropo->message($message, array("network" => "SMS", "to" => $numberToDial));	
} else // if ($method == "call")  {	
	$tropo->call($numberToDial);	
	$options = array("voice" => "Simon");
	$tropo->say($message, $options);
	$tropo->hangup();
}
$tropo->renderJson();
?>

After you have assigned this script to your Tropo application (see Quickstart Tropo, sorry only available in German right now), you need the appropriated token (which you find in your application settings). Finally call the service via a simple URL request. Please note, the values have to be URL encoded and the phone number must include the country code including the plus sign. In HTML this could look like:

1
<a href="https://tropo.developergarden.com/api/sessions?token=YOUR_TOKEN&method=TEXT_OR_VOICE&message=YOUR_TEXT&numberToDial=YOUR_PHONE_NUMBER">Send SMS</a>

Using jQuery it looks like:

1
2
3
4
5
6
7
8
9
$.ajax({
   url: "https://tropo.developergarden.com/api/sessions",
   data: {
      "numberToDial": "YOUR_PHONE_NUMBER",
      "message": "YOUR_TEXT",
      "token": "YOUR_TOKEN",
      "method": " TEXT_OR_VOICE"
   }
});

And it seems this will become even easier, because the Tropo Scripting API is on its way. Stay tuned…

JavaScript kann (fast) alles: Von Birnen und Dronen

Gestern war ich gemeinsam mit meinem M2M-Kollgen Yi Huang beim JavaScript User Group Köln Meetup. Eigentlich hatten wir uns nur für ein Projektgespräch zum Theme „Machine to Machine Communication“ in Köln getroffen, den anschließenden Ausflug zu ColgenJS aber dann nicht bereut – zumal unser Thema „Embedded Devices“ da ja sogar ein Schwerpunkt war (einzig, dass ich es somit erst im 1 Uhr morgens ins Bett geschafft habe, ist gerade ein wenig schmerzhaft). Die Veranstaltung war mehr als inspirierend und mein Wunschzettel ist nun um ein paar weitere Gadgets länger.

Es fing mit einem interessanten Votrag über Cloud-Speicher an. Jan-Christoph Borchardt führte uns in die Welt von Unhosted ein, die sich für mehr Unabhängigkeit von den Web-Monopolisten einsätzt. In diesem Zusammenhang erklärte er die Funktionsweise des offenen Protokolls remotestorage für Cloud-basierte Nutzerdaten.

Anschließend zeigte Sebastian Golasch zahlreiche Experimente – meist auf Basis des Erfinder-Kits MaKey MaKey, das im Wesentlichen eine Art Arduino-Board ist, das sich dem Rechner gegenüber als Tastatur und Maus ausgibt. So können auf einfache Art und Weise neuartige Interaktionen und Installationen geschaffen werden – Sebastian zeigte das natürlich der Veranstaltung angemessen mit JavaScript und steuerte ein Simon Says Spiel per elektrisch leitendem Obst (in diesem Fall eine Birne).

Der anschließende Vortrag von Felix Geisendörfer schloss mit seinem Nodecopter inhaltlich beinahe nahtlos an den Vorredner an. Und die Erwartungshaltung würde nicht enttäuscht. Es war mehr als beeindruckend, wie Felix in seiner Live-Coding Session mal eben eine Drone per JavaScript durch die Gegend fliegen ließ und ganz nebenbei darüber plauderte, wie er die internen Details der Drone herausgefunden hat, um diese dann so zu „hacken“.

Vielen Dank allen beteiligten – insbesondere an die Organisatoren Jörn Zaefferer and Frederic Hemberger – für diese gelungene Veranstaltung. Ich freue mich schon auf das nächste mal…