It’s the height of summer, you were up at 5:30 in the morning, bags packed and the car’s now loaded. Today is the start of the family holiday and you have a lovely 3 hour drive down south to Bournemouth. With the kids safely in the back and the satnav primed you head off. Oh what a glorious day this is going to be!
No sooner as you depart you hear the dreaded words. “Daaaaaaad… are we there yet?” As this is the first time in asking, and it really is such a lovely sunny day, you politely reply back, “No not yet, it will be a while yet”. 5 minutes later “Are we nearly there yet?”…… I’m going to skip 3 hours ahead because you know how this goes. You’re frustrated and tired from the constant hammering of questions, you’re probably wondering if you can get away with leaving the kids at the next service station. The kids have had enough, they’ve been without WiFi for far too long and it’s taking it’s toll…rather than find a way to amuse themselves like we had to as children, all they did was constantly wonder ARE WE THERE YET and are annoyed at getting the same answer.. NO GOD DAMN IT NOOO!!!!
The thing is, web based software can be like that family car journey to Bournemouth and the chances are you have experienced it as such. What I mean by this is there is typically a disconnect between what your are seeing on the webpage and the database in the background (the webpage being the noisy kids in this analogy)
I don’t know about you but for me I’m always on edge when making a purchase online through a website if I am not getting instant and constant feedback on whats happening. There are various ways a webpage can get this feedback, some of my “favourites” that have had me close to the brink are as follows…
- The Lockup – This is where you click submit, look away, take a sip of your brew, gaze back at your screen to find it in a half loaded up state. Clicking on stuff will wake it up right? WRONG! The site is too busy saying ARE WE THERE YET? to the back-end code leprechaun that handles making your purchase. This means there is no resource left to handle anything else that you might want to do on the site.
- The Flicker – The situation here is very similar to the above but instead of a lockup you will experience a teasing flicker. You know how it is, you get closer.. and closer… to.. that.. button.. you… want…. to…. click…… annnnnnd…… the blasted page refreshed again, doh!
- Pop off to the Shops – This is the best one of all, you click purchase and nothing… the world falls silent… oh look tumble weed! Did it succeed? or fail? Should I purchase it again? Probably not I don’t want to double purchase. I don’t know what to do :S. Quick refresh, refresh, REFRESH! Oh thank goodness the page has refreshed and worked out the transaction was a success.
You might have guessed by now that there was a hint of sarcasm in the above. In the examples given you only know that the webpage is doing something or your transaction was a success when the webpage on your browser is asking the question “are we there yet?”.
So whats the problem here? Well, you have just had a really bad user experience that left a sour taste in your mouth. You have probably lost confidence in the website you were using. You have also lost time, because you could have been doing something else while stuff was being worked out by the back-end. The website probably felt pretty static to you, like its not alive as it wasn’t really responding to events that are happening around it. From a technical point of view this whole process is just a drain on resources and its terribly inefficient for both the front and back-end services.
There must be a better and more efficient way of communicating this information i hear you cry! There is…
When building Sentle we integrated a product called Pusher into our back-end services. In a nutshell the product allows us to fire off notifications from the back-end service that the webpage you are currently viewing is listening for. Once the message has been received, the webpage can react to the situation that has just occurred as if by magic! So instead of asking me, being the parent or the back-end service hundreds of times if we are there yet, I’ll just tell you once when we finally get there. Efficient huh!
Where it gets really cool is when you have multiple devices all viewing the same webpage. Lets say your mobile phone, tablet and laptop are all viewing the same page. From one notification we can tell all those devices whats going on at the same time. If you had the devices side by side you would see them all react. So in that scenario lets just say I’ve told my triplets we are there! (i don’t have triplets BTW)
Having this capability really does allow Sentle to create a great user experience while using the CRM. We are able to give your browsing device constant feedback that you’ll be interested in. Like, for example when you receive a text message. Our backend services will detect the incoming text and tell your browsing devices that you have just received a message and from whom. You didn’t have to sit there constantly refreshing to see if you are getting text message, your device is simply reacting.
The incoming text message just magically appeared in the top right of the screen.
By way of another example let’s say you received a text and you and a colleague go to reply at the same time. As your a little slow to reply your colleague beats you to it, but you realise this because your screen is indicating that your colleague is typing. That subtle notification that went out just stopped you from sending out 2 messages to the same contact.
That is a perfect example of a good user experience and Sentle is full of little gems like this. It gives you the impression that the system is alive and it constantly giving you feedback on whats happening. That is exactly what we aim for, and one of the factors that help us achieve this is by telling the browser that we have now arrived!