Ignite Realtime Blog

4 Posts tagged with the flex tag

After Gato made this suggestion in my last blog, I decided to move this request to the top of my to-do list as I also need it for another project I am currently working on.

 

http://red5.4ng.net/gtms/user_tune.jpg

 

How does it work?

 

I am using the Flex Dashboard developed by ESRIA which was donated to the Adobe Developer Connection. Plugins are presented in a pod layout called a View. Each View occupies a Tab in the SparkWeb ChatWindow. You can modify Views by dragging and dropping pods to a different location and minimizing, maximizing, and restoring pod windows. View changes are saved using a LocalSharedObject. View configuration data is loaded from sparkweb/plugins/plugins.xml with values in plugins.xml indicating which swf file to load for a particular pod within each View.

 

http://red5.4ng.net/gtms/plugins.jpg

 

<views>

<view id="view0" label="Plugin Demo">
  <pod id="app01" title="User Moods" dataSource="plugins/moods.swf" />
  <pod id="app02" title="User Tunes" dataSource="plugins/usertunes.swf" />
  <pod id="app03" title="Demo" dataSource="plugins/demo.swf" />
</view>

</views>

 

SparkWeb will load each pod SWF file and call the method setParentApplication passing it the SparkWeb root Application object. From this object, you can navigate your way to access all other SparkWeb public objects and even add eventhandlers on events like NewMessage for example.

 

To get a feel of what can be done, I decided to implement the User Tunes and Moods PEP (personal eventing protocol) applications. See Armando Jagucki's blog for more details about PEP in Openfire. The source code to the demo plugins is in the src/plugins folder.

 

For those interested, the latest version of Red5 Plugin for Openfire can be found at _http://red5.4ng.net/red5-0.1.06.zip. Remove comments in plugins.xml to activate the demo.

5,820 Views 14 Comments Permalink Tags: flex, plugin, sparkweb, red5, pep

This weekend I jumped back into development of SparkWeb to reacquaint myself with the list of outstanding issues/bugs in order to set a course for fixes and improvements. As a result, I have updated SparkWeb's roadmap in its issue tracker, adding a handful of bugs to be smashed in the weeks ahead for the 1.0 release (and also closed a lot of outdated ones). Clearly the next release will be focused on bugfixes and stabilizations. However, let's look into the void a bit further and see what new features and enhancements are on the horizon.

 

 

Dynamic Theming and Skinning

 

After developing on and using SparkWeb for nearly a year now, I have grown tired of its current skin and icon theme. In the code we are actually hardcoding a lot of color values and of course hardcoding the skin images themselves. This is not ideal in the least. Let's work towards a skinnable SparkWeb with updated icons. What I have in mind is something less "heavy" on the eyes, something like Yahoo's Flex skin they released under the BSD license:

 

http://www.yswfblog.com/blog/wp-content/uploads/2007/12/yskin_401x235shkl.jpg

 

 

As for the icons, they should also be themable. Imagine SparkWeb with a beatifully clean flex skin matched with the IM-related icons from KDE's Oxygen icon theme. I would like to see that, myself.

 

 

TLS Support

Secure communications over XMPP. Enough said, right? I am sure a lot of you would like this feature.

 

 

Plugin Framework

Easy extendabilitiy with the option to disable/enable certain functions would be great. I am sure a lot of you saw Dele's manipulations of SparkWeb adding Audio/Video communications. That is an obvious use case of such a framework, and I image his code would serve as a good guide for determining "plug points" in the code to implement it.

 

 

Stay tuned, and don't be shy to report bugs and submit patches of course.

 

--Armando

2,961 Views 7 Comments Permalink Tags: xmpp, flex, sparkweb, xiff, jabber, roadmap

When SparkWeb became open-source, I took a look at the source code and found it had more features than the Flex-based XMPP client I was co-developing for the Red5 Plugin. It therefore made sense to migrate the Flash audio and video features we had developed for our client to SparkWeb and make it compatible with the Spark and Openfire Red5 Plugins and package it as part of the Red5 plugin. The downside to this that the modifications to the Red5 version of SparkWeb makes it out of sync with the official SVN and it could possibly become a fork requiring a name change later on.

 

So what does the Red5 SparkWeb offer?

 

  1. A plugin container for SparkWeb. I noticed  that quite a number of users are asking for a plugin to deploy SparkWeb. My advice would be to try the Red5 Plugin.

    Configure  Index.html and point your users at

    http://your_server:nnnn/red5_webapp_name/sparkweb

    Where nnnn is your HTTP-BIND port number (default 7070) and red5_webapp_name is your default red5 web application name (default red5)

  2. Enables use of the Red5 plugin audio and video features with both Spark and SparkWeb. You can't do video messaging and the video roster is replaced with visual presence (see below). You can make audio/video calls and share your desktop with your contacts. Each call record is logged in openfire and can be queried by the administrator with the Openfire SIP plugin.

  3. Makes SIP phone calls between Spark and SparkWeb users. All SparkWeb SIP calls are logged with the Openfire SIP plugin as well.

  4. Provides webcam support. If you have a webcam installed on your PC, it will be automatically detected and will be used instead of your vcard photo. You can disable this in index.html. You can add or replace your vcard photo with a snapshot of your webcam when you edit your profile. You can also publish snapshots from your webcam as visual presence to all your contacts. What this means is that all your contacts will have  a snapshot of your webcam in their rosters. The interval between snapshots is 60 secs by default and can be modified in index.html. See a draft copy of my proposal to extend XMPP with visual presence. Please feel free to post comments at the bottom of the document.

I also made a few cosmetic changes to my taste and added sound effects for incoming calls and instant messaging. I added some code to improve the loss of focus detection by tracking Flash application activation/deactivation messages and mouse movement. If you use Internet explorer and enable pop-ups, you will get a pop-up in the bottom right corner of the screen with a photo, name and first line of the incoming messaging if you are outside of SparkWeb when a new message arrives.

 

I am hoping to add fastpath support and a calendar to SparkWeb next.

17,193 Views 17 Comments Permalink Tags: spark, video, flex, openfire, plugin, presence, flash, sparkweb, red5, webcam, sip, audio, visual

XIFF 3 Beta

Posted by David Smith Apr 2, 2008

I'm happy to announce that we've just released an initial beta of XIFF 3.0, our open source ActionScript library for building XMPP clients. Continuing along the path set by Sean and the previous developers of XIFF, we've moved to embrace ActionScript 3 and Flex, while adding significant functionality improvements at the same time. Highlights include BOSH support, VCard support, and redesigned APIs. Feedback is strongly requested; It has been quite a while since a XIFF release, and a lot of things have changed, so I will be interested to see how the community feels about the direction we've taken things.

 

Some parts of this new release are still in a transitional stage. For example, SASL support is only available for BOSH connections at the moment. As more code is generalized between the BOSH and Socket connections, this limitation will go away.

4,493 Views 9 Comments Permalink Tags: planetjabber, xmpp, flex, sparkweb, actionscript, xiff, webapps, release, beta