I'm testing out Pacifica, Adobe's Flash VOIP library, and I have to say, "it works as advertised", meaning the demos shown at Max and other events are true to form (I'm under NDA so I can't say much more). With RibbitPhone, Red5, Smart Fox Server, ElectroServer, FMS and Adobe Connect, there are now quite a bit real-time possibilities with Flash serving different needs.
Add to that the new hardware acceleration additions in Flash 10 and my real-time, multi-touch dreams are coming true! The only thing left is a built-in Flash screen codec to capture screen recordings.
Ribbit Phone, the VOIP library for Flex/Flash, is awesome and simply amazing. In less then 5 minutes, using the sample code, I was able to create a Flex project that made and received phone calls! Wait, it gets better. Not only can I make and receive calls, I have access to voicemail. As a developer, I can programatically manipulate my voicemail. Hold on, it doesn't stop there . . . voicemail is automagically transcribed to text!!
So, I'm in the throws of putting together Spyke. Spyke = Amazon S3/EC2 + IM functionality + webcam chat + Ribbitphone. Technically not so challenging, more a user experience nut that needs to be cracked. I might break down and get on the Facebook application bandwagon for exposure (once the Ribbit Phone forums open up, I'm going to find out the account setup process). Anyway, should be fun.
I know I know, I have been away too long. My startup was acquired and now I'm working for the MAN. I'm still working on multi-touch software (using diffused illumination now instead of FITR) but what brings me back to blogging is the anticipation of being able to develop a Flex/Air application based on the Ribbit Phone VOIP component. Here's a snippet of an e-mail I got today:
"You have been chosen as a finalist from among the hundreds of applicants to Ribbit's Phone Component pre-release program! We've whittled the number of applicants to a select pool of highly qualified folks with really cool ideas. Our next step is to listen to the details of your ideas and make our final selection."
My fingers are crossed. If I'm chosen I will blog about my experience developing Spyke, a real-time, ad supported social networking/collaborating video/phone/text chat application in Flex/Air using the Ribbit Phone Component for the front end and Amazon S3/EC2 on the backend. I plan on it being compatible with AOL/MSN/GTalk/YIM and OpenID/SAML/(whatever else is easy to port social graphs) and last but not least . . . open source. Yes, I will also create a "widget" for other networks using something like Clearspring/Gigya.
If I have enough time, I'm planning on adding a photo/Powerpoint slideshow and mp3 broadcaster. I am going to try and make this will work with FlashLite 3 too.
In other news, ffmpeg plans to decode NellyMoser!!!
When something essential is purposely flawed. Derived from the standards body that regulates javascript/Jscript and Actionscript3, the most widely used client side programming languages on the Internet today.
I've been asked, "What programming language should I master"? Naive question for sure but it got me thinking about the browser as the new desktop and more specifically about client side RIAs. A new religious war is bubbling . . . Flash or Silverlight. Some frame it as an open source v. Microsoft battle. However, that does not take into account the client side operating system (including Symbian here) and the server side technology.
This opens a very interesting door for the likes of Laszlo. If they pretty themselves for a date with Google, I think they can come out on top.
Back to server side technologies. Besides Livescript which ran on Netscape web servers, I don't know of any server based language that is ECMA compliant. FMS doesn't count because it doesn't serve http. What language am I missing? Haxe really doesn't count . . . at least not yet.
So if all the client side technology is ECMA based, is there an equivalent server side language? If so, then ECMA would be good programming "language" to master because learning the different dialects would cover you as a newly minted CS graduate. It would also get you a running start with Python and Java.
Having one standard to rule them all is great but if ECMA is that standard, it is inherently flawed. A beautiful dilemma.
I'm a little late to the game but Microsoft announced the release of their CLI. With the release of Tamarin, I sense an Adobe v. Microsoft fight which hopefully will result in the ability to compile AS3 code to a .NET compatible binary? I'm sure the Haxe developers are all over it already.
Nothing major but I am too excited! I have simple blob detection working in AS3. The swf is less than 5k and it works better than I expected (I guessed at values and got pretty much spot on). I know each slate is going to have different values due to infrared intensity, ftir, camera sensitivity/distance/other adjustments, etc. I thought that I would waste a lot of time adjusting sensitivity levels but detection happens right when I touch the acrylic when using different fingers and hands. Once I get to refactoring I'll create easy to use adjustments slider knobs or something.
Now on to the interesting and fun part . . . creating event handlers multi input based event handlers.
Robotics has always been a fascination of mine and think home made "fabbers" are a great practical use of the technology. Currently, I'm in the planning stages of building a "fabber" based on the RepRapOne 1.0 (Darwin). I chose this over the Fab@Home after a lot of forum digging and hardware research. I need some automated way of creating pyicons for my touch table. Pictures, diagrams, etc. coming soon.
What's the point? I mean it seems like a fad to me but what do I know? Who cares what you are doing at the moment? I checked out the API because I would like to extend Twitter so that it could actually be useful. The immediacy, mobility and reach seem compelling.
I could see a site built around a Twitter like messaging service that would allow me to broadcast a message saying I need a babysitter tomorrow. The tweet would go out to all the teenage girls in my area that have signed on to receive babysitting tweets. Those that are motivated enough to stop doing Myspace for 2 minutes would respond. I'd look at the responses and see what their reviews say. I could see reviews from other parents I trust. Maybe I could even PM a tweet asking some questions to said parents . . . Craiglist meets Twitter.
Alas, no can do. Their AS3 API is cool though. I thought for sure this was the direction Google was going to go with the Dodgeball acquisition. Who knows, maybe it is.
The Web 2.0 Expo is coming up, I think I'm going to attend but I'm so knee deep in good work that I don't want to stop. However, these conferences tend to inspire. One of the companies that is showing at the Expo is Coghead. I've been following them and their competitor DabbleDB (not to be confused with the video search company Dabble) for a while.
Working in Adobe products and dealing with frameworks for the last few months, I can't believe there isn't any ORM work being done like creating a Rails or Hibernate type implementation for Apollo forms for CRM like apps. Hmmm . . . maybe once I get out from under all my current work, I can extend/borrow/hack flapjam . . . just a thought.
LocalConnection is DAO like but different enough.