I think traditional colleges (or bootcamps) have a motivational component that is as important, if not more, than the structured curriculum or lectures. Online learning is not just very passive, but also lonely.
Having other peers to motivate you (shared joy is twice the joy, shared pain is half the pain), teachers to hold you accountable, a physical space and schedule to help you build habits, etc. is, in my opinion, the key to be a successful learner.
I've been experimenting with online synchronous collaborative learning as a way make online learning both scalable and motivating. The reason is simple: peer pressure.
I just wrote an article explaining one of my latest experiments on this topic, a Node.js course done through online pair programming: https://medium.com/@arielcamus/learn-to-build-a-backend-with-node-js-doing-pair-programming-b6d5a241b846#.8olu5g82k
I'd like to hear more about what you think. Could we use online synchronous collaboration to make online learning much better? Which other things can we do to keep online and self-directed learning scalable and at the same time supportive as a traditional learning setting?