|
Digital Content Your Way (Boxee) |
|
Written by Chad Auld
|
|
Monday, 16 February 2009 09:54 |
A few years back my friend and I built our own Tivo like boxes with Ubuntu and MythTV. The process was less than simple and involved a lot of tweaking and experimentation, but the end result was actually quite nice. Today this process has been simplified a great deal and users can grab one of many pre-built MythTV Linux distributions such as Mythbuntu. I ran my MythTV box for a few months before I ran into a hardware issue. I swapped out a few parts with no luck and without much time to troubleshoot it the box sat idle for over a year.
Since that time I've experimented with a number of services to get my digital content; DirectTV, Tivo, the Galleon Tivo Media Server, Amazon Video On Demand, BitTorrent, Usenet, iTunes, Hulu, Joost, Schmooze.TV, Netflix, etc. Each of these methods has its own set of advantages and disadvantages. Some are fairly nerdy and unfriendly to the average user. Others have a cost component that may or may not be within ones budget. One component that has always been required in my setup was digital cable (i.e.) Comcast and/or DirectTV. These services have worked without issue, but are very costly and come overloaded with commercial advertisements. We have used Tivo for over 6 years now to morph digital cable into tolerable on demand and commercial free content. I do not mind advertising in the free content found on sites like Hulu, ABC, CBS, etc, but when I spend as much money as I do with my digital cable service I don't appreciate the additional marketing. In recent years digital cable companies have started to create their own on demand services and Tivo like interfaces. I've not been impressed with a single one thus far though.
With the amount of digital content available on the Internet these days I decided it was time to have a go at eliminating digital cable from my list of services. The current economic crisis has made this even more appealing since who wouldn't be up for dropping a costly monthly bill or two. There are various methods of retrieving TV shows, movies, and music on the Internet in an illegal manner, but I am focused legal methods and as I stated earlier I am ok with advertisements in otherwise free content. So I started by laying out what my ultimate setup would feel like. I want on demand access to TV shows (past and present), a collection of Movies (past and present), my own library of digital content (music, dvds, pictures, etc), and a streaming music service. I want all that in an single interface that I can interact with via my remote control over my broadband Internet connection. Lastly, I'd prefer it be something based around open source technology.
|
|
Read more...
|
|
jChat - YUI, Jaxer, & ActiveRecord |
|
Written by Chad Auld
|
|
Tuesday, 27 January 2009 01:29 |
|
For those familiar with MiaCMS you'll already know I'm a huge fan of the Yahoo! User Interface Library (YUI). I recently finished up the JavaScript work for version 4.8 of MiaCMS. With some free-time on my hands I figured what better way to fill it than with a new project? So I set out to learn some new technology and see how I might mash it up with some existing skills like YUI. The new technologies I decided to experiment with were Aptana's Jaxer and their new ActiveRecord.js framework.
Jaxer ships with a number of basic samples, but I've seen quite a few people online in search of more complex examples and specifically ones that make use of the new ActiveRecord.js library. The extended example I developed is called jChat. jChat is fully functional chatroom application that demonstrates integration of the following web related technologies; HTML, CSS, JavaScript, MySQL, YUI, Jaxer, and Activerecord.js.
jChat's DOM access/manipulation, event handling, and animation code makes heavy use of YUI. The YUI Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX.
Jaxer is an Ajax Server that will allow us to built entire applications using JavaScript and Ajax. The theory being that JavaScript experts can build applications without needing additional server side languages (ex) PHP. There is nothing wrong with PHP, in fact is just so happens to be one of my favorite languages, but the important point to be made here is that Jaxer eliminates the requirement for additional server side languages. That being said you don't have to do away with server side languages and in some cases it might make a lot of sense to utilize Jaxer with a server side language like PHP. Another added bonus developers get with Jaxer is code reuse. Typically we see develops implementing similar functionality in multiple languages to handle things like data validation for example. With Jaxer it is possible to write the JavaScript validation code once and utilize it both client and server side. This could therefore lead to less debugging, simpler testing, and faster time to market.
ActiveRecord.js is a cross browser, cross platform, JavaScript ORM. ActiveRecord.js makes it easy to begin working with databases in JavaScript on the client or server, with Google Gears and Chrome, Aptana Jaxer, Adobe AIR or any platform supporting the W3C HTML5 SQL Specification (currently Webkit and iPhone). Overall I found ActiveRecord.js simple to integrate and a pleasure to use. I found a few bugs initially (mostly just some sytanx issues preventing proper minification). Thanks to the power of github I was able to fork it, make some modifications, and submit a pull request which they ultimately accepted and merged with the master branch. I've been working on another Adobe AIR related project which I started before the first beta release of ActiveRecord.js. It makes use of AIR's native support for SQLite, but I'll more than likely rewrite the database code to make use of this new library which should have the added benefit of easing application updates/database migrations down the road.
I've put all the source code up on github so that others can benefit from my learnings. Chatrooms have been done a million times so jChat is less about the overall application functionality and more about the pairing of technology. Feel free to download, learn from, and/or fork jChat on github - http://github.com/cauld/jchat/tree/master. Comments, suggestions, and contributions welcome. A demo is available here - http://jchat.opensourcepenguin.net as well. |
|
|