A Conversation About Conversations

David Pitt JavaScript, Keyhole Creations, Mobile, Node.js, React, Technology Snapshot Leave a Comment

We created a platform that supports developing a “conversational” type application through SMS. The user experience between a user and an SMS application can be thought of as a conversation. A user texts a question or topic, and a reply is returned, then another question and reply is performed until a desired result is accomplished.

Now, this is not a universal user experience, but for many use cases it can provide an easy to deliver users functionality quickly and conveniently. There is no need to install or download apps, or pop open a browser and type in a URL; just have a conversation through your texting app.

In this blog: Why conversational applications are handy, examples of conversational applications we have created, and a walkthrough of the application architecture used to develop those SMS applications. Includes how to make texting a richer experience, state, and session handling insights.



Creating a Slack Bot

Brice McIver JavaScript, Node.js, Technology Snapshot Leave a Comment

If you have ever worked on a team project, then you’ve needed some way to communicate with your team. For a very small team with all of its members based in one place, face-to-face communication might be your go-to method of handling project conversations.

However, once your project size progresses past that point, there’s a good chance that you’ll at least evaluate using a collaborative software package to help manage your project. Slack is a popular option for this.

In this blog, I’ll show the basic steps you can take to integrate Slack with your existing tools and workflows. In particular, we will set up Slack for incoming webhooks and event subscriptions, showing how to program a Slack bot to say personalized “Welcome to the channel” and a “Goodbye” messages.

Let’s get started…



Building Applications Using the backbone.khs Framework Extension

John Boardman BackboneJS, JavaScript, Node.js, Technology Snapshot Leave a Comment

Backbone is a very powerful application development framework. However, it can be a little “close to the metal” in terms of how much work is needed to produce a working application with it. I see Backbone as a low level framework that could use some help in making it a bit easier and faster to use.

Keyhole has released an extension to help! The backbone.khs framework extension npm module (available by clicking the link) does its best to minimize the work necessary to get a Backbone application up and running.

The extension makes it easier to deal with:
• browser history
• root level non-Model Object implementation
• caching
• session support
• regions (which break pages up into more workable segments)
• a top-level Application object to manage the application
• modules to help with page and URL routing
• a Backbone View extension to seamlessly integrate Backbone Stickit and make Marionette templates easier
• a Collection View to enhance working with groups of items.

In this blog, I’ll describe these enhancements with some code examples…



Seriate: The Glue Between SQL Server and Node.js

Chris Berry .NET, JavaScript, Node.js, Technology Snapshot 7 Comments

An example Node.js application which connects to a SQL server and serves up data via HTTP endpoints. Before leaving my last client, I was asked if it was possible for Node.js to connect to Microsoft’s SQL Server. The reasoning behind this was that the company wanted to move away from a pure Microsoft stack because of the cost and try …



Node.js

A Gentle Introduction to Node.js

Jinal Patel JavaScript, Node.js, Technology Snapshot Leave a Comment

Recently at work, I sought to familiarize myself with Node.js. Naturally, I started searching the pool of applications in Keyhole’s GitHub repository. This was the first time I was using Node.js and the instructions in the application readme file to run the application locally was thoroughly detailed. However, I ran into some very basic questions trying to run the application …