Server-side seeking with MP4s

Recent versions of Flash can now play much better video, which can be contained in other containers - like m4v, mov, etc.  And, the easiest way to create the correct kind of video is using something that outputs those files - not flvs.  This creates better quality video with the same bitrate, and is more interoptable (for example, with PSPs and other video players.)

Another thing that is becoming popular is server-side seeking (or “pseudo-streaming“).  This is where the video is progressive (comes off a webserver not a streaming server), but you can still seek ahead of where you’ve downloaded so far - and it simply starts downloading a new stream that starts there.  YouTube is already doing this, as well as more and more video sites.

Combining the ideas, however, leads to a problem: server-side seeking doesn’t work with these other formats.  The necessary metadata has to be injected into an flv file.  So what do you do if you have a bunch of m4vs (say, designed to play in podcasts) sitting around and want to make them stream in your flash player?  Re-encode them, maybe losing quality?

It turns out the easiest way is simply to convert the container (using a tool like ffmpeg), without touching the video or audio streams themselves.  This allows the correct video and audio to sit in the flv file, which can sit alongside the metadata.

ffmpeg -i input.m4v -vcodec copy -acodec copy -f flv -y output.flv

Now that you have an flv, you can trigger the onMetaData event in Flash, but you still have the better encoding.  Here you might use yamdi to add the keyframe data into the flv so you can easily seek in it.

It’s a simple solution, but there’s not a lot of resources out there yet with people combining these two ideas.  But, this is what Amoeba Music is now already doing.

Posted by tchristensen on September 16th, 2008

Filed under Flash, PHP | No Comments »

Rockstar CMS – A Uniquely Powerful Content Management System

Rockstar CMS is a powerful backend system for web applications, built by Kremsa Design.  It is coupled with Rockstar Maker which is a drag and drop interface for building and deploying custom backend interfaces and databases.

Background.  Now in its 3rd year of development and 2nd version, it has been tested thoroughly and proven to be an excellent component to a powerful website backend.  Some of the features added in the 2nd feature revolved around building the table structure to improve maintainability and scalability.  Also, the basic modules were modified so that they could be deployed without any custom coding required.

Powerful Framework.  Rockstar CMS is not like other CMS’s in the sense of being an out-of-the-box solution.  Rather, it is a framework and an interface for building the groundwork for applications.  The tool for rapidly deploying custom administrative sections is CMS Maker, which has a drag-and-drop interface to quickly and easily tailor to the needs of the website or web application in question.

Lets take a look at the four top benefits of this framework:

  1. Easy deployment.  Simple web application backends can be up and running in minutes, while more complex and demanding applications can also be built.
  2. Easy continued maintenance.  Because of the structure of the framework, entire modules can be added to your web application without a single line of your existing admin section’s code being written or even looked at.  This allows for easy maintenance and scalability as your business needs change.
  3. Interchangable modules.  The key differentiation between all other popular CMS’s is the emphasis on interchangable modules.  Although many powerful CMS’s allow users to create strong web applications, the missing component is flexibility.  Any one with any amount of experience with a given CMS (Wordpress, Joomla, phpBB) realizes quickly that if you want to do anything outside the general scope of that CMS it is going to take some work. Rockstar is built with the expectation that each web app will be unique and have unique requirements.  You build tables and quickly define relationships using a drag-and-drop interface.
  4. Front end integration.  Unlike other CMS’s we don’t assume that one front-end interface will suit all web applications, so we don’t even make an attempt at developing one.  Every web site front end is custom created, to allow for absolute flexibility in meeting the clients need, while at the same time providing a powerful and familiar database structure and tool suite for the developer to quickly build out the app.

Versatility, Scalability, Security.   Multiple websites can easily be tied into the same Rockstar admin section to allow for ease of administration across multiple web properties.

Although in an ideal world, each web application would be powered entirely by a 100% Rockstar CMS solution, we realize that some clients need to integrate with existing CMS’s, so we support that as well.  What Rockstar can do is tie into any table in a given system’s database structure and seamlessly allow for the same manage / add / edit / delete functionality that it uses on custom-created modules.  This can be used for example to tie in with phpBB so that you can allow the Rockstar admin to manage the users table, setting security roles, approving new users, and deactivating users who may be violating website terms.

From the starter website with little to no traffic, all the way up to the high-traffic video serving website on load-balanced servers, no server setup is too complex for Rockstar to handle.  Although many systems may boast the ability to scale, Rockstar has been tested.  One of our configurations involved a load balanced setup between 6 servers, with failover support and automatic ftp synchronization.  Memory allocation and usage is also optimized in Rockstar.

Create new security levels just like you would add user records to a user table.  Then, jump back into Maker and set the permissions for each of these roles.

We’ve taken the concept of a “security grid” to the next level, and we call it the security cube.  This is to indicate the 3 layers (or dimensions) of security that every single module comes equipped with out of the box and with easy customization and extension.  They are the table level, the unit or field level, and the row level.  Visibility and editability are easily set - again a the click of a mouse - at any of these three levels.

Standard features.  As the custom back end is being built, there are many standard features that can be tied to all the Units and Assets.

  • Uniimited languages – In today’s expanding global economy, international support is being demanded more and more.  We’ve realized that and included a simple interface for adding languages and defining content on a per-language basis.  By simply choosing from a drop down in the admin, you can select which language you want to enter content for.
  • Search, Sort and Advanced Search – Although other CMS’s come with native support for search, they are typically tied to existing pre-defined tables in the database - users table, posts table, etc.  In Rockstar, every single new module you create can have these features enabled at the click of a button.  Search or sort by all the fields of a table at once or select only one or a few at a time.  Advanced search allows the user to really drill down.
  • Import / Export – We have a nice import and export feature for XML, CSV, SQL, and XLS.  On the import side, we have an intelligent auto-detect as well as a nice matching feature so you can easily tie the columns of your input file to the columns of your table.  On the export side, you can select the columns you want to export, choose format, and even zip or gzip your SQL dumps.
  • Input Widgets – Easily drag and drop to create text fields, checkboxes, radio buttons, drop downs, and text areas.  On top of that, we have a very flash-based nice date chooser, as well as a great file uploader.

Clients.  We are proud to say that many of our best clients’ websites are running on this framework, and would like to mention a few of them.

  • Ripe.tv.  A high-traffic and high-reliability flash video website running on top of Rockstar CMS.   With the highest level of reliability expected, Rockstar has met and exceeded their expectations.
  • Games4money.com. Rockstar is used to manage the ecommerce and user management aspecs of this website backend, while it is integrated with phpBB for forums.  A very simple and user-friendly integration allows the forums user table to double as the website users table.
  • Amoeba.com.  An excellent demonstration of a very full-featured web application, the modules included are a general website copy and content management, newsletter subscription and sending, video, music, eCommerce, and a custom full-featured blog.  These are the type and amount of features that you would expect out of another CMS, without all the common problems.  The developers didn’t have to adapt to an entirely different code base.  After the admin modules were quickly created, the developers only had to build the front end, by hooking into the familiar Rockstar code base.  The result is a completely custom web application with a powerfull, streamlined backend, without all the lose ends that you would typically find when you try to mold a CMS to your custom requirements.

More Information.  For more information on the CMS or for licensing pricing, please contact us at contact@bykd.com - we look forward to hearing from you and working with you.

Posted by kjordan on July 31st, 2008

Filed under Home | No Comments »

Facebook Application Cross-Linking

We have a simple affiliate program that has been working effectively with a few of our close contacts, and we want to open it up to a wider audience of facebook application developers.

We are offering payment per install that you refer to us, the amount varies - contact us for details. To get started, contact us to get a confirmation and for us to get your paypal address or some other method of sending you payment.

The way the referral program works is that you simply append a referral code to the end of any of our applications. For example:

http://apps.facebook.com/liveyahtzee/?ref=myRefCode123

To find a list of all the available applications to refer traffic to, simply visit http://apps.facebook.com/liveyahtzee/, and look in the drop down list that says Apps You May Like - this will give you a full list of all the available apps to drive traffic to.  This is what the drop down would look like if you place it on your site:

facebook-daily-funny-video_1211403128231.png

Posted by kjordan on May 8th, 2008

Filed under Home | No Comments »

Facebook Application Chat Plugin

We have developed a chat plugin for your facebook applications that will allow your application users to all chat together. It’s a great way to enhance the existing user community surrounding your app.

It is super simple to setup, just paste this code into your app and you are done:
<fb:iframe src="http://www.bestsocialgames.com/widgets/fbchat/" frameborder="0" scrolling="no" width="646" height="600"></fb:iframe>

If you dont have FBML page then you can use this:
<iframe src="http://www.bestsocialgames.com/widgets/fbchat/?api_key=[enter app key]&name=[user name ex:Chat%20User]" frameborder="0" height="600" scrolling="no" width="680"></iframe>

NOTE: for the second sample you have to enter your app key and escaped username.

You can see the app here: http://apps.facebook.com/fv-chat (NOTE: the conversation in this chat room tends to get fairly colorful)

Happy chatting!

Posted by kjordan on May 7th, 2008

Filed under Flash, Products | No Comments »

6 Reasons to Build a Facebook App

As social network user bases continue to grow, and more and more large brands are realizing this and moving to social networks to participate in the conversations that are happening about their brand, you may be thinking about launching an application on one of these social networks.

We’re here to say, go for it!

As Facebook currently has the largest user base for apps, that’s who we go with. So, let me get right to it and give you some reasons to build a facebook app.

  1. Interact more directly with users. With a social application, you can get in front of users and interact with them in ways that you can’t do with traditional online advertising, such as banner ads or even PPC. With apps, your company, product, or brand can get entangled in the web of online friends of your user.
  2. Grow virally. Although viral growth is possible in many types of online ads - it is much easier and more likely within the context of a social app. Again, you are getting in front of users where they spend the most of their time, and through the simple click of a button, your app is now installed in their account, and can send news feed updates, messages, emails, and more.
  3. Go where the users are. As referenced above, social networks are where all the traffic is! Sure, you can buy traditional ads on these networks, but why not engage your customers a whole lot more!
  4. We’ll help! We’ve built 8+ apps and know what it takes not only to build the app for you, but also to help you understand how to market it.
  5. We are developers. Because we specialize in pushing flash and PHP beyond their limits, we can tackle whatever creative application you can devise. We have the experience and talent to build complex and robust applications, as well as simple and quick ones, if that’s what you need.
  6. We’re flexible. We are willing to work within your budget. If you have a great idea and/or brand, we can collaborate as partners, and can discuss a revenue share model that works for both of us.

Posted by kjordan on March 26th, 2008

Filed under Products | No Comments »

Multiple Datacenter Load Balancing

Background. As a technology solutions company, we have an extensive depth of knowledge in development, and also a very strong background in hosting. In this article, I’d like to highlight an innovative hosting solution that we developed for a client of ours, who had some very rigorous requirements for their web application.

The client was Ripe Digital, who approached us, needing a solution for their content-heavy, video website, involving hosting and development. They had no tolerance for downtime and tasked us to propose a reliable, redundant hosting solution to ensure that their site would enjoy extremely high up-time.

Although the bulk of the sites bandwidth usage would be dedicated to video content, many other types of content were to be included. The site was to feature user generated content, podcasts, content, as well as a mobile-compatible version of the website, and an email marketing tool in the back end, and much more.

Solution. To start with, we wanted the hosting solution to have geographic redundancies built in. We decided to host the website across two data centers, one here in Los Angeles, and the other in Texas. The servers in Texas were under a managed hosting solution, while the ones in LA were collocated and under our management.

The servers in Texas were designed to host the static content - images and static pages, and it was optimized to give more memory to Apache in order to handle all the incoming static requests. The LA servers were built to host the dynamic PHP files, and so they were optimized to lend memory to PHP for dynamic allocation. Our database was mirrored and balanced as well, between two servers. We had a simple round robin algorithm for scheduling traffic between the four servers.

Synchronization was important for us, as we wanted development and continuous maintenance to be a seamless process. Immediate FTP synchronization was enabled in the content management system, with deleted files also being sync’d. We also had an automated synchronization between the staging and live servers, to ensure that what we were testing against was identical to the live site.

While we initially used a heartbeat to monitor server statuses, we replaced that with custom software to handle monitoring more efficiently.

Results. What we ended up with was a robust hosting environment that allowed for our client to enjoy good traffic increases, with 99.99% up-time.

Posted by kjordan on February 29th, 2008

Filed under Hosting | No Comments »

21 Ways for Content-sites to Increase and Monetize Traffic

Go Social! Tap into the social marketing trend which is taking over the net. There are a variety of tools and platforms to take advantage of.

  1. Social Bookmarking. On the landing page for your content, you should have an addthis.com link to allow users to bookmark your website using their social bookmarking tool of choice. This can allow for viral exposure of your content.
  2. Send to friend. Create a send to friend feature to allow users to evangelize your own content within their personal network.
  3. Open Social / Facebook Application . Create an application for these two popular standards which will open up your application to be viewed on the top 10 highest trafficked sites on the internet - which are all mostly social networking sites. The application can expose your content and also allow users to interact with comments or ratings. Again, you will convert casual viewers into interested fans who want to come back to your website.
  4. Create social networking profiles. Create profiles on popular social networks such as myspace, facebook, and orkut. Dedicate an internal resource to update the profile frequently with new videos, add friends to your network, and see the interest in your brand and the visits to your website increase.

Think outside the browser. As internet users continue to consume information and interact with the web in new ways, you need to be prepared to tap into that and offer your services and information in an increasingly variety of formats - mobile and email are a few good ones for starters.

  1. SMS Contests. Like American Idol, you can incorporate SMS polling into your existing live events.
  2. SMS Marketing - same concept but sending videos by SMS to mobile devices.
  3. Mobile site. Create a mobile version of your website for on-the-go viewing.
  4. Email Marketing. Create daily or weekly alerts to be sent out by email to your most loyal user base. Members will enjoy the email and will be reminded to come back to your site daily. Its great to get a new visitor to your website, but if you get a new email address, you can continue to market to that person for years, and even for a marginally interested person, get hundreds or thousands of site visits from them, simply because you have the ability to continue to communicate with them.

User-generated Content. The good news is that users want to contribute to your website, they’re ready and waiting to add valuable content to your website for you. The catch is that you have to put some time into thinking what are the most appropriate ways to offer these opportunities to your audience. And also, you don’t want to do this in a vacuum, because it will take a while for enough users to contribute their own content, so you will need to continue supplying the content until your user-base takes off.

  1. Upload pictures / videos. Create contests around popular themes on your site.to encourage users to submit their own videos and pictures to the site. Announce the winner on your live event.
  2. Incentivize by Participation. Your viewers want to participate with your website. By creating contests and user submission campaigns, you will give users a reason to visit the website. Create a contest themed around one of your categories of content.
  3. Classifieds. Create a classified section to allow visitors to interact with eachother and form a community on your website.

Audio / Video. As more and more video websites are gaining popularity and being invested in by large corporations, its not hard to see where the future of information consumption will be. The good news is that tools for creating your own audio and video are increasingly more affordable and accessible. Here’s how to leverage your audio/video:

  1. Embeddable Video Player. Leverage existing video content by adding a video player with embedded advertising. Allow users to embed this video into their website, blog or myspace page to share revenue by an affiliate program. Leverage the long-tail effect of users sharing your content within their own networks. Although you may be weary of giving out your content for free, people will always want to come back to your website to get the full experience of your brand, so you need not be worried.
  2. Increase exposure of web content. Place teaser video clips on Youtube and other popular video sharing sites, to tap into the large user bases on those sites and convert them into fans and frequent visitors of your website.
  3. Flash Media. If you’re still using windows media as a video player or audio player, stop right now! Standardize your video to flash video format and get rid of windows media player
  4. Create a video montage. Gmail did a similar campaign (http://mail.google.com/mail/help/gmail_video.html) where they encouraged viewers to submit videos with certain parameters, and they stitched all the videos together into an interesting and funny montage.

And more! Here are some additional weapons to add to your arsenal.

  1. SEO Optimization. For the purposes of greater exposure to search engines, each piece of content, whether text, audio, pictures, or video should have its own separate landing page. Its OK to have a player on the home page which allows the user to conveniently browse all the videos on your site, but a link should be available to a dedicated page for each video with a good URL structure. Some suggestions for additional features on this page are user comments and related videos.
  2. Adwords campaigns. The key here is the customized landing page - you need to take the time to figure out a very specific target that you want to market to and create campaigns along those lines.
  3. Interactive game. Create a flash video game tailored to the interests of your viewers.
  4. Live events. Create live events centered around your content. If you have video content, these can be live webcasts. If audio, they can be live teleconferences. If it is simply written content, create a chat room and announce a time when you will be online, live, available for question and answer.
  5. RSS Feeds. Create feeds to syndicate your content in this popular format. There are many aggregators which will pick up your content and a growing user base of information consumers who prefer to consume news, videos, and photos through the convenience of an RSS reader.
  6. Blogging. Dedicate an internal resource to write blog posts frequently. Search engines love blogs and you will be rewarded with traffic for well-written and frequent blog posts.

Posted by kjordan on February 25th, 2008

Filed under Marketing | No Comments »

AS3FacebookLib photo.upload update

Hi guys,
i’ve finally added the updates i mentioned in discussions about AS3FacebookAPI to the project SVN, so all of you that kept mailing me and asking me for release can be happy now.

Ok some insight, i’ve been working on a company project called Friendstein which is basically a Facebook web application where you can get a profile photo of a friend and modify it, then save it back to application album. Developing this i encountered a major problem, there is no AS3 facebook API that is able to handle photos.upload method call correctly or at all. So i’ve started working on it in AS3FacebookAPI and it brought fruits. :)

Once again here is the summary of current updates I made:

  • photos.upload (yep functional and rocking inside the API, with my MIMEConstructor class)
  • changed some not fully done API calls/responses (users.getInfo response was supporting only one user for example, why?)
  • fixed minor bugs mostly typos, some of em already mentioned around and some not

There are more changes but i didn’t commit all of them yet, some of them are still work in progress. Oh and the SVN repository can be found here http://code.google.com/p/as3facebooklib/source And for all of you that are interested in working app just check http://apps.facebook.com/friendstein and install it.

Ok thats all folks, have fun.

Peter alias sHTiF

Posted by sHTiF on January 31st, 2008

Filed under ActionScript, Development | No Comments »