UX vs UI vs IA vs IxD : Explained

Once upon a time, if you said the word “design”, the odds were overwhelmingly likely you were talking about graphic design. But nowadays, the digital world is becoming increasingly more complicated and a lot of new job positions appearing, which lead to confusion for people outside or new to the design industry. Here’s a quick overview on the four different primary forms of design to help you understand what they mean.

UX Design (User Experience Design)

image by: Netizen Experience

As is found on Wikipedia “User experience design (UXD, UED or XD) is the process of enhancing user satisfaction by improving the usability, accessibility, and pleasure provided in the interaction between the user and the product. User experience design encompasses traditional human–computer interaction (HCI) design, and extends it by addressing all aspects of a product or service as perceived by users.

UX designer is the person in charge with creating the products “logic” via wireframes and prototypes via software like Axure, JustInMind, Mockplus etc. Communication is one of the critical skills of the UX designers. They also conduct research, competitive analysis at the beginning as well as usability testing and A/B testing after the project has launched. UX designers are primarily concerned with how the product feels. If your website or app is difficult to use, users will probably be frustrated and move on to something else. If they have a great experience, they’re more likely to come back and tell their friends how great your app is.

Deliverables: Wireframes, Prototypes, Storyboards, Sitemap, Written specifications.

Tools of the trade: Sketch, Axure, Mockplus, Fireworks, UXPin

UI Design (User Interface Design)

image by: julessdesign

Author and founder of Adaptive Path — a user experience consultancy, Jesse James Garrett, defines interface design as being all about selecting the right interface elements — like text, buttons, text fields, color coded lists, etc — for the task the user is trying to accomplish and arranging them on the screen in a way that will be readily understood and easily used. The goal is make the user’s interaction as efficient and simple as possible.

Interface elements include but are not limited to:

Input Controls: buttons, text fields, checkboxes, radio buttons, dropdown lists, list boxes, toggles, date field

Navigational Components: breadcrumb, slider, search field, pagination, slider, tags, icons

Informational Components: tooltips, icons, progress bar, notifications, message boxes, modal windows

Containers: accordion

Tools of the trade: Photoshop, Sketch, Illustrator, Fireworks, InVision

IA (Information Architecture)

imgae by: ga-core.s3.amazonaws.com

Information architecture (IA) involves the way a website/app is structured and how the content is organized. The goal is to help users find information and complete tasks. “In other words, information architecture is the creation of a structure for a website, application, or other project, that allows us to understand where we are as users, and where the information we want is in relation to our position. Information architecture results in the creation of site maps, hierarchies, categorizations, navigation, and metadata. When a content strategist begins separating content and dividing it into categories, she is practicing information architecture. When a designer sketches a top level menu to help users understand where they are on a site, he is also practicing information architecture”- from uxbooth.com

Some qualifications for IA:

1. Experience documenting complex digital properties (websites, mobile apps, products, and system services)

2. Extremely detailed documentation, ability to find discrepancies, cracks, etc. amongst complex site documentation

3. Proficient with Axure, Omnigraffle, Keynote, as well as Visio and any other programs directly related to IA

4. Analyze available information and assets to assess optimal IA approach

Strong communication skills (written and verbal), and an ability to present effectively to agency and client staff

5. Needs to be analytical, hardworking, creative, curious and interested in people and ideas

6. Must be a confident and motivated self starter

IxD (Interaction Design)

Definition of IxD: “Interaction Design (IxD) defines the structure and behavior of interactive systems. Interaction Designers strive to create meaningful relationships between people and the products and services that they use, from computers to mobile devices to appliances and beyond. Our practices are evolving with the world.”- from ixda.org

IxD designer is the people in charge of the websites/apps moving elements & interactions. If you’ve seen a cool animation on a website or app, that made you say wow or that is really cool, that’s the stuff motion designers do.

Job description of IxD designer at Google:

In an Interaction Designer role, you’ll tackle complex tasks and transform them into intuitive, accessible and easy-to-use designs for billions of people around the world-from the first-time user to the sophisticated expert. Achieving this goal requires collaboration with teams of Designers, Researchers, Engineers and Product Managers throughout the design process-from creating user flows and wireframes to building user interface mockups and prototypes. At each stage, you will anticipate what our users need, advocate for them and ensure that the final product surprises and delights them.

So in an oversimplified and user-friendly nutshell, UX Design is how a user feels about the apps, UI Design is what, where and how elements work on the apps, Information Architecture is how a app is organized, and Interaction Design is how the user and app act and react to each other.

Last but not least, the boundaries between each of these various design roles are very fluid. The IxD is quite similar to UX design in it’s approach as it’s part of the UX design cycle, so in some cases these roles may have a lot of overlap.

Ref : https://tristaljing.wordpress.com/2017/09/14/ux-vs-ui-vs-ia-vs-ixd-4-confusing-digital-design-terms-defined/

Product Manager vs. Technical Product Manager

Came across an interesting take between Product Managers and Technical Product Manager and here’s how it goes. A lot of people ask me about how to break into product management. I think that is because product management is a hot career track today. So much so that there are many variations on the role and title.

In fact, right now there are  973 job listings on LinkedIn seeking qualified technical product managers. There are hundreds of job postings for digital product managers and principal product managers and even an upstream product manager. Oh, and another 5,555 listings for the generically-labeled product manager.

OK, so what is the difference between these different job titles? Let’s focus on the product manager and technical product manager since you would think that all product managers would have some technical chops.

You see a lot of articles that advise on whether product managers should invest in learning technical skills. In fact, that is usually one of the most popular threads on PM forums. That might lead you to think that technical product manager is a hybrid product management/engineering role. Not so fast.

Technical product managers bring a deep technical expertise to their role but still focus on the core best practices of product management. If you look closely at those 973 job descriptions, you’ll see that they are not all that different from the role and responsibilities of a regular ol’ product manager.

Both are responsible for:

  • Strategy: Setting a product vision and strategy
  • Ideation: Gather and promote the most relevant ideas into features
  • Roadmapping: Plan and prioritize what (and when) the product teams will deliver
  • Features: Define the “what” with user stories and requirements
  • Go-to-market: Work with cross-functional teams to deliver a complete customer experience

Yes, there are many similarities. And any good product manager will want to stretch and expand their breadth of knowledge into new areas. It is what separates rock-star PMs from their ho-hum counterparts — an insatiable desire to learn and grow.

However, there are often some nuanced differences between a product manager and technical product manager.

Product manager Technical product manager
Degree More likely to have a degree in business More likely to have a degree in computer science or engineering
Focus Often customer-facing and involved in setting the overall product strategy More focused on how the product works and tends to be more capabilities focused
Teams Collaborates with many non-technical teams, including sales, marketing, and support — and works with outside partners and other third-parties Works closely with technical internal teams, including engineering and development, to write user stories and requirements
Research Studies the competitive landscape from a strategic business and go-to-market perspective Evaluates competitors and the market for capability-oriented and emerging development and technology trends

Technical knowledge can help product managers to communicate clearly and effectively with their engineering team. It can also give them insight into new development approaches and technical capabilities that might yield better results for customers.

Many companies will find that they excel with two product management roles — a business-minded PM and a technical PM. And others will determine that it is best to have one person leading product who can answer the “why” and the “what” and who can also engage in the “how.”

It is also worthwhile to point out that each company varies and titles do not always reflect exactly what people do. I have known technical product managers who did not have strong technical skills and product managers who transitioned into their role from software development.

However, regardless of title all product managers need to demonstrate the same “soft” skills necessary for executing on product management best practices — including clear communication, leadership, diplomacy, and compassion.

What do you think are the most important skills for succeeding in product management?


Things I wish Amazon Alexa – echo or Google Assistant did

I’ve been exploring automating my daily tasks with Amazon Echo Dot and Google Assistant and found few drawbacks when it comes down to certain features.

Here’s my top 5 for Assistant :

  • “What’s next on my agenda ?” followed with “Can you update the location ?”
  • “Last missed calls”
  • “Meeting mode” “silence mode”
  • “Open ‘App_Name’ after ‘duration’
  • “How’s the weather for my 3pm meet’

Here’s my top 5 for Alexa – echo dot :

  • Night lamp mode
  • Monitor for unusual sound and give me a ping
  • Call between 2 Alexa devices – VoIP
  • Send audio to chromecast
  • Mobile audio streaming

At Pupa Clic we’ve been playing around with the Echo Dot and developing unique skills. Follow our facebook page to know more.

Google is a Startup

I recently bought the echo dot and connected my Sonoff switches to have my home automated end to end with voice and the internet.

With the launch of voice assistant products such as Alexa, the internet which is usually used for Q&A queries are being channeled to hardware based voice assistant’s. Ad’s which fetch a lot of value from google searches will have a greater impact with regards to the company’s value.

Everyday users are experiencing new features on voice based assistants such as Siri, Alexa and Bixby and no one would want to hear an Ad as a response or from a speaker.

Time will soon tell a tale of awe, but for now I consider Google to be a startup which should look at ways to manage content visibility.

Mr Narayan Murthy’s email to all Infosys employees

  • If you are working more than 9 hour then don’t need to join Infosys.
  • If you are working on saturday and sunday don’t join infosys (for IT).
  • Whatever time define in your task complete within time.

Fire all people who fall in criteria 1,2,3.

It’s half past 8 in the office but the lights are still on… PCs still running, coffee machines still buzzing… And who’s at work? Most of them ??? Take a closer look…

All or most specimens are ?? Something male species of the human race…

Look closer… again all or most of them are bachelors…

And why are they sitting late? Working hard? No way!!! Any guesses??? Let’s ask one of them… Here’s what he says… ‘What’s there 2 do after going home…Here we get to surf, AC, phone, food, coffee that is why I am working late…Importantly no bossssss!!!!!!!!!!!’

This is the scene in most research centers and software companies and other off-shore offices.

Bachelor’s ‘Passing-Time’ during late hours in the office just bcoz they say they’ve nothing else to do… Now what r the consequences…

‘Working’ (for the record only) late hours soon becomes part of the institute or company culture.

With bosses more than eager to provide support to those ‘working’ late in the form of taxi vouchers, food vouchers and of course good feedback, (oh, he’s a hard worker….. goes home only to change..!!). They aren’t helping things too…

To hell with bosses who don’t understand the difference between ‘sitting’ late and ‘working’ late!!!

Very soon, the boss start expecting all employees to put in extra working hours.

So, My dear Bachelor’s let me tell you, life changes when u get married and start having a family… office is no longer a priority, family is… and That’s when the problem starts… b’coz u start having commitments at home too.

For your boss, the earlier ‘hardworking’ guy suddenly seems to become a ‘early leaver’ even if u leave an hour after regular time… after doing the same amount of work.

People leaving on time after doing their tasks for the day are labelled as work-shirkers…

Girls who thankfully always (its changing nowadays… though) leave on time are labelled as ‘not up to it’. All the while, the bachelor’s pat their own backs and carry on ‘working’ not realizing that they’re spoiling the work culture at their own place and never realize that they would have to regret at one point of time.

So what’s the moral of the story??
* Very clear, LEAVE ON TIME!!!
* Never put in extra time ‘ unless really needed ‘
* Don’t stay back unnecessarily and spoil your company work culture which will in turn cause inconvenience to you and your colleagues.

There are hundred other things to do in the evening..

Learn music…..

Learn a foreign language…

Try a sport… TT, cricket………..

Importantly,get a girlfriend or boyfriend, take him/her around town…

* And for heaven’s sake, net cafe rates have dropped to an all-time low (plus, no fire-walls) and try cooking for a change.

Take a tip from the Smirnoff ad: *’Life’s calling, where are you??’*

Please pass on this message to all those colleagues and please do it before leaving time, don’t stay back till midnight to forward this!!!



And Moreover; to all the managers:


Uber’s Pitch Deck from 2008

Recently came by uber’s pitch deck from 2008, and here are some of the pointers to take from the list :

  • Slide 3 : The Medallion system
  • Slide 5 : 1-Click Cab Service
  • Slide 12 : Environmental Benefits
  • Slide 15 : Technology
  • Slide 16 : Demand forecasting
  • Slide 23 : Marketing Ideas

Pitch Deck : Uber Cab Pitch Deck from 2008

The work for hire terms at Segura

Came across an interesting work contract by a Chicago based design firm – Segura

You give me money, I’ll give you creative.
I’ll start when the check clears.
Time is money. More time is more money.
I’ll listen to you. You listen to me.
You tell me what you want, I’ll tell you what you need.
You want me to be on time, I want you to be on time.
What you use is yours, what you don’t is mine.
I can’t give you stuff I don’t own.
I’ll try not to be an ass, you should do the same.
If you want something that’s been done before, use that.

If you want your way, you have to pay.
If you don’t pay, I have final say.

Let’s create something great together.

Terms such as
“If you want something that’s been done before, use that.”
“I can’t give you stuff I don’t own”
makes sense to be used in services firm where encounters with similar context occurs more than once.

Game of thrones Season 7 and the new generation of coders

Times have changed and so has the way of code

Just watched the recent trailer of Game of Thrones (GOT) and on taking a look back from season 1 to what’s to come, I could find similarities on how code has evolved over the years and what eventually would lead to automating itself.


With the rise of code repositories through collaboration and tools which provide conversions of UI to code is now a possibility, it’s only a matter of time where a conceptual functionality can be written through crawling repositories and building code foundations.

Just like the white walkers rise in GOT, the data driven approach will be replaced by a visual execution method.

At Pupa Clic were building integrated solutions for upcoming real world problems and creating a community of people who not engineer but engineers who create. We’re creators of next generation solutions in Web, App and IoT. If your a person who has a vision similar to ours, hit us up at our careers page | www.pupaclic.com

The one trait to be successful at almost anything – Warren Buffett and Bill Gates

Someone recently shared me the video from TheGatesNotes where Bill Gates and Warren Buffett had a short discussion about their past. The following lines moved me and on looking back made me realize it was spot on

If you see somebody with even Reasonable Intelligence and a Terrific Passion for what they do and can influence people around them to march even when those people cant see over the top of the next hill.

Things are gonna happen.

When I first started Pupa Clic we were a team of 4 with skill sets on Web, App and IoT. We recruited our first set enriching them with knowledge gained over years on tech and product development. 5 years have passed and now we possess a task force for tech building CRMS, Products in Cloud and App and expanding verticals with machine learning, process automation and AI.

Were coders disrupting the market in Tech As A Service. #codersDisrupt

Know more : www.pupaclic.com

PHP and Machine Learning – Untapped Opportunities

Been tweaking around with PHP-ML at Pupa Clic and felt it’s time people recognized PHP as an apt platform for machine learning implementation since its upgrade – PHP 7.

Machine learning algorithms are notoriously CPU intensive. With PHP 7 being touted as twice as fast as its predecessor, is it now practical for simple machine learning tasks? In this post, it is compared to both Java and Python to show why speed isn’t everything.

Despite years of flak, PHP still dominates the server-side scripting language market. Rightly or wrongly, part of its success is that it is a forgiving language that is incredibly accessible. In the right hands, a developer can quickly build all manner of web applications — in the wrong hands, one can quickly make a mess! This flexibility not only has cost at the code level. Internally, PHP has to do a lot of juggling and this is where processor time is lost.

Each minor version of PHP 5 has made small incremental improvements to performance, but PHP 7’s refactored core is something we haven’t seen before. Zend’s infographic shows big improvements for many frameworks and CMSs. These traditional uses for PHP typically hit databases — ideal for PHP 7’s optimised data structures. Most of the time spent on machine learning problems is actual computation so will there be similar returns even when not juggle data types?

The motivation for this post was my wish to run simple classification tasks natively in PHP. In the past, I have used PHP/Java Bridge but it has always felt a bit wobbly. Now I prefer creating a simple web service for PHP to query. This also means the brain can be moved off the web server to a more suitable machine. This disconnect still feels like overkill for simple problems like spam filtering and it adds a point of failure. Would it not be nice to be able to query the model natively rather than through an API? Does PHP 7 now make this feasible?


To measure PHP 7’s grunt, we will be using the k-nearest neighbours algorithm — probably the most basic classifier there is. It is like sticking a pin in a scatter chart and determining the class by the colours of the surrounding points. In the example below, we assume this point belongs to the red pluses because of the three nearest, two were of this class.

K-nearest neighbour is known as a lazy classifier — there is no model per se — all the work is done when we come to classify a new instance. That is why this classifier is ideal for this experiment. To keep things simple, we’re only looking for the closest neighbour (k = 1). The script will have to calculate the distance to every point in our dataset in n-dimensional space to find the closest match. This means lots of floating point operations and a more efficient language implementation means more CPU time is spent working on our problem rather than itself.

The script loads the Iris dataset from a CSV and then runs leave-one-out cross validation continuously for thirty seconds. The more iterations classified in this time — the better the performance of that language implementation. We don’t care about accuracy so we will be discarding the answer and simply move to the next instance.

The source code for each language is available on GitHub. I have tried to code each in the style of that language rather than a straight port from PHP. Sorry if it’s not the way you would implement it. I am sure there are a myriad of ways to squeeze more performance from each test but we are trying to imitate how someone would reasonably use the languages.

To keep things fair, the benchmarks will be run on the same single-core virtual machine. We are not interested in memory use but the VM only has 1GB of memory available, not that a 150-instance dataset should make much of a dent in that.


Running the benchmarks multiple times showed there is a small variance from one run to the next. For this reason, the exact figures have been omitted from the charts. Feel free to run the code yourself if exact numbers for a toy problem matter to you.


These implementations of the PHP and Python languages are running simply as interpreters. Java can be run in an interpretive only mode but no one would do that in the real world.


Here we see PHP 5.6 and Python performed similarly but PHP 7 stands out with a 35% improvement on its predecessor. The Python 3 implementation is marginally slower than Python 2 for reasons beyond the scope of this article.

Just-In-Time compilers

Unlike Zend’s benchmarks where PHP 7 sometimes outperforms HHVM, our benchmarks show HHVM is crunching nearly 30% more instances than PHP 7. If your PHP is CPU-intensive and you’re not using strange extensions, HHVM could help you. PyPy clearly dwarfs HHVM but like HHVM, there are compatibility issues that could drastically slow your development down instead. More on this in the discussion below.

Adding the Java benchmark result to this graph makes it useless. Java is just in another league. Outside VirtualBox, it is pushing nearly one million instances per second!


It is clear that any dynamically-typed language, compiled or not, will be vastly slower than something like Java. Hopefully, you’re not surprised by that. Once HotSpot kicks in, the Java code is running much closer to metal.

But as fun as performance benchmarks are, it is clear there is more to the story than speed, or we would all be using assembly language. Anyone who has dabbled with Java will know how it can sometimes feel like walking through molasses compared to dynamically-typed scripting languages. This reminds me of something a lecturer pointed out during the first year of my undergraduate course: developer time is vastly more expensive than CPU time, and this gap is only going to widen further. Using a language or implementation just because it performs better in a benchmark is a form of premature optimisation.

If we use human time as the primary measure of efficiency, it makes sense to use the best performing language that will meet the requirements and that the team can maintain. Unlike the benchmarks above, in the real world one would use a machine learning library and this is where PHP falls flat on its face. There just isn’t a viable machine learning library for PHP. Any advantage one would gain from using the common language of the team goes straight out of the window when they start writing mountains of code from scratch. A Python team would have the luxury of using NumPy and scikit-learn — both of which are pre-compiled so there is a significant performance boost there too.

Until there is a viable machine learning toolkit for PHP, don’t even bother. Even if PHP 7 was faster than the competition, the development time will not be made back in all but the most exceptional circumstances. It’s all about using the right tool for the job and PHP doesn’t even have any tools to offer.

So to answer the question: Is PHP now suitable for machine learning? Practically, no — not until there is a viable library available. For now, if you want to keep your codebase heterogeneous, use a web service like Google’s Prediction API or Amazon Machine Learning.

Originally published at Synthetic Minds on 25th November 2015.