Personal tools
The Open Lighting Project has moved!

We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.

Difference between revisions of "OLP SOC Ideas Page"

From wiki.openlighting.org

Jump to: navigation, search
(Port to Android)
Line 1: Line 1:
This page lists some ideas for [http://www.google-melange.com/gsoc/homepage/google/gsoc2012 Google Summer of Code 2012] projects for the [[Open Lighting Project]]. You can use these ideas as a basis for your application, or come up with something different. Please see the Google SOC site for the 2012 timeline. If you would like to discuss any of these ideas, or are thinking of applying to work with us, please send an email to the [https://groups.google.com/forum/?fromgroups#!forum/open-lighting Open Lighting List] introducing yourself.
+
This page lists some ideas for [http://www.google-melange.com/gsoc/homepage/google/gsoc2013 Google Summer of Code 2013] projects for the [[Open Lighting Project]]. You can use these ideas as a basis for your application, or come up with something different. Please see the Google SOC site for the 2013 timeline. If you would like to discuss any of these ideas, or are thinking of applying to work with us, please send an email to the [https://groups.google.com/forum/?fromgroups#!forum/open-lighting Open Lighting List] introducing yourself.
 
 
  
 
==Port to Android==
 
==Port to Android==
  
Android is an obvious target for OLA. Not only does it make perfect sense to use phones & tablets and lighting control interfaces but the Android platform could be used to build embedded lighting control devices. A small amount of this has been done, see [[OLA on Android]]
+
Android is an obvious target for [[OLA]]. Not only does it make perfect sense to use phones & tablets as lighting control interfaces but the Android platform could be used to build embedded lighting control devices. A small amount of this has been done, see [[OLA on Android]]. [https://code.google.com/p/open-lighting/issues/detail?id=221 Bug #221] covers this work.
  
 
This project would include:
 
This project would include:
Line 17: Line 16:
 
==Port to Windows ==
 
==Port to Windows ==
  
This is the most requested 'feature' and would significantly expand the reach of the project. The current, supported method of running OLA on Windows is using VMWare  ([[OLA_on_Windows_with_VMWare|instructions]]). This is sub optimal, since it requires the use of non-free software, is challenging for users without unix command line experience, and doesn't allow Windows applications to communicate with OLA.  Work on a Windows port commenced in mid 2011 (see [[Building_OLA_for_Windows|these Notes]]), but was postponed due to lack of resources.
+
This is the most requested 'feature' and would significantly expand the reach of the project. The current supported method of running OLA on Windows is using VMWare  ([[OLA_on_Windows_with_VMWare|instructions]]). This is sub optimal, since it requires the use of non-free software, is challenging for users without unix command line experience, and doesn't allow Windows applications to communicate with OLA.  Work on a Windows port commenced in mid 2011 (see [[Building_OLA_for_Windows|these Notes]]), but was postponed due to lack of resources.
  
 
This project would include:
 
This project would include:
Line 36: Line 35:
 
'''Skills Required''': C++, Network Programming, Javascript, HTML, Google Closure<br/>
 
'''Skills Required''': C++, Network Programming, Javascript, HTML, Google Closure<br/>
 
'''Estimated Difficulty''': Medium
 
'''Estimated Difficulty''': Medium
 
  
 
== Web Based Configuration of Preferences ==
 
== Web Based Configuration of Preferences ==
Line 43: Line 41:
  
 
'''Skills Required''': C++, Javascript, HTML  <br/>
 
'''Skills Required''': C++, Javascript, HTML  <br/>
 +
'''Estimated Difficulty''': Easy
 +
 +
== ArtNet Plugin Enhancements ==
 +
 +
The current [[ArtNet]] plugin supports a single device (network interface), with 4 input and 4 output ports. There is an [[OLA ArtNet Roadmap]] which proposes extending the plugin to support multiple network interfaces with an unlimited number of input and output ports.
 +
 +
'''Skills Required''': C++, Understanding of IP networking & the sockets API<br/>
 
'''Estimated Difficulty''': Easy
 
'''Estimated Difficulty''': Easy

Revision as of 08:32, 18 March 2013

This page lists some ideas for Google Summer of Code 2013 projects for the Open Lighting Project. You can use these ideas as a basis for your application, or come up with something different. Please see the Google SOC site for the 2013 timeline. If you would like to discuss any of these ideas, or are thinking of applying to work with us, please send an email to the Open Lighting List introducing yourself.

Port to Android

Android is an obvious target for OLA. Not only does it make perfect sense to use phones & tablets as lighting control interfaces but the Android platform could be used to build embedded lighting control devices. A small amount of this has been done, see OLA on Android. Bug #221 covers this work.

This project would include:

  • Building OLA as a Android Application
  • Adding a Java client or wrapping the C++ client with a Java library.
  • Writing a frontend in Java to demonstrate the capabilities of OLA.


Skills Required: C++, Java, Android
Estimated Difficulty: Hard

Port to Windows

This is the most requested 'feature' and would significantly expand the reach of the project. The current supported method of running OLA on Windows is using VMWare (instructions). This is sub optimal, since it requires the use of non-free software, is challenging for users without unix command line experience, and doesn't allow Windows applications to communicate with OLA. Work on a Windows port commenced in mid 2011 (see these Notes), but was postponed due to lack of resources.

This project would include:

A Windows port would enable lighting controller applications like QLC and D::Light to move to OLA entirely, and not have to maintain their own plugins.

Skills Required: C++, Windows Network Programming & Windows Event Handling
Estimated Difficulty: Hard

Asynchronous Web Notification of RDM Messages

Thanks to sites like GMail and Facebook, users have come to expect asynchronous notification of events in their web browser. RDM enabled lighting devices can generate events such as Over Temperature and Lamp Faulty so it would be nice to alert the users to this. This project would involve work with two Open Source efforts. The student would need to work with libmicrohttpd to add WebSocket support (see the email thread).

The second step would involve using WebSockets to deliver events to the browser, and building a UI to notify the user. The OLA UI is built with Google Closure.

Skills Required: C++, Network Programming, Javascript, HTML, Google Closure
Estimated Difficulty: Medium

Web Based Configuration of Preferences

User Preferences for OLA are stored in text files but the web UI provides no method for changing any preferences beyond port patchings. At the moment the user is required to stop the OLA Daemon, exit the text files and restart if settings are to be changed. This project would involve building a generic preference store and exposing it through the web UI. Changing preferences on the fly is likely to expose bugs in some of the OLA plugins. These will need to be fixed.

Skills Required: C++, Javascript, HTML
Estimated Difficulty: Easy

ArtNet Plugin Enhancements

The current ArtNet plugin supports a single device (network interface), with 4 input and 4 output ports. There is an OLA ArtNet Roadmap which proposes extending the plugin to support multiple network interfaces with an unlimited number of input and output ports.

Skills Required: C++, Understanding of IP networking & the sockets API
Estimated Difficulty: Easy