## Which API is right for me? ## Within our Developer Tools for PC/Mac, there are multiple methods to connect to our headsets. These methods differ based on the platform(s) you'd like to work with and the language(s) you'd like to code with: === 1. ThinkGear Connector (TGC) === Runs as a background program, allowing your program to get ThinkGear data from a standard TCP/IP socket * **easiest** (The TGC daemon app provides UI for setting up and maintaining the COM port connection to the headset for you) * Platforms: Any platform that can communicate through **sockets** (The TGC daemon program itself must run on a **Windows** or **Mac OSX** system though) * Languages: **Flash**, or any language that can communicate through **sockets** (which includes almost all popular programming languages) [[thinkgear_connector_tgc|Documentation Link]] === 2. ThinkGear Communications Driver (TGCD) for Various Languages === Link a shared library: .dll or .bundle * **moderate** (You have to call functions from the shared library) * Platforms: **Windows**, **Mac OSX**, **Windows Mobile**, or any platform that can use functions from a **.dll** or **.bundle** * Languages: **C/C++**, **C#**, **Java (through JNI)**, or any language that can call shared library functions A J2ME .jar library * **moderate** (You have to call functions from the .jar library, and only for J2ME platforms) * Platforms: **J2ME** * Languages: **Java** === 3. ThinkGear Communications Protocol === Specification Document * **harder** (You have to open and read from the serial I/O port, and then parse the incoming data stream) * Platforms: **Any platform** that can open and read from a serial I/O (or UART) port * Languages: **Any language** that can open and read from a serial I/O port === NeuroSkyLab === Included with the Research Tools Matlab programming * **specialized** (This API allows you to program within the Matlab framework) * Platforms: Any platform that can run **Matlab** * Languages: **Matlab programming language** ====== More Information ====== Remember to look in the Developers Guide in the MDT for more info about your chosen API. If you //still// have a question about which API will be right for you and your application, please describe your envisioned application to us through our [[http://support.neurosky.com|Support Site]] or [[support@neurosky.com|send us an email]].