Where I have been lately

Tagged


I am sure there are at least a couple of people out there wondering what I have been up to since my previous post.


Well the answer to that question is many faceted.  Obviously Heather and I have been knee deep in baby Davis preparations, and that alone could fill most peoples days.  I have also been slaving away at a new design project that I am still unable to officially announce, hopefully more about that in the future.


Lately though, I have been doing some research on high-definition TV's and Media Centers.  I am planning on making a modest purchase in the next month to finally add high-definition to my home theatre system, as well as replacing my pseudo-media center with a more mature, fully featured offering.  So I have decided on my TV, I am going to pick up a 30 inch wide screen aspect HD TV that includes an analog and digital tuner, as well as the very snazzy HDMI.

cjd_word_count();


To skip my rambling and go straight to the announcement clicky, clicky, your welcome.


That last bit, HDMI, is very important.  HDMI is the evolution of DVI; basically it takes up where DVI left off by not only handling digital video but also digital audio.  With it you are able to transfer the highest quality audio and video across a single interface.  Very snazzy.


One of the nicest things about HDMI is that since it is essentially a reimplementation and extension of DVI, the two are compatible.  This means that I will be able to hook my mac straight into my TV, and when Tiger ships later this year, I will be able to do so without the over scan problems we have today.


So now that I have my TV sorted, it is time to move onto how I am going to be managing the myriad of media that I am planning on funneling from my Mac Media Center to the TV.  This is where things get tricky and a little frustrating.. well alright really frustrating.

The State of the MacMedia Union


Currently the playing field for managing media on the mac is a barren wasteland dotted with partial implementations and promises, but no real offerings.

We have some movement in the MythTV arena.

There is now a native build of the front end for 10.3, but the back end is still only viable on a Linux setup, and most frustrating of all you must have a back end for it to run.  This is madness to me; I don't want the PVR functionality of MythTV only the management of media and some of the other goodies.



Then we have the young, but hopefully promising Mac Media Center Project.

The latest road map has them at a demo in two weeks, with the main feature being able to play movies/DVD's full screen.  We'll see.  My experience has been that people don't really understand what it means to run a collaborative project, and set incredibly unrealistic goals that cannot be met, hopefully this won't be the case but I can't see how.


And that is basically it people.  There are no other all encomposing products or projects that I know of to manage a rich diversity of media on the mac.

So big mouth, where does that leave us?


That is really the heart of the situation isn't it?  Without any real players on the stage what is an enterprising young coder to do?


You see I want to do some very specific stuff here.  My media center must meet very peculiar requirements, and that means that I will just have to roll my own.


So here are some of the things I want this to do currently:

  1. I am foregoing recording functions in favor of grabbing HD formatted files off of bittorent.  I have been experimenting with this for the last couple of days and I am very pleased.  There are hundreds of people already recording all the shows I want to see, so why should I be doing it?
  2. Since I am going to be grabbing content from BT, I need to be able to grab RSS feeds, parse them and pass them off to a BT client for auto-downloading.
  3. I am finally getting a decent digital photo library going and it would be snazzy to be able to funnel those to the HD screen as well.
  4. I also am running super nintendo, nintendo and dreamcast emulators on my mac and would like to be able to interface with them through the system as well.
  5. I have a fairly large music collection now, and would of course like to be able to manage and play my tunes through this program as well.
  6. I really dig some of the modules that are available with MythTV such as the weather option, so I will be wanting access to this as well.
  7. Did I mention that I want to be able to check the status of downloads, and manage my scheduled show downloads via the web ala Ta-Da lists?
  8. And of course I would need it to be running full screen via some sort of kiosk mode.

Getting to it, the lowdown


Well anyway that is just what I can think of off the top of my head at the moment.  The rub here for me is how to go about writing it.  I am leaning towards it being a monolithic web app written in PHP with some Flash thrown in.  The only language that I am skilled in that is cross platform is PHP.  If I try to make this an actual application then I would be locking out anyone not on a mac since the only language I am skilled with in that arena is Cocoa (objective C).


I really don't see there being a big problem with this being a web app, since the bulk of it will be running locally on your apache enabled box, with only the scheduling and monitoring piece actually needing to be accessed remotely.  Provided a beefy enough box this would be doable.  And since it is local the use of Flash for the management UI would be permissible, at least to me.


Of course there is also the possibilty of using some of the advanced features that will be available in MacOS 10.4 to make this even snazzier.  Of course again, that would lock out the non enlightened and I am not sure I am comfortable with that yet.  Bottom line I am going to be fairly busy

for the next (n) months WHERE 'n' = $time_it_takes_to_get_this_done;

And finally the announcement


So yeah all this to say I am starting an OSS project to create a media center.  I don't have a name for it yet, but I have decided on release specific code names.  I am a huge fan of the classic Transformers Series so I am using the names of some of my favorite characters:

  1. 0.1 will be Starscream
  2. 0.2 will be Soundwave
  3. 0.3 will be Skywarp
  4. 0.4 will be Devastator
  5. 0.5 will be Megatron
  6. 0.6 will be Bumblebee
  7. 0.7 will be Jazz
  8. 0.8 will be Hotrod
  9. 0.9 will be Grimlock
  10. 1.0 will be Optimus Prime


Probably until 0.5 I will not be looking for any help, I want to get some stuff in place the way I want it and so on, but I am anticipating moving the project to sourceforge or the like as of 0.6 and opening up the project to others who are interested in adding code.


So anyone interested in this project or have any comments?  I hope to have some code going in the next couple of days, shooting for a 0.1 release in March or April... maybe sooner who knows.