Adobe To Shut Down LCCS, Customers Badly Affected

After several recent announcement around Adobe's LiveCycle platform, it may not come as a surprise to some that the LiveCycle Collaboration Service (formerly Cocomo, formerly Flash Collaboration Service) will be shut down at the end of 2012. What may be a surprise however is the relatively short notice that Adobe is giving existing customers and a total lack of a migration path, leaving many people in a real tight spot.

Remember that LCCS is a hosted collaboration service, effectively cloud based, that allows developers to build real-time communications right into their Flex applications. The work that has gone into LCCS is impressive, and the platform offers a range of great features such as room provisioning APIs, live and audio and video communications (both over RTMFP and RTMP) and even screensharing capabilites (but let's not warm that topic up again...).

› Read Full Article


Tomorrow: Getting Familiar with Flash Media Server

Joseph Labrecque will be presenting 'Getting Familiar with Flash Media Server' tomorrow (Tuesday, March 13th) at the FMS Online User Group.

FMSUG is thrilled to have Joseph Labrecque, Adobe Education Leader and Adobe Community Professional presenting at our March meeting.

Date: Tuesday, March 13
Time: noon EST, 11:00am Central, 9:00am Pacific
RSVP: http://fms.groups.adobe.com/index.cfm?event=post.display&postid=41402
Attend: http://realeyes.adobeconnect.com/fmsug

This presentation will provide an introduction to Adobe Flash Media Server 4.5 and the use of streaming video with the Flash platform. We will have a look at a number of topics, including; setting up a local development server instance, testing RTMP, HDS, and HLS streaming with sample files, using the Flash Media Server adminstration console, extending HDS/HLS to tap into the applications directory to share RTMP-ready streams over HTTP, have a look at a variety of playback options including Strobe and the OSMF, provide some pointers on encoding tools and settings for video, examine some extended uses for Flash video playback through real-world application development scenarios.

This is a real-time meeting, so you'll have the opportunity to ask Joseph questions so that you can get more familiar with Flash Media Server.

RSVP: http://fms.groups.adobe.com/index.cfm?event=post.display&postid=41402
Attend: http://realeyes.adobeconnect.com/fmsug


Web Video Workshops for Multi-Screen Delivery in New York - Now with 10% Discount

If you are in or near New York City on April 10th 2012 and are interested in web video then this one day workshop by my friend and co-author Jan Ozer and fellow developer Lisa Larson-Kelley is for you. What's more, you can use the discount code SLC10 to get 10% off the ticket price. The code is valid through March 15th.

Attendees will learn encoding, server configuration and player development for playback in Flash, HTML5, iOS, Android and OTT.

The mobile video market is expanding rapidly. The wide range of devices with varying platforms and capabilities makes reliable video playback on mobile costly and time consuming. Mobile compatibility has three elements; appropriately compressed and formatted files, a properly configured streaming server and an intelligent player that can detect the capabilities of the remote viewer and connect the viewer to the correct files. This requires extensive knowledge of the playback capabilities of a wide range of devices, a deep familiarity of various compression technologies, plus Flash and Javascript development.
Until this workshop, there literally has been no single resource that pulls this information together and presents it in a cohesive way.

To assist websites seeking comprehensive mobile compatibility – as well as compatibility with HTML5 and OTT devices – Web Video Workshops announces a one-day seminar entitled Encoding, Serving, and Player Development for Multiple Screen Delivery. The workshop will be held in Manhattan on April 10, 2012, from 9:00 AM to 4:30 PM.

The workshop is presented in two 3-hour sessions. Compression expert Jan Ozer, author of Video Compression for Flash, Apple Devices and HTML5, will present Encoding for Multiple-Screen Delivery. Web video consultant Lisa Larson-Kelley, author of Flash Video for Professionals and the producer of Lynda.com's Publishing Video with the Flash Platform and Up and Running with Flash Media Server 4.5, will present Video Serving and Player Development for Multiple-Screen Delivery.

The cost for the full one-day workshop is $395, or each session can be taken individually for $220. The workshop will be held at the Learning Tree Education Center located at One New York Plaza. For more information on the workshop, or to sign-up, visit webvideoworkshops-ny2012.eventbrite.com.

Web Video Workshops is a joint venture between the Streaming Learning Center and LearnFromLisa.com. The Streaming Learning Center's Jan Ozer covers video encoding and Lisa Larson-Kelley illuminates video delivery and player development – providing end-to-end knowledge to achieve the best playback across desktops and devices.


Easily Monitor Log File Output in OSX Terminal (tail -F)

Here's a quick tip that is a real time saver in some situations. As a developer you often come across programs, tools or servers that produce output in form of a log file. Or maybe - and this includes myself - you use logs for debugging purposes.

In ColdFusion for example I regularly find myself adding cflog tags to my code in order to get a view into what my code is doing. Having to open and close log files constantly can be tedious at best, but luckily there is a really simple way of displaying a live view of the most recent entries using the standard Unix tail -F command.

Whereas tail on its own simply displays the last part of a file, the -F option will not stop when the end of the file is reached but will keep monitoring the file for new lines and displaying them, thereby giving you effectively a live console view into the file.

Taking ColdFusion logs as an example, here's how you'd monitor a particular log file (mine are typically named according to the site or application I am working on):

view plain
1cd /Applications/ColdFusion9/logs/
2tail -F playingornot.log
3"Information","jrpp-4","02/21/12","17:40:30","PLAYINGORNOT","/index.cfm"
4"Information","jrpp-5","02/21/12","17:40:33","PLAYINGORNOT","/index.cfm"
5"Information","jrpp-5","02/21/12","17:40:35","PLAYINGORNOT","/cfc/Auth.cfc"
6"Information","jrpp-5","02/21/12","17:40:35","PLAYINGORNOT","/cfc/Players.cfc"
7"Information","jrpp-5","02/21/12","17:40:36","PLAYINGORNOT","/cfc/PlayTimes.cfc"
8"Information","jrpp-1","02/28/12","09:37:37","PLAYINGORNOT","/index.cfm"
9"Information","jrpp-1","02/28/12","09:37:40","PLAYINGORNOT","/cfc/Auth.cfc"
10"Information","jrpp-1","02/28/12","09:37:41","PLAYINGORNOT","/cfc/Players.cfc"
11"Information","jrpp-1","02/28/12","09:37:42","PLAYINGORNOT","/cfc/PlayTimes.cfc"
12"Information","jrpp-2","02/28/12","09:40:30","PLAYINGORNOT","/cfc/PlayTimes.cfc"

As my application runs I can see new entries being displayed in real time in my log file - very handy. This particular log is produced by adding

view plain
1<cflog file="#this.name#" type="information" text="#arguments.targetPage#">
to my Application.cfc's OnRequestStart handler.

This technique works for any kind of text based log file on operating systems that have the tail command or similar available.


Installing git and gitolite on Ubuntu 11.10

Don't ask me how I did it (ok, you can ask, in fact I'm going to tell you...), but somehow I now have a remote git server and gitolite for repo and user administration installed and running on Ubuntu 11.10 using an Amazon EC2 Micro instance.

I've spent all morning on this, tested it on 3 different instances (I love it how you can just throw away an EC2 instance and start again with a new one in a matter of minutes) and have kept a log of the steps which got me there. Please note that there may be errors or illogical jumps in this summary, but maybe it will be helpful nonetheless - or it may even work outright, who knows.

BEfore we get started, here are some links that helped me (but note I had to pick some steps from some links, and other steps from others...). In particular I did not clone gitolite to my local machine (as this post suggests but ended up using

view plain
1sudo apt-get install git

Links I used:
git + gitolite + git-daemon + gitweb setup on Ubuntu 11.10 server
How to setup git server using gitolite in Ubuntu 11.10 Oneiric
Install Gitolite To Manage Your Git Repositories

First of all, get yourself an instance of Ubuntu (you may swap this for your preferred Linux distro). If you are in love with EC2 then head over to alestic.com and click the selection at the top of the page (I'm using the us-east region), and then pick your preferred image.

The neat thing is that if you already have an Amazon Web Services account you can launch your instance with virtually one click, very neat. I picked the Ubuntu 11.10 Oneiric EBS boot image, 64 bit.

Once booted, SSH into your instance (consult other blogs for details on this if you need help).

› Read Full Article


My 3 Startup Tips For Launching Your Own Product

Over the years I've developed several software products and sold them online, often without much planning or strategy - they sort of 'happened', and often failed. It wasn't until I built Scribblar (which I am still working on) and ShareMySlides (which is mainly sitting idle) that I started to add a bit of a methodology to my approach.

Right now the web is full to the brim with startup advice, and I figured I add my own experiences to that. So here are my top 3 (admittedly rather generic) tips for launching your own product - tips that I have received at some point and which held true.

› Read Full Article


Troubleshooting SWF Loading Issues in Chrome - MIME Type Issue With S3

As some of you may already know, I run and maintain a few of my own products, the most popular of which being Scribblar which pushes hundreds of sessions every day.

Recently I started getting reports from users that the main page which hosts the applications' main SWF file was not loading properly, or it would work in one browser but not another. Within the handful of reports I had, Google Chrome appeared to be the browser that posed most of the issues - this seemed odd as Chrome effectively has Flash Player built-in and always auto-updates to the latest release version which is why I recommend it as the preferred browser to anyone who asks.

My first look was towards SWFObject - I figured that maybe something in Chrome had changed and broken the Flash Player detection. A common trap that some developers fall into is to check for specific Flash Player versions, for example only allowing access to Player 11 or below, which then locks users out once Player 11.5 (or similar) is released. But this wasn't the issue here.

After much more digging and more back-and-forth emails with some users I noticed a very odd behaviour when trying to access my SWF directly (without an HTML wrapper) in Chrome. This image shows the request in the Chrome Debugger.
Chrome Debug Output
Notice how the shows as 'canceled', and that the content type is coming up as the generic binary/octet-stream? Clearly this pointed towards Chrome not being able to deal with a wrongly set MIME type correctly, whereas other browser may have handled this is a more flexible way.

› Read Full Article


Accessing the mx_internal Namespace in Flex

This is a topic that comes up from time to time, and it did so for me on a current project so I thought to quickly sum it up again here.
I was working on a Flex project using an old SDK (4.1) and the OSMF-based Spark VideoPlayer component contained within. I had to use this particular player since the customer needed to target Flash Player 10.0 or above.

I'm unsure which version of OSMF this Flex SDK contained, but what I could see was there seemed to be no obvious way to set the bufferTime on the MediaPlayer instance that's contained within the VideoDisplay instance that's contained within the VideoPlayer due to the fact that the MediaPlayer instance was namespaced to mx_internal

view plain
1mx_internal var videoPlayer:MediaPlayer;

What does this namespace mean? It basically is Adobe's way of saying: "Watch out, this stuff right here is likely to change in a future version (of OSMF in this case) and if you mess with it then it may break in the future."

Well in my case it was worth the risk :-) and here's how you'd access the bufferTime property and use the mx_internal namespace.
At the end of all your import statement add this:

view plain
1import mx.core.mx_internal;
2use namespace mx_internal;

Then somewhere else in your code you can do this (where player is my instance of s:VideoPlayer):

view plain
1player.videoDisplay.mx_internal::videoPlayer.bufferTime = 0.1;

Suck this up and enjoy :-)


FMS/Wowza/Red5 Broadcaster App For Android

As one of the main contributors to the Red5 project, Paul Gregoire is a well known name in the community. Yesterday he posted a link to an AIR for Android app he built to the Flash Media List and I'm republishing his link here as I think many of you will find this app quite useful.

The Broadcaster Android app allows you to broadcast audio and video to an RTMP server such as Red5, and also works with FMS and Wowza. What's more, the app is free and will run on pretty much any Android device with Android 2.2 and up.

You can download the Broadcaster app from the Android Market.

But apart from being useful, the app also shows that AIR for Android can be quite versatile and allows you to easily publish what is essentially a Flex application to a mobile platform.


2012 - Onwards And Upwards

As 2011 is drawing to a close (seriously, where has this year gone?) I think it's time for a quick look forward.

It's been a turbulent year, especially for the Flash Platform. We have some ups, and definitely some downs, and at times it felt as if our beloved community was imploding. Some folks have moved on and are quite likely never to return - 'sinking ship' comes to mind. Whilst I'm not the captain of that particular ship, I certainly hold the rudder for my own little boat and despite what Adobe may want us to believe it is clear to everyone that Flash has had its peak. I feel a bit sad about that, and it's not really because of the technology but because of the aforementioned community; I just don't feel that I'll find the same mix of creativity, problem solving and 'thinking outside the box' spirit elsewhere. The Flash community has been and still is one of a kind and I hope it will stay that way in 2012 and beyond.

In terms of new technologies to pick up next year there are plenty to choose from. Too many almost, and I for one feel a bit overwhelmed at times. I have a feeling I am not alone.

› Read Full Article


Previous Entries / More Entries