Archive for the ‘Innovations’ Category

The Rise of Android TV

While there has been much discussion about Apple TV and its impact on the home entertainment market, Google has been quietly building a digital eco-system that already has game-changing potential. Building upon the success of the Android operating system, Google has developed a Smart TV platform that succeeds where others have failed in the past. Android TV goes beyond the basics of streaming movies and videos. It is a robust multi-media platform, that seamlessly integrates with mobile and other connected devices to create an interactive television experience. Here’s what makes Android TV different than the Smart TV platforms of the past.

A Usable Interface

The first thing you’ll notice about the Android TV OS is how quickly the interface responds. Clicking the home button on the remote immediately loads the available applications. There’s no more waiting for your TV to connect to the network or getting a cup of coffee while Netflix decides to load. The interface provides instantaneous feedback and allows you to quickly navigate the available content. Additionally, the interface features a voice-activated search that displays results from multiple categories.

Android TV UI
Read the rest of this post »

Hear that? A big boom from the Internet of Things

Internet of Things ImageExpect spending on the “Internet of Things” to soar over the next three years, with the majority of that spending to occur in Asia and the Pacific.

That is the forecast from market researcher International Data Corp., which has announced the findings of its most recent Internet of Things Spending Guide. By 2019, IDC says, IoT outlay will approach $1.3 trillion, up about 17 percent from $699 billion in 2015.

Asia/Pacific will grab the largest volume of that growth because of the region’s need to keep pace with IT development in North America and Europe, IDC says. For the same reason, Latin America and Eastern Europe are also likely to make large leaps forward – larger than even the United States.

At present, manufacturing and transportation are where IoT has made its primary industry gains, such as with connected vehicles – a broad category that includes emergency, security, and vehicle-to-vehicle and vehicle-to-infrastructure applications. But IDC’s forecast predicts a major shift toward consumer services, particularly in areas related to insurance, healthcare, and “smart” buildings that measure and monitor usage patterns.

The Internet of Things refers to the network of physical objects with embedded electronics, software, sensors, and network connectivity so that the objects can collect and exchange data. IDC’s semiannual guide examines how IoT spending occurs across more than 40 use cases including automated public transit, remote health monitoring, digital signage, connected vehicles, smart appliances, and air traffic monitoring, among others.

Platform ambassador: The new title in media management

Platform ambassador graphic

Take a guess: How many virtual communities exist online, right now?

The answer is complex. If you count only those sites with 100 million members or more, the list is about a dozen names long. If you count those considered “major” and “active” at the same time, the list has about 400 members.

But if you try counting every community, right down to the tiny sites serving only a few devotees or the sites with barely any attention paid to them, expect to spend days, maybe even weeks just counting.

Now, apparently, major media companies are assigning someone to do exactly that. The latest trend in media administration incorporates a role called “platform ambassador,” or something similar. Simply put, these ambassadors determine which new or existing social platforms are worth bringing aboard as partners.

Their choices are crucial: Media outlets realize (or most do, anyway) that they need to go where potential audiences are, instead of expecting audiences to come find them – an expectation the oldest outlets embraced for 80 years. For example, Facebook and Twitter together garner 1.8 billion users among their active accounts, and of those users more than half get their news directly through the two platforms instead of through traditional media outlets. Read the rest of this post »

89,000 employees and “one curious culture”

I was really intrigued when I heard Eric Quint introduce the scale and scope of his job on a Web Conversation by to an audience from 40 countries. We were there to hear the 3M Company’s Chief Design Officer talk about change management. For those who are not familiar with 3M, their products are found in our offices and homes: Post-it notes, Scotch tapes and Filtrete home air filters to name just a few. The #73 firm in the FT Global 500 (June ’15) has 89,000 employees, 5 business groups, 27 divisions, 46 technologies and “one curious culture” according to Quint.

Quint’s job is vast – building and managing 3M’s global multi-disciplinary design teams in innovation and branding. His background before 3M included leading and managing award-winning teams. So when Quint joined 3M in April 2013 he came prepared and ready to introduce change into a giant corporation with design pedigree, highly recognized brands and a culture of successful innovation through design. The heart of his talk was on just that – being a “catalyst of change” in a well-established organization.

The first steps to changing a design culture – “define a direction”

To get started, Quint’s first initiative was to clearly define a direction. Because he came in “with a fresh view” he started making introductions with top executives across the five business groupCuriouss (“BGs”). He learned what he could about the company and culture to create synergy with colleagues as the new head of design. It also demonstrated he had good intent and it started the process of working together with the heads of the five BGs.  Read the rest of this post »

CX and software – consumers lead the experience (part 2)

Part 1 see: “Is software eating the world? Or, is it really customers?”

Software eating our world

In the earlier post I mentioned that more companies are focusing on the opportunities software offers to create customer value through the customer experience (CX). This rising development is a result of the rise in popularity of software, and it is spawning the age of the consumer − consumers are now leading the experience they want to have (i.e., Porter’s Five Forces Analysis, buyer power). I give credit for a chunk of this leverage to software sites such as Twitter, Yelp, Kudzu, TripAdvisor and the like for enabling consumers to socialize their experiences rapidly and easily, and providing leverage to the individual buyer. In our hyper-competitive markets this is putting pressure on companies to look across all customer touch points and evaluate how they measure up, not just looking at their customer satisfaction ratings (the good minus the bad ones) but on the total customer experience and the reasons WHY.

This era of transparency and perfect information is not all bad for businesses. It’s offering them an unprecedented opportunity to learn what attracts customers in the first place and how to satisfy them in the long term, and even retain them for life (i.e., lifetime value of a customer). But where do we start? Read the rest of this post »

Interesting Insights from HOW Design Conference 2015


The HOW Design Conference in Chicago this year really had me thinking about how I approach my daily work and even some aspects of my personal life. The talks were overall very informative, and also quite inspiring! Our group had a great time in Chicago. During our free time, we walked around town and took in a few sights and the beautiful architecture.

Here are five design focused ideas that I’m going to try over the next few weeks and beyond:

  1. Focus on Innovation. During the 1950s, 60s and 70s, the focus for designers was to make something look good. In the 80s, 90s and 00s, the focus shifted to the person, and it became all about the customer. Designers started to understand people and do research; it was a different approach. Now we need to put an emphasis on knowledge. We need people who know things; the knowledge we have as designers is more valuable than ever before. We need to keep learning, and sharing our knowledge with each other.

    “Innovation is found in the extremes. Defy designing for the average. Averages are useless.” – Dan Formosa

  2. Apply design thinking to solve social issues. What can you do as a designer to help others who are less fortunate or in need? One way is to design something that improves or helps someone else. People in impoverished areas in Brazil can now access TVs because flat screens are becoming less expensive and more accessible. They are able to discover things about the world, which may have never been possible before. They see how others live and work, and its inspiring them to want to do the same as well as learning about other cultures!

    How to save the world with design: “Do a little something here or there that helps improve someone’s life.” – Michael Bierut

  3. Always be making things and follow that instinct to move forward. Connect with people, even just one person, to collaborate with on your ideas. Carve out time for side projects on the weekends and free time to allow your creativity to run wild. Be yourself, be who you are in your personal AND professional life.

    “Say yes to the ideas in your head, free fall in to the unknown and create your own parachute.” – Ted Vadakan & Angie Myung

  4. Think huge but work small. Envision the bigger picture, but take smaller steps to achieve it. These smaller steps will be easier to tackle than getting bogged down with all the overarching details. Aim to be 10 times higher, and work to improve your process everyday and you will grow!

    “Exceeding expectations is a minimum requirement.” – Dan Formosa, Ph.D.

  5. Put people first. Cultivate relationships and build confidence in others. Leadership is a journey that requires a friend. If you’re struggling, help someone else. Give attention and care to others.

    “Leadership is like exercise… Do it everyday, the results take time but you will see them. It’s the little things.” – Simon Sinek

I enjoyed hearing all the different talks about design and the some of the keynote speakers were also very compelling! A few of my favorite keynote speakers were Simon Sinek, Dr. Brené Brown, and Michael Bierut. Simon Sinek focuses on harnessing leadership in others. He has a great TED Talk out on the web called How Great Leaders Inspire Action. Dr. Brené Brown aims to help others look internally to find their creative spirit and learn about themselves. She concentrates on humanity, communication and culture. Her TED Talk is called The Power of Vulnerability. Michael Bierut is a partner with Pentagram and has worked on some great design projects. He runs a podcast called The Design Observer.

If you ever get the chance to go to HOW Design Conference for design inspiration and growth, I recommend it! Have you been to any great conferences or training workshops lately?

6 Ways to Overcome Programming Roadblocks

shutterstock_61202323Programmers, whether novice or professional, encounter roadblocks and issues every day while working with code. This can lead to unnecessary frustration, hamper productivity, and pose a threat to reaching the product deadline.

The following are a few measures that I, as a front-end developer, have developed to overcome roadblocks while working in fast-paced environments with stringent deadlines:

1. I am setting up my developer workspace. It is working for him but not for me.
Setting up a workspace can be one of the most tedious or scary tasks a developer encounters when he or she starts working on a new project. Set aside ample time for this, and do not be scared by the heavy stack of technical documentation. Follow each step meticulously, and make sure you have all the pre-requisites setup. Do not hesitate to take the help of a peer or your team lead if you come across a issue – be it simple or complex. Ultimately, having a proper workspace is the foundation for all the great work you are about to do on the new project.

2. My code is not working or it’s throwing up an error.
We encounter this issue almost every day. We would have gone through the requirement, analyzed the dependencies, made sure the functionality is there, and still the code does not work. Rather than simply blaming the code for throwing up an error, it is best to investigate why it is doing so. Check the browser console, error logs, stack trace. Often it could just be a spelling mistake or a syntax error causing the issue. Have a peer or your lead look over the codebase. A second eye helps in most instances. Do not lose hope, get frustrated, and start cursing your job or the client.

3. My jQuery on click function is not working.
As a front-end developer, you would be dealing with a lot of jQuery, and this issue is something we come across quite often. The blame is blandly put on jQuery or the browser itself. Rather, make use of breakpoints in the JavaScript console of your browser. Check if the code has been rendered on the page and if there are any errors in the console. Put appropriate the breakpoint and examine each step. A div id might be missing, could be a syntax error or even a missing semicolon. Breakpoints are your friend when it comes to javascript errors. Make use of them.

4. Clear browser cache.
We know this, but don’t do this. You have made change to a CSS file, and it is not reflecting on the browser. Always remember to clear your browser cache (It’s easy: Just press cmd+shift+del on your browser, check cached images and files and click Clear browsing data) for any new changes to be seen on the browser.

5. Know how to Google for error.
So you have checked the console logs, made sure there is no syntax error, cleared browser cache and still something doesn’t work – end of the world! Not really, as long as there is the Internet to help us out. Someone would have encountered this already and might have put a solution or the issue could be a well-known one. One important thing is to make sure how to make the best use of Google to help us fix errors. Search for the errors with meaningful phrases, such as ‘jQuery works in console, but not in code’, ‘bootstrap modal dialog function’ rather than simply searching for ‘jQuery is not working’ or ‘modal dialog issue.’ Another helpful measure is to search with the exact error message thrown in the console or error logs and often this might help us find a solution quickly.

6. Take breaks, and do not multitask.
Take adequate short breaks at regular intervals to regain your focus and keep up the concentration. If you have been looking at your computer screen for too long and you encounter an issue, chances are that you would end up stressed out or frustrated and lose focus. Hence, taking breaks is important. Secondly, we all think we can multitask, switch between different windows while drafting an email or checking one. We are actually not multi-tasking here. Rather, we are shifting the focus of our brain to different jobs in short intervals of time. This is bound to make you stressed out after a while and leave you feeling tired. It is best to focus on one job at a time, complete it, and then move on to the next to increase your productivity.

I hope these measures help you mitigate a roadblock when you are working with code every day. What are some of the measures you have been following? Share them below.

The Connected Car Platform Conundrum

I recently completed some proof-of-concept work for a major automotive manufacturer and I have come to the realization that the automotive manufacturer’s approach to the concept of the “Connected Car Platform” is going to run into growing pains as the pace of mobile innovation continues unabated.

One of first issues I ran into was that I did not own any of the client’s vehicles so I could not develop against an actual head unit but instead, had to use a head unit emulator.  Each manufacturer has their own head unit (that is the screen in the dash and all the associated systems that controls the music and any information displayed on the screen) with their own custom software and approach to connectivity.  This requires a mobile developer to work with aconnected_car multitude of manufacturer’s SDKs in order to have their mobile app work with any number of vehicle platforms.  The current state of the world in terms of mobile development for car platforms is very similar to what we found ourselves at a number of years ago when you were trying to decide how to support four or five different mobile platforms (iOS, Android, Microsoft, Blackberry and maybe Symbian).

Either you choose the top two or three, depending on the size of your development staff or looked at an expensive alternative such as Verivo. For the small mobile developer or development team, are you only going to support Ford and GM, leaving out all the other vehicle platforms? That might have worked in the 50s when GM and Ford dominated the automotive landscape, similar to what iOS and Android do in mobile today but not now.  There are initiatives such as the Open Automotive Alliance, however, their goal is to bring Android Auto to vehicles.  That cuts out the iOS platform and for families like mine who are blended (I have an Android phone but the rest of my family has iPhones), that won’t work.  Apple has come out with CarPlay but again, supporting that platform in a vehicle cuts out the Android consumer. Read the rest of this post »

Front End Development: CSS-centric or JS-centric

Recently, I was reading this article which came across my newsletter, outlining what Front end developers need to know for this year and beyond. What struck me was where the author talks about the growing gulf between those who focus on CSS and those who focus on javascript. Isn’t Front end development about both css and javascript? Lets not forget html! But what’s been mentioned is indeed true. Here is how I tend to see this pattern.

I started my career as a web developer and my daily source of bread involved taking a psd asset, slicing and dicing it and creating pixel perfect, browser compatible html and css using cool jQuery plugins to beautify the UI. And that’s where my interest towards javascript began. I got to know the basics, understood the different paradigms, kept track of its progress, introduced to the MV* frameworks, got to know node, the build tools, pre-processors, et al.I would say many of us peers share a similar career path. 

But there is another set of front end developers (or what do I call them) who solely focus on javascript and thanks to css frameworks (bootstrap, foundation, etc), writing css has never been so easy. They need not know the intricate differences between css2 and css3 nor how different browser engines interpret the css box model. They need not even support IE8. They are skilled and adept in the javascript MV* frameworks, node, the different build tools, good enough to create a web application. 

These two different breeds of front end development raises some very interesting questions. How should the former advance his career ? And should the latter fall back to learning basics of creating pixel perfect sites ? Or are there two different sets of Front end developers now ? One solely focusing on creating pixel perfect html, css and js while the other focusses on MV* frameworks. How should the corporations decide on hiring whom they need ? 

I personally feel if you are from either group, it is still important to know the basics of any fundamental technology you are working on, think from a broader perspective and be inclusive. What do you think ? 

Client side Templating and Performance

A lot has been talked about client side view templates hindering the critical path, thus affecting performance. I have made an effort to summarize the need for client side rendering and measures to enhance the performance.

Before we actually jump on to measures, lets revisit how today’s web application ended up being rendered and compiled on the client (browser) using javascript based templates –

Before the advent of nodejs and javascript templates, how did one used to render json data on the browser ? 

Front end developers (FED) used to write prototypes based on html, css, jquery and hand this over to the backend developers. Backend devs take this asset and integrate it with the java code, parsing the json themselves directly in the servlet or jsp. Here, it takes only one call for the page to load and FED can focus on optimizing critical path, gzip the assets, etc thus improving the performance. This really worked well when we had only one or two FEDs for the whole project and a waterfall approach was followed. Designers used to provide the comps, UI developers created pixel perfect prototypes, and no design changes were allowed once the development started.

And then, what happened ?

Coming back to where we are today, as the web evolved, more focus is put on User Experience, and with the introduction of LeanUX, design and development are being done simultaneously. Now, backend developers cannot change the html in the jsp or servlet every time the design changes and becomes frustrating for them and they don’t see the need to do that at all. Enter jQuery and ajax. FEDs can make an ajax call to the RESTful service, parse the json and render it on the presentation layer, i.e jsp. But, this resulted in a convoluted mess of spaghetti code and became hard to maintain as the application grew. 

Same time, javascript became more mature and nodejs was introduced.  With the help of nodejs, enter client side templating – handlebars, mustache, htmlbars, etc. These templates are logic less (no if, else, for loop statements in the html) and provided a clear, neat separation of html and data paving the way for a true MVC architecture on the client. Both front end developers and back end devevelopers are happy as FEDs can focus on neat reusable, DRY html with dynamic data while backend developers can focus on generating the RESTful API service, data binding and need not worry about design changes at all. Because, data parsing is completely done on the browser now. To help with this data parsing and templating for the FEDs, a host of task runners to improve performance, based again on nodejs got introduced – grunt, gulp, etc. So that, FEDs can focus on the html and the task runner can do all the performance optimizations for them. Wonderful, isn’t it ?

So, what is the disadvantage of this client side templating ? 

With client side templating, every ajax call we make, there is an extra http call on the browser, and the template has to parse this data as well as render itself on the browser. Enter performance issues and critical path rendering.  

How to remediate ?

Fallback to nodejs for solutions again. Client side templating is still fairly new and as the web progresses, definitely the focus will be on ways to render the data on the server itself. There is already htmlbars, which is out to do that as mentioned herehere and also here.

Ultimately, the advantage of separating html from the backend code and allowing front end developers to make robust design changes concurrent with the development cycle has proved more advantageous, than the performance issues with the client side templating.