I'd suggest find something you want to make before the specific technology to use it. Think of something you want to make (web app, something for iphone, whatever) then figure out the best tools to make it. It will make the scope of "what to learn" to be a lot narrower and allows you to do some analysis about what to use that's tethered to something real. It would be nice if your project was "something people want", but the key thing is that you find it interesting enough that you have a lot of intrinsic motivation to work on it.
In my case, I didn't make my latest side-project (http://laughlitm.us) because I wanted to learn Rails and the Twitter API, I wanted to make something for my friends and I to share funny tweets. From there, questions weren't "what should I learn?", they were more "what framework can I use to get this up and running the fastest?" and "what DB or cache should I use to store this specific data type?". I learned a lot doing it and it never once felt like work. I also had a lot more to show for it than doing a bunch of examples from a "learning rails" book.
In my case, I didn't make my latest side-project (http://laughlitm.us) because I wanted to learn Rails and the Twitter API, I wanted to make something for my friends and I to share funny tweets. From there, questions weren't "what should I learn?", they were more "what framework can I use to get this up and running the fastest?" and "what DB or cache should I use to store this specific data type?". I learned a lot doing it and it never once felt like work. I also had a lot more to show for it than doing a bunch of examples from a "learning rails" book.