One of the great things I like about some of our platform products is that they are building in extensibility more and more. Take Windows Live Writer as an example. It’s no secret on this blog that I’ve got a geek affair with that tool. I use it daily and have customized it (via plugins) and my blogging platform (Subtext) to make it even more of a best experience for me for web authoring.
Writing plugins for Writer has been a lot of fun and a great way to get the functionality I want/need into a workflow without having a different utility to work in. Another one of these tools has been Expression Encoder 2 which I’ve been using a bit more lately. Expression Encoder is a tool that enables the encoding of audio/video assets into VC-1 formats and H.264/AAC formats. It’s a really simple tool to use and also comes with several Silverlight player templates that you can choose as a part of your output. In one click you can have your HD home movie encoded and a rich playback experience developed for you as well. I’ve wrote several times about Encoder, templates, etc. before and you can see some of them here:
With no shortage of information on how to do it, I got home last night and began cranking one out. I’ve been using Amazon’s S3 web services for a while and have really grown to like it a lot. One of the Live Writer extensions I spoke of earlier is a plugin for S3 for Live Writer that Aaron Lerch helped out with as well! I though I should extend Encoder so that I’d have a one click publishing point to my S3 account instead of having to use S3Fox all the time (which is an awesome tool btw).
So after getting home from a user group I started cranking one out, figuring out the nuances and just coding something together. A few hours later I came up with what I’m calling 1.0 beta of my plugin.
It’s not a fancy UI, but it doesn’t need to be, it serves a purpose: enable publishing of Encoder output directly to an Amazon S3 bucket in one click. That’s it. Encoding just media? No problem. Adding a template? Not a problem either. You simply need to enter your Amazon S3 account information and enter a bucket. If the bucket isn’t there, it will attempt to create it. You can also list your current buckets if you forgot them.
There are likely indeed a few problems and some fit-n-finish needed. I am positive the error handling needs to be refined as well as it could probably benefit from some more efficient threading handling. The cool think about the Encoder publishing plugins is that they are WPF user controls, so it gave me a chance to work with more XAML.
At any rate, even in the current form (which isn’t perfect but seems to be working for the specific need I built it for -- “works on my machine” warranty applies here) I wanted to share it out for any others to use and hopefully give feedback and contribute. It’s available as a Ms-PL licensed project with source code and you can get it on CodePlex: Amazon S3 Encoder Publishing Plugin. I hope you like it and can give feedback. Please if you find issues log them in the Issue Tracker for the project so they are trackable.