It's unclear to me, how is this different than just saving a contact to the launcher? This just seems to add an extra step because you have to actually launch a program to get to the contact instead of just going to the launcher to select the contact. Am I missing something?
You may want to take a look at the program
dg Quick Cut. It allows you to save a speed dial shortcut to the launcher; when you tap the contact it will dial the number automatically, no need to select which number and you don't need to press the dial button. However, it does not let you assign (yet) a picture to the contact.
My idea for a perfect speed dial app:
1. For a given contact, allow you to select *which* number to dial so that when you tap on the contact it dials that number
2. Assign photo to that contact
3. Speed dial contact is placed on the launcher so you don't have to load an app to get there
4. Alternatively, if you double click the center button it autoloads the speed dial page (like the iphone does)