Infosys experts share their views on how digital is significantly impacting enterprises and consumers by redefining experiences, simplifying processes and pushing collaborative innovation to new levels

« February 2017 | Main | April 2017 »

March 28, 2017

Infosys Digital Breaks Out At Adobe Summit

 

Hello Infosys, fresh from my return from the 2017 Adobe Summit, which took place last week in Las Vegas, Nevada.  This year's Summit was a true breakout for Infosys because as a Platinum Sponsor we launched Infosys Digital to the 12,000+ digital marketing professional attendees. Other sponsors and speakers included our usual cast of competitors and partners like Accenture, RazorFish/Sapient, Deloitte, IBM, Microsoft, MRM, Merkle, Cognizant, TCS and others. 

But I repeat, this was a breakout Summit for us at Infosys.  Our new signage and messaging announcing Infosys Digital was the first thing that caused an immediate buzz.  Our discussions and presentations about evolving from a traditional SI that focuses on Systems Of Record to a Digital Partner that also provides Systems Of Engagement was hailed as truly unique and relevant to clients, analysts and partners.  And further, our tight approach to our Adobe Partnership, our Adobe Solutions, and our proven Adobe implementation expertise in Digital and Marketing Transformation were seen as truly best of breed among even our toughest competitors in the space.

One new Infosys Solution that garnered a lot of attention, and subsequent leads, is our new Infosys User Generated Services (UGS) offering.  In short, UGS paves the way for real-time, predictive product and service customization and selling through a superior customer experience across a much more mature and reactive customer data journey.  A common reaction from prospective clients was simply, "we need some of THAT!"  We'll of course be providing more detailed UGS materials in the coming weeks.

For our Infosys Speaker Session I was joined by one of our GSK clients to speak about our End-to-End capabilities with Adobe across what Infosys calls the continuum of Data- Logic- Experience.  The audience reaction was overwhelming, in fact many said that our continuum expressed the Adobe Value Proposition and our Infosys thought leadership and differentiation better than any other sponsor, including even Adobe themselves. 

In the coming weeks look for more exciting announcements and opportunities for our clients, including announcements on our Adobe practice, on a new and exclusive Infosys integration solution that links MicroSoft Dynamics to Adobe Campaign, and of course on Infosys Digital Factory and UGS.

Contact:

Henry Johnston is the VP, Group Practice Lead for Infosys Digital (DX) Sales and Go To Market.  He is based in the One World Trade Center office in New York City and can be reached at Henry.johnston@infosys.digital

March 27, 2017

Defining an effective JavaScript build system using cutting edge tools

Introduction

As front JavaScript developer, there are several tasks that need to be repeatedly completed within a project. Few of them are transpiling, linting, concatenation, minification of scripts, pre -processing CSS, optimizing images, running unit tests and moving files. If all these tasks are done manually then it leads to a tedious complex project.

Defining a JavaScript build system can reduce the effort spend on these type of tasks. Eventually, results in team focus only on development of functionality. Plenty of JavaScript build tools available in market, they are classified in-to two types, task runners and module bundlers. An effective build system for JavaScript applications can be defined by both task runner and module bundler.

Grunt, Gulp and npm scripts are mostly used task runners and browserify, brunch and webpack are mostly used as module bundlers. Task runners are good tools for specific task such as transpiling, linting, etc. However, for splice various files together and produce single bundle file module bundlers are required.

In below sections discussing on how Grunt, Gulp and npm scripts task runner and webpack module bundler can be configured and used as an effective JavaScript build system. Also we are comparing them with npm download trends.          

Grunt

Grunt was created by Ben Alman in 2012. Grunt is a JavaScript task runner, used to perform linting, unit testing, concatenation, minification, etc as part of build. Grunt depends on node.js runtime and npm (node package manager) to define and run different tasks.

Grunt is highly configurable. All grunt tasks have a set of configuration options therefore user can set those accordingly to meet their specific needs. Also, they provide ability to define custom tasks and combine multiple tasks to a single task. Grunt has more than five thousand predefined plugins available.

In typical grunt task files are read, modify and write to temp location and same repeat for other tasks as well. The final task will write file to the destination location.

Gulp

Gulp is a JavaScript base task runner by Fractal innovations. Gulp is a fast and intuitive streaming build tool built on Node.js. Gulp uses code over configuration approach to define tasks.

Gulp makes more efficient way for continuous integration, testing and development. It helps in creating production build with minify, concatenation, vendor prefixes, less to CCS compilation, injecting files in to HTML, unit testing, code analysis. Gulp with tasks for code quality, tests and build pipeline results in improve quality, fast delivery in repeatable and consistent manner.

Gulp has four simple API's gulp.task, gulp.src, gulp.dest and gulp.watch. In gulp, output files are piped between tasks. Gulp uses streams. So files are stored in memory streams, modification of files by the tasks are performed on same streams. Elimination of temporary file writing results in less disk operation and makes the gulp faster.

 

npm scripts

Node provides an another approach to implement build with npm and package.json. It gives you the best option over other task runners such as grunt and gulp. npm is part of node system. Hence no additional tools or plugins are required. npm scripts can be used for linting, compilation, clean destination, less to CSS, bundling and minifying tasks. Pre and Post hooks scripts for npm scripts are available, which can be configured to run before or after the npm scripts. Also, npm scripts can be run on concurrent or parallel manner.

Webpack

Webpack is a module bundler. It uses modular systems to bundle files in right order.It provides a unique way to combine js, css, image, fonts in to one bundle.js file. Only constraint with webpack is internally project should use any one of the modular systems (AMD, CommonJs or ES6). Also, webpack works well with npm scripts for tasks.

Webpack can keep both development and production configuration as separate files as Webpack.config.dev.js and webpack.config.prod.js. Important aspect of webpack is it extensively uses loaders. Custom tasks could be written with loaders. Loaders like babel-loader for es6 to es5 transpilation, jshint-loader for linting JavaScript code, css- loader for loading styles, sass-loader and less-loader for preprocessor to css can be used in webpack by configuring them on webpack.config file.

Webpack can be think as specialized task runner, which can do all the tasks that task runners can do (transpilation, concatenation and minification). Additionally, it will give a feature of combine your CSS to java scripts and same can be done with html, images and fonts.

Webpack is getting popular among the javascript build tools, below npm downloads and github statistics data from http://www.npmtrends.com/grunt-vs-gulp-vs-webpack will give how webpack is getting momentum compare with other build tools

Conclusion

Task runner such as grunt and gulp are great tools. They perform multiple specific tasks in cross-platform manner. When required to build all your client assets (JavaScript, css, html, images and fonts) in-to single JavaScript file(bundle.js) task runners cannot do this alone therefore it requires bundler. Bundlers such as browserify, Brunch or webpack can be used for bundling client assets in to single file. Webpack and npm scripts could be used as an effective JavaScript build system.

References

 

https://gruntjs.com/

http://gulpjs.com/

https://docs.npmjs.com/misc/scripts

https://webpack.js.org/

https://en.wikipedia.org/wiki/

http://www.npmtrends.com/grunt-vs-gulp-vs-webpack


March 22, 2017

How and where Salesforce trumps Competition - II

As promised, I am back with a more detailed point of view on things to consider while choosing your CRM on Cloud Solution. If you missed the first part, please do read here before delving into the below.

Matured Partner Eco System

The openness about the Force.com platform enables any developer or third party vendor to create an App for themselves which could serve as the perfect foil to Salesforce by enabling Clients to tap into them to service their specific requirements. With over 4 million installations on the App Exchange platform, this is one area where Salesforce Customers would always know that there is a solution to any burning problems or domain specific requirements that they have. Compared to this, the partner eco system offered by other Cloud products are quite robust and needs a lot of improvement to tap into utilizing the expertise offered by external vendors and developer communities. They could start with by first enabling greater access to developers on their Cloud application and secondly by opening up the application more for others to tap into and build their own custom apps that can be used to service specific Customer requirements.

 

Mobile

Salesforce1 mobile app is the answer to the mobile capabilities on Salesforce and this app is quite matured and is openly available to any Customers who has Salesforce license. There are also specific apps available for Admins (SalesforceA) or for specific modules like the Field Service Lightning mobile app. While other CRM on Cloud apps are available in the market, it would take some time to come up with something similar to Salesforce1 which is a one stop solution to all of my mobility requirements.

 

 

Vibrant User Community

Salesforce Partner Community is one of the most vibrant places where you can see collaboration at multiple levels, be it among the Salesforce group, with the partners, or with the Customers. You can catch up on all the events that are lined up in the quarter, find discussion points and solutions to a lot of issues that Users run into and engage with others to get a pulse of the happenings in CRM Cloud market. While other Product companies have their own community forums, here again the drawback is the multiplicity where each Cloud has its own specific and focused User groups leading to lack of cohesiveness as a combined CRM Cloud community. One reason can be attributed to the fact that the acquired Products like RightNow (Oracle Service Cloud) already has a community running and it would have been difficult to move them into another platform specific to Oracle, and so they continue at cx.rightnow.com.

 

Open Platform and easier learnability

The thing I liked the best and so reserved for the last is the fact that I can simply login to Salesforce and sign up for a Salesforce developer instance which is instantly made available to me to play around and understand the application. How cool is that! And if I compare that to the pains that we had to go through to get a demo Oracle Cloud instance and keep it running, the difference is palpable. I still hear a friend cribbing about how he had applied for access to Oracle Sales Cloud and after a year he keeps getting the email informing him that it will happen soon.

Salesforce trailhead is an innovative platform where you can log in and do self-learning in ways that is fun and quirky. Here you would run into trails on anything and everything you would want to know about Salesforce and if that doesn't satisfy you, there is always Salesforce Help to satisfy your appetite for learning Salesforce.


How and where Salesforce trumps Competition

Now that I am all caught up in the arguments for and against Salesforce compared to other CRM on Cloud offerings in the market, I decided to pen down my take on the same, albeit with a bias towards Salesforce. A neutral view on this topic is too much to ask for given that all the Product stacks has their own pluses on specific areas and so it really boils down to what exactly the Customer wants to achieve in their line of business. My intent behind this blog is to wear the critic hat and try to identify where it is that Competition lacks in when it comes to Enterprise level transformation programs from On Premise to Cloud.

Salesforce has always had the early mover advantage in the space of CRM on Cloud ever since they started off 18 years back. Their offerings of Marketing, Sales, CPQ, Service, Community, Commerce, App, IoT Clouds are all built on the Force.com platform powered by their own patented Cloud APEX Language. In comparison the offerings from others on these are a combination of in-house and acquired products which offer solutions in silos on varied platforms. These disparate systems has to come together as one single application if big enterprises are looking to replace their legacy on premise applications in Siebel CRM or likewise.

 

The factual points that I have considered below may not be the comprehensive analysis and for sure the CRM Cloud experts would have a varied opinion, but it definitely tries to hit the nail where it matters

 

Omni Application

As a Customer, if I am looking to move to Cloud from my On Premise application, I would not be much enthused to hear that it can be achieved via a multitude of Cloud applications and rather I would want to hear how a single application can cater to all my needs on Marketing, Sales, Service, Portal etc. In cases where there are multiple Product stacks that are required as a replacement, there would definitely be concerns on data integrity, data security, user experience, user training, integration cost and in house expertise to manage them. Salesforce provides a much more robust Omni application solution for the Customer to look forward to without the concerns that has been raised above.

 

Decisive Roadmap

Salesforce has over the years tried to reinvent itself (Most Innovative Company - Forbes), like over the last year it has been in the form of Salesforce Lightning across all the Clouds and this year the focus is on Salesforce AI Platform Einstein (Einstein and IBM Watson to collaborate). Where the competition lags is the incoherence in the roadmaps for their Cloud applications which lacks Clarity and questions galore on the focus. For example, if I take a look at the Oracle CX space, the recently released R12 version of Oracle Sales Cloud (Engagement Cloud) directly eats into the Oracle Service Cloud space by introducing Service features in Engagement Cloud and in the next further releases plans to bring in Knowledge and Field Service capabilities as well. Is that an indicator to sun setting of Oracle Service Cloud and trying to build a single Oracle CX Cloud application to challenge other CRM on Cloud offerings head on?

 

User Interface

Salesforce has got an easy to use interface which is browser based and supported on all the popular bowsers in the market and Salesforce Lightning Experience helps in providing the unified UI experience which takes it a notch higher up in comparison to other Products. The pages are configurable via the Page layouts and S-controls which are easily available. You could also create a wholly customized UI to suit your needs on VisualForce framework which can be hosted natively on Force.com platform. Comparatively the UI offerings across other CRM Cloud stacks is a mix and match of Alta UI framework and DotNet based UI with limited options available to customize them. The User experience in cases where multiple Cloud applications are in picture would not be uniform although there can be arguments in favor of the same User not being required to access a Sales and Service application.

 

More details on the considerations for Salesforce as your 'CRM on Cloud' solution is available in the next part of this series here