2012-03-28, 10:24
Hi all,
I'm a 4th year Bachelors Computer Science student at Indian Institute of Technology Roorkee. This is the first time I'm participating in GSOC, hope it's not too late to apply. I've used XBMC for a couple of years now, even developed some plugin for it. I've been interning the previous 2 summers, so didn't get a chance to get involved with GSOC.
Improved UPnP serving and client
Summary:
The basic problem is to enhance the user experience for multiple clients by extend the existing XBMC libraries and adding more functionality. Users with multiple clients shall view a single consistent and up to date image of all the music and video database. Using JSON-RPC API the server can be updated of any action the user takes (such like, watch, bookmark etc.). The server can then update all the other clients related to that account, giving user a unified view.
How will I achieve this:
The first phase will be finding some efficient way of extending the existing UPnP server API to handle all relevant metadata. This will need some code modifications in the existing library which I will make sure doesn’t break anyone else’s work.
Next thing will be taking care of various platforms and input devices. Depending on which platform and device the instance of XBMC is running, there might be minor to major differences in code. Listen for relevant events from various input devices and make RPC call to update the server.
Third phase will be to use the 2-way communication to update other clients with the latest information. This part is to be done on the server side and similar to the second phase, needs to take care of the type of device. Client interface to decide
What will the project focus on:
The main aim of the project will be to cover all platforms and devices and keep all media status in sync with every other devices.
Benefits:
User: Users having XBMC instance running on multiple devices with a large database of music and videos can feel tension free about handling it and keeping it all in sync.
Developers: I plan on making a generic module that can be exploited by as many people as possible keeping future changes in mind. I do not intend to limit the code to a predefined set of functionality such as like, bookmark, rating etc. but intend keep everything expandable so that future needs may also be met. An easy set of functions so that anyone can understand and use them.
Goals:
Extending the UPnP interface to accommodate the current needs of sharing more information over multiple clients.
Transparent send and receive of data, with user having option to view the history of changes.
Generic and streamlined set of functions that can be understood and used, and extended by anyone, if need arises.
What does it touch in XBMC:
It will touch the UPnP API codebase as more functionality needs to be added to it. JSON-RPC API may need to be extended if the need arises.
Requirements:
I believe knowledge of different platforms such as Windows, Linux and Android is needed beforehand. Knowledge about JSON and Remote Procedure Call handling is also required. EventClients and EventServer knowledge is also useful since they are what will trigger the RPCs. And finally knowledge of programming languages like Python, Java, C++, C# will be a must. An LIRC remote might be required, but since I have that already (from a project I did some time back), it should not be an issue.
How long have you been writing software for work/fun?
I have been writing software for more than 3 years now. I am proficient in Python, Java. C# and C++. I have some previous experience of developing XBMC plugins and scripts in python; here is the link for the same:
https://github.com/aniket134/XBMC-video-plugins
Oh I just realized this... Please ignore the poor code management , its such an old piece of code. It was my first experience with Django, XBMC and Git. I didn't even know the use of .gitignore then!! That's embarrassing...
Is this your first GSOC?
Yes
Have you contributed to XBMC or other FLOSS projects?
Yes. Here is the link:
http://brihaspati.iitr.ernet.in:8080/bri...rihaspati/
I can provide more info about it via mail. There is another project, but it’s on the intranet in my institute.
In case of any disambiguation please do tell me. I have decent experience in video plugin and script development, so I might have got some technical details wrong. Once again, I hope its not too late...
Thanks
Aniket
I'm a 4th year Bachelors Computer Science student at Indian Institute of Technology Roorkee. This is the first time I'm participating in GSOC, hope it's not too late to apply. I've used XBMC for a couple of years now, even developed some plugin for it. I've been interning the previous 2 summers, so didn't get a chance to get involved with GSOC.
Improved UPnP serving and client
Summary:
The basic problem is to enhance the user experience for multiple clients by extend the existing XBMC libraries and adding more functionality. Users with multiple clients shall view a single consistent and up to date image of all the music and video database. Using JSON-RPC API the server can be updated of any action the user takes (such like, watch, bookmark etc.). The server can then update all the other clients related to that account, giving user a unified view.
How will I achieve this:
The first phase will be finding some efficient way of extending the existing UPnP server API to handle all relevant metadata. This will need some code modifications in the existing library which I will make sure doesn’t break anyone else’s work.
Next thing will be taking care of various platforms and input devices. Depending on which platform and device the instance of XBMC is running, there might be minor to major differences in code. Listen for relevant events from various input devices and make RPC call to update the server.
Third phase will be to use the 2-way communication to update other clients with the latest information. This part is to be done on the server side and similar to the second phase, needs to take care of the type of device. Client interface to decide
What will the project focus on:
The main aim of the project will be to cover all platforms and devices and keep all media status in sync with every other devices.
Benefits:
User: Users having XBMC instance running on multiple devices with a large database of music and videos can feel tension free about handling it and keeping it all in sync.
Developers: I plan on making a generic module that can be exploited by as many people as possible keeping future changes in mind. I do not intend to limit the code to a predefined set of functionality such as like, bookmark, rating etc. but intend keep everything expandable so that future needs may also be met. An easy set of functions so that anyone can understand and use them.
Goals:
Extending the UPnP interface to accommodate the current needs of sharing more information over multiple clients.
Transparent send and receive of data, with user having option to view the history of changes.
Generic and streamlined set of functions that can be understood and used, and extended by anyone, if need arises.
What does it touch in XBMC:
It will touch the UPnP API codebase as more functionality needs to be added to it. JSON-RPC API may need to be extended if the need arises.
Requirements:
I believe knowledge of different platforms such as Windows, Linux and Android is needed beforehand. Knowledge about JSON and Remote Procedure Call handling is also required. EventClients and EventServer knowledge is also useful since they are what will trigger the RPCs. And finally knowledge of programming languages like Python, Java, C++, C# will be a must. An LIRC remote might be required, but since I have that already (from a project I did some time back), it should not be an issue.
How long have you been writing software for work/fun?
I have been writing software for more than 3 years now. I am proficient in Python, Java. C# and C++. I have some previous experience of developing XBMC plugins and scripts in python; here is the link for the same:
https://github.com/aniket134/XBMC-video-plugins
Oh I just realized this... Please ignore the poor code management , its such an old piece of code. It was my first experience with Django, XBMC and Git. I didn't even know the use of .gitignore then!! That's embarrassing...
Is this your first GSOC?
Yes
Have you contributed to XBMC or other FLOSS projects?
Yes. Here is the link:
http://brihaspati.iitr.ernet.in:8080/bri...rihaspati/
I can provide more info about it via mail. There is another project, but it’s on the intranet in my institute.
In case of any disambiguation please do tell me. I have decent experience in video plugin and script development, so I might have got some technical details wrong. Once again, I hope its not too late...
Thanks
Aniket