Notice: MediaWiki has been updated. Report any rough edges to marcan@marcan.st

Difference between revisions of "History"

From OpenKinect
Jump to: navigation, search
m (spelling, as always.)
m (Undo revision 1731 by JeanAshley1941 (talk))
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
+
=="The Secret"==
==2010==
 
  
===November===
+
<blockquote>''I actually have a secret to share on this topic. Back in the late Summer of 2010, trying to argue for the most basic level of PC support for Kinect from within Microsoft, to my immense disappointment, turned out to be really grinding against the corporate grain at the time (for many reasons I won't enumerate here). When my frustration peaked, I decided to approach AdaFruit to put on the Open Kinect contest...'' - '''Johnny Chung Lee's''' [http://procrastineering.blogspot.com/2011/02/windows-drivers-for-kinect.html Blog] February 21, 2011 </blockquote>
 +
 
 +
* [http://www.adafruit.com/blog/2011/02/21/johhny-lee-was-behind-the-kinect-bounty-contest-with-a-little-help-from-us/ "Johnny Lee was behind the kinect bounty contest with a little help from us" - Adafruit's Blog]
 +
 
 +
==How it all started==
 +
 
 +
* [http://www.newscientist.com/article/dn19762-inside-the-race-to-hack-the-kinect.html Inside the race to hack the Kinect - NewScientist]
 +
* [http://ladyada.net/learn/diykinect How the Kinect was hacked very detailed overview of what was involved]
 +
* [http://www.adafruit.com/blog/2010/11/04/the-open-kinect-project-the-ok-prize-get-1000-bounty-for-kinect-for-xbox-360-open-source-drivers Adafruit's competition]
 +
* [http://hackaday.com/2010/11/04/kilobuck-open-kinect-project-prize Hackaday's coverage of the bounty]
 +
* [http://openkinect.org/wiki/Logo_Proposals The story behind the [[Image:Icon_openkinect_shaded.svg|24px]]]
 +
 
 +
==Codeswarm representation of early development efforts==
 +
 
 +
These renders illustrate the early development efforts in terms of source code language, developer interactions etc and are built using the project git logs. 
 +
 
 +
{|
 +
|{{#ev:vimeo|17218868|350}}
 +
|valign="top"|
 +
As explained in the original [http://groups.google.com/group/openkinect/browse_frm/thread/5c6736430914cbae/046c2a284e51a355?lnk=gst&q=codeswarm#046c2a284e51a355 thread] describing this, one second of real time video in those 2 sequences is equivalent to either 6 or 12 hours of project time:
 +
 
 +
http://vimeo.com/17218868 - November 10th to 24th 2010
 +
|-
 +
||{{#ev:vimeo|17796061|350}}
 +
|valign="top"|
 +
http://vimeo.com/17796061 - November 24th to December 12 2010
 +
|}
 +
 
 +
==Sequence of events==
 +
 
 +
===2010===
 +
 
 +
====November====
 +
* '''Integration updates''': [http://groups.google.com/group/openkinect/browse_frm/thread/f62f7c79d9fa9139 Nov 22], [http://groups.google.com/group/openkinect/browse_frm/thread/9ea8e604f538c794 Nov 21], [http://groups.google.com/group/openkinect/browse_frm/thread/e864a9d183cb6550 Nov 20], [http://groups.google.com/group/openkinect/browse_frm/thread/6526782e9c26cab2 Nov 20], [http://groups.google.com/group/openkinect/browse_frm/thread/bb5f4e25a5be7da4 Nov 16], [http://groups.google.com/group/openkinect/browse_frm/thread/957d46a566331082 Nov 16], [http://groups.google.com/group/openkinect/browse_frm/thread/2140d3826bdc931f Nov 14], [http://groups.google.com/group/openkinect/browse_frm/thread/0ee1d8f8ac2e7a9b Nov 12], [http://groups.google.com/group/openkinect/browse_frm/thread/c64270a993ced37c Nov 12], [http://groups.google.com/group/openkinect/browse_frm/thread/b97892d4a8d31513 1st Nov 7]
  
 
* Following the [http://www.newscientist.com/article/dn19762-inside-the-race-to-hack-the-kinect.html race] to gain access to the Microsoft Kinect on a PC in early November 2010, Héctor Martin open sourced his libfreenect code and made it available on Github - the [https://github.com/OpenKinect/libfreenect/commit/4094151eb0a8eb71f24df9d204e04b89b1724ea1 initial commit] to OpenKinect/libfreenect was made on November 10th 2010. This was a milestone which allowed for many ongoing development efforts and other contributions to take shape and for the open source community to lead the way...
 
* Following the [http://www.newscientist.com/article/dn19762-inside-the-race-to-hack-the-kinect.html race] to gain access to the Microsoft Kinect on a PC in early November 2010, Héctor Martin open sourced his libfreenect code and made it available on Github - the [https://github.com/OpenKinect/libfreenect/commit/4094151eb0a8eb71f24df9d204e04b89b1724ea1 initial commit] to OpenKinect/libfreenect was made on November 10th 2010. This was a milestone which allowed for many ongoing development efforts and other contributions to take shape and for the open source community to lead the way...
  
===December===
+
====December====
 
+
* '''Integration updates''': [http://groups.google.com/group/openkinect/browse_frm/thread/6a365a2e55ddba0b Dec 27], [http://groups.google.com/group/openkinect/browse_frm/thread/8c79745630b39e76 Dec 17 Win32], [http://groups.google.com/group/openkinect/browse_frm/thread/f36c5b5fe68bc0e7 Dec 4]
 
* About a month later, on December 9th, PrimeSense, the manufacturer of the PrimeSensor camera reference design used by Microsoft to create the Kinect (the Kinect also has LED and motor control), acknowledging the interest and achievements of the open source community, decided to open source its own driver and framework API, and to release binaries for their NITE skeletal tracking module and other applications. PrimeSense also put forward the [http://www.openni.org OpenNI] initiative for a non for profit organization to help foster compatibility and interoperability of future development efforts related to natural interactions devices. Read this [http://nui.joshland.org/2010/12/interview-tamir-berliner-of-primesense.html interview] with PrimeSense co-founder and this [http://groups.google.com/group/openkinect/browse_thread/thread/c8427e283ba8efc4# thread] for related discussions.OpenKinect and OpenNI are distinct projects and may benefit from each other. Libfreenect aims to provide a simple, straightforward C [[Roadmap|interface]] to the Kinect, while Sensor is a heavyweight driver attempting to implement all features of the PrimeSense reference design and plug into OpenNI, a complex C++ framework. However, we'll probably see some places where they complement each other. Specifically, libfreenect might end up taking advantage of the Windows kernel driver portion of Sensor, and/or OpenNI might gain a libfreenect backend. There are also differences in the licensing scheme for OpenKinect (Apache2.0/GPL2.0), the OpenNI driver/framework (LGPLv3+) and the NITE solutions for skeletal tracking and other modules (binaries only, no source). See respective licenses and this [http://groups.google.com/group/openkinect/browse_thread/thread/72be8deef19c0a35# thread] for further information...
 
* About a month later, on December 9th, PrimeSense, the manufacturer of the PrimeSensor camera reference design used by Microsoft to create the Kinect (the Kinect also has LED and motor control), acknowledging the interest and achievements of the open source community, decided to open source its own driver and framework API, and to release binaries for their NITE skeletal tracking module and other applications. PrimeSense also put forward the [http://www.openni.org OpenNI] initiative for a non for profit organization to help foster compatibility and interoperability of future development efforts related to natural interactions devices. Read this [http://nui.joshland.org/2010/12/interview-tamir-berliner-of-primesense.html interview] with PrimeSense co-founder and this [http://groups.google.com/group/openkinect/browse_thread/thread/c8427e283ba8efc4# thread] for related discussions.OpenKinect and OpenNI are distinct projects and may benefit from each other. Libfreenect aims to provide a simple, straightforward C [[Roadmap|interface]] to the Kinect, while Sensor is a heavyweight driver attempting to implement all features of the PrimeSense reference design and plug into OpenNI, a complex C++ framework. However, we'll probably see some places where they complement each other. Specifically, libfreenect might end up taking advantage of the Windows kernel driver portion of Sensor, and/or OpenNI might gain a libfreenect backend. There are also differences in the licensing scheme for OpenKinect (Apache2.0/GPL2.0), the OpenNI driver/framework (LGPLv3+) and the NITE solutions for skeletal tracking and other modules (binaries only, no source). See respective licenses and this [http://groups.google.com/group/openkinect/browse_thread/thread/72be8deef19c0a35# thread] for further information...
 +
* On December the 17th, it was decided to implement libfreenect on the win32 platform through the use of libusbemu, a libusb 1.0 emulator (or wrapper) for libusb-win32. Read more about this [http://groups.google.com/group/openkinect/browse_thread/thread/8c79745630b39e76 here].
  
* On December the 17th, it was decided to implement libfreenect on the win32 platform through the use of libusbemu, a libusb 1.0 emulator (or wrapper) for libusb-win32. Read more about this [http://groups.google.com/group/openkinect/browse_thread/thread/8c79745630b39e76 here].
+
===2011===
  
==2011==
+
====January====
 +
* '''Integration updates''': [http://groups.google.com/group/openkinect/browse_frm/thread/b1d828d108e9e69 Jan 24 Win32], [http://groups.google.com/group/openkinect/browse_frm/thread/4aa08f554802b583 Jan 23, 31], [http://groups.google.com/group/openkinect/browse_frm/thread/55e3f82c38f196e2 Jan 6]
 +
* After working for a month on the unstable branch of the project, the master and unstable branch were synced on January 6, as explained [http://groups.google.com/group/openkinect/browse_frm/thread/55e3f82c38f196e2# here].
  
===January===
+
====February====
 +
* '''Integration updates''': [http://groups.google.com/group/openkinect/browse_frm/thread/f169d475154e8f74 Feb 17], [http://groups.google.com/group/openkinect/browse_frm/thread/be96258c16f04548 Feb 15], [http://groups.google.com/group/openkinect/browse_frm/thread/487425140d7be05d Feb 14], [http://groups.google.com/group/openkinect/browse_frm/thread/3a9f8110c31034d4 Feb 11]
 +
*On February the 11th, support for multiple [http://openkinect.org/wiki/Template:Languages languages](translations) was added to the OpenKinect wiki as explained [http://groups.google.com/group/openkinect/browse_frm/thread/3a9f8110c31034d4 here].
 +
*On February the 15th, support for multiple resolutions was added to the unstable branch and the 1280x1024 RGB and IR mode was enabled as explained [http://groups.google.com/group/openkinect/browse_frm/thread/813c998eaa866b2e here].
  
* After working for a month on the unstable branch of the project, the master and unstable branch were synced on January 6, as explained [http://groups.google.com/group/openkinect/browse_frm/thread/55e3f82c38f196e2# here].
+
====March====
 +
* '''Integration updates''': [http://groups.google.com/group/openkinect/browse_frm/thread/fb7c9a1899e1bd4a Mar 16] [http://groups.google.com/group/openkinect/browse_thread/thread/7bcc02f3f49da52f March 25]
 +
* On March 7, a standalone proof-of-concept driver for the Kinect audio core was released. At this stage it is not yet integrated into the project source tree. See this [http://groups.google.com/group/openkinect/browse_frm/thread/f7cf220127682af2 thread] and this [http://openkinect.org/wiki/Protocol_Documentation#NUI_Audio section] of the Protocol Documentation for more information. See also these earlier [http://groups.google.com/group/openkinect/browse_frm/thread/47b863acf2b26811# discussions] for some background.

Latest revision as of 04:27, 14 June 2014

"The Secret"

I actually have a secret to share on this topic. Back in the late Summer of 2010, trying to argue for the most basic level of PC support for Kinect from within Microsoft, to my immense disappointment, turned out to be really grinding against the corporate grain at the time (for many reasons I won't enumerate here). When my frustration peaked, I decided to approach AdaFruit to put on the Open Kinect contest... - Johnny Chung Lee's Blog February 21, 2011

How it all started

Codeswarm representation of early development efforts

These renders illustrate the early development efforts in terms of source code language, developer interactions etc and are built using the project git logs.

As explained in the original thread describing this, one second of real time video in those 2 sequences is equivalent to either 6 or 12 hours of project time:

http://vimeo.com/17218868 - November 10th to 24th 2010

http://vimeo.com/17796061 - November 24th to December 12 2010

Sequence of events

2010

November

  • Following the race to gain access to the Microsoft Kinect on a PC in early November 2010, Héctor Martin open sourced his libfreenect code and made it available on Github - the initial commit to OpenKinect/libfreenect was made on November 10th 2010. This was a milestone which allowed for many ongoing development efforts and other contributions to take shape and for the open source community to lead the way...

December

  • Integration updates: Dec 27, Dec 17 Win32, Dec 4
  • About a month later, on December 9th, PrimeSense, the manufacturer of the PrimeSensor camera reference design used by Microsoft to create the Kinect (the Kinect also has LED and motor control), acknowledging the interest and achievements of the open source community, decided to open source its own driver and framework API, and to release binaries for their NITE skeletal tracking module and other applications. PrimeSense also put forward the OpenNI initiative for a non for profit organization to help foster compatibility and interoperability of future development efforts related to natural interactions devices. Read this interview with PrimeSense co-founder and this thread for related discussions.OpenKinect and OpenNI are distinct projects and may benefit from each other. Libfreenect aims to provide a simple, straightforward C interface to the Kinect, while Sensor is a heavyweight driver attempting to implement all features of the PrimeSense reference design and plug into OpenNI, a complex C++ framework. However, we'll probably see some places where they complement each other. Specifically, libfreenect might end up taking advantage of the Windows kernel driver portion of Sensor, and/or OpenNI might gain a libfreenect backend. There are also differences in the licensing scheme for OpenKinect (Apache2.0/GPL2.0), the OpenNI driver/framework (LGPLv3+) and the NITE solutions for skeletal tracking and other modules (binaries only, no source). See respective licenses and this thread for further information...
  • On December the 17th, it was decided to implement libfreenect on the win32 platform through the use of libusbemu, a libusb 1.0 emulator (or wrapper) for libusb-win32. Read more about this here.

2011

January

  • Integration updates: Jan 24 Win32, Jan 23, 31, Jan 6
  • After working for a month on the unstable branch of the project, the master and unstable branch were synced on January 6, as explained here.

February

  • Integration updates: Feb 17, Feb 15, Feb 14, Feb 11
  • On February the 11th, support for multiple languages(translations) was added to the OpenKinect wiki as explained here.
  • On February the 15th, support for multiple resolutions was added to the unstable branch and the 1280x1024 RGB and IR mode was enabled as explained here.

March

  • Integration updates: Mar 16 March 25
  • On March 7, a standalone proof-of-concept driver for the Kinect audio core was released. At this stage it is not yet integrated into the project source tree. See this thread and this section of the Protocol Documentation for more information. See also these earlier discussions for some background.