Introduction to Spark Terms

If you’re new to Spark, this list of terms can help you get an overall picture of what does what. For each term, the most useful link I know of is provided. But read the whole thing before diving into any links:

Spark Core: The hardware you buy that gets physically delivered to you. It contains a microprocessor that can execute a program. It contains a WiFi module that allows the Core to talk to the Internet via your home WiFi network. http://docs.spark.io/start

Tinker: A sample application you can download from the Play Store to your Android smart phone. Ditto on your iPhone or tablet. From anywhere in the world, you can use Tinker to communicate with your Spark Core (if the Spark Core is currently connected to the Internet). http://docs.spark.io/tinker

Spark Cloud: When your smart phone uses Tinker to communicate with the Spark Core, the communication goes via the Spark Cloud. The Spark Cloud is part of the Internet. It facilitates communication and the remote management of Spark Cores. http://docs.spark.io/api

Spark OS: A general term covering the Spark Core, the Spark Cloud and applications like Tinker. Spark OS is a distributed operating system that is designed for the Internet of Things. https://www.spark.io

Spark IDE (aka Web IDE): A browser based application in which you can develop (code) a program, compile the program, and download (aka flash) it to your Spark Core (if the Spark Core is currently connected to the Internet). http://docs.spark.io/build

Spark Server Module (aka Spark Server): This is a code project that provides a HTTP rest interface that is API compatible with the main Spark Cloud. Ideally any programs you write to run against the Spark Cloud should also work on the Local Cloud. https://github.com/spark/spark-server

Local Cloud: You can run the Spark Server Module on your local server to create a Local Cloud that provides roughly the same functionality as the Spark Cloud.

Spark CLI: This DOS-like “command line interface” allows you to type (or script) commands that communicate with the Spark Cloud and through it communicates with Spark Cores. http://docs.spark.io/cli

SparkJS: Spark’s official Javascript library. SparkJS is a programming library that facilitates communication with a Spark Core from the web, either client-side (in the browser) or server-side (in Node.js) http://docs.spark.io/javascript

Atomiot (aka Spark Tools Web Interface): Written by Kareem Sultan (not a Spark employee) this browser application allows you to query Spark Core variables and execute functions. http://atomiot.com

If I’ve got anything wrong or you can think of a simpler way to put things please tell me so that I can learn and/or extend this introductory post.

3 Likes

This is great - well done!

1 Like

This is so awesome - thank you for putting this together, I’m sure it will be super helpful to new community members!

Wouldn’t something like this be a really nice fit for the support page? Some “official” definitions of certain terms being used, a “Sparktionary” if you will.
We could perhaps try to expand this as much as possible, and then transfer it?

1 Like

I agree. That’s kind of where I hoped this would go. There is a lot of good Spark doco around. But I find it a bit diffuse. An official “map” page of key terms with definitions and links would be great.

@philipq would you mind if we created a support article with this content?

hope you don’t mind but I went ahead and did so, with attribution of course!

http://support.spark.io/hc/en-us/articles/203138854

1 Like

Cool. No problem. Glad you liked it.