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.



React NowPlaying Educational Application

Lauren Fournier AngularJS, Company News, JavaScript, Keyhole Creations, React, Single-Page Application, Technology Snapshot Leave a Comment

We at Keyhole have been helping our clients adopt JavaScript-based single-page applications for over five years. We have been impressed with the adoption and advancement of the ever-changing JavaScript ecosystem.

React is a JavaScript technology that our teams enjoy working with. However, React differs from the other frameworks we’ve worked with in a handful of ways.

The best way to learn a new technology is to actually do something with it, as opposed to simply reading about it. So, we created a tangible React learning application to help our team get up-to-speed. The application repository has now been released publicly to help others learn.

Pull down the repo & try out React!



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…



Angular State/Country Directive

John Holland AngularJS, JavaScript, Single-Page Application Leave a Comment

A Lesson In ROI: Scratch vs. Adapt Existing Angular Code

On a recent client project, I needed to develop an Angular front-end for a form that included address information. As part of the address information, there were State and Country fields. I knew I needed to make these select lists, because from a UX perspective, it would be crazy to leave them as regular old text inputs. I knew I wanted to create directives to implement these select lists. I also knew I probably wasn’t the first developer to ever want to do this.

In this blog, I talk about a decision that all developers face every day: how to solve programming problems in the best way with the best use of time. The scenario we’ll talk about shows the use of Angular directives for creating select lists for country and state. In doing so, it provides a good understanding of Angular directives as one possible way they can help make Angular development great.



Converting Enterprise Applications to TypeScript

Clayton Terry JavaScript, Single-Page Application, Technology Snapshot, TypeScript Leave a Comment

We have all been there: some new technology comes out and we know it would improve our maintainability. But we can’t use it. We already picked a technology, it is already implemented, and we can’t change it now. We are stuck.

TypeScript does not work like that. TypeScript is JavaScript, and JavaScript is TypeScript. What this means is any existing files you have are compatible with any new file you add.

So why waste time changing if it’s all the same anyway? TypeScript has some great advantages that JavaScript does not. In this blog I will introduce some of those advantages, as well as some troubleshooting tips for if you run into issues when you choose to convert to TypeScript…