# Wednesday, September 01, 2010

PodTower

It is my pleasure to unveil to the world version 1.0 of the almighty PodTower podcatcher! Over the past while I’ve been reworking the internals of PodTower to add new features, make it more maintainable, and just overall a better application. Today is the realization of all that work.

Some of the new features/fixes in PodTower 1.0 include…

  • Remove podcast now a menu item
  • Added a new add-podcast window
  • Added general download progress indicator
  • Storing of configuration outside of isolated storage
  • Podcasts now stored in User/My Music/PodTower Podcasts, along with config
  • Ability to update individual or all podcasts at once
  • Removed "toast" notifications for now
  • General stability issues

And of course, the action shots…

PodTower-v1.0-1

PodTower’s new overall download indication – akin to what FireFox does

PodTower-v1.0-2

The new add podcast window.

PodTower-v1.0-4

The new update command for individual podcasts. 

So head over to the new PodTower site and go download PodTower! If you like it, tell a friend! Spread the word!

Wednesday, September 01, 2010 4:24:54 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, June 02, 2010

 PodTower
a podfetcher, sucking less, one day at a time.

Today, I’ve done a little more work on PodTower. It’s addictive, I tell you.

New Features

  • Pause, Stop, Next Track, Previous Track
    • Mandatory features of any playback client
  • Volume Control
    • Another obvious omission

Coming Next

I’ve ordered a code certificate for myself, so in the next few days PodTower will be signed, which will enable automatic updates, along with giving you a warm fuzzy feeling when you run PodTower, knowing it’s a trusted, signed app. Hopefully that’ll also prove that I actually care about PodTower (and you, the user).

Additional features from this point? Setting the download directory. After that, who knows. Leave a comment and let me know what you’d like to see in PodTower!

Wednesday, June 02, 2010 9:01:41 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, June 01, 2010

PodTower the podcast client that sucks less each day.

Today, I’ve done a little more work on PodTower, and I feel that it’s got enough features that it warrants a beta release of sorts. I’ve been posting updates on a daily basis for the past few days, but I think from this point the stream of major updates will be a little slower.

What is PodTower?

PodTower is a cross-platform podcast client for Microsoft Windows and Macintosh OS X. It’s meant to be a simple client – it updates the various feeds once per hour (or when you click the refresh button), and can play back the downloaded podcasts, if they’re in WMA or MP3 format.

How was it made?

PodTower is built using Microsoft Silverlight 4 and Visual Web Developer Express 2010. In order to install PodTower, you’ll have to install the Silverlight 4 plugin, which is available here. It runs as a standalone application on your desktop. I’ve spent about three days so far on it, and used the Silverlight Toolkit for theming (as I’m not a visual designer).

Features

  • Subscribe to podcast/RSS feeds
    • As long as your feeds have an enclosure tag, it’ll work
  • Play downloaded podcasts
    • Plays MP3 and WMA podcasts from your local machine
  • Low memory footprint
    • It’s Silverlight – it’s small
  • Fast, one-click install

PodTower downloads your podcasts to your “My Music” directory in your home directory. When downloads are complete, PodTower notifies you both by the status bar text, and by toast notifications by the bottom of your screen.

image

The three buttons along the top-right represent the three major features of PodTower – adding RSS feeds, refreshing current feeds, and playing the selected podcast.

image

Clicking the add button will give you a dialog to add your podcast feed.

image 

Expanding any of the feeds will give you a list of podcasts available for download. Clicking the button next to the name will begin the download. A progress bar beneath the item will show how much of the podcast has downloaded.

image

When the podcast finishes downloading, PodTower will alert you with a toast notification. It automatically closes after about four seconds of inactivity.

image

Clicking a podcast item, then clicking the play button up at the right will begin the playback of the podcast. Clicking inside the gauge below the title will adjust the position within the podcast.

So what are you waiting for?

Go download a copy of PodTower! You might just like it. It’s licensed under the New BSD License, so it’s totally free. Tell a friend about it too.

Want to help contribute?

I’m mainly doing this as a fun little project. However, it’d be awesome if PodTower caught on and actually became supported by you. If you think this program is nifty or useful, I’d appreciate a donation. PodTower is totally free and licensed under the New BSD (3-clause) license.

Tuesday, June 01, 2010 9:07:02 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
# Sunday, May 30, 2010

Over the past couple of days, I’ve been lamenting over the fact that iTunes isn’t my ideal podcast client. To further compound problems, no podcast fetcher I’ve found has supported exactly the features I’ve wanted.

image

Enter PodTower – my answer to the sucko podcast fetchers currently in existence. Does it suck? Sure. It’s totally untested with about 99% of the podcasts out there right now, and doesn’t have the “remove-this-podcast-from-my-list” feature. Right now, it’s simply a nice way to download and play podcasts. I plan on improving it over the next while though.

image

Head over here to install PodTower. It requires Silverlight 4 in order to work. I’m using the Silverlight 4 Toolkit Expression Dark theme to make it look semi-good. I know it looks like a dogs breakfast right now, but it’ll get better. Just give it time.

Sunday, May 30, 2010 11:36:25 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, April 14, 2010

Today, after studying for a CS exam for four hours straight, I decided that it would be a good judgment call to write some code. After all, there’s only so much theory one can absorb until code calls. So, I decided to write my first (official) demo. I’m still working on it, and want to compose my own music to it (and make it suck a little less), so it’ll be released later.

I ran into a fun snag along the way, though. I used the SDL libraries to power the graphics of the demo. One library, SDL_Gfx, is not distributed precompiled – you have to compile it yourself. Fortunately, the author includes a Visual C++ Project file that builds just fine. Now, I’ve done some SDL work in the past and had built SDL_Gfx a while ago.

At this point, some readers might see where this is going. As I put some of the hacking finishing touches on the demo, I sent it out to a couple of friends. Of course, it didn’t run on either machine. One was Windows 7, one was Windows XP, and both failed with the same error: The application was unable to start correctly (0x0150002).

A little digging, and the problem pointed to a few solutions – reinstall Windows (yuck), install Visual C++ Express 2008 (double-yuck), or redistribute the debug DLL for Visual C++ 2008 (triple-yuck). This seemed odd to me; I had compiled the demo as a release, non-debug Windows EXE. Why on earth would it need the debug runtime?

Further digging in the event log brought us this error: "Activation context generation failed for "c:\…\release\SDLGFX.DLL". Dependent Assembly Microsoft.VC90.DebugCRT, processorArchitecture="x86", publicKeyToken="1fc8b3b9a1e18e3b", type="win32", version="9.0.21022.8" could not be found. Please use sxstrace.exe for detailed diagnosis."

After a couple of hours of fiddling with manifest files, swearing at SxS, and no luck with the various builds, I stared at the path above. SDLGFX.dll. Then it hit me.

I had built SDL_Gfx as a Debug library in Visual C++ 2008. Crap.

Some swearing and frantic coding later, it works, and runs on other machines. The moral of the story? Always check to make sure your library build type matches your solution type.

I just wish I could have that two hours of my life back.

Wednesday, April 14, 2010 4:12:11 AM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
# Saturday, March 14, 2009

You know you want some swag with my face plastered onto it in full monochrome glory. Now you can get your fill of Elias Puurunen anytime you want - http://www.cafepress.com/EliasPuurunen. Buy a T-shirt, buy a mug, hell, buy one (or more) of everything! Show some love in the form of your hard-earned recession-bail-out-package dollars.

Saturday, March 14, 2009 11:25:50 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  | 
# Sunday, March 08, 2009

2 After a few months of being M.I.A., a podcast that I didn't exactly maintain, and a successful university term, I think I'm back... for a little while at least. A number of things have changed in my world; I'm certainly busier these days than ever before.

First off, I will be speaking at the Toronto Code Camp on April 25, 2009! Go check out the details at http://www.torontocodecamp.net/. I'll be speaking about some of my experiences as a Windows Presentation Foundation developer, with the session being named WPF and the Model-View-ViewModel Pattern. I hope to make this an interesting session, and I plan to bring up the small nuances/gotchas that one might run into whilest working with WPF. (As an aside, enough W's in that last sentence?) It's an all-day event, my session is only an hour long, and it's free for anyone to attend. Come on out and see it!

IMG_0054 Next, I'm making a triumphant return to the world of water-cooled PC's. I've got the gear sitting on my desk as I type this article; it's a matter of taking the plans I've crafted, going to the hardware store, and getting the beast integrated into my system again, all without leaking liquid all over the place. Pictures will be forthcoming of that event.

Somewhat related to technology as well is the custom hybrid dance pad I built for Dance Dance Revolution. Dissatisfied with the way most soft pads work, I decided to venture out and build my own. Unfortunately, this didn't work out as well as I had planned, but I took plenty of pictures of the disaster, and once I locate the SD card they're stored upon, those will be posted as well. A wood version of the pad is currently in the works, and I plan on talking about that sucker plenty.

Finally, I'm in the process of moving the old blog to my new webhosting provider; I'll be porting over the old posts at some point. For now, I'm back. For a little while at least.

P.S.: For what it's worth, I've now got a Twitter account, since that seems to be the latest craze. Follow me at http://twitter.com/EliasPuurunen.

Sunday, March 08, 2009 7:35:21 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  |