XCv2 Entry #1

Broadsoft posted up the second developer contest, which has now entered the judging stage. Here is the first application that I submitted. One note regarding the video, Click To Call works with any phone, mobile, land line, VoIP, etc. Additionally, the Xtended Account app, can include more services other than the two in the video, this is just a teaser for those interested.


0 comments

I got my Ribbit T-Shirt!

Yeah so I'm a little excited. It's a cool shirt too.



0 comments

JoeDeveloper Wins - Ribbit Killer App Challenge

I'm still suprised! I just got the word that I have won one of the categories in Ribbit's Killer App Challenge Contest!!! I won the Carrier, Network, ISP Integration category with my Simple Softphone. Along with winning the contest I want to say thanks to SimpleSignal for coming along side and approving my work. We plan to take this phone to the next level by integrating features from both the Broadworks platform and the Ribbit platform. Thank you as well to Ribbit for putting on the contest. It was alot of fun and was overall a great success. There were 129 application entries and 453 registered participants in the contest. Kudos also goes out to Top Coder for orchestrating the contest and making it all happen on the technical side.

I plan to continue the development of my apps and winning the 15k will definitely help in making sure I can do just that. I've always been a Flash lover and more recently Flex. I'm super excited to see the changes that are coming soon to the Ribbit platform to allow developers to monetize their applications. With the flexible pricing model that Ribbit has, I forsee there being plenty of mini applications, but also full blown apps that deliver all the features Ribbit has to offer.

Stay tuned, because there are going to be alot of cool things happening with this as the year goes on.

Official release: http://killerappchallenge.ribbit.com/news/?p=925

JoeDeveloper


1 comments

mailFone & SimpleSignal Phone - Ribbit KillerApp Challenge

To start off with I must say that Ribbit has come a long way. I joined the beta program back in Nov 2007 and started messing around with the framework. After doing little with the framework for about a year or so I started re-learning the API and then updating some code examples I had built to be compatible with their 2.5 release. There were alot of great enhancements to the API with the 2.5 release. At the same time they released the version update they also announced a contest for developers.

I decided I was going to enter into the contest and see how it went. I made it into the 3rd checkpoint, but fell short of placing in the top 5. Further motivated, I created another application (SimpleSignal Phone) along with the my first application (mailFone) -- video after the jump. I enhanced my mailFone to include incoming screens as well as outgoing, and integrated Plaxo photos for a visual identification of incoming calls or outgoing calls.

So here are my two entries:

mailFone:
http://www.joedeveloper.net/ribbit/emailfone.html

SimpleSignal Phone:
http://www.joedeveloper.net/ribbit/simplesignal/JoeDeveloperSimpleSignal.html

It was really fun working with the Ribbit API and I know that I will use it more frequently and hopefully sell some apps.

Ribbit Ribbit!

Joe


0 comments

How to create an automated slideshow?

I had a project recently the required there to be a way to create a slideshow of photos automatically and output it to a video format (flv in this case). After extensively googling for existing command line tools I came up with a few results. One being FFmpeg and ffmpeg for windows. Another being On2 Flix Standard or Pro and more importantly the fact that they have an engine to do batch encoding. I'm sure there are more out there as well.

Anyhow, to create a very basic slideshow you could do the following from a command line prompt:

ffmpeg -f image2 -r .3 -b 180000 -i C:\photos\photo%d.jpg -i C:\ffm\bin\output\mix.wav C:\output\testvideo.flv

-f for the file format
-r stands for rate or FPS and means it should be .3 frames per second (roughly 4 seconds a photo)
-b is the bitrate (180kbps)
-i for inputs including photos and music

However, this leaves you wishing you could do some fancy transitions like most photo slideshow programs allow you to do. Is it even possible from the command line? You bet. It took me awhile to actually find a way to do this, but after a bit I found a solution. FFmpeg takes alot of different kinds of input. It additionally will take an AVS file for input. Which is a script based on the scripting program AviSynth.

So what is AviSynth? Basically it's a frameserver which means there is no user interface. After installing the latest version it will place a dll in your windows/system32 folder called avisynth.dll. It also registers it with the system. After registering it with the system you can write a script in notepad or any avs editor. Once written you can pass the avs file into FFmpeg as the input parameter and it will generate an FLV based on the file (ffmpeg -i sample.avs C:\output\photoslideshow.flv. This is because AviSynth is handling the processing of the file and sending actual avi data to ffmpeg.

Additionally, when writing the script take a look at TransAll which is a rather useful plugin for AviSynth that allows you to do mutiple transitions. Additionally, to prototype and see how fully blow avs scripts look like go download this program (foto2avi) and create a slideshow. Then open up C:\Program Files\Foto2Avi\Avs\Temp.avs and it will show you the script it made to create the video. Here is a rough sample:

SetMemoryMax(256)
Import ("..\Functions\Function.ShowImage.avs")
LoadPlugIn("..\Plugins\TransAll\TransAll.dll")
Import ("..\Functions\Function.BasicEffects.avs")
Import ("..\Functions\Function.PlayAudio.avs")
#####################VIDEO-PHOTOS#########################
s0=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Autumn Leaves.jpg",720,576,25,125,false,$000000,false,false).BasicEffects(0,$000000,50,$000000,false,0,"Flip Disabled",0,1,0,1,"Seppia Disabled",2,"Noise Disabled",0,0,0,0,false,true)
s1=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Creek.jpg",720,576,25,125,false,$000000,false,false)
s2=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Desert Landscape.jpg",720,576,25,125,false,$000000,false,false)
s3=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Dock.jpg",720,576,25,125,false,$000000,false,false)
s4=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Forest Flowers.jpg",720,576,25,125,false,$000000,false,false)
s5=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Forest.jpg",720,576,25,125,false,$000000,false,false)
s6=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Frangipani Flowers.jpg",720,576,25,125,false,$000000,false,false)
s7=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Garden.jpg",720,576,25,125,false,$000000,false,false)
s8=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Green Sea Turtle.jpg",720,576,25,125,false,$000000,false,false)
s9=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Humpback Whale.jpg",720,576,25,125,false,$000000,false,false)
s10=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Oryx Antelope.jpg",720,576,25,125,false,$000000,false,false)
s11=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Toco Toucan.jpg",720,576,25,125,false,$000000,false,false)
s12=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Tree.jpg",720,576,25,125,false,$000000,false,false)
s13=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Waterfall.jpg",720,576,25,125,false,$000000,false,false)
s14=ShowImage("C:\Users\Public\Pictures\Sample Pictures\Winter Leaves.jpg",720,576,25,125,false,$000000,false,false)
#####################SOUNDS#########################
a0=PlayAudio("C:\ffm\bin\output\mix.wav",0,4513,25)
#####################TRANSITIONS#########################
trans0=TransFlipPage(s0,s1,25,dir="left")
trans1=TransFlipPage(trans0,s2,25,dir="left")
trans2=TransWeave(trans1,s3,25,type="weave")
trans3=TransRipple(trans2,s4,25,lambda=40,amp=8)
trans4=TransVenetianBlinds(trans3,s5,25,type="cheq",width=40)
trans5=TransSwirl(trans4,s6,25,dir="clock",step=10)
trans6=TransPeel(trans5,s7,25,dir="up",rolldia=50,shade=127)
trans7=TransPaint(trans6,s8,25,type="paint")
trans8=TransAccord(trans7,s9,25,dir="vert",twin=true,open=true)
trans9=TransSlantWipe(trans8,s10,25,dir="se")
trans10=TransSlideIn(trans9,s11,25,dir="center")
trans11=TransWeave(trans10,s12,25,type="weave")
trans12=TransWipe(trans11,s13,25,dir="left")
trans13=TransShuffle(trans12,s14,25,dir="left")
#####################RETURN#########################
audio=MixAudio(trans13,a0, 0.5, 0.5)
return AudioDub(trans13.ConverttoYV12,audio)

Hopefully that helps you if you need to create a slideshow automatically and you have the photos on hand and you can generate the avs files at runtime. Additionally check out FLVMDI http://www.buraks.com/flvmdi/ which will allow you to inject metadata into the FLV after it's created. It will, among other things, give you the ability to make sure the duration is set properly in the FLV.

Feel free to leave some comments.

Joseph


0 comments

What's been going on

Well for starters, what hasn't been going on lol. So much has been going on over the last few months that I have seriously neglected the blog. I've been working on a bunch of different projects and experimenting with a ton of different technologies. I'm feeling good about 2009. Looking forward to seeing what can be created this year. Anyhow, I'm still alive... just entrenched in code!

Until next time!
JoeDeveloper


2 comments

Cool Integration

So this is a little off topic of what I normally blog about, however I felt it was a cool integration. I logged into myspace a few moments ago and saw a banner on the top. I thought it was an ad, but decided to click on it. Myspace.com has Amber Alerts integrated into the platform, specifically for where you are located based on your profile information. See the screenshot below, Kudos to Myspace Profile Team

 


5 comments

Broadsoft Connections 2008

Well this was my first trip to Broadsoft Connections and hopefully not my last. I had a really good time going down to AZ. We (my family, a friend and my two business partners) drove down last Sunday. It wasn't a bad trek from Las Vegas. Going about 80mph the whole way got us there in about 4 1/2 hours. We stayed at the Extended Stay Deluxe hotel. Funny pun about that, is that the Broadsoft show had a theme this year called "Xtend".

Once we got there we had to head over to the Westin to do a dry run through of our slot on "Show Me The Apps". Almost immediately we met up with Thomas Howe (who won first place in the Broadsoft Mashup Competition). This guy really gets it when it comes to voice mashups. Yeah, so his apps may not look all graphical and stuff, who cares, his stuff makes sense. Anyhow, it was refreshing to hear some of his stories over the three days of the conference. If you have a chance to meet up with him, do so, in fact you can in November if you are up near VoiceCon in San Francisco. On top of being a nice guy he has a wealth of information regarding the ip communications industry.

After doing the prep work on Sunday there was a welcome event. It was a good networking event. Saw some old faces and new during the event. Got to meet up with some people that we had talked to on the phone as well. It was overall a fun night, well that is until this one guy got pretty drunk and was leaning on everyone and stumbling around. He was trying to talk to us about why he sells PRI's and he wasn't making any sense. LOL It was pretty hilarious.

Monday started out good, didn't get much sleep because of preparing for Tuesday morning's session. I've spoke in front of people before, but I always get somewhat nervous. I guess it's a good thing. Unless I get distracted I'm able to tune out the nerves. Anyhow, spend most of Monday networking again, getting cards and meeting people. Dr. James Canton spoke regarding the future. He started out really strong, but ultimately got less interesting as time went on. He touched on so many things that are "trends" that it made it confusing to follow. Some of the points he made I know are true and I see being the future, but I think today we need something tangible as well.

I got this great idea on Monday that I should create an IVR app that would allow you to integrate Broadsoft's XSI Platform with VXML and CCXML. That night I spent about 2 - 4 hours putting together the app and testing and modifying code and testing etc. In the end at about 2:30am I finished the necessary coding to make it stable to run. With only 5 hours left till the session "Show Me The Apps" - I got a little rest.

Come 7:30am it was time to run through the demo's. We (Len and I) were in the slot to go right after Thomas Howe's demo. Thomas appears to have done this alot, he was straightforward and very informative. After running through the demo's it was about 8:15am (15 minutes till the start). Nerves started kicking in at this point. It was good though, because it kept my adrenaline going and my excitement up.

IMO the highlights of the demos (to start with) were Omar and Wendell from Broadsoft. They demoed some really cool apps. Two of them were Google Gadgets which allow you to view your call history as well as your voicemail history. Then they showed off an iPhone app that allows you to access into the Broadworks Anywhere service. After that they showed off a pretty cool provisioning tool that would streamline the process for creating enterprises, groups and users. On a side note, I've had my fair share of coding this of app before and it takes some time but is well worth it. Anyhow, that was there demo (really cool!).

Alex Danyluk from Microsoft and Alex Doyle from Broadsoft showed off the cool integration features of the Office Communication Server and Client to the audience. I've been doing work with OCS since it was LCS. Which I guess isn't that long (2003), but its come a long way. Mobile Max also showed off their integration into Broadsoft Anywhere with their Mobile Client Application. Some great integration on their platform, I was impressed. Best feature IMO, has to be the extension dialing from your cell phone!

Thomas Howe (no I don't get paid to say his name lol) delivered a great talk on voice mashups and demonstrated the app that won him first place "Disaster Dispatcher". Interesting concept and he completely explained his intention behind it. You can read more about that here. Overall I think his message was well received.

Made my nerves even worse haha. On top of that we were trying to log into our mobile portal on the blackberry we were borrowing. We were having some technical difficulties almost right up until we went on. Despite that everything went well and without a hitch once I started talking and Len started driving. Len is the CEO of BlueVisor btw, and I'm obviously JoeDeveloper, but one thing that we released while we were there is that I've joined on to be well Chief Of Apps if you will. JoeDeveloper will still continue on as it has, you will just start seeing more and more of BlueVisor.

It appears that people liked the apps overall and not just ours. My personal favorite was by the guys at WorldxChange in New Zealand. They had a very real solution to a very common business problem; debt collection. They took an app that existed and added voice into it. Adding voice by setting up a way to allow account reps to initiate automated calls to the customer letting them know that there balance is past due. They also had it in a bulk format where you could send multiple calls at once. While they are a service provider in New Zealand and don't plan on becoming a development shop, I still think they could make money training people. Have a 2 day course on how to conceptually improve your business as a service provider. Keep it general enough so that trade secrets aren't exposed, but at least make some money off of that great internal app.

 Overall it was a great experience to be down there and meet alot of people. I can't wait to meet up with everyone again. I could talk about more, but it's 3am so I guess it's time for me to say goodnight. Hope you enjoyed this random post of information!

JoeDeveloper


35 comments

Xtended Contest entry "Walkthrough of QuickSet"

Last entry I made was all about this new thing that I had been working on for the Xtended Contest. Now I will reveal what that application is and provide you with a walkthrough of how it works and where you can download it.

The name of the application is QuickSet. It's an Adobe Air application that allows you to dial out from it and configure several services. The true beauty of the application is it's ability to be run on both Windows, MAC and Linux operating systems. It crosses the divide of compatibility to allow almost every user out there to configure their Broadsoft services without ever having to leave their desktop.

Here is some instructions that I put together to help you get started with it

To get started you would need to go to  
http://www.joedeveloper.net/quickset/  and click on the Install Now button.




Does the following window should pop up?


If so please press Open.
If that window doesn’t pop open you may see:



This is the Adobe Air platform that QuickSet runs on. Please press yes.
After this point if you are having any more problems it would be a good time to make sure you have the latest Flash Player and Adobe air.

Flash Player 9.0.115 or higher. (you can get that here:
http://www.adobe.com/go/getflashplayer)
Adobe Air 1.1 or higher. (you can get that here:
http://get.adobe.com/air/)

After you press open, or press install the adobe air platform the next screen should be:



Please click on “Install”
If this is your first time installing the application you may also see the following screen:


This is an agreement for the Adobe Air platform installation. Please click “I Agree”.
The next screen will ask you about how you would like the application to install. It’s completely optional to put an icon on your desktop. Please click continue to start the installation.



After it finishes installing it should launch the application automatically. If it doesn’t, you can go to your programs or desktop and launch if from there as well.
Once you launch QuickSet for the first time you should see the “Configure your settings” box:


This box needs to have some information filled in: Server, Username and Password. Once that is filled in and you click save it will attempt to connect to the server. Currently the easiest way to test out the application is by having an account on the Broadsoft Xtended Platform by going to
http://developer.broadsoft.com , signing up and getting a sandbox account. For instance the server address would be “xsp.xdp.broadsoft.com” excluding the “http://” from the beginning.

The next thing that should happen is the app will load in your services:
To find out how the different services and application work, please continue reading through the guide by going to
http://www.joedeveloper.net/quickset/QuickSet_QuickGuide.pdf.

Hope you enjoy the application! Leave some comments and let me know.


19 comments

What is it?



Well I've been pretty busy with getting things ready for the Xtended Contest. Let's just say there are going to be some pretty cool apps entered into it.The above picture shows a little bit of the latest application I have been working on for the contest. Anyone know what it is?

You'll find out soon :).

Stay tuned.

JoeDeveloper


4 comments

About Me

JoeDeveloper is a great group of developers doing some cool stuff.

Call Me Now

Recent comments