This is a part 2 of a series of articles I have just started to write. I spoke about Think Clients (SPA) and CMS and what sort of problems do we have.
World Wide Web had a boost back in 2000s and then more recently there has been a huge surge on web frameworks and more importantly the kind of a user experience we have to deliver to our consumers. The web is no longer a way we push some static content; it’s more about telling a compelling story, making people come to you and buy stuff. MyVessyl is one of the cool things that many of us would like to buy, and why we would want to buy is going to me some of because of it’s utility in daily life, but more so how this has been marketed to us. As you watch the site, it’s just so cool how it looks (watch the Video with sound on).
Let’s start decomposing the home page down:
- Rich content including Videos, Images, Animated Graphics and of course text
- There are parallax affects on the web site, making it a very rich user experience
- There are Call To Action (CTA) on the changing the behavior of the site on the page itself and some take you away
- Dynamic Capability like “placing order” and “My Account”
If this was a typical project we would start by ideating on the concept, which then gets passed along to the creative team to wireframe it up and apply designs, and then it reaches the implementation team where it the developers pick it up to convert it to code into whatever technology stack that has been picked up and it all end up with everyone then trying to bridge the gap and make it all come together. This process is just so complex and it has literally no collaboration until we hit the last step when we need to get things up and running.
This was not a very big problem a few years back when we had people who were T-Shaped, but this skill development has changed dramatically to a point when we have started to have Specialists in jobs. The job profiles and need to have specialists has landed us into this situation where at some point we thought it would help us improve productivity, but we find ourselves at a problem that handshakes and getting things work holistically is causing us more time than it did in past. Well who knew this would happen – side effects of evolution I guess.
Here is our Square Peg
In my last post around Thick Client and CMS, the way we are moving is to make our web client ‘Think’ and most common rationale I have heard is that we want to solve the handshake problem. It is true that if we allow a site developer to work amongst their tools they will be more productive and our backend engineers will be more productive doing what they do best (java, .net, php, or whatever). So the middle ground I hear we can achieve is to make our engineers expose content as a service and then let the front-end developer consume and showcase the data. If you are interested in seeing such an implementation, you can hop over to SapientNitro’s newly launched site. SapientNitro’s site is a good example of using similar technologies and making a SPA in middle of a Content Managed System and my delight Adobe’s AEM.
Going back, the most common argument I am hearing in space today is that we have to go to SP applications because it helps us solve the developer productivity problem, which I don’t understand.
Here is our Round Hole
How I see this – SPA does not seems like a logical next step in this evolutionary cycle. It looks like the easiest way to get there which will lead to several other problems in a CMS world. SapientNitro was redesigned to give our viewers a phenomenal experience – it had to be what SapientNitro stands for and hence mobile first design and for that matter every design decision made was to meet that experience. The technology and architectural choices from there on was just to enable the experience. Now that to me makes sense.
Back to the dilemma – I was not sure if SPA was the way to go because it helped us solve a developer handshake problem, and no I am confident that this is not a good way. We will simply be trying to push a wrong solution for a problem.
Next to come – How do we solve this in AEM