Tuesday, November 29, 2005
Well, that's an excellent question. From where I sit, I would answer it like this: If C++ exists, why then have Visual Basic? Well, the answer to both is that sometimes you need to script a solution, and sometimes you need to build it from the ground up. Scripting is excellent for smaller applications and for integration with a bunch of technologies, components, etc. Fully featured development environments are a must for any sort of large feature development, or ones that involve many developers. Mobicents is an implementation of JSLEE, as are offerings from Ubiquity and others. Chances are though, in my office inside a small ISP, the web developer would really, really rather see a Python or TCL API than Java.
There's really room for both.
In his post, he makes an excellent argument why telecom providers need an open source solution, and the success that open source has had in making services horizontal, radically increasing the amount of applications available for a market. Of course, I couldn't agree more.
Tuesday, November 22, 2005
Monday, November 21, 2005
The best takeaway message for me was the importance of having applications that cater to the specific needs of a law firm. Peter explains how it's great to use VoIP to replicate what they had before - law firms are not early adopters, and are not looking for the multimedia richness of IP - at least now. However, what he's looking forward to are third party apps that can help him address specific problems, such as billing - something lawyers are quite fond of. In the TDM world, this simply wasn't possible or practical, but with IP it's easy, and Peter looks forward to being able to pick and choose apps from various developers that suit him just right.
Peter certainly echoes the importance of apps being the real drivers of value, and the same story will hold for countless other vertical markets. So, for all the developers out there, this podcast should be a good listen.
How about this one...think houseingmaps.com - I am a person that is
looking to buy a house in an area that I do not know. So as I am
driving around looking at the general areas, I enable Ernie as my
"housing agent". I get fed not only the location of houses that are for
sale in the area that I just stumbled on, but I also select the one that
interests me, and I get an IVR that calls me up and spews info about
house - like a verbal walk-thru. This Ernie-app was invoked once I
found the area of interest. Could couple in a "click to call rep" like
feature - though I do have to say that I think Real Estate Agents aren't
worth what they get paid - but I digress....
Another one might be a weather advisory service, similar to the old
sirens that would sound when there was a Tornado sighting. (I grew up in
Michigan) Ernie is tied into some local weather source, and based on
input from that, a SIP-based "siren" alerts subscribers.
How about via Paypal API - and some PINcode-like authorization, being
able to make a purchase somewhere, with a audio and textual
confirmation. This one I am not so sure about - but just brainstorming.
I betcha there's a TON of applicability in the gaming world. Think of a
'Live game' that involves location, SIP-based calls, and live status on
a frappr map. DND-like: (Phone) "You have an alley within a mile, and
an enemy also within a mile in the opposite location." (/Phone) and you
have to decide where to go. Treasure Hunt: (Phone), "Your getting
Just some thoughts.....
Sunday, November 13, 2005
Of all the Web 2.0 APIs that are being used, it looks like google maps is the among the most common. I figured this out by looking at a list of mashups, and I looked at what they were using. Another one is this API that maps an IP address to a physical location. It doesn't get it EXACTLY right, and won't work if you are doing a VPN, but it does work OK for most purposes. It's how those "Do you want to date somebody in South Dennis?" windows pop up on your screen. I happen to live in North Dennis, but it's close enough.
So, imagine the neat things you can do with your phone if you could use these two APIs in the call handling....
- An inbound SIP call can be routed on geography to the right salesperson.
- Using a SIP client (in your handset, desk, whatever), you call for a restaurant. Recommendations are made based on where you are.
- Same deal, but call to see what movies are playing nearby.
- You can run a call contact center, and see where (on a map) your callers are, and use that to help route products (pizzas, whatever)
Friday, November 11, 2005
At lunch today, I was trying to tell some geeky friends what Ernie
was going to be. It was a good experience, because they were geeky,
but not necessarily next-generation geeky. Here's the tag line I
came up with: Ernie wants to be the Apache of communications.
Imagine the tens, and probably hundreds, of thousands of users,
integrators and consultants that take Apache and create web
applications with it. They add value by integration, custom web page
development, whatever. The basic point of Apache isn't that it's an
application, but that it enables them. Ernie is just like that, but
for real time communications. By real time communications, I mean it
will cover not only voice, but IM and presence.
As part of the Ernie movement, we need to come up with a number of
applications that come off the shelf. I like doing a voice form, a
presence based routing application and maybe voice mail. We need a
good, open source voice mail program, don't you think? I should
probably poll this.
One more thought for the future - wouldn't it be cool if the entire
interface to Ernie was a web page? You could log in, load your
script, run it and test it. If you could do that, then we could
setup trial Ernie servers so that developers could log in, create
applications, and test from their desktops. That would be too cool.
Well, I think I'm just about finished bashing Asterisk, although I have ONE more way to improve it to go. I'm going to save that for later. Now that it's out of my system, I want to tell all of you (the three people who read this, including my Mom and my girlfriend), that I've picked an open source project, and I've started to prepare it inside my little office on Cape Cod.
The open source project is called the "Open Applications Project", or as I'm going to call it, Ernie. Ernie is a software application and library that developers can use to create communications centric services. It will integrate presence, voice and web services features together, and present them to the applications developer in a web scripting API. The API will be appropriate to create typical voice applications such as voice mail, auto attendants or call centers, as well as next generation applications like presence based routing or voice-bots.
Architecturally, the application will be complete standards compliant, appropriately disaggregated, scalable and business ready. This means that it will be as SIPPY as it could practically be (although there's an emphasis on practical, here). It can be run standalone, but be architected so that external hardware accelerators can be used. As an example, it will probably have an interface so that we can use a Convedia or Snowshore media server for higher density operations. It will be business ready, so will have native hooks and interfaces for billing and account management.
Why Ernie? Well, I like Ernie. He's a rebel, he's an anarchist, and he's just slightly smarter than Burt. There's a personal connection here too, and I just want to emphasize that I look nothing like Ernie. Well, not too much.
Thursday, November 10, 2005
Thursday, November 03, 2005
Mark Spencer is certainly a most excellent man, and we all owe to him a big thanks for what he's done for our industry. It's time, though, to recognize that the real power of open source is in the community, and not in the business interests of the main sponsor. As you might be aware, openpbx.org is a fork from the Asterisk code base. Apparently, there were those that felt that there was too much control exerted by the current Asterisk leadership and too many strings from Digium. From their site:
Here are a few things to highlight the reasons for this fork:
Wanted community input and control, No single person can stop progress.
We will use the best of code that already exists. (ie apr, rtp stacks and sip stacks)
We will not reinvent the wheel if it is not necessary.
We will not have the dual license concerns
We will not allow business decisions to affect software development.
Everyone can commit without having to disclaim copyrights.
We can't compete with our customers because we are all on the same level.
Now, anyone that is a software engineer knows that forks are probably bad. Now that I've had time to consider it, I think the fork is unfortunate. I would like to see more energy going into the advancement of open source, and less energy on politics and duplicate efforts. Unfortunately, the existence of openpbx and asterisk ensures plenty of waste and politics for a while to come.
So... for the benefit of the industry, I encourage Mark to listen to the concerns of the openpbx crowd, because they have a point. And, to all the openPBX members, I'll just say that you would do well with keeping Mark around as a leader. He's good, and he's proven.