Offline News Reader / Skinnable Software
I'm working on an application that functions as a news reader for Car PCs.
The application comes in two parts. The first app runs on a desktop PC and downloads news headlines and full articles from the Associated Press into a directory (structured by date then by topic). The second app runs on the Car PC and reads the news headlines to you. You can click the "read" button at any time and have the system read you the whole article.
I have a little USB drive that I can copy the news story directory to and then plug it into the car and copy the directory off onto it's hard drive. This works well for those of us who don't have a constant internet connection.
The main reason I'm writing this is that I haven't added XM or FM radio to my car, so this is an easy way to stay up-to-date with what's going on. You could also adapt it to work with other files such as email.
I use SAPI, so you can use any voice compatible with it. The ones that come with it aren't very pleasant to listen to, but AT&T makes some more pleasant and easier to understand voices that work very nicely.
Anyway, I'm open to making the program available to everyone, but I'd like to make it skinnable first. I've never written skinnable software so I was looking for some pointers.
Here's a screen shot of the current reader:
http://img269.imageshack.us/img269/6722/carnews9ba.gif
You click on a day, then select a topic and the headlines are automatically read to you. After one headline is read, the system automatically moves to the next headline and starts reading it. Clicking the read button causes the system to read you the entire news article. During the article reading, the bottom list view switches to display the text of the article. Words are then highlighted as they are read so you could quickly look down and see the work being read if you didn't understand the SAPI.
Anyway, even if you guys aren't interested in the news reader program itself, it might be able to be used as a good tutorial on how to create skinnable software. Thoughts?