Alarm Clock widget: The image is an alarm clock that we will provide. The user can set the date and time that he wants the alarm to go off. He can even specify text that he wants the widget to say. The alarm can be recurring. For example, the alarm could go off at 6 am every day M-F. At the date(s) and time, the user can choose from one or more of the following actions. i. Create and use an email (SMTP) web service to send out an email to one or more users with the alarm clock text as the body of the email. We have a web site that this web service could be hosted from. ii. Play an audio chime that we send with the widget and open if not already open. iii. Blink – the alarm clock will blink and move to the top of the desktop (opening if not already open) iv. Open and Play an mp3/itunes file from the users PC or open and play a video. Essentially, this option allows the users to start a program/open a file on their PC. v. Speak() the text. Use the speak function to say what is written in the Alarm Clock. There will be a text button that allows the user to enter text. When the text is saved, only the clock image is displayed and the text is hidden. vi. There should be a checkbox to hide the Alarm Clock. If checked, then the Alarm Clock is invisible until its scheduled time. If the user presses Shift-F8, all of the hidden Alarm Clocks will become visible (at this time the user can uncheck the hidden checkbox) until Shift-F8 is pressed again. The unhidden Alarm Clock will always be visible. The Alarm Clock widget should let the users know if they have missed anything – in case that there computer was shut down when the reminder was scheduled. All of the data should probably be stored in XML tables in a special ‘Data' folder on the user's PC. Let me know if you have a better idea. Also, the Yahoo widget documentation should explain how to do most of this. If you have any questions, let me know. In addition, we need the ability to spawn multiple alarm clocks.