Let’s Talk About WWDC ’21.

Yesterday’s keynote marked the beginning of WWDC21 (Worldwide Developer’s Conference), a week-long extravaganza of news and resources regarding software updates and features headed to Apple devices later this year. While past WWDCs are met with a great deal of cautious optimism and excitement on the cusp of possible hardware announcements and anticipated features, the excitement for this year has felt somewhat muted in the wake of a contentious court case with Epic Games regarding the App Store’s business model, its heavy handed approach toward converting users from third party services to their own services as exemplified between Spotify and Apple Music, and its preferential treatment toward large players such as Amazon and Netflix, in addition to being the second WWDC during the COVID crisis and potentially, the last (or perhaps, second-last) WWDC before Apple reveals what could be their Next Big Thing ™

Let’s Talk about Apple’s Environmental Commitment.

[Author’s note: The following article was written on December 22nd, 2020. Several changes have been made to better reflect new information pertinent to this topic. ~AK]

As sure as the sun rises in the east and sets in the west, Apple has heralded the arrival of a new generation of iPhones and set tongues wagging from pundits and tech journalists alike as they all write articles about… literally the exact same thing as the year before. Be it hot takes about Apple’s inability to innovate or the far-reaching implications that Apple’s commitment to whatever new technology or initiative has on the tech industry writ large, it’s comforting to know that there’s some banal consistency in a world descending into authoritarianism as it stares down the barrel of a climate crisis that’s been building up for centuries.

This looming crisis is at the heart of Apple’s decision regarding the packaging of new iPhones in 2020 and beyond; that the included Lightning Earpods and USB charging brick will be removed from new iPhone SKUs produced this year in a bid to reduce the amount of waste that goes into landfills per year while (finally) moving to USB-C lightning cables from the default USB-A charging cables that have been included with iDevices since the mid-2000s. In theory, it sounds like a commendable action for a company as monolithic and influential as Apple to take and in practice the results clearly speak for themselves:

Pictured above, the size difference from the old packaging (left) and the new packaging (right) of the iPhone Xr (Originally released in 2018)

A Clean(er) Slate.

On the internet, nobody knows you’re a toaster.


Except I’m not a toaster, let alone a ballistic one anymore; I haven’t used that handle online with the exception of my Twitch channel and apart from recycling this gag from my last blog, I’m still only a freelance mobile/web developer in my mid-late twenties with enough time on his hands to start yet another blog talking about stuff I’ve worked on and/or things I find interesting enough to write about. It’s a pitch I’ve made before and one that didn’t pan out on my old website. If this were a few years ago, I’d have wrote up some contrived sob-story about how I had a lot to work on or schoolwork being a time-consuming hassle but the truth is much simpler:

I had absolutely zero interest in updating the website with new content.

Watson Conversation Services on Salesforce: Deploying our Chatbot.

Originally published on September 22nd, 2017.

Now that we’ve gotten Live Agent up and running in our Salesforce organization, it’s time to start working on our chatbot! We’re going to be working off of a sample chatbot that is written using the Node.JS SDK of Watson Conversation services.

IBM Watson: Setup, Chat Window Appearance, and Preparation

Before we start, it’s recommended that you do the following:

  • Sign up for an IBM ID so that we can use Watson Conversation services to build our chatbot and deploy it on Bluemix.
    • Enter your email, password, username, and your payment information and log in to Bluemix.net. You won’t be charged for merely entering your payment information.
  • Install NodeJS and the Cloud Foundry command-line tool.
  • Clone or download a zip archive of the Node.JS Watson conversation services demo from IBM Watson’s Github repository.

Watson Conversation Services on Salesforce: Setting up Salesforce Live Agent.

Originally published August 26th, 2017.

Chatbots have become a very exciting area of development with companies like Facebook leveraging the Messenger platform as a place where developers can create bots that answer questions, book appointments, and even interact with payment apps such as Venmo to satisfy the needs of their customers. In this proof of concept, we’ll be focusing on IBM’s Watson conversation service as we create a chatbot designed to handle questions alongside customer service agents using the Salesforce Live Agent chat platform.

This project will be discussed in two separate posts- this post will begin by outlining a typical scenario that articulates the business value proposition of a chatbot and will focus on integrating Salesforce Live Agent into your Visualforce page. The second part will elaborate on how to add a chatbot built using the Watson Conversation service and how to host it on IBM’s Bluemix platform.

Twilio Video in Force.com

Originally published on June 22nd, 2016.

Twilio’s capabilities as a voice calling and messaging platform-as-a service are a perfect fit for Salesforce’s raw power as a CRM and cloud computing solution for businesses. While Twilio Voice and Messaging officially support the Force.com platform through custom libraries, the beta SDK for Twilio Video doesn’t officially support Force.com yet.

That is, unless you decide to do it yourself.

Today, I’m going to show you how to build your own Twilio Video client on a Visualforce page using only the JavaScript SDK of Twilio Video. You will need to use a WebRTC compliant browser, so be sure to use Firefox or Chrome while following along with this guide.