Hello everyone! A week or so ago I posted a thread on the Community Board asking for some suggestions on an application for my CS senior project. After going over all the suggestions and the ones that I came up with, I scrapped all of them. They were all great ideas, don't get me wrong. It was just that none of them jumped out at me as, "the one." So today I was thinking, and I believe I came up with my senior project; however, I need some input on it.
My idea was to write a generic program that will handle p2p connections over a secure(ish) line for any kind of application that you can dream of. For example, if you want to write an online game, in your code all you'd have to do is add a few lines of code to your game, and viola you have an online game. Or a collaboration text editor, or just about anything that you can imagine!
Now, my goal is to write this in C# for Windows and then port it to Objective-C for OS X and iPhone/iPod Touch. That way, it will be super easy to create online, collaborative apps between all 3 platforms.
My three main questions are:
1. Is this feasible to do in 1 year with only 1 programmer?
2. NAT issues, obviously this will have to work through NAT; otherwise it will only work if both computers have outside accessible IP addresses or if both computers are within the same router/DHCP server. I have never programmed something that had to work through NAT, so how involved is this or should I just stick to basic connections for now?
3. Security issues. For security, I was thinking along the lines of using some sort of hash on all the data. Anyone have possibly a better solution, or should this suffice?
Now, I have about 1 year until the final presentation on it is due. To demonstrate it then, I was hoping to write a Tic Tac Toe game (on all 3 platforms) and a simple collaborative text editor (again, on all 3 platforms).
So how about it, is this a good project to attempt? I am running out of time, as our final submissions are due soon...
My idea was to write a generic program that will handle p2p connections over a secure(ish) line for any kind of application that you can dream of. For example, if you want to write an online game, in your code all you'd have to do is add a few lines of code to your game, and viola you have an online game. Or a collaboration text editor, or just about anything that you can imagine!
Now, my goal is to write this in C# for Windows and then port it to Objective-C for OS X and iPhone/iPod Touch. That way, it will be super easy to create online, collaborative apps between all 3 platforms.
My three main questions are:
1. Is this feasible to do in 1 year with only 1 programmer?
2. NAT issues, obviously this will have to work through NAT; otherwise it will only work if both computers have outside accessible IP addresses or if both computers are within the same router/DHCP server. I have never programmed something that had to work through NAT, so how involved is this or should I just stick to basic connections for now?
3. Security issues. For security, I was thinking along the lines of using some sort of hash on all the data. Anyone have possibly a better solution, or should this suffice?
Now, I have about 1 year until the final presentation on it is due. To demonstrate it then, I was hoping to write a Tic Tac Toe game (on all 3 platforms) and a simple collaborative text editor (again, on all 3 platforms).
So how about it, is this a good project to attempt? I am running out of time, as our final submissions are due soon...