ChangeLog
Introduction
We stumbled onto something called Prowl, which apparently is a pusher for iOS devices. Behind the scenes though, given their API, any HTTP client capable of doing GET or POST is able to both store messages on the Prowl servers, as well as retrieve them (fetchmail, pretty much).
The Prowl name is not incidental, it is in fact an extension to what Macintosh users may know as Growl (another nice rebrand of syslog, meant for end-user applications this time). The latter is used on a computer to send messages across the network. Given multiple machines, it is convenient to have all the notifications centralized on your main working machine. Growls does just that an syslog used to do that back when the giants roamed the earth for massive data centres.
The system probably works like the following:
A computer or a client capable of HTTP, pushes a "message" which can be anything to the
Prowl servers.
A mobile device (may be a computer as well, why not) after connecting to the Internet, runs a thread in the background that fetches the messages from the
Prowl servers. If there is a new message there, it usually pops it up as a notification.
The video below is a demonstration using the scripts you will find further on of sending a message from a Second Life primitive to an iPad. For completeness, we use Veency to access the iPad via VNC in order to shoot the clip.
Video
The service that
Prowl provides by storing your notifications is that you do not have to be connected permanently with your mobile device to the Internet. Whenever your mobile device connects, it will retrieve the messages from
Prowl and will even list them in the application.
For iOS5 notifications pop-up in the notification center, making it a pretty good offline messaging system.
Finally, it does not even require a jailbroken device. Everything HTTP, that's the flexibility of it…
Limitations
The
Prowl API mentions limitations to be: "
IP addresses are limited to 1000 API calls per hour which begins from the start of the first call". If you do need to take out more than 1000 events per hour, then you probably would want a separate database to store them.
For further limitations on the different fields, see the
prowl script.
Security
The calls between LSL and
Prowl are done over
HTTPS
meaning (assuming) that the traffic between the script and
Prowl is encrypted.
Set-up
To use this system in its basic form, you will need to:
Sign-up on
Prowl with a username and a password.
Log-in with the username and password you signed-up with and navigate to
Prowl's API Key generator and generate a new
API key.
-
Log-in to Prowl from your iDevice.
Create a new primitive in Second Life and dump the following scripts inside a primitive:
-
Testing
To test, you can touch the primitive you created and an llTextBox
dialog will pop-up (Imprudence users beware, it is still not implemented) which will ask for a message.
Type your message and if you followed the previous successfully, you should see that message appear on screen.
Index