We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Hey Processing folks, and of course other Google summer of Coders!
My name is Nick Confrey, and I'm a sophomore at the University of Chicago. I LOVE processing, and I can truly say it was one of the tools that sparked my love of programming. Back in highschool, I used it to create an augmented reality program that would use a webcam to recognize QR codes and display 3D objects above them. Now that I'm farther along in my coding experience, I am super excited to have the chance to return to where I began, see how far I've come, and help an amazing program inspire new coders like myself.
Since proposals are now being accepted, I thought I should run mine by the general community quickly to get some initial feedback before I submit the final version. My summer would take three stages:
1) Extend the existing network library. (Quick aside - it has been mentioned to me that building a new library is generally easier for GSoC than adding onto a core library. What are the extra limitations and challenges of adding to the core library, and does it make sense to create a new library for these changes?). Additions could include event based network notifications (network timers sending messages on a regular interval, keyboard or mouse movements being directly communicated to the server) or chat and image sending. All of these features would ideally make it easier for the average processing user to begin making multi-computer programs. Any new features added here would include extensive documentation and tutorials.
2) Create a new, more advanced network library. This will focus on multi-threaded servers, shared network objects with built-in synchronization primitives (useful in gaming or maintaining a shared program state across different computers).
3) Explore and implement other ways to get network data into processing, including outside sources like easy webscraping or implementing udp to have faster connections (which in turn could allow things like video calling or audio streaming).
That lays out my general plan of attack: get familiar with processing libraries and you guys while extending a library, and then get more advanced as time allows. What do you think, is this something that would add value to processing? I think that network programming can be daunting, and my libraries and tutorials could allow some pretty amazing new uses of processing. Let me know what you all think!