Mine arrived a few weeks ago and I'm loving it.
Wanted to sell it originally, because I wanted to concentrate on other things more again (I planned to code for Linux on it), but I'm finding it to be a very nice XBMC box and quite usable as temporary Apple TV substitute.
I got mine beginning of December (so couple weeks ago also). Been doing coding for it. I am using it for video playback with OMXPlayer. My project with it is still a long way off, but my final hope is a setup like this: (I will mark % as to how far complete the project part is).
1. Use Sickbeard to Automatically obtain .NZB Files for shows I watch when they air (100%)
2. Use a custom written server to detect when the NZB is created and launch Grabit to download the NZB (100%)
3. With the server, watch for the movie/video file to be created and insert the name and path into a database (100%)
4. Have a PHP Page running on a local wamp server that reads the database and displays all the video files (100%)
5. The page has a "Play" link that when clicked created a text file in a trigger folder with the file name and path (100%)
6. Have the server watch the trigger folder for the files to be created, then parse the file (100%)
7. Have a custom client on the RPI that connects to the media server and awaits commands (100%)
8. The server will parse the file and send commands to the pi ie) Mount path as /mnt, and launch omxplayer with args (100%)
9. Have the web-page update to know when the video is playing, and offer a remote style view for video control (0%)
10. Have an entire FrameBuffer GUI backend that will let me have notifications, options, etc on the screen without X (25%)
11. Have the server send notifications to the client (IE: Episode Downloading, Episode Available, [and more]) (50%)
12. Have the notifications that are received by the pi show up in the Framebuffered GUI (0%)
13. Have the FB Gui be able to take user input via STDIN and do things ie: open menus, folders, etc (0%)
Essentially I am writing my own media center stuff that won't need X, or any other Window System it will be direct framebuffer stuff. It's slow going as even writing a letter I do it a pixel at a time, so I have a lot of math and stuff to keep track of when drawing to the screen. But I am doing my best to make hard work be a backend thing, and the front set of code be easy to write.
ie) Instead of drawing each pixel for everything have a drawPixel function that I pass in X, Y, Color and it will draw it, allowing me to use math to automate things like drawing lines, boxes, etc. Same as drawing the strings I have a function that is a simple DrawString("MyString",0,0,Colors::Color.Blue); which then does all the determining of position, how to draw each letter, etc.
It's time consuming, but every little step makes you feel awesome, especially as I am very weak in C++ it's a great way to learn. I opted to do the web-interface so I can control the pi with my Playbook, or Phone, or PC in another room if I wanted to. As long as it's on the network.