Thursday, May 31, 2007

Holiday slash Vacation

Alright, during the next few weeks I'll be pretty darn busy with real life and after that it's time for some vacation. What this means is that this space will be obnoxiously quiet.

Now, time to start praying for some good weather!

See you end of June or thereabout. :)

Monday, May 21, 2007

Oi! Request for comment :)

I'm looking around for a hosting provider for Aufero and found http://www.one.com -- is there any reader that's had any experiences with them? Bad or good?

Sunday, May 20, 2007

BitTorrent Clients

Just a quick heads up. Aufero will support all kinds of downloading protocols in the end, but the first goal was to get BitTorrent implemented. Since day one Aufero's been using its internal BitTorrent (Mono) client, but I've been having trouble to get it to actually finish downloads. The problem is, I'd like to get a beta out soon so I had to look into alternatives.

What happened was this: You can now use external software, namely: uTorrent or Azureus. Added bonus is that you can have the two running on a separate host (your Windows Home Server or Linux box, anyone?).

The intention in the end is to allow Aufero to run on Media Center and be a "thin" client and all the work is done by a server somewhere. But for that to be reality I'd have to find some money and a reason to cough up for a license (not even sure how much WHS will cost, to be honest).

But anyway, uTorrent or Azureus -- I figured implementing support for those two should be enough?

Wednesday, May 2, 2007

Development (not news per se)

I'm getting my ass kicked by Aufero today.

Aufero has a database which contains all the data gathered over time, and due to it taking quite some time to build a somewhat large dataset (which is what you want) the database cannot be rebuilt from scratch every release. This means that anyone can pick up any version of Aufero at any time and take for granted that their database will always work with that version, unless you downgrade. So, there had to be some functionality in Aufero that upgraded the database without any action from the user.

Sounds simple enough? Yeah, I thought so too. The other day I was at the point where I had to rewrite some sections of the code and I was realizing that in order to keep things tidy I had to rebuild large parts of the database.

The database provider I am using does not support renaming or deleting of columns, which you can work around by doing the following CPU-consuming operation:
1. Create *temporary* table
2. Copy original data over to the temporary table
3. Delete original table
4. Create new table with the final layout (eg, the renamed column)
5. Copy temporary data back to new table
6. Delete temporary table

[You can argue about whether to use a temporary table or using "alter table" instead of the steps 4/5. Not much difference in execution time for me. But knock yourself out.]

At the end of the day, it was quite depressing to have to go through all that just to rename a column. And this was in six places affecting virtually all data.

Throw in the fact that there can be quite a few threads in Aufero that works independently of each other on the same data. This was something I had never thought of as a problem prior to doing time consuming operations like the one above. Right after setup was finished there would only be one thread working on the database and whatever got to the database first would start patching happily and be done in a few milliseconds. Now that the patch took up to 2-3 minutes I noticed that I had several threads patching the same database at the same time.

The dataset this happened to is some 150 megabytes and let's just say that it created a bit of a mess.

The lesson here? If you end up writing something like this, think about it first -- don't just throw something together because you *have* to deploy a patch right now. And use transactions which will roll-back if something fails. I was stupid for not having done that from day one, to be honest.

Well, at least this has taught me a thing or two about deploying software to end-users. It's much easier to deploy software for some local server in the organization, which is something I've been doing a lot more frequently. This is fairly obvious thing to say, but I had never really given it any thought except for the fact that you need to worry about more configurations and creating a real installer. Alas. It didn't stop there.

But, others are having a worse day: Tech Magazine Loses June Issue, No Backup

Until next time... :)

Tuesday, May 1, 2007

Aufero on Extensibility

Warning: Contains rambling.

People's taste, preferences, the vast amount and the variety of information on the Internet makes it impossible for any kind of software to cover.

Err. Let's take a step back: Aufero gathers information about media by looking at your local network and on the Internet. In order to not wander around aimlessly it uses a set of reliable information sources. The types of these include, but not limited to reviews, torrents, general information. Now, we all have our preferences as to where we go for this information; blogs, commercial sites or simply reviews of our own...

Aufero's take on this is to not shove a fixed set down your throat, its goal is just to see to it that you get the information you want, served to you. In your couch. In order to do this there had to be some way of administering the sources of information. So, allow me to introduce the latest member of the Aufero family: "Aufero Two Foot".

Aufero Two Foot
Aufero Two Foot got its somewhat obvious name from the fact that it should be used on the desktop at a 2' distance as opposed to using a remote control at a 10' distance. The most common use will be by people remoting into their Media Center using Remote Desktop. In general I don't really picture users doing this very often since Aufero will still make some default sets available through some mean.

"Through some mean?" Yes. See, Aufero itself will always remain a clean product, it does not intend to serve users with means to get to those evil P2P-networks (so MPAA says) like, for instance, BitTorrent swarms. That's just an added bonus. The conclusion here is Aufero will not include any information sources in the default setup package. That is up to you to get ... somehow. I bet you're sighing already: "Why make it so complicated?", I won't answer that question this bloggage, but I can share the good news here: It is extremely easy to share your information sources with others. In fact, you click a button and you will have a text-file which can be mailed, blogged, posted on a forum or quoted(!) over a telephone line. And then this is ready to be imported into Aufero.

My first Information Source?
How will the initial information set be shared then? Well, you will be able to point "Aufero Two Foot" to any Internet address (RSS feed, blog, forum) or copy/paste it into ATF and it will set itself up. And you're set to go and you will never have to worry about it again unless you want to. Someone (me? you?) will inevitably set up some forum for sharing this and other information around Aufero.

Blog 'em!
Aufero Two Foot's job is an ungrateful one. Its task is from day one to make itself obsolete so you will never have to open it. In other words, it will allow you to set it to subscribe to a blog with shared data. This will give Aufero a steady stream of new Information Sources as they are made available by other fellow Aufero users. Naturally, you should only point Aufero to blogs that you trust with giving you this kind of information. This is pretty cool if I may say so myself. :)

Something's missing...
The readers paying attention are now thinking: Eh. What is shared, exactly? Right. Well, Aufero Two Foot takes a bit of getting used to and you really have to know about something called "Regular Expressions". While most of the world does not have the patience or the knowledge to fiddle with this kind of nonsense, there is a big population out there that does have the patience and the know-how for this. And those are the friendly souls you will learn to appreciate and love if you want to hook Aufero up to something new. What they produce is what will be shared.

I'm not talking rocket science here: Setting up a new information source for someone who knows how to do it shouldn't take more than 5-10 minutes.

And again, as it is now I have roughly seventy information providers which will in part be made available through above hinted forum, should it appear.

And if you didn't already read it between the lines: This functionality will give you the opportunity to add your own trackers. And more...


Until next time... :)

PS. 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

Friday, April 27, 2007

Progress Report, of sorts

It's been a while, hasn't it? To give you a quick run-down on latest developments: Aufero is still doing fine and I try to squeeze in as much time as I can, all in all there has been ten alpha builds released to testers. Due to the state of the builds there's not been much point in reporting problems since they're all over the place, so I will decrease the rate at which builds are released to have something really testable at every increment.

The current alpha is expired and I don't expect to release a new build just yet, I really want to wrap up Wish List functionality (even though a lot of the backend was there it's quite a bit of logic that needs to be implemented).

Last week or so I added functionality for transcoding on the XBox 360 via Aufero. The transcoder package used is TVersity and I have heard that this really is suboptimal compared to how T360 works, so to all the fans of that: It might look like I'll add support for that transcoder as well (down the line at least).

No new screenshots this time, sorry!

The initial feature list from day one still stands, more features were added of course, but the outline is still there and no compromises were made so far:

• Navigate and view collections of general information, previews, trailers, reviews, releases from scene to theatre to DVD and torrents related to your media or media you will be interested in.

• Aufero uses about fifty sources for its information gathering, a lot of it is irrelevant but over time it gathers more relevant information about present and future. For instance it definitely is worth scheduling the download of "Magnum P.I. 'trailer'" (scheduled for release sometime in '07) already today.

• Aufero is written completely from scratch with the sole purpose of being a Vista Media Center application. Built using MCML/Managed Code for that smooth look we all love.

• Manage existing library of downloaded media.

• Manage a Wish List of interesting videos that you would like to know about.

• Automatic download of videos on your Wish List as Torrents becomes available (give it some hours to monitor activity after something is released)

• Manual downloading of torrents.

• Seamlessly play non-WMV (e.g. XviD etc) on XBox360 using Aufero's media library (requires TVersity)

• Subtle notification on your screen when something you had on your Wish List is found, downloaded, unpacked, indexed and moved into your library. Notifications can also be sent through mail to you when you are not in front of your TV.

• The user interface tries to be simple to increase the so-called "Wife Acceptance Factor".

Wednesday, March 28, 2007

So, what is going on here?

I apologize for the silence of late.

But to give you all a bit of a recap on recent events. There are early versions of Aufero in circulation since two days but unless you signed up for testing a few weeks back there should be no way to get it.

That said, as the user-interface goes through polishing I will post some tidbits here and there up until the point where there is a public beta available for download.

Sunday, March 25, 2007

XP vs. Vista - revisited

After some months of writing Aufero (it's for Windows Vista only) I must say that I will not upgrade any desktop-machines at home to Vista. They will stay Windows XP. Luckily there is more to a machine than just on the desktop: Vista Media Center is great, the computer Aufero is running on will stay Vista. It will also stay hooked up to the television set in the living room.


Why not on the desktop?
Quite frankly, I have no real big beef with Vista except the teething problems of some software. There is just no reason for me to [up?]grade. Oh sure, it looks pretty and the architecture of the OS is steps in the right direction. But if I were to believe the ad-campaign of Vista: the biggest feature is ... wait for it ... a pseudo-3D task-switcher (?!)

I don't know, I guess that is just the thing... The whole Wow is a big pile of Meh. If I really want something, there is money for it. But Vista? I simply cannot afford it on the desktops.

There are a few annoyances in Vista Media Center as well, at least on my hardware. Whenever I change the volume it throws out some very disturbing noise through the speakers. The extra services that came in "more programs" at launch here in Netherlands are disappointing as hell, in fact it makes me hope that they had to pay very good money to be there. It really does not do Media Center justice. In my book they might as well have waited with releasing any of that crap to end-users. And another, probably hardware/configuration related issue: I seem to have lost an inch or two of my TV! There are a few things like that which I need to look into when I get time.

But Vista Media Center? To put it in the immortal words of online-gamers these days: GIEF.


On a different note
I am a switcher... I used Linux on my desktop for quite some time. At home, Linux just serves as a "Linux Home Server" at the moment and I must say I had a good chuckle when I bumped into Ian Dixon's blog the other day:

"My Windows Home Server is still going great, I haven't had a monitor plugged in to it for weeks and I haven't touched remote desktop either. The box just runs and I use the Windows Home Server Console to get at the features I need."

Maybe we really do need a Windows Home Server out there. Or just more awareness? Six months ago I had to put in a new power supply in My Linux Home Server, but since then it has been serving me with media, backup, source-code repository, mail, web-service, well, you name it. Without a monitor or a keyboard plugged in, no less! Six months uptime, that is. The reboot before that was probably two years ago.

I know that Ian probably meant well when writing that, but it says a lot about the state of things in the Microsoft world.

And alright, alright, my Linux Home Server is just a vanilla Debian box. But still!

Oh well. The Linux folks call me a Microsoftie. The Windows folks call me a Linux fanboi. It ain't easy.


The truth...
Earlier I said "I will not upgrade any desktop-machines at home to Vista". There will come software to Vista that is "Vista only" and I can probably live without that. But XP will inevitably be completely phased out and then I'll sit there as well. If it is the best desktop alternative.

But... I can tell you I won't switch to AppleTV in the livingroom.

Monday, March 12, 2007

I aten't dead

Less blog == more code.

[*]

Sunday, March 4, 2007

Meanwhile, back in the Source Code...

Aufero's WizardHandler and Dynamic Screens is one of the components in Aufero that is very much stand-alone so I decided that I'd slap an LGPL license on it and share it. Besides, I needed a break from Visual Studio.

For the uninitiated, LGPL is a license that permits you to use the 'library' as is, but if you modify the code to suit you you have to share it, and of course, you have to give credits where credits are due. In other words, a very fair license: You take some and give some.

I don't have a host where I can store these files, so you will have to use copy and paste from the link at the bottom. If you would like to host it, throw an email my way. And of course, suggestions and improvements (in source code or not) are most welcome (aufero.vmc@gmail.com).

And I can safely say that this was the last fucking time I post source code using Blogger. Goddamn. This was a painful experience.


This 'library'
The library comes in the shape of C# source-code and Media Center markup where the former is the model and latter is the view. It consists of four parts: Handler, Screen, Widgets and the related MCML. I will outline these in more detail below.

I wrote this initially to handle configuration and setup within Aufero, so it contains all the logic needed by a configuration handler. In fact, in Aufero's case it IS the configuration handler. Furthermore it will only use one "MCML screen" and "modify" it as it needs by doing some trickery. Perhaps not really trickery, but it's not pretty either (oh, it sure beats in-line code).

I have tried removing all references to Aufero components but some might have slipped through, in which case you will just have to weed that out or just put in your own replacement. Also, I have left the MCML widgets intentionally bland (or ugly if you wish), you will want your own unique look on those things anyway. If you create some nice looking widgets, please share them! We could all use it!


The class diagram
Before we continue I'll be rude and throw a class diagram at you so that you can see how it's all laid out, with a bit of luck you don't have to read further once you see it (!)


The WizardHandler
A WizardHandler is a container for a series of dynamic screens, it handles navigation within the set of screens. If you do not want a Wizard to show up in your standard Media Center navigation you will have to create your own Session to see to it that it doesn't put it in the History.

A simple implementation of your own WizardHandler could be:

public class AuferoSetupHandler : WizardHandler
{
  public AuferoSetupHandler(int startScreen)
    : base(startScreen)
  {
    NavigationEvent += new NavigationHandler(ButtonClicked);
    MCMLview = new Uri("resx://Aufero/Aufero.Resources/SetupScreens#Default");
    Screens.Add(new SetupScreen1(0, this));
  }
}

As you can see, it's a straightforward class that:
  1. Tells WizardHandler that it wants to receive navigation events.
  2. Tells WizardHandler where to find the MCML view we are based on.
  3. Adds a set of screens to a the set (only one in this case).
Generally I don't think they will get much more complicated than this, but your mileage may vary.


The Dynamic Screens (aka Screen)
Well, the comment in the source code says "A dynamic screen, inherit and use.". This pretty much sums it up. But to expand a bit on it: A screen is a container for a set of widgets (text, checkboxes, buttons...), it will help you with implementing scrollable areas for widgets and similar on the View side of things as well. A bit of footwork is done in MCML if you look at SetupScreens.mcml.


Your Customized Screens
They inherit Screen (see Dynamic Screens above), this is where you will do the work
on what should be presented on your screens. When passing screens to your UI's, you'll find the interface IScreen your best friend.

A simple customized screen could be:

public class SetupScreen1 : Screen
{
  public SetupScreen1(int sequenceId, WizardHandler handler)
    : base(sequenceId, handler)
  {
    TextArticle ta = new TextArticle();
    ta.Headline = "Welcome to Aufero!";
    ta.Body = "Aufero is a software package that helps " +
      "you set up, organize and get " +
      "more information about your media.\n";

    base.MainText = ta;
    Widgets.Add(new CheckboxWidget("mycheckbox", "Click me!"));
    base.NavigationButtons.Add("Cancel");
    base.NavigationButtons.Add("Next");
  }
}

The above snippet just adds a title, a body, a checkbox and two navigation buttons
to the screen. I use something similar as a first screen in Aufero's first-time
setup.


The Visual Elements (aka Widgets)
These are the key to the whole thing, a widget can be a textbox, checkbox, just a text element and similar. I have only included four different widgets in this example (read: I have only written four Wizard Widgets for Aufero so far). The widgets are contained by a Screen as was demonstrated earlier. They will be presented in the order they were inserted into the screen.


The View (aka MCML)
This is split up into two different files, one for the actual screen that is presented to the user and one file that contains all the helper UI's like widgets and similar for screens. I left them ugly because my design skills are less than good.


On The Ending Note
I had to hurry up a bit in the end here so perhaps I didn't elaborate enough on certain aspects, but ask away if something is not clear. For the code go to: http://aufero.informe.com/ then click on Source Code.

I'll let the Source Code say the rest. Have fun.

Spam anyone?

It's getting out of hand, this is from a screenshot of my personal gmail account...

Friday, March 2, 2007

Alpha Signups Closed!

I didn't expect the response I got (I mean, who the hell would want to mess around with alpha releases, right?), so I will unfortunately have to decline more signups to the first few releases. I'd like to keep the development until a "public beta" pretty streamlined for various reasons but also because it is in alpha stage and that means we're not only talking about teething problems here, we're talking about possible showstoppers. And the fewer people I scare away from that mess, the better. :-)

I'll let you all know once I'm ready for a real beta.

Feel free to drop by the forums anyway.

Thursday, March 1, 2007

Aufero: Alpha Testers Wanted!

This is only intended for users of Windows Vista Media Center, it will not run under Windows XP or any other platform.

For alpha sign-up go to: http://aufero.informe.com/index.php

It is a brand new forum that will be used for communication around the development of Aufero, so at the moment there are no posts at all but don't let that intimidate you. If you feel that you do not want to give out your email address publicly, just send me a PM over at the forums.

News and announcements will still be posted here at aufero.blogspot.com


Cheers.

Wednesday, February 28, 2007

Bug in Vista Media Center?

Quick edit at the bottom.

Every now and then (say every few days) Vista Media Center starts acting weird. Put in mind here that it's a completely clean install with all valid hardware. It's my testing machine and it only has Visual Studio and the VMC SDK installed on it.

The reason its grieving me is not because I have to restart the application. No. As a Windows user I'm pretty used to that. The big bummer is that I don't know that it has started acting weird so I keep on chasing bugs that do not exist, I do not know how many times I've hooked up a debugger only to find that there is just nothing wrong with my code. Very frustrating. And also seemingly impossible to reproduce or get more information on because it never actually crashes, I have to manually kill it.

But, I've finally found out something that will give me a hint when things are about to go a little wrong and it's this: When the sorting of the application thumbnails in "More Programs" act up, then I just know that my own applications will hang, or render wrong, or ... well, whatever.

But god, this bug has been driving me nuts a few times.

I've been looking around for more information on this one, with no luck. Reporting something as vague as this back to developers is kind of pointless too. Has anyone else seen this one? Does anyone have any information about it?

Edit: It just happened again and I noticed that when the sorting of programs in "programs by name" borks, the first program (top, left) does not show a description when focused but the rest do. I know, not much details -- but for completeness.

Thursday, February 22, 2007

Any pixel artists out there?

If so, you might be interested in a post I made over at DeviantArt looking for some help with Aufero. The post can be found here, but in case it gets deleted or whatever:

Hi,

I've been working on a project for some time now and it's getting to the point where it's time for an alpha release candidate (eg. does installer, deployment, etc work).

Now, the project itself is something I started on when Windows Vista was merely in beta stage and it takes its shape as a Media Center application (see it as a TiVO competitor). It gives users the ability to manage their media library and read reviews/previews and other various information coupled with fetching said media through peer2peer technology (whether this is legitimate or illegitimate material is up to the user).

There seems to be a bit of interest in the application even though only a few screenshots were released to the public so I am guessing it will be decent exposure on peoples TV's around the world.

The project as it is now needs: A set of uniform icons (200-256x200-256 png's). I've been looking into free (as in money) icon sets but no matter how I twist and turn it will be a big mish-mash of graphics which, simply put, makes the application looks thrown together. At the moment the application uses a mish-mash like this and that's probably how it will stay until some brilliant pixeller digs into it. :)

The application will be completely free, hence no money involved (sorry!).

If you are interested, please drop me a mail at aufero.vmc@gmail.com with a link to some of your work and whatever other information you think I/we would need to share.

The information that is out there at the moment can be found at [link] -- just browse through the blog entries and you'll probably come out with enough information to determine whether you'd like to invest some time in this project or not :-)

Tuesday, February 20, 2007

Aufero: XP vs Vista

I got a question the other day and up to that point I hadn't spent a second thinking about it. The question was: "Why not Windows XP?"

I was a bit stumped at first since I never considered writing Aufero for XP. Yeah, so why not? It's an easy answer: It just not fun to develop Media Center applications for Windows XP. I tried writing a few applications way back then and I always got stuck when I got to the point of User Interface because it always turned out so hideous that I got uninspired and just went back to do whatever I was doing before.

Now, after the initial (rather steep?) learning curve of managed code + MCML in VMC I must conclude that Microsoft did a good choice here. Kudos to the development team of Media Center.

This will eventually mean that there will be heaps of applications for VMC. A few years down the line we might see Microsoft being charged with being anti-competitive (probably here in EU) due to the fact that they ship Media Center with their OS. Isn't it a lovely world. :)

Monday, February 19, 2007

To Floss or Not

I've been trying to find where I stated that Aufero was was Open[*], Shared[*] or Closed[*] source. But I can't find it. Still I heard that some people blogged it. Thing is, I intentionally avoided making a statement on this topic. And I will not do it now either.

Don't get me started on open or closed source -- you should know how good I am at ranting by now. :)

But, flossing in combination with toothbrushing can prevent gum disease, halitosis, and dental caries.

Flame away.

Thursday, February 15, 2007

Murder, Rape and Robbery on the High Seas

Your spontaneous thought when seeing the word piracy is hardly what you just read in the title. And now you're already thinking it; oh god, another Jane Blogger that is going to defend her wrong-doings with some twisted view on reality.

Wrong.

I bumped into some speculation as to whether Aufero was intended for legitimate or illegitimate downloads. At first I was going to just ignore it and roll my eyes at it but as I started thinking about it it slowly became a concern. But let's start with sending the speculation on its merry way: Personally I will of course never use it for any illegitimate purpose, what you do with it is up to you. That said, the code is very versatile and could easily be adapted to do ... anything related.

Now, I am not a lawyer but I dare say that writing this software can hardly be considered a wrong-doing. Anyone with half a keyboard could dig up exactly the same information that Aufero uses. But what made me concerned was the fact that they might think I am, for instance, using Aufero to retrieve media for which I do not have a license (I am not of course). I do not intend to make any money from Aufero. What kind of case would any organization have? Organization being MPAA, RIAA, legal authorities, whatever?

I bring up MPAA, RIAA tongue in cheek really, this is exactly the kind of paranoia they want everyone to have and they are slowly getting there. Good on them. I wish them luck.

But honestly, if you are older than 18 I bet you'd stop getting bootlegs or rips off the net if you could get it legitimately and it had the following properties:
  1. Decent price (tricky one, think about it)
  2. Not DRM infested
  3. Quality at level of your average Xvid DVDrip
  4. Available at about the time when DVD's hit stores
  5. Available online
I know, I know. If all of those were true the whole industry would have to change, video rental business as we know it would be out the door. In fact, most of what they have built their business model on in the last fifty years would be out the door. It's outdated. So I kindly ask them: Please, deal with it.

By the way, bootlegging originally meant hiding liquor in the legs of your boots during the prohibition era. How it came to mean making an unauthorized recording is unclear. [*]

It might be a remarkably stupid question, but what are the legal implications for a developer here? If any?

Wednesday, February 14, 2007

The future, already

So, Aufero is moving along and will sooner or later reach a version 1 status. But, to be totally honest I am working on a future version (two?) of Aufero as well. The reason for this is simple: I don't think it is feasable to make Aufero do what I really want it to do in a near future (no dates said).

Joost dot com
So what's in it for this future version then? In order to tell you that I'll have to give you a bit of history. Quite frankly I had my hopes up on a somewhat hyped project called "The Venice Project", later on renamed to "Joost" (www.joost.com). It has gotten a lot of good press/bloggage but I wonder how much of that is because Niklas Zennström and Janus Friis is behind it (the guys that founded Skype). What they're basically doing is P2P'd TV and the money will come from advertisement. Now, we all agree this is the way to go down the line (even if Bill Gates thinks so too), at least to some degree.

It describes itself like this:
... uses secure peer-to-peer technology to stream programmes to your computer. Unlike other TV and video-based web applications, it does not require users to download any files to their computers or browse through complicated websites.
The programmes you can watch are a predefined set by Joost.

I got curious since I was working on Aufero and signed up for alpha/beta to see what it was about. This was during fall/early winter 2006, I think. Some time later (January?) I got into the beta and the first impression is what one would expect from beta-software. I'm probably under some kind of NDA or whatever so I won't go into any details -- my point doesn't depend on that anyway. The underlying concept I like, you know, peer2peer media into your living room.

Why!
But why create a new platform? This breaks the entire deal for me. Completely. For something like Joost and it is not available for my platform of choice (eg VMC right now -- who knows tomorrow?) I want open API's. That is if I can't have open source. I want to be able to integrate the backend into my smooth looking start-menu in Vista Media Center.

So I started poking around a bit and realized there is GPL'd code in there (or was at least) which made me slightly excited. I figured the source must be available on the beta-site where you can download the client. Alas. But I won't hold that against them, it is a beta product. I know that the license is pretty unforgiving. And... maybe it was LGPL'd code.

I mailed Joost some time back asking about API's, I did not get a response. I can only assume that they intend to keep it closed and weed out the GPL'd code. Even though I can't for the life of me figure out why (well, I can... money). And to top that off; let's face it, if you are going to open your API's and hope on a developer community around the software, boy are you going to have to struggle if you want to compete with... say, a similar product written for Media Center. Microsoft may do a lot of bad things, but one thing they do know how to do is Development Tools and create an interest in their technologies.

Of course, developing the software and create a huge hype, then selling it to Microsoft could be an option. But all in all, I am not overwhelmed by the technology or the entire package. I'm all for making money, but you can make more money by doing things different.

There is some speculation and I hope I will be corrected. But this blog is not about Joost. Nor about media in general, this is first and last bloggage about Joost. On to what the blog IS about:


Aufero Next Generation
If you haven't guessed it yet, I want to see a p2p based streaming product on top of Aufero's V1's functionality. It was never a far-fetched scenario. Additionally it will also include meta data sharing (more below on that).

There are a few things that needs to be dealt with in order to apply directly on top of current media sharing. Packing with RAR would become a no-no, I am peering at QuickLZ for packing if anything. What encoding? Public or private tracker? Bandwidth for backup-seeding (this is where money rears its ugly head)? The best way to approach these questions would be to sit down with a bunch of clueful people that have an interest in creating an open platform for this, then push for de-facto. Maybe there is one that would fit like a glove -- point me to it!


Sharing Aufero Meta Data
But more within reach is the following, and this is where I am at: Sharing Data and Aufero Meta Data using BitTorrent (or other; should BT vanish in a poof of abuse -- unlikely).

This would include
  • Configuration and fine tuning; this is user-selected data: could be trackers, feeds, ...

  • Refined match-sets are shared; this would include torrent statistics and relation-kills, and similar, ... (A relation-kill is a match that is wrong)

  • Historical data from original sources (read: feeds, scrapes etc) is shared. Reasons for this to exist would be to get new users up to speed right away, since you have such a small dataset when you first start out. This also has the advantage that it will not put any load on other services out there. I picture monthly datasets and daily. The daily datasets would probably have a pretty short lifespan on a public tracker; this would create temporary gaps. In theory a user could rely on these datasets for all data-gathering. Disadvantage is delay in the information you get; but I imagine that it's quite irrelevant if you get information within the hour or within the day (in fact, I could argue that it's better to get it slightly late due to behaviour of torrent-swarms).

  • I'm not too interested in creating any kind of "social networking community" here; there are plenty of good sites for that already. So voting-and-chat-like functionality is not something I am too interested in. What I want is something that maintains itself just by users doing what users would normally do. So, scrap 'social' and make it 'networking community'.

  • It'd strive to be as anonymous as it can technically be.

This was quite the rant but I like the idea of a semi-dynamic data flow like this. There's really no way of knowing if this will work out, but damnit, I'd like it to.

Is there anything out there that relies on public peer-2-peer technology to share data and configurations? Anyone know? Anyone reading?


But first things first. Back to MCML for this author. I will revisit this topic.


Aufero, aufero.vmc@gmail.com

Tuesday, February 13, 2007

Analyzing Torrents

A part of the development of Aufero is inevitably analyzing torrents and naming of them. This means being able to guess what is tagging and what is actually a relevant part of the name during runtime. For instance, common words like the, is, go, have, from should be disregarded in many cases. Then we have what I call "torrent noise" which among a lot of other words can be r00, release, version. We also have a bit more interesting things that is tagging of a Torrent: xvid, dvdrip, r5, proper, pal, ntsc... Then of course, the title -- which is essentially what we want to get at.

The hardest thing in Aufero is undoubtedly finding which word falls into what category seeing as words come and go pretty rapidly. Aufero relies on other ways of finding the one torrent after this initial analysis, but that is out of scope for this post.

To the point, I ran a little snippet of code today on a subset of some 3-4 months of torrents to see what is actually "popular" out there (popular in this case is what is "hot" and what was deemed worthy of being uploaded). The list below is kind of an inverted cloud, instead of what is being searched for, it says what is available (or maybe it falls under the category of cloud anyway -- I just couldn't be arsed to set fontsize on them)...

This is the top 100 list with a few of the filters above applied:

Pos Count Word
---- ------- -------------------------
1 1,214 pro
2 845 vista
3 755 windows
4 597 bt
5 595 colombo
6 499 xp
7 459 tntvillage
8 407 professional
9 388 games
10 355 tv
11 347 aio
12 334 office
13 321 converter
14 311 world
15 297 ultimate
16 291 live
17 286 info
18 262 speed
19 256 enterprise
20 248 man
21 247 diamond
22 243 studio
23 239 severedbytes
24 239 thepeerhub
25 237 ps2
26 227 http
27 223 antivirus
28 220 avithe
29 220 internet
30 220 player
31 214 stv
32 210 premium
33 209 black
34 208 collection
35 205 life
36 205 media
37 203 fs
38 200 int
39 197 last
40 197 war
41 196 night
42 196 royale
43 196 vs
44 195 pl
45 190 line
46 189 del
47 185 x264
48 183 pdtv
49 183 security
50 181 king
51 178 dead
52 178 deluxe
53 176 tus
54 171 online
55 166 ipodnova
56 164 best
57 164 jess
58 164 season
59 162 complete
60 161 image
61 161 platinum
62 160 es
63 159 italian
64 159 newpct
65 158 wars
66 157 dsr
67 157 good
68 157 manager
69 157 nds
70 156 md
71 155 men
72 150 microsoft
73 147 anti
74 147 museum
75 146 magic
76 144 balboa
77 144 doctor
78 144 gold
79 144 sp2
80 144 team
81 143 server
82 142 photoshop
83 142 warcraft
84 140 tc
85 138 elite
86 136 psxpsp
87 135 rmvb
88 133 casino
89 133 download
90 132 burning
91 132 suite
92 132 vegas
93 131 earth
94 131 evil
95 131 mvs
96 131 nero
97 131 virus
98 130 ipod
99 130 pepedivx
100 130 star

There are not many surprises in there to be honest, at position 245 in the list we find "Linux", which was a lot higher a few months back. Not sure why it dropped so far. Microsoft is on 150 as a comparison.

Anyway, this was just a funny little tidbit. I saw there were a few comments below, I haven't had a chance to respond to anything, but I will!


Aufero

PS. I got myself an email-address too (see profile)! Welcome me to 2007!

PPS. A late edit: Perhaps I should add this thing as a background effect on main-screen of Aufero or something? I'm not entirely sure what it shows yet, but I'm sure it shows something!

Monday, February 12, 2007

Aufero Progress

I'd like to say that there is no public download available. It's an application in development, but you might be pleased to hear that the backend is done and seems stable. What is left is the front-end (or user interface if you wish), and believe me when I say that it is a royal pain in the ass to write applications for VMC at this stage.

So give it a little time. I will post a request for mature alpha-testers in the not so distant future.

Oh, and I'd love feedback on what you'd want to see in Aufero (it doesn't matter if you post about something that is already implemented). Just reply below.


Aufero

Thrown Together Feature List

Seeing as there are very few Vista Media Center applications out there and people seem to be pretty starved, I figured I might as well start blogging about what I (prefer to remain anonymous for time being) am working on. To be honest, I have no idea if there even is any interest in anything like this - I wrote it primarily for myself.

I have thrown together some quick ramblings (subject to change) that tries to outline what Aufero is about, which you will find ... now (I must emphasize that it is rambling, but you can probably decipher it) :


  • Navigate and view collections of general information, previews, trailers, reviews, releases from scene to theatre to DVD and torrents related to your media or media you will be interested in.

  • Aufero uses about fifty sources for its information gathering, a lot of it is irrelevant but over time it gathers more relevant information about present and future. For instance it definitely is worth scheduling the download of "Magnum P.I. 'trailer'" (scheduled for release sometime in '07) already today.

  • Aufero is written completely from scratch with the sole purpose of being a Vista Media Center application.

  • Manage existing library of downloaded media.

  • Manage a Wish List of interesting videos that you would like to know about.

  • Automatic download of videos on your Wish List as Torrents becomes available (give it some hours to monitor activity after something is released)

  • Manual downloading of torrents.

  • Seemlessly play non-WMV (eg. XviD etc) on XBox360 using Aufero's media library (requires TVersity)

  • Subtle notification on your screen when something you had on your Wish List is found, downloaded, unpacked, indexed and moved into your library.

  • Notification of relevant events through mail when you are not in front of your TV.

  • Built using MCML/Media Center Managed code for that smooth look we all love :-)

  • The user interface tries to be simple to increase the Wife-Acceptance and make them schedule their own downloads. I apologize to any ladies that might be reading this, but I wonder how many times I've gotten the question: Can you get [some obscure movie from 1988]. Now I can just point at the remote control and if it isn't available now, it will be downloaded in the future. Does this sound sexistic? Unintended, I promise.

  • So, what's the catch? Let me get back to you on that one. :-)

Disclaimer
I do not endorse piracy, piracy is illegal. This tool uses information already available to everyone. It searches, indexes and filters relevant information into sets in its own database which can then be retrieved, viewed or downloaded (manually or automatically depending on what the user said).

And a few obligatory screenshots from latest Alpha-build (yes, it will hopefully be prettier):


Let's get this show started


What is Aufero?

Aufero is primarily an information-gatherer with a BitTorrent client written for use with Windows Vista Media Center (VMC). It also provide users with the ability to "wait for", schedule and view new or already existing downloads on your computer (or network). You do this using your remote control sitting in your sofa. You can see it as a broad-catcher on steroids.

- "Why leave the sofa if you don't have to?"

Tuesday, February 6, 2007

Aufero, indeed.

This is the blog.

This is where you will find updates and news. You will, however, find the download elsewhere.

Aufero