Continuous Community Learning
Here's some non-knowledge-related project ideas regarding the cloud that came to mind.
1. Streaming video is big, and it's a insanely hard problem. People jump into random positions on the stream, and transcoding for varying bitrates is CPU-intensive. Building a service that supports a few users simultaneously to watch videos from one server is a pretty interesting thing.
2. Same goes for a vertical - photo sharing. The filesystem management required would be very much unlike how other data is stored on disk. Facebook needs to serve out millions of photos near-instantaneously at different sizes for each picture. Sounds like a fun thing to try.
3. Delegated Authentcation. A project that can build an OAuth service or an end-to-end demonstration of all the delegated authentication modules required for internet-scale services to interact with each other when they're built by different vendors.
4. Remote device browsing - I'm myself confused about this. Sometimes I feel this is a killer idea. At other times, not so much. The idea is simple. If I had a smartphone, could I browse the folders on one of my office boxes, or my home laptops? If I were talking to someone and mentioned that I had some cool pictures, would I quickly pull a few pics from my home laptop onto the phone? This is different from remote desktop - I think remote desktop is overkill, and a blunt solution to an elegant problem. If I had each of my devices expose their stuff (filesystem, settings, state, whatever) as a webservice that allows me to retrieve/store data or control the device remotely, it has great potential. I could poweroff my laptops that I forgot about.
5. Build a large scale MMORPG (no need for graphics. Check out Utopia - I used to be a big player.) Plenty of hard problems to be solved here - rather every hard problem you will ever face with cloud computing in your entire life, you will face developing such a game. Plus it's fun!
Permalink Reply by Nazneen Rupawalla on May 5, 2011 at 8:03pm Sir,
I am in my final year..n really interested in doing a project related to cloud computing. Well my group mates and i have just thought of something..but i do not know if it is feasible or already implemented. But i think itz related to cloud computing ..Quite confused but still thought of asking....If we have to connect to some remote device like from my college to me home pc..using the net..in the sense the url shld specify the path like computer's identity and then the desired drive..n then i can access- like anythn from my drive...this all under proper authorization...like password and username should be taken into consideration---.....are we thinkn utter nonsense..or we can develop a proj.???
Ok, I've just read the first few lines and no matter what you've written after that, here's some lecturing:
Do NOT start off a project by saying, "I want to do this for cloud computing". It's like saying, "We want to do the project only in procedural programming." Usage of the cloud is a _consequence_ of a feature, not the feature itself. In fact, I'm getting a bit weary of how much the world "cloud" shows up on the forums here, and am afraid we're going to repeat a systems-programming fad that was going around when I was in college. Everyone was somehow spinning off anything as a device driver or kernel module. Think of the relevant of your problem statement and don't do silly stuff despite it being cloud-based.
Now onto your problem. First off - it's a good problem statement. I can relate to it (and it's point no. 3 in the post you've replied to), and I think it has definite value in exploring. It is in fact a very common scenario. So there you go - if you want my approval, you've had it since the original post date of the message above: Posted by Archis Goreon January 26, 2011 at 9:29pm.
It will use the internet to communicate. Whether it will use some online service or not will depend on how you architect it. The world "cloud" comes into the picture much later. Like when you're building a client and it sends data, and you want to make it clear that where the data goes is irrelevant so long as it is accessible to you whenever you want, you'd say it conceptually went into the cloud (like an undefined and irrelevant black-box entity for the user.) When architecting your solution, you should use crisp terms like hosted services, or peer clients. As a developer, you don't have the luxury of a cloud.
How soon should I expect a followup on this, and when will a project group be formed here? :-)
Permalink Reply by Nazneen Rupawalla on May 7, 2011 at 4:55pm © 2012 Created by Kaushik.