Thursday, April 27, 2006

Email suggestions

I get dozens of emails each day about the alarm clock application. Many times users have suggestions for the app, and we converse back and forth about their implemenatations. Many of the new features in AC2 (and the upcoming features in version 2.3) are directly related to user suggestions. If you have suggestions, or general feedback I encourage you to send me an email or post a comment. (you can post comments annoymously on this blog if you wish)

There is one suggestion that I occasionaly get that I would like to publicly state my position. Every so often, I get a suggestion that says "how come I can't launch a 3rd party app when an alarm goes off?" There are several reasons why I haven't implemented such things in AC2, and I've pasted a recent email response to a similar suggestion below:

I apologize, but this is a feature request that I'm consistently resistant to.
Let me explain my thoughts on the matter.

For as far back as I can remember, I've hated alarm clocks with the passion of a thousand fiery suns. Every morning they would go off, loud and next to my ear, destroying my pleasant dreams and shattering my slumber with their incessant beep-beep-beeping. I'm convinced that in hell they use the sound of a beeping alarm clock as background music. (sorry, I'm getting off topic) So when I finally got my first mac several years ago, I realized it's potential as an alarm clock. Not being a mac programmer at the time, I did what everyone else does, and went out and downloaded one. For the next several years I used this alarm clock (as well as several other alarm clock programs) and learned a few things about them.

One of the things I learned (the hard way, several times over) was that it sounds cool to launch other applications to wake you, but it's not reliable. The alarm clock program probably has no problem running scripts, or launching other apps, but those apps were NOT made with the functionality of an alarm clock in mind, and don't always behave as one would expect. Would you stake your job on the ability of an applescript to launch EyeTV, and that EyeTV would launch perfectly without prompting you for anything, and would be at the correct volume, and would be on the correct channel...? (I used EyeTV because the sender specifically mentioned it, but you can insert any 3rd party app here.) When you start to think about all the potential problems with launching other apps, you start to see the problems that something small could cause for an alarm clock program. Many programs out there allow users to do all kinds of things when an alarm goes off, but how safe are they to use? One time I set my alarm to open up a webpage which would play an online radio station. The alarm clock launched the browser correctly, but when I awoke an hour late I was greeted proudly with a 404 error. I then had to explain to my Math teacher that the reason I missed the exam was because I was using a computer alarm clock and that it was set to open a web page which had restructured and changed URL's. His response: he laughed at me, told me to get a real alarm clock, and told me that excuses like that won't work in the "real world" so they won't work here.

Even the alarm clock applications out there that only play music aren't totally safe, because most of them rely on applescript to control iTunes! (Mine does NOT, btw) I've had my fair share of problems with these apps as well.
Think about some of the problems an alarm clock runs into when it depends on iTunes to play it's alarm in the morning:
- iTunes was recently upgraded, and requires you to re-agree to the license agreement. It was launched by your alarm in the morning.
- iTunes was set to play to your airTunes speakers, but they aren't available
- iTunes was set to play a radio station, but gets disconnected during play time. The music stops.
- A short playlist is used, but you forgot to turn on playlist repeat.

I can think of several more, but I'm sure you get the point.
It is directly because of all these problems that I decided to make my own alarm clock. I was sick and tired of alarm clocks which would occasionally not work in the morning. In my opinion that was completely unacceptable, and I think most people don't use alarm clocks on their computer because of all the crappy alarm clock software out there. I've made it my personal mission to make an alarm clock that is completely dependable. It doesn't execute applescripts, or launch web pages, or 3rd party applications... but you can rely on it to wake you up in the morning. It doesn't cross-fade songs in your playlists, or turn on iTunes visualizations... but you can sleep peacefully knowing that it will operate correctly in the morning, no matter what.

I'm sorry to shoot down your idea, and I hope I haven't offended you, but this is something I'm rather passionate about. I hope you can understand where I'm coming from, and maybe appreciate my desire to create such a dependable application.

6 comments:

Matt Philmon said...

I'm pretty thrilled with what you already offer... The only feature I'm really looking for right now is the ability to disable the "kill alarm" or the ability to increase it to an hour or better instead of 30 minmutes.

It's a great application.

Robbie Hanson said...

Thanks for the feedback Matt.
Several people have commented on wanting to increase the kill alarm feature. However, most of them didn't fully understand how it worked. I'm going to paste the explanation from my FAQ's, just in case there is any confusion, and comment further after it.

The kill alarm feature is a safety net if you ever forget to turn off your alarm clock when you're not there. That way you don't annoy your neighbors all day long!
If the alarm goes off for X amount of minutes (as in the music has been constantly playing for X minutes), it is automatically turned off.
It will NOT be turned off during snooze.
It will NOT be turned off because you hit snooze 5 times. (Hit snooze as many times as you want...I always do!)
You can think of this as a timer...
When the alarm goes off the timer starts ticking
If you hit snooze, the timer is paused and reset
When the alarm goes off after snooze, the timer starts ticking again

When most people hear that the kill alarm feature won't affect them unless they basically forget about their alarm, then they don't see a need to increase it any further. However, there are some people who enjoy letting the music play in the morning as they wake up and get ready. Is this what you meant?

Matt Philmon said...

Yes, essentially. I understand the feature. I remember my college days and being ready to throw something at my roommate to shut off his alarm. That said, I'm way past college now and live alone with no fear of bothering anyone else. It can honestly take an hour sometimes to wake me up. Other times, like you mentioned, I want to just like there listening to my music or let it play while I'm in the shower. Twice now I've totally missed the alarm and woke to find it killed. I am, however, uncertain... maybe it failed to "wake" my Mac mini.

At any rate, default it to 30 minutes but maybe let the user set a higher value, or disable it all together. While I'm sure many appreciate the kill feature, where I live it's definitely not bothering anyone. Thanks for you efforts on this. It's a very sweet little program.

Robbie Hanson said...

You're the second person to request that the kill alarm duration be increased. The other person said exactly the same thing - they like to let it play while they shower in the morning.

There are 2 reasons I'm hesitant to do this. They may or may not be warranted.
1) I fear there are still users who don't fully understand how the kill alarm feature works. And they'll just set it to the max duration because they fear it will turn off if they hit snooze one too many times.
2) I fear that increasing the kill duration will encourage users to lie in bed and listen to music in the morning. The app is supposed to be getting them out of bed.

As for the first fear, after thinking about it some more I can see that it IS warranted (based on the number of users who don't understand it) and that this is MY fault. "If one student fails, it's his fault. If several student fail, it's the teacher's fault." In version 2.3 there will be a small note in the preferences window that explains how the kill duration works. Hopefully this will set the matter straight with users, and make up for my current shortcomings.

As for the second fear, after thinking about it some more I can see that I'm probably just being silly. Just because I hate waking up in the morning doesn't mean everyone does! And I'm sure there are plenty of users who enjoy listening to their favorite music for a time after getting out of bed, or even while still lying in bed. If users can manage to fall back asleep with the music at it's max setting, then they can do it just as easy in 30 minutes as they can in 60 minutes. As much as I worry about this app working perfectly, there's nothing I can do to prevent users from falling back asleep during an alarm.

Therefore, I promise to increase the max kill duration in version 2.3 to more then it's current 30 minutes.

Robbie Hanson said...

I almost forgot - you mentioned that you had problems with the app waking your computer from sleep once or twice:

"Twice now I've totally missed the alarm and woke to find it killed. I am, however, uncertain... maybe it failed to "wake" my Mac mini."

I haven't heard of anyone having problems with the app waking their computer from sleep. However, if it happens again, there's an easy way to tell if it did wake from sleep or not. The application outputs important messages to the console, such as when the computer goes to sleep, when it wakes from sleep, when an alarm goes off, when you hit snooze, when you increase/decrease the snooze duration, etc... If you open up the Console app (/Applications/Utitlities/Console.app) you should be able to read the output of the Alarm Clock program and determine if it woke the computer or not.

If you're ever curious, you can basically find your sleep history there too. Like if you're wondering how many times you actually hit snooze one morning, you can figure it out by looking at the console messages. My rommate sometimes hits snooze 15+ times on days when he skips classes! Thank god for easy wake, or it would've woke me up all 15 times too!

Anonymous said...

Got Windows?