Feb 8, 2008

I recently took a course in Rich Internet Application development which focused on the snazzy new Adobe Flex 2 (now Flex 3) platform. This was an amazing course because Flex is being hyped up as the next big thing in RIA development because it runs in the highly pervasive Flash Player plugin (booyah silverlight!). The structure for the course was a rigorous 10week development session in which we would conceive, design, and develop a Flex application and integrate it with some type of stateful data storage.
As usual I wanted to develop something useful, and something that would allow me to integrate Flex with a technology that would be used in the real world- so I opted to integrate it with PHP and MYSQL. Even though this part of it wasn’t required, I felt it really made the experience that much more useful.
Check it out: Flex Course Manager
Responsibilities: All design, development, and backend
Nov 15, 2007

In a nutshell Decision Lens Web Suite is a web-enabled version of desktop software that is also offered through Decision Lens.
The application is pretty cool, it allows real-time collaborative decision making from remote locations while avoiding the ominous “group think” dilemma by using AHP (Analytical Heirarchy Process) to weight the priorities of the users involved in the decision, as well as the group overall. Its pretty cool stuff and has many applications.
The web version i was responsible for is written primarily in web-based platform which utilizes realtime connections to provide users with a collaborative and engaging decision making process. Because the application is web-based it is accessible from almost any computer on earth with an internet connection. Exciting stuff!
Check it out: Decision Lens Web Suite
Responsibilities: All flash development, flash middleware development, UI development, and XHTML development
Oct 19, 2007
Embedding flash into a webpage is not always so straightforward. With activeX blocking now a standard feature in Microsoft Internet Explorer it is becoming trickier and trickier to properly embed flash content and have it display properly. Adobe released a technote addressing these new issues, and in this note they provided methods of getting around the new IE ActiveX blocking, but well… lets just say their solution was cumbersome to say the least.
Luckily, Bobby van der Sluis of Refunk has release “Unobtrusive Flash Objects” or UFO for short. What UFO does is it allows developers to easily embed IE-compliant activeX in their web pages. In addition to its easy to use nature it is also completely open-source js files, allowing the developer to easily customize it to suite their needs. As if that wasnt enough, the UFO can be configured to auto-magivally update the client flash player if it is out of date!
UFO is a great asset for any flash developer. For full details and download check out: Unobtrusive Flash Objects (UFO)
Oct 14, 2007
Things at work have been ramping up as we prepare for our enterprise-level release of software which utilizes many technologies…. FMS2, Jboss, Mysql, PHP, Flash, and Java. Everything has been going rather smoothly, until we began testing our security settings!
Data is secured using FMS2’s native SSL support. While this works great on the PC side of things, Macs are a different issue altogether. In testing we found that attempting to connect to a media server which uses SSL through the RTMPS protocol from a Mac computer results in a full scale server crash. The edge server loses connection to the core, tries to restart it, fails, and basically whats left is a dead media server… not good! Whats even stranger is that connecting to the same application via RTMP protocol connects with no issues!
Of course, I have made Adobe aware of this issue as well but they have yet to release a fix (no surprise there). Int he meantime there are a few solutions I have come up with:
Solutions to the MAC/FMS2 native SSL bug
- Tell all your users to go buy a PC
- Use JS detection to detect mac users and have them use RTMP to connect (unsecured, but at least they can connect and it doesn’t crash the server)
- Use a 3rd party SSL server such as STunnel to handle the SSL end of things (untested) this would theoretically avoid whatever is wrong the FMS/SSL+Mac and still enable mac users to utilize the secured connection
The important thing to remember here is that ANY connection attempt from a mac on RTMPS will bring down the server when using the native FMS SSL, and disconnect all clients! This means if some non user on a mac stumbled upon your login page and attempted a login the server would come crashing down and all your paying users would get disconnected!
Oct 14, 2007
Recently while working on a project using Flash Media Server 2, I discovered a rather major issue with the server itself. If a user disconnects in a less-than-graceful manner, such as losing internet connection, or unplugging their LAN cable, or something of that nature, the server seems to think they are still connected! At first I didn’t believe it but after further testing, sure enough the connection were being left open in FMS2, and this led to all types of other problems when FMS2 tried to send data to clients that actually no longer exist!
I contacted Adobe about this issue, and they confirmed this was indeed a bug (of course I had to make a sample app to prove it to them first). While there is not immediate Adobe solution to this issue, with the help of some other FMS’ers I have come up with this temporary solution. It is basically a heartbeat on the server side which calls a function on each client and waits for a response. If no response is received within XX secs, it can be assumed the client is no longer connected. This solution works well except if you have an application that does a lot of data crunching. Because if the app is crunching data, it wont respond to the heartbeat until the data is processed, and this can lead to false disconnects, something to keep in mind.
Here is the file i sent to adobe, which both illustrates the issue, and has a workaround to detect the detected client faster than FMS2 does on its own.
Ghost Connection Workaround
May 23, 2007
This was a project for my Design of Graphical User Interface course in Spring of 2007. I really like this project because it uses alot of dynamic animation and tweening as well as heavy XML-based data for the content making it very customizable. This was a 10week project and involved lots of process work from raw sketches all the way to wire frames and finally to the result. Everything can be found on the site created for the piece, in pdf format.
Check it out: Ganondagan Interactive Timeline
Responsibilities: All design, development, and backend