Sockets are the layer between Syncano’s infrastructure and your application. Easily configure, combine and create to add new functionality.
I absolutely love to cook. The process of taking different ingredients and creating something flavorful, inspiring, and delicious is an amazing journey. Code and cooking, in my mind, are the same at their essence. Whether it’s dinner, or an application, it’s a process of constant creativity and experimentation. You never get it right the first time and, even if you did, you would still try to make it better.
While I can cook, I make a terrible farmer. Let’s face it, there are people doing a much better job at it than I ever could, and at a much more economical scale. I want to be able to take ingredients that have been prepared, make new combinations, and create a final product that only I can. I don’t want to grow my ingredients, I just want to use them from my pantry.
Syncano is the kitchen where I code. And with the latest release, Sockets are my ingredients. I don’t have to start from scratch, I can simply take things off the shelf, mix them together any way I want to, and not have to wait around for the next harvest.
Sounds awesome - what’s a Socket?
Sockets are the layer stacked between Syncano’s infrastructure and core, and your application. Individual Sockets are easily configured, combined, and created. You will be able to instantly add new functionality to your applications exactly the way you want.
Let’s talk a little about the Sockets that are there now.
When I work with Classes and Data Objects, most often I’m building out sophisticated filters to return the proper data my application needs. I’m doing this more often, since displaying the proper data set is the most critical part of most applications. Second to filtering, I’m retrieving additional details from other Classes based on reference fields.
All of this is now covered in Data Views. You can create very specific endpoints with filters preset, and expand referenced fields as well, so you can get details of referenced Classes in one call.
Data Endpoints would be one of my favorite parts of this release. I highly suggest you read about them in more depth in the Data Endpoints documentation.
Script Endpoints point to a specific script in your Syncano Instance, allowing you to call the endpoint as you would any other API endpoint. If you have been using Syncano prior to now, these were formerly called "Webhooks", but after feedback we decided to change that into "Script Endpoint". You can read more about how these work in the Script Endpoints documentation.
A Trigger is exactly what it sounds like - a response to some event. When you add, update, or delete data in a Class, you can trigger a script to run, and the data is passed. This is something that can be used for numerous purposes, like sending an email based on a request, or cleaning up other Classes when something is deleted. There are more details in our Trigger docs, as well.
Similar in concept to the Trigger, the event here is a specific CronTab set up by you. Run a nightly update, an hourly sync process, or every third Thursday at 3 p.m. - totally up to you. Speaking of 3 p.m., we have added the ability to choose a time zone, so your 3 p.m., may be my 5 p.m. Learn more about Schedules here.
Channels are a way of providing real-time communication functionality in Syncano. Users can subscribe to Channels in order to get notifications about changes that happen to Data Objects connected to those Channels. You can continue learning about Channels here.
Sockets are the future of Syncano. Over the upcoming months, we will continue to roll out new features and components, but the concept starts now.
Roll with the Changes
In some older posts and tutorials, you may see references to CodeBoxes. If you logged in today, you wouldn’t have seen those in the left nav. Don’t panic - we just renamed things a bit for the future.
Scripts Run on a CodeBox
You will now see the menu item Scripts. Since you will be writing a script, and not the actual CodeBox, the label has changed a bit. This makes a lot more sense. The CodeBox is the run time, and where the script actually runs. We will handle creating those - you just keep writing scripts. This also makes a path for other features to be built out and run on a CodeBox, like possible server side templates. Keep watching for more here soon.
We are also working hard on updating the Dashboard to look and feel the way you expect it to. There are many little things that help with usability, but - out of everything - my favorite is the new developer experience in the Scripts screen. Big improvement there, and we hope you like it.
Simplicity with Flexibility
To go back to my original metaphor, I try to cook with ingredients that are less processed. I want to know exactly what I’m putting into my food, as much as possible. Sockets do exactly this. Syncano doesn’t force you into one specific set of functionality, but instead gives you the tools to build what you need. Some tools similar to Syncano appear to give you flexibility, but in reality are boxing you into only certain functionality. If you want to send a text message, you should be able to choose when and why that happens, and not be restricted.
It’s been amazing to hear from the Syncano community over the last several weeks. It’s humbling and exciting to know how big of an impact we are having. I am looking forward to hearing about your thoughts on Sockets, the new interface, and anything else you want to talk about in our new Slack community.
Sign up and get an invite. We have several channels to discuss with the team, as well as a #suggestion-box channel to give us direct feedback. I’m looking forward to seeing you there!