Hi there, people of the Java Programming Forums community! I'm brand new to Java, and even newer to this community.
--------------------
Wordy Preamble
--------------------
One thing I am NOT new to, though, is running. Specifically, running while listening to music. And even more specifically, running while listening to music on my iPod and using assorted gadgets to maintain my pace and keep track of my time each day.
I bring this up because running, especially running with music, has its advantages and disadvantages; one of the big reasons why running coaches tell you not to use music players while running is because it throws your natural pace into time with the beat. And try it out for yourself -- there's an innate sort of human response we all get when confronted with a steady beat, and I PROMISE it happens to all of us.
--------------------
Basic Idea
--------------------
So one day, while running, I began doing speed trials (for those not in the know, speed trials are timed running exercises in which you alternate your speed, going from a slow to fast pace [and vice versa] to train your muscles into gaining more endurance while also keeping a decent pace -- so you train your fast- and slow-twitch muscles at the same time). I joke with friends that I compiled a playlist specifically for these runs that consists of songs that alternate slow and fast paces, so I can measure my workout with the music. While this is true, it isn't ideal, and any runner will tell you so.
What I began thinking of a few weeks back is how to create a program (maybe an iPhone or Android app, but possibly something a little more complicated) that acts as a music player and pedometer, giving you the option of knowing the stats on your run while simultaneously allowing you to have control of your music.
I know the iPod has a nifty thing called the Nike+, which is an invention that connects to your iPod and receives information about the movement of your feet through a sensor you can place in between your shoelaces (or in pouches that can be folded in between the laces). The basic functionality of my idea will work similarly, but there's one catch: something I want to call "Running Buddy" or "Coach Mode" or something like that.
Basically, the Coach Mode will keep track of your pace (there are various technologies available for this already), but more importantly, it will allow you to set a pace yourself. And while you keep within a certain deviation of that pace, it will play any song you want; you could even load entire playlists and play music for hours, as long as you're running. And I want the runner to have control, mid-run, over the quickness of that pace. It will act as a kind of invisible treadmill -- only instead of kicking you off when you start slacking, it might turn the music off instead (I don't want the music to go completely off, but maybe fade out and in the closer you are to keeping the pace you set).
In this way, the problem of you running with the music's beat is null and void, because you set the music to YOUR pace, not the other way around.
The other interesting aspect (and why I call it Coach Mode) is that, if you start slacking from your pace, another feature could kick in that plays the voice of someone telling you to pick it up. And if you pick up the pace too quickly, it could tell you to slow down. All of this will happen within a certain reasonable deviation from the pace, so it won't necessarily be too easy.
There's a feature of the Nike+ gadget that plays a voice of someone (either a guy or girl, depending on your settings) when you set the stats of your run. A neat feature is that, when you break certain records (like longest run, best time, etc.) you hear the voice of Lance Armstrong congratulating you on your success. It's a neat, human feature of the gadget that gives you a good feeling when you accomplish new goals. I think a similar thing should happen with Coach Mode.
------------------------------------------
Why I brought this to you in the first place
------------------------------------------
I have basically zero programming experience. An accurate analogy of my Java skills might be that of a newborn learning how to turn around in its crib. I have followed various sources through the net and all I've learned to make was a window that says "Hello World" (which I understand is the beginning program for everyone, even experienced programmers; but these things take time, and I just want a way to speed up the process).
My research has told me that Java is the most versatile object-oriented language out there, and I believe Java is capable of making my idea happen.
Also, I would love to see something like this become available. Free or not. I honestly don't even care about collecting a profit from it (hence why I post this idea in a forum full of experienced programmers), as long as others like myself can run freely without worrying about our music dragging us down.
And lastly, I would love to learn to create something this wonderful and innovative. Programming, to me, is exciting. I can't tell you how happy I was to finally run that "Hello World" program, correctly, on the first try; total nerdgasm!
----------------------
Please, help if you can!
----------------------
And thanks for your time.