• Subscribe to RSS
  • Ribbit Photos
See more photos at Flickr
  • Ribbit Conversations
  • .
  • Follow Ribbit

Ribbit News: Ribbit In The Wild, Getting Microphone, Flashing Tips and Tricks, Happy 4thof July!

Thursday, July 2, 2009 at 6:18am by Kristie Wells | located in Newsletter | Comments | Trackback

Ribbit in the Wild: SimplePhone and Rocketvox Case Studies
We recently caught up with Joe Farrar at SimplePhone and Rick Peters from Rocket Technology Labs to see what they have doing with the Ribbit API, and what their plans are for the future:

  • SimplePhone
    SimplePhone is a desktop-based Adobe Air phone application integrated with Ribbit that allows callers to place voice calls using a computer microphone, SimplePhone integrates with Broadsoft’s globally-recognized VOIP platform for carriers, and will be offered as an add-on service to SimpleSignal customers nationwide this summer.
  • Rocketvox
    Rocketvox used the Ribbit API to create a universal inbox that collects all your voicemail, email, text, fax, and instant messages in a single place will help people more efficiently manage their digital lives.

To dig a little deeper into their stories, please visit the Ribbit website (just scroll down to the Developer Applications section) and read away.

Have you been working on something you would like to share with the Ribbit community? We would love to hear it. Shoot an email to kristie [at] ribbit [dot] com, give us the 411 and we'll get it out there.

-----

The Flash Microphone Wants to Record. It Does, Really.
Chuck Freedman and Brendan Lee launched the Get Microphone website with a goal to "get Microphone" data access in Flash and draw attention to the creative things you can do with voice.

During FITC Toronto 2009, Chuck shared two great examples in using  the Flash Microphone - the first is using Merapi, to capture Microphone, store it in a local file, and play it back. He also showcased Red5 where you can stream Microphone data to a remote server, record the stream and play it back. Awesomesauce.

-----

Tips and Tricks
Chuck unleashes his latest Flash example as he tinkers away on Ribbit Auth using simple Actionscript 3.  TextInput and Button controls in da hizzy.

-----

Happy 50th, Happy 4th.
Hard to believe...but this issue of the Ribbit News Splash is #50. Wow. We hope you have found some good bits over the past issues, and looking forward to expanding it a lot more as we go towards #100. We plan to include a lot more code, and more stories of people doing cool things. Shoot, we might even throw in a contest or two! The world is our oyster baby!

We also release this issue as we head into the 4th of July holiday here in the United States, and would like to wish you all a wonderful weekend surrounded by friends and family, good eats and fireworks to!

Bookmark and Share

Flash Example: Ribbit Auth with simple Actionscript 3

Wednesday, July 1, 2009 at 12:32pm by Charles Freedman | located in Flash, Flash Toolkit, Tips & Tricks | Comments | Trackback

DO try this at home!

Welcome to our 2nd Tips & Tricks post. With each post, we'll take an example of a common use of Ribbit and explore how we can make the code more efficient, stylish, and a better experience for the user.

Situation: Similar to the last post, we'll take a look at the simple task of logging into the Ribbit service. This time, we'll use Flash Professional via the Ribbit Flash Toolkit. This example will achieve login, once again, using one button that will conditionally toggle between login/logout functionality based on your loggedIn status. This time, instead of leveraging the Flex framework and being dependent on MXML and components, we'll use more Actionscript 3 and a few Flash UI Controls.

Requirements: You'll need a Ribbit username/password and a CS3 or greater version of Flash Professional.

The Code:

 
package
{
	//import Ribbit API classes from Library (SWC) and Flash
	import com.ribbit.api.RibbitServices;
	import com.ribbit.api.interfaces.IAuthenticationManager;
	import com.ribbit.api.events.AuthenticationEvent;
	import flash.events.MouseEvent;
	import fl.controls.Label;
	import fl.controls.Button;
	import fl.controls.TextInput;
	import flash.display.Sprite;
 
	public class RibbitAuth extends Sprite
	{
		//declare vars
		private var request:RibbitServices;
		private var authMgr:IAuthenticationManager;
		private var appID:String = "";
		private var devID:String = "";
		private var loggedIn:Boolean;
		private var _username:TextInput;
		private var _password:TextInput;
		private var _loginButton:Button;		
 
		//class constructor, add components to layout
		public function RibbitAuth():void
		{
			_username = new TextInput();
			_username.text = "username";
			addChild(_username);
			_password = new TextInput();
			_password.text = "password";
			_password.y = 25;
			addChild(_password);
			_loginButton = new Button();
			_loginButton.y = 50;
			_loginButton.label = "Login";
			_loginButton.addEventListener(MouseEvent.CLICK, loginButtonClick);
			addChild(_loginButton);
			init();
		}
 
		//init called from constructor
		private function init():void
		{
			request = new RibbitServices();
			authMgr = request.authenticationManager;
			authMgr.addEventListener(AuthenticationEvent.LOGGED_IN, onLoggedIn);
			authMgr.addEventListener(AuthenticationEvent.LOGGED_OUT, onLoggedOut);
		}			
 
		//click handler, logs in or logs out based on loggedIn value
		private function loginButtonClick(event:MouseEvent):void
		{
			_loginButton.enabled = false;
			if (!loggedIn) {
				trace(_username.text + ", " + _password.text);
				authMgr.login(_username.text, _password.text, appID, devID);
			} else {
				authMgr.logout();
			}
		}	
 
		//Ribbit event handler when logged in
		private function onLoggedIn(event:AuthenticationEvent):void
		{
			loggedIn = true;
			_loginButton.enabled = true;
			_loginButton.label = "Logout";
		}		
 
		//Ribbit event handler when logged out
		private function onLoggedOut(event:AuthenticationEvent):void
		{
			loggedIn = false;
			_loginButton.enabled = true;
			_loginButton.label = "Login";
		}
 
	}
}
 

Summary: Instead of doing layout with Flex MXML, we're adding TextInput and Button controls. After that, the Actionscript 3 code used is almost identical. Note that in Flash Professional you could easily drag and drop these controls on the stage and refer to their instance names in the code. Also note that you could draw your own text fields and buttons with code. However, since we have to include the Flash Toolkit in our Library, we might as well use some of the canned UI controls as well in this example.

Next Post: I'll be moving away from login and into some of the other cooler aspects of the platform next. Stay tuned.

Bookmark and Share

Ribbit News: Making Banner Ads Cool Again, Road Tripping

Friday, June 26, 2009 at 6:06am by Kristie Wells | located in Newsletter | Comments | Trackback

Making Banner Ads Cool Again

At the CaT conference in New York, we announced a new program for agencies to bring voice, messaging, and rich communications to their client's campaigns.

We started with the standard banner ad. Then added a little Ribbit flavor:

This is a Phone

We provided a handful of sample banners to get their creative juices flowing and have several running (as in: live) on Creativity Online right now. Why don't you pop on over to Creativity Online, check them out, and maybe even make a call...

-----

Road Tripping
We have locked in a few events for the Fall, and plan to add to the the list shortly so stay tuned! As you can see, we loves the Flash. :)

Bookmark and Share

Ribbit Platform for Gaming

Thursday, June 25, 2009 at 2:07pm by Charles Freedman | located in Feature | Comments | Trackback

Virtual phone

We had a very cool discussion yesterday about how Ribbit will thrive in the online gaming and virtual world space. Demand is brewing to bring Ribbit's communications platform to enhance the experience of millions of online users.

I've been chatting about this with developers as far back as September of last year, when I spoke at MIT's Emerging Technology conference. Innovative business leaders and business graduate students were exploring ways to bring Ribbit into their gaming applications. A popular and practical use case was using Ribbit to bridge the virtual experience with the real world experience by integrating Ribbit into a game or virtual world to enable users IN THE GAME to call out to friends/buddies/teammates in the REAL WORLD and invite them in.

Fundamentally, game developers could leverage both the Calling and Address Book features of the Flash Platform API to let users manage a list of contact phone numbers, and associate that with the user's in game contact list. If the user logs in and find their friends not online, they could click their friend's avatar and dial out to them -- all via Ribbit's platform.

Of course, with the ability to dial out, comes the ability to receive phone calls in the game. Other features and possibilities we discussed included voice morphing and in game voice messaging.

As other server side developer technologies are made available by Ribbit later this year, games and virtual worlds built on 'virtually' anything can begin to include Ribbit services.

Interested in talking to Ribbit about this service and more? Talk to us and visit developer.ribbit.com for more information.

Bookmark and Share

Ribbit News: Chatting up the White House, Tips and Tricks, Give Us an Excuse to Travel

Thursday, June 18, 2009 at 2:45pm by Kristie Wells | located in Newsletter | Comments | Trackback

The White House Launches Video 'Chat' on Facebook
A post from Mashable just came across my desktop and caught my eye. The Obama administration launched a live video chat today via Facebook to engage more citizens in a discussion.

I personally feel this is a great use of Social Media by the administration. I think this is a huge step forward in trying to engage the public, and applaud them for their efforts.  The only down side is that I found out about the chat AFTER the chat was over - so I would like to see them take it a step further on the next one and bring a deeper comms layer to their platforms to help keep me better informed.

I have several ideas, all Ribbit-related of course (SMS to let me know about the next event, call in to leave messages that are then transcribed and posted to the Facebook wall, etc.), but I wonder what YOU would recommend the White House do to bring integration of voice to the forefront of their IT plan?

-----

Tips and Tricks and Maybe a Code Haiku or Two Thrown in the Mix
With the click of a button yesterday, Chuck kicked off a series of Tips and Tricks posts where he is going to rip some of the Ribbit code apart and put it back together with a focus on bettering the experience for the user.

He has made his list of topics, he has checked it twice, he will be jumping between Flash and Flex just to be nice.

The list is not set in stone, however, so we wondered if there was something you would like to see him tear into?

-----

Ribbit on the Road
We have matched the Red Sox calendar to several 'absolutely must attend' upcoming conference and events (nicely done team, I might add - ha!). We've locked in several Adobe User Group visits.  We are working on Spawn events too.  But we have cabin fever. We need to get out (more). We want to beef up our Summer and Fall event schedule and we're really looking for an excuse to get out and socialize with you all. Help?

Bookmark and Share

Flex Example: login/logout of Ribbit with one mx:Button

Wednesday, June 17, 2009 at 11:50am by Charles Freedman | located in Flex SDK, Tips & Tricks | Comments | Trackback

DO try this at home!

This is the first in what I plan to be an inspiring series of Tips & Tricks posts. With each post, we'll take an example of a common use of Ribbit and explore how we can make the code more efficient, stylish, and a better experience for the user.

Situation: Let's look at the simple task of logging into the Ribbit service via the Ribbit Flex SDK SWC. Instead of commonly using a separate login and logout button, we'll use MXML to use one button that will conditionally toggle between login/logout functionality based on your loggedIn status.

Requirements: You'll need a Ribbit username/password and a version of Flexbuilder.

The Code:

 
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();">
	<mx:Script>
		<![CDATA[
			//import Ribbit API classes from Library (SWC)
			import com.ribbit.api.RibbitServices;
			import com.ribbit.api.interfaces.IAuthenticationManager;
			import com.ribbit.api.events.AuthenticationEvent;
 
			//declare vars
			private var request:RibbitServices;
			public var authMgr:IAuthenticationManager;
			public var appID:String = "";
			public var devID:String = "";
			private var loggedIn:Boolean;
 
			//init called on creationComplete event from mx:Application
			private function init():void
			{
				request = new RibbitServices();
				authMgr = request.authenticationManager;
				authMgr.addEventListener(AuthenticationEvent.LOGGED_IN, onLoggedIn);
				authMgr.addEventListener(AuthenticationEvent.LOGGED_OUT, onLoggedOut);
			}			
 
			//click handler, logs in or logs out based on loggedIn value
			private function loginButtonClick():void
			{
				loginButton.enabled = false;
				if (!loggedIn) {
					authMgr.login(username.text, password.text, appID, devID);
				} else {
					authMgr.logout();
				}
			}	
 
			//Ribbit event handler when logged in
			private function onLoggedIn(event:AuthenticationEvent):void
			{
				loggedIn = true;
				loginButton.enabled = true;
				loginButton.label = "Logout";
				accountInfo.height = 0;
			}		
 
			//Ribbit event handler when logged out
			private function onLoggedOut(event:AuthenticationEvent):void
			{
				loggedIn = false;
				loginButton.enabled = true;
				loginButton.label = "Login";
				accountInfo.height = 80;
			}
		]]>
	</mx:Script>
 
	<mx:Panel id="loginPanel" width="300" height="150" title="Authentication">
		<mx:Form id="accountInfo" height="80" horizontalScrollPolicy="off" verticalScrollPolicy="off">
			<mx:FormItem label="Username">
				<mx:TextInput id="username"/>
			</mx:FormItem>
			<mx:FormItem label="Password">
				<mx:TextInput id="password" displayAsPassword="true"/>
			</mx:FormItem>
		</mx:Form>
		<mx:Button id="loginButton" label="Login" click="loginButtonClick()" />
	</mx:Panel>
</mx:Application>
 

Summary: The trick here is established at line 30, where we conditionally call either login() or logout() based on the value of loggedIn. We can then change the state of the UI based on the onLoggedIn and onLoggedOut events.

Next Post: I'm just now putting together a list. Feel free to reply in comments with your suggestions.

Bookmark and Share

Twitter Updates for 2009-06-17

Wednesday, June 17, 2009 at 2:59am by Kristie Wells | located in Inside Ribbit | Comments | Trackback

  • @alaninbelfast @steveellwood: Please add us to the BT Twitter list. Would love to bond with more of our brethren. #
  • @kplanovsky: Glad you can sink your teeth into Ribbit now. Be sure to holler if you need anything. #
  • RT @PaulSweeney: @donthorson MSFT Vine looks like a neat app with some obvious Ribbit mashup potential. <trying beta now, pretty darn cool> #
  • @leedryburgh: But we will <always> be your favorite, right? :) #
  • RT @joseeight: @jonbcampos - @SlideRocket is also integrating @Ribbit in its available tools, so more to love :D #
  • Wishing @joseeight was a gremlin so then all we had to do was pour water on him, and presto! Ribbit lovers all over the world. :p #
  • @joseeight: Absolutely. @joseeight = Gizmo. http://is.gd/13xN5 #
  • Darn auto tweets - last one should have said 'Adobe vs. Open Web and HTML5' http://is.gd/13DPZ #
  • RT @pete01010: @jhames @hashphotoshop Here is a subset of books I have on Safari Books Online #AS3 & #Flash #CS4 http://is.gd/12OXI #
  • Shooting customer testimonials at @ribbit HQ. #
  • Thanks for the shout out @bigfuel! Ribbit presents a new platform integrating the online world and phone calls: http://bit.ly/XBSYX #
  • Sitting @jobsworth down in front of the camera. Expecting some good bits to come out... #
  • @AtulAcharya @chuckstar: Sorry guys, didn't see tweets until interview was over & @jobsworth was long gone. Will get info & post. in reply to AtulAcharya #
  • I hear Tweetdeck has a new FREE iPhone app. Will kick their tires a bit to see if better than Tweetie (which is pretty darn good). #
  • @sauloesdras: ¡Hola! ¿Qué tal? #
  • @joseeight: Hold that Tweetdeck thought...my song just came up on the techkaraoke list. ;p in reply to joseeight #
  • @joseeight: who needs friends when you have the Internet? <kidding> in reply to joseeight #

Powered by Twitter Tools.

Bookmark and Share

Adobe vs. Open Web and HTML5

Tuesday, June 16, 2009 at 9:49am by Peter | located in Flash, Flex | Comments | Trackback

With the recent demo of Google Wave and HTML5, here is a great article by Serge Jespers on Adobe vs. the 'Open Web' and HTML5. It is refreshing to see a different perspective now that the media hype has dissipated.

The release for HTML 5 is scheduled for 2012. Sure… Internet Explorer 8 already has some HTML 5 features enabled but the full blown “Flash killer” is not going to be available until 2012… and even that is an optimistic schedule.

Read the full article here and check out the great comments from the community.

Bookmark and Share

Twitter Updates for 2009-06-16

Tuesday, June 16, 2009 at 2:59am by Kristie Wells | located in Inside Ribbit | Comments | Trackback

  • @swapnildesh: You can de-link your mobile by following these instructions http://bit.ly/Tf2Km #
  • @swapnildesh: If you would like to keep your Ribbit account, you can now add your home phone as primary IN device. http://bit.ly/67sy5 #

Powered by Twitter Tools.

Bookmark and Share

Twitter Updates for 2009-06-15

Monday, June 15, 2009 at 2:59am by Kristie Wells | located in Inside Ribbit | Comments | Trackback

  • @BenJam: I lent my flame thrower to the neighbor, so you get off easy today. :) #
  • @BenJam: Seriously, with new technology comes need to educate, and it is something we are working on as we prepare for launch. #

Powered by Twitter Tools.

Bookmark and Share