Tons of innovation...one screenshot »
FERDY CHRISTANT - SEP 18, 2006 (08:40:33 PM)
Last weekend I picked up the development of my latest s3maphor3 project, called PIMB. PIMB stands for PHP instant messaging bots. It's a PHP application that:
- Enables you to run, monitor and inspect instant messaging bots in real-time
- Enables you to write your own bots
Anyway, I hope you can imagine how excited I am about this project. Yet, the more I think about it, the bigger I think it will be, and the longer it will take before I can share a first public version. So, today I wanted to give you an update on the progress, and let you know how the basics of the application work. So please, click the screenshot below (it will open in a new window) and follow along:
click to enlarge. will open a new window.
In the screenshot, we see three windows. Let's start with the one in the background, which is the PIMB administration panel. The administration panel is a web page from where you can manage your bots:
- On the left, we see the list of bots, along with their bot account name (which you are free to register at any IM server) and online status. The list of bots is picked up dynamically, based on your own installation of bots, and so is the online status.
- You can select a bot by using the radio button in front of it. This will trigger the bot settings panel on the right to appear and show detailed information about the bot.
- If you have a bot selected, you can start it or stop it, based on its current status. These actions will do what you expect them to do. Starting the bot makes it appear online in the user's IM client, stopping it makes it appear offline. These actions happen instantly, in real-time.
- There's not much to tell about this. You just use your favorite IM client and add the bot account address to your buddy list. From then on, you can see its online/offline status and interact with it like you can with any contact. Like humans, bots differentiate in their capabilities ;)
- As you can see, I'm having a joyful chat with a math bot that is running inside PIMB. I start the conversation by sending it the help command "?". The bot returns with a help text, explaining its capabilities.
- Now that I know the capability of the bot, I send it a simple math statement. It returns me the outcome of the calculation. This math bot entails about 5 lines of code, and I've just created it to prove a point, yet it already pretty much replaces my Windows calculator.
What else would you like your bot to do? PIMB is the enabler, and you are only limited by your own imagination.
It's not all joy and glory though:
- Currently, PIMB can receive messages and transport them to bot scripts from pretty much any modern IM client, including Google Talk, MSN, Jabber and PSI. Yet, returning the answer message from the bot script to the IM client currently only works for Jabber-based clients, such as Jabber and PSI, but not for the other IM clients. Much of the success of PIMB will depend on bot availability, the bots must be accessible and usable in all popular IM clients. I have good hopes for cracking this problem, but if there's any technical roadblock for PIMB, this is the one.
- PIMB has the characteristics of a system that has me working on the edge of my skills, and beyond. Architecting a real-time system, interacting with the stateless nature of the web, complex AJAX development, scalability requirements, advanced PHP5 OO programming...and hiding all this complexity for the bot users and administrators. It's challenging, and I'm having fun...yet hair pulling and nail biting it is at times.
- And of course, the inevitable challenge of fitting it in between a demanding full time job and an increasingly active social life. Increasingly active? Well yes, I'm in a relationship again. It's joy and glory luckily, but at the expense of the available hobby time. Sorry, had to clarify that before she reads it ;)
Patience, my friends...this project is going to freakin' rock!
Side note: I'm now a believer of the chaos theory. A friendly co-worker asked for some help in defining the technical strategy of his contracting company. I helped him out and got a book coupon in return. I bought a book called "PHP hacks". In there, I saw a simple PHP bot script . I searched Google for bot frameworks based on PHP, found none. I decided to write my own bot. I loved it, it fascinated me. I thought about unleashing the ease of PHP in combination with the raw power of bots to a bigger audience. The result...PIMB. As with most joyful things in my life, zero planning preceeded it.
Final note: The look & feel of the screenshot is quite plain, I know. Expect it to be a lot better when released, I want to get it modern, interactive and dynamic. Much like Digg. Imagine browsing the log of your bot, and seeing the messages appearing in the queue in real-time, like Digg's spy feature.



Comments: 3
Reviews: 1
Average rating:
Highest rating: 5
Lowest rating: 5
COMMENT: IKEBOWEN


SEP 19, 01:25:00 AM
COMMENT: FERDY
SEP 19, 09:20:20 AM
COMMENT: ASHUTOSH
APR 13, 2008 - 07:27:50 PM
cool stuff pimb!! it worked like charm out of the box, just had to edit bot info and it was rocking .Though i d like to work on msn and ymsg transport for you if i get hold of any decent libs for these transport soon.
cheers!!
ashutosh
«