Anteelo’s Development Process

Can great products be built without having any solid development processes? I don’t know but I can confidently say that it’s a definitive topic for a thesis. Well, we decided to do away with all the development processes for one of the coolest products that we are building.

Anteelo : Mobile App Development & Digital Transformation

You did what!?

Yeah, Unbelievable but true.

It must be burning in flames, isn’t it?

As a matter of fact, to the contrary, we not only got done sooner but it works great.

You kiddin’ me, right? It ain’t even 1st of April today?

Nope. It’s sad that we have been conditioned to believe the processes are a panacea to all our software problems and helps build product the right way. Come to think of it, it is probably true to a large extent for certain kind of software projects but you can still make magic without it.  It is always about the people.

So, what was the darn process? Or, whatever you are calling it?

Actually, we decided to build the software in an extremely simple yet agile way. Really, it was darn simple. We call it “V1P” – Version 1.0 Process.

Anteelo landing page design inspiration - Lapa Ninja

Ideate

Sudesh and I spent lot of time envisioning how the product would look like. We did lots of wireframes/HTML prototypes before even laying the single line of code or thinking about design. Once we were comfortable with our idea, we decided to put the features in an excel file.

Plan

We created an extremely simple spreadsheet with all the features and task and divided them in 2 week iterations.

White boarding

We did an extensive white boarding of the design and how different components/layers would interact with each other. And, that was our design.

Communicate

As we were working very closely(ahem..I meant we sit next to each other), we used to have informal stand ups. Well, technically, we were always sitting down while having these meetings. So, more like sit-down stand ups – Huh! Oh well. We used to discuss for 15 minutes regarding the progress and any impediments.

Build Trust

We never went back and updated our status. Doh! The source code was the barometer of our progress. It’s funny what all can be communicated to each other when you trust your team mates and build on each other’s code.

Deploy

Sudesh deployed the code every other day so that we could see if anything was broken. Yup, no nightly build process for us. Come to think of it, I missed this the most. I think going forward, we would have some sort of Continuous Integration like we do in our other products.

Fix and Move Forward

We used to fix bugs before moving to any new functionality.

Rinse. Lather. Repeat.

Well, that was our process. You would be really surprised that we got done with the alpha version of the product in straight 3 months. It’s a fairly complex product and I’m sure it would have taken more time if we were to follow everything by the book. I think the thing that led to our success was lot of brainstorming early on and having immense level of trust.

It’s a different thing if the product becomes successful or not. Well, it’s coming soon. Wish us luck!

PS – I’m sure you must be really thinking that it is really applicable for products which are being built in a garage by couple of hackers. Well, may be. It’s not something that we follow everyday but has produced great results for us. Also, I don’t intend to follow it in our products of fairly large size which need lot of interactions but something I’m ready to stick with for smaller teams.

Optimizing your website:SEO

SEO lets start by understanding what is actually meant by Search engine optimization. Well it can be understood as the art or technique of optimization of a website to make it search engine friendly.

My SEO experience well to be fair I use to have three websites and lots of free time so I tried every bit of techniques on them from on page optimization to link building. So what I will share here will be my own empiricism.

Search engines determine whatever to rank your site for a particular keyword is by the number of inbound links to your site .That is the number of others sites that linked to you and the quality of senders for that particular keyword.

Think for a moment. Why would someone make a link to your website? The only logical reason is because you have created something of value. This is the logic of Google, anyway.

5 Basic SEO Principles to Increase Your Website Traffic - Multichannel Merchant

Another way to think about a popular website and a poor performing website, some sites are like old cities in the middle of nowhere with a road in and one road out that is poor linking . Some sites are on the trade route with high-speed multi-lane running in and out that is perfect linking .What we want a lively exchange, not a single road.

Again it just not all about link building it is also about the quality of content and at the end of the day, the quality of your content is the only thing that will convince other Web sites to link to you.

SEO can be divided into two separate categories: on-page SEO and off-page SEO.

Here I will try to list down the techniques of on-page SEO, although the on-page SEO is only 25% of the score on the search engines and the ranking of your website, it is worth addressing it, as it can improve in very less time.

On-page SEO checklist

Page title

SEO Title Tags: Best Practices and Examples | Unamo Blog

Your page title should include keywords that are less than 70 characters in length if you make the page title too long, it will dilute the importance of the words mentioned.

 Meta Description

The Importance of Meta Descriptions for SEO | WordStream

The Meta description is not something that is visible on your website. Meta Description is a brief summary of the website, which is usually included in the top of the source code of the pages on a label, Meta description is not used by the search engines for SEO purposes. What the Meta description is used to provide the researcher a brief description of the page (150 characters) under each result. In fact, if a Meta description is not included in the source code, the search engine will show you some of the content of the page instead.

Titles h1, h2, h3..

Using Internal Heading Tags For SEO - H1, H2, H3

The text of the titles is more likely to be read by the search engines as keywords of text in the rest of the page. For this reason, it is good to include keywords in your titles whenever possible. Labels h1 text give more weight to the keywords, tags h2 carry more weight than the label h3 .

Images

Do not use excessive images. More images mean that your page takes longer to load. This has a negative impact on the user experience as the optimization of search engines. The text associated with the images. Search engines do not read images, just read the text. The ALT text is an HTML attribute that can be added to the image so that the search engines replace the image with associated text.

Domain Information

The search engines also favor sites that are registered for a period of time longer. Since domain registrations indicate a commitment to the site and what they say the site is less likely to be considered spam. Extend your website registration for 10 or more you will definitely see better result for your site.

URL structure

URL Structure | How It Affects SEO & Rankings | Best Practices for 2020+

Avoid nesting pages with URLs . Nested pages receive less SEO credit .

Include keywords in the URL.

Create static URLs, not dynamic. This means that the URL of one of your pages must be the same.

ARC for iOS Development

Coming from a .Net background, I wanted to understand how iOS or OS X does memory management. Here’s brief post on what I’ve read and understood so far.Until a few years ago, Apple developers had to manually manage memory while writing Objective-C code. It was called the Manual Retain-Release model, and is exactly what developers have been doing all this while for C/C++.
But managing memory manually has always been painful and error prone, and takes up valuable time of application developers, which could instead be used for building useful features.An Introduction to ARC for iOS Development | Humble Bits

Enter ARC, acronym for Automatic Reference Counting.

Apple introduced ARC in 2011 along with Max OS X Lion and iOS 5.

With ARC, Apple has tried to make the compiler mimic what disciplined C/C++ developers would do. They would manually track the memory they are allocating for their code, and then ensure they release that memory whenever the objects go out of scope, and their memory is no longer required. So instead of the developers, now the compiler is doing all the hard work.

Its not like ARC was entirely Apple’s creation, Reference Counting has been around for a long time, and is one technique of implementing Garbage Collection.

 

How is ARC different from a Garbage Collector?

Garbage Collection vs Automatic Reference Counting — — — — - | by Mohanesh Sridharan | Computed Comparisons | Medium

 

Garbage Collector:

— Is part of the runtime infrastructure – i.e. part of CLR, JVM, and the runtime is responsible for running and monitoring the Garbage Collector (GC)

— Is indeterministic, so objects stick around until the GC runs, and therefore are not released as soon as they go out of scope

— Affects application performance when it runs, as other threads are paused, while it is runnning

— Is able to clear entire Object graphs, as it is able to figure out the application root object references while the application is running

— Is less prone to memory leaks

ARC

— It is not part of the runtime

— Instead the compiler injects reference tracking and clean-up code, similar to what a developer would do

— Deterministic reclamation of memory, at the time when the object goes out of scope

— Since there is no background or runtime processing, it requires less CPU and RAM, making it efficient on mobile devices

— Cannot cope with retain cycles/object graphs – gets stuck with an object graph, whereas a GC would look for an external reference to an object graph, and if not found would clear up the entire object graph

— Is more prone to memory leaks based on the quality of code written

Retain Cycles

A Retain Cycle is created when two or more objects are referencing each other in a circular fashion. For e.g. when we have a Parent – Child relationship between two objects, both instances would be referencing each other until they both go out of scope. This creates a circular reference and ARC is not able to figure out when to release these objects as it does not do a stack walk which a GC would do to find external references to these objects, instead ARC just tracks the count of the references to a particular object.

To solve this issue, Apple came out with Strong and Weak references. The Parent object creates a Strong reference to the Child object, which means that until the Parent object is deallocated, the Child object needs to remain alive. And the Child object creates a Weak reference to the Parent object, which breaks the circular reference cycle, and now the Parent object can be cleared whenever it goes out of scope, which in turn will also clear the Child object.

However, for the scenario above, developers need to handle missing or nil Parent objects in the Child object implementation, for when the Parent object gets deallocated and before the Child object is cleared, Child object code might be executed.

There is a concept of unowned references as well to prevent retain cycles, which I left out for now.

LLVM and Clang

Components involved in exception support in the standard clang/LLVM... | Download Scientific Diagram

Apple has used the LLVM compiler toolset to implement ARC.
“The LLVM Project is a collection of modular and reusable compiler and toolchain technologies”

The aim of LLVM is to provide a common backend compiler infrastructure to different compiler front-ends for different languages.

At a high level LLVM accepts code in an Intermediate Form and then is able to emit machine code based on the target architecture.
Ultimately we should be able to write code in different programming languages, run it through LLVM to generate native code for different platforms.

Apple developed the Clang frontend for C, C++, Objective-C and now Swift to use with LLVM. Clang is where the ARC magic happens.

Earlier Apple was using the GCC compiler for Objective-C and XCode, however as GCC is old and has a massive codebase to allow easy addition of new features and advancement, Apple decided to switch to the LLVM toolset. GCC also uses the GPL license, which would have forced Apple to GPL XCode’s source whereas LLVM uses the more lenient BSD license to protect proprietary software.

The modular nature of LLVM has helped Apple create Swift, implement ARC, improve XCode to easily target different platforms like Mac OS X and iOS. Seems they are also using components of LLVM to optimise Javascript bytecode in the WebKit browser engine.

This was a short introduction to how iOS uses ARC to manage its memory, and about the tools that are used for ARC, do send in your feedback via comments. In future, I am planning to write a post on the tools which are available with XCode, which help diagnose memory related issues.

Feature Extraction and Transformation in ML

Features

Any machine learning algorithm requires some training data. In training data we have values for all features for all historical records.  Consider this simple data set

Height         Weight         Age            Class

165                 70                   22             Male

160                 58                   22             Female

In this data set we have three features for each record (Height, Weight and Age).

Any algorithm takes into account all the features to be able to learn and predict. However all the features of the data set may not be relevant.

Suppose we have 1000 features in a large training data set, using all features may exhaust all the system memory and computational power. So we must choose most relevant features and transform them according the the input required to algorithm. After this process we may find that only 100 of 1000 features are contributing to labels.

CNN application on structured data-Automated Feature Extraction | by Sourish Dey | Towards Data Science

We can prepare training data by following  two techniques

  1. Feature Extraction
  2. Feature Selection

Feature Extraction

Feature extraction is the process of extracting important, non-redundant features from raw data. Suppose you have 5 text documents. Suppose there are 10 important words that are present in all 5 document. Then these 10 words may not be contributing in deciding the labels for those documents. We can omit these words and create new features excluding those words.

TF-IDF technique

TF-IDF technique is a feature extraction technique based on frequency of features in documents

Suppose there is set of documents D(d1, d2, d3)

TF(t,d) is term frequency = frequency of a term/feature value t in document d.

IDF(t,d,D) is inverse document frequency of term t for document d in set D. Here N is the number of documents N = |D|.

inverse document frequency

TF(t,d) x IDF(t,d,D) is a measure based of which we can say that term ‘t’ is important in document ‘d’. The words for which this measure is really low, we can omit those words in features.

Feature Selection

Feature Selection and Feature Extraction in Machine Learning: An Overview | by Mehul Ved | Medium

Feature selection process tries to get most important features that are contributing to decide the label.

Chi Square Test

Chi Square test is a test that tests feature’s independence from class/label and then select ‘k’ features that depend most on class.

Example

Suppose there are some people living in four neighborhoods A, B, C and D and they are labelled as White Collar, or Blue Collar or no Collar

Chi Square test  may determine that 90 people living in neighbourhood A are living by chance and not because they are White collar. Chi Square test depends on probabilities.

Chi Square is calculated by below formula for a feature.

chiformula

Where O values are observed and E are expected.

In the above example, expected values for neighbourhood A for each class can be calculated as

E(A,White Collar) = (150/650) * 349

E(A,Blue Collar) = (150/650) * 151

E(A,No Collar) = (150/650) * 150

After Chi Square has been calculated, its closest value is located in below table for probability in the degree of freedom row.

In the above example for neighbourhood A the chi Square is equal to 2 (rounded off)  and degree of freedom here are (no of rows – 1) x (no of columns – 1) = 6

We get 2.20 in 6th row that is most close to 2, it gives us p = 0.9.

This means there is a 90% chance that deviation between expected and observed is due to chance only.

So we can conclude that labelling doesn’t really depend on neighbourhood A.

On the other hand if p values come to 0.01, it means there is only 1% probability that deviation is due to chance, most of the deviation is due to other factors. In this case we can not really ignore Neighbourhood A in our predictive modelling and it has to be selected.

Animation: JavaScript vs CSS3

Use of internet is increasing day by day. According to a Survey in 2014, 40% of the population of the world is using internet. According to Cisco, in next five years the Global internet traffic is expected to increase thrice and hence it is important to give user a better user experience on the web to be in the competition. Animation is one of the method we can achieve that.

Now the question arises why animation?

Animation or interactivity helps to attract user’s attention, it helps to narrate the product story and yes it is also fun looking at those transitional effects.

“By offloading interpretation of changes to the perceptual system animation allows the user to continue thinking about the task domain, with no need to  shift contexts to the interface domain. By eliminating sudden visual changes, animation lessens the chances the user is surprised.”
Scott e.Hudson and john T.Stasko(1993).

But animation is quite difficult on web in respect to other media, the reason is we have to make it compatible in different browser (The devils IE8 and its predecessors too) and different devices (mobiles, tablets, desktops). Some of the feature like canvas is not yet supported in IE8, iOS doesn’t allow flash, and we can’t use lots of images and because it will reduce the site speed.

JS and CSS3 are usually two methods of adding animations on the web. Let’s see how we can use them because people are usually confused over their usage in web.

CSS Animations vs Javascript Animations – TA Digital Labs

Animate with CSS3

IN 2007, Webkit introduced animation in CSS, that changed the whole scenario of the web animation.

Below is some CSS that will move an element 150px and 120px in both the X & Y axes in 500ms.

Animate with JavaScript

Writing Javascript is quite difficult. Below is the JavaScript that you would need to write to recreate the CSS transition we discussed earlier.

As you start adding more cases it will become more complex.

If you are using jQuery in your project already, you will likely benefit from sticking with it and using the animate() functions.

10 Best CSS3 and Javascript Animation Libraries | GrayGrids

Both CSS3 and Javascript have their pros and cons. We can code some basic animation either through Javascript or CSS3 but it is important to know which one should be used when:

  1. If we have some simple effects like color changes on hover, changing dimensions of an element, simple fading effects, or combination of these types of simple effects, we can use CSS3.
  2. But if we want more controls over animation like images slider, or calling animation on some custom events, effects on mouse movement, parallax effect etc. we should use Javascript.
  3. Instead of using core javascript we should use javascript framework like jQuery that can ease our task. These days we have  lots of javascript libraries available to ease our animation process. Some of them are-
  1. Tween JS
  2. Jsanim
  3. Animo.js
  4. Move.js
  5. Collie
  6. Minified.js
  7. Rekapi
  8. Snap.svg
  9. Favico
  10. Textillate.js
  11. Firmin
  12. AliceJS
  13. SVG.js
  14. Motio
  15. Anima.js
  16. Velocity.js
  17. Parallax.js

How to measure success of a conversational AI chatbot

Last year when one of our healthcare partners (we refer to our clients as partners) was looking to build a conversational AI chatbot, I was apprehensive about guiding them. I had only worked on the level 2 (out of the 5 levels of conversational AI) type of bots. But this time our partner wanted to build a contextual/consultative AI-powered chatbot assistant.
To Build a Successful Chatbot…. Start with these 5 questions. | by Yogesh Moorjani | Chatbots Magazine

I was concerned about how the bot would understand end users’ problems. What features can we build to make it more humanistic? Would it be successful in replacing human care and compassion? Would it replicate the same emotions of empathy, compassion, and care?

And even if we managed to do everything, how would we know if the conversational AI chatbot is working the way we designed it? How would we define the ‘success’ of our initiative?

My apprehensions became real when I read a Forbes article about chatbots killing customer service with their clumsy conversations and limited learning capabilities. After reading the below paragraph, I realized the problem-

“The AI didn’t always get it, which was frustrating. Even more irritating — the company using the chatbot seemed to shrug the problem off. I detailed my own experience using Skyscanner’s chatbot, which often misunderstood my requests. Some of the companies I mentioned in the column appeared to shrug off my concerns.”

The problem is with organizations/management who choose to look away and see the importance of data analytics in chatbots for healthcare. They think that understanding the users’ behavior, what disappoints them, what makes them happy, is beyond the scope of their work. Because of this mindset, chatbots are still a lost cause.

Is there a solution in sight?

Yes, indeed there is. We’re at a very interesting place where we hold the future of chatbots in our hands. To make chatbots more welcoming and user-friendly, we not only need to make its software side–engineering, UX design, security– more robust. Rather, we should strive to make data analysis a part of the development process– i.e. we must constantly monitor chatbot’s effectiveness and improve features as per users’ needs.

How can we measure a chatbot’s efficiency?

Building a good conversational AI healthcare chatbot is a daunting task. Even after launching it as a service, one can’t be sure of its success. That’s why it’s crucial to measure every interaction with the end users.

There are certain indicators that one can track to see if the chatbot is serving its purpose.

8 Ways to Improve Chatbots and Boost Customer Satisfaction

Botanalytics

Botanalytics - Event / Speaker Platform

If you’re looking for a tool that gives you an overview of the user’s lifecycle, then Botanalytics is for you. It’s a great tool for identifying bottlenecks in the user’s journey. You can deep dive into every conversation (transcripts are available for each conversation) and see where your bot failed to respond.

You can set various goals and categorize chats into conversation paths. This is a great feature as it helps you examine which conversation attained its goal and which didn’t.

For example- if your goal is to make users download your mobile app through the link provided in the chat, then this tool will show you how many conversations ended up in accomplishing that goal.

You can also set conversation paths and check how many conversations were successfully handled by the chatbot.

Grafana

GitHub - grafana/grafana: The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

Grafana is not a bot-analytics tool. Rather, it’s an open source platform that can be used to monitor applications, websites, and even custom data sources. We integrated it with our platform to use it as a chatbot analytics tool.

One of the advantages of using Grafana is that it’s very easy to customize and you can tweak its dashboard to suit your needs.

If you have a chatbot where there is a lot of data to understand, analyze, and dissect, then you must explore Grafana. Icing on the cake? It’s free. And like I mentioned earlier, highly customizable. You can create dashboards, add panels, change visualizations as per the need of evaluators and stakeholders.

Chatbase

Chatbase : New ChatBot Analytic Tool by Google | by Aydın Fevzi Özçekiç | Chatbots Magazine

Chatbase is a free cloud-based tool that allows you to integrate your bot into the analytics platform. One of the best features of Chatbase is that it helps you both analyze and optimize your bots.

In the analytics part, Chatbase has every possible feature that you can imagine- session flows, creating funnels, the grouping of not-handled messages, chat transcripts, and so on. The UI of the dashboard is quite similar to Google Analytics. So if you’re a GA user, you’ll find it easier to use it.

In the optimization part, Chatbase provides insights to understand your users by tracking how they behave and what works (or not) for them. This is especially helpful when you want to target a specific audience and you want to improve your messaging and promotions according to specific inputs from the analytics tool.

When it comes to building chatbots, including analytics in the strategy is often sidelined. It’s considered an additional responsibility, something that can be easily avoided. However, measuring the performance metrics of a chatbot must be included in the development strategy because it’s the only way to define if your chatbot is working as you imagined it to be.

I hope you learn to integrate these tools and use analytics to enhance the experience of the chatbot for your end-user. In case you begin to feel that it’s a sponsored post, let me tell you it’s not. All these recommendations are personal and I have learned through trial and error. I hope you find the best tool suited to your needs.

Making Web Accessible

Web should be accessible to a vast majority of people including those with different kind of disabilities. It is not only about those who can’t see or can’t hear or any other specific category of disability. We can make positive impact on the lives of people by making web accessible to them.

Primarily there are 4 main types of disabilities that highly affect the use of web.

How to Incorporate Accessibility in Your Website

1. Vision

People with low vision or those who are completely blind mostly rely on using the screen readers and keyboard. Specially designed keyboards are available in the market which blind users can easily use. In earlier days people with vision impairment had to use external bulky screen readers attached to their computers but these days browser extension like Chromevox and Fangs are available.

Websites should be designed and coded in a way that these should be easily recognizable for the screen readers. For example: putting appropriate alt tags in images help screen readers to read the image loud to blind users so that they get to know what that image is all about.

Also, there are huge number of people in the world who are color blind. This term may be confusing for some people. It doesn’t mean that the person is blind or can not see anything. Color blind people can see the colors but they see them differently. Green and red are the highly affected colors.

As per the survey results, 8% of men and 0.5% of women are color blind. You may wonder why this huge gender based difference. The reason why men are highly affected than woman by color blindness is: X-Chromosomes. These X-Chromosomes are responsible for sending color signals to the human brain. Men are born with one X-Chromosome whereas women are privileged to be born with two X-chromosomes and in case one is defective then the other one comes handy for women. Nature has offered extra privileges to women. :D.

Some of the famous celebrities to name with color blindness are- Mark Zuckerberg, Bill Clinton, Keanu Reeves, Prince William Windsor.

There are many ways in which we can make web accessible for color blind people. For example: include color names and show example, please see the image “Color Names

Don’t rely on color coding only, instead try to use a combination of color texture or pattern. Please see the image “Colors and Patterns”.

You can also proof to color blindness in Photoshop and Illustrator while designing. Please see the image “Color Proof”.

Web Accessibility: By making your website accessible, you automatically increase the target audience. - DEV Community

2. Hearing

Making web accessible for deaf and hearing impaired people is relatively easy. The best solution at the moment is the use of closed captioning whenever a sound appears. This technique is widely used in television where a text is displayed whenever a sound appears.

Use of signs and symbols is also a very useful technique for this category of people. Captioning the videos on web pages also ensures that search engine will more accurately index them leading to more people finding your content. There are certain tools that can help create captioning to our videos like Overstream.net that allows to caption videos hosted on other sites like YouTube.

3. Motor

The requirement for motor impaired web users is generally overlooked or poorly implemented. The main reason for motor impairment is stroke, Parkinson’s Disease, a broken arm/wrist/palm. To help this category of people we should always ensure to increase the width and height of the clickable area. This can greatly help the motor impaired people who can use the mouse but with limited mobility.

Some of the other easier ways are to include images for text links. Clicking images is far more easier than to click text links. Assign CSS command display:block to each link in the vertical list. This way full width is clickable instead of just the link. Use of padding on left and right of the text links can also increase the clickable area. Assigning a background color to focused links is also a very useful technique we can do to help the keyboard-only user tabbing through the web.

4. Cognitive

This type covers the difficulty with understanding, inability to focus and distractibility. We should follow universal design principles to make websites accessible to individuals with cognitive disabilities therefore making it more accessible to everyone. Mainly there are 3 principles that come handy to design the web for cognitive disabled people as explained below:

  1. Content of the website should be simple. We should refrain from using complicated language, technical terms, legal jargon, and professional buzzwords. If it is necessary to display complex information we must use a glossary of sections targeting different people.
  2. Placement, styling and consistency of navigation links. We should make sure all the navigation links are at the same location and are not scattered on different places. It becomes very uneasy for cognitively impaired people to try to locate what they are looking for.
  3. Using illustrations, icons and other visual cues to communicate the key idea. Images can be very effective in communicating the complex information otherwise this information may be lost in the middle of a long in-depth content.

Making Web Accessible for All | Humble Bits

There are also impairments that are directly not associated with the users. Environmental factors also have huge effect on how people use and interact with the web. Some of them are mentioned below:

  • Low bandwidth, intermittent internet connection
  • Bright light, rain or other weather conditions
  • Noisy environments
  • Only option to browse the web on mobile devices

There are different legal acts in effect in different countries to give equality right to disabled people and help them use the web without discrimination. Section 508 requires US federal agencies to ensure that employees and members of public with disabilities should have equal opportunity to access government information.

Target.com: In February 2006 a student of University of California-Berkley, Bruce Sexton in conjunction with “National Federation for Blind” sued Target.com because it’s website was inaccessible for the blind. This lawsuit was used as a spotlight to many corporate websites that don’t play well. Target.com had to settle the case with $6 million.

Key to better communication skills: READING

One evidence of a flatter world today is the rise of geographically distributed teams. This isn’t something new, distributed teams have been around since ages and have given us a lot of Open Source software. Imagine not having Linux, Firefox, Apache, VLC, … ad infinitum.Distributed teams have also aided the software outsourcing industry to prosper.However, today even companies who do not outsource their work have their team members distributed across the globe.

So, what do you think is the number one skill required to work in a distributed team?

9 Effective Communication Skills

Effective communication.

Effective communication requires us to have a good hold on the various modes of communication – Reading, Writing, Listening and Speaking.

And I believe if we read more, we can improve our writing, listening and even speaking.

I’m sure all of us do a lot of work-related reading. However, I find that reading books not directly related to our work is also required.

Apart from just vocabulary and grammar, reading books on various topics improves one’s general knowledge, imagination, and creativity among other things. And these benefits can also help bridge gaps in distributed teams, between team members from different countries.

Getting into the habit of reading is not easy; given how we are always catching up with our fast-paced and hectic lives.

However, I believe that like any habit, the habit of reading books can be picked up with just a little bit of effort. By the way, to understand more about habits, please read – The Power of Habit by Charles Duhigg.

As per Charles Duhigg, more than 80% of what we do in a day is driven by habit, which means that most of the times we are on auto-pilot, except when we are exerting ourselves mentally or physically in order to pick up a new habit.

Really, an interesting book, I highly recommended it!

Enough meandering, let’s see how we can read more.

How to start reading more?

How to Perform a Close Reading: Elementary School - Learning Essentials

One of the ways to build a habit of reading books is to set aside some time in your day. It could be anything as per your convenience – 20 mins, 30 mins, or 1 hour.

I recommend scheduling it in your calendar so that it’s harder to skip it.

Remember, you need to make reading a daily habit.

What kind of books should I read?

Find a book on a topic that interests you. It could be fiction or nonfiction. I would recommend reading both. There are many writing genres, pick any.

What if I find the book boring?

Google says there are an estimated 145 million books in the world today. So if you are not enjoying a book, even after reading forty – fifty pages, leave it and move to another book.

And if you’re enjoying it, stick with it to the end.

Blogs vs Books?

ARE BLOGS BETTER THAN BOOKS? | Sanstonz

Blogs are great, some blogs are just awesome. However, usually, blogs are about a specific topic, whereas books usually contain various related topics.

Blogs are typically written by one person, whereas a book usually has a team behind it. Apart from the author, there are reviewers, editors, people who want to make sure that the book should be good enough to sell so that it can make money.

How to find good books?

  1. Hunt for bestselling books under various topics on Amazon or GoodReads
  2. Ask friends, family, and colleagues

Fluid spaces in design organisations

Back in 2010, when we were a handful of designers working in an apartment, there was just one spare wall where we had mounted a huge whiteboard and named it “The divine wall of ideas”. Whenever we were stuck, we thronged to that wall and drained all our shitty thoughts. And after hours of brainstorming, it would bless us with some great ideas.As our team grew, more designers joined our team. With more people in our tribe, our hearts grew but our rooms shrank. Our “divine wall of ideas” was no more divine. When all of us were together, we felt like chickens in a coop. Everyone blocked each other’s view and we heard frequent elbow-knocks and sounds of ouch and oops when someone tried to reach the wall.Why it's important to have fluid spaces in a design organization | by Quovantis | UX Planet

We began to realize that limited space was causing hindrance to our creativity and lowering our productivity. We wanted everyone to participate in our design thinking sessions, wanted them to see user personas, snapshots of the existing UI, and sketches of proposed solutions so that they could critique it. But we realized that our paraphernalia needs physical space. One can’t just do all of this effectively without any board to draw/sketch and without any space for people to sit/stand.

And this isn’t some fancy thought that we made up ourselves. It’s backed by research and many design leaders agree that fluid design spaces improve creativity. Scott Witthoft, author of Make Space: How to Set the Stage for Creative Collaboration shared in an interview with HBR–

“When you’re generating ideas, it becomes really important to be very fluid and have the ability to move in and out of different concepts and different people’s voices as an idea’s coming to fruition. So creating a space that allows movement, allows active posture to really help collaboration move more smoothly, and can forward creativity by allowing people to participate when they want, step out when they don’t, and allow leadership to move throughout the group.”

So, we did something big. We moved our entire office to a bigger, better place. Well, there were other reasons too which aided our decision. But, you could say that it was mainly because we realized that we can’t trade our happiness with anything. If people aren’t happy with their workplace, then they’re probably dragging their feet to work. We couldn’t bear that thought!

It’s been almost a year now that we’re in our ‘new’ office. We used this opportunity to rethink how we wanted to make the best use of the available space. We have made conscious choices in making design thinking sessions more productive and interactive. Most of it was inspired by companies like Apple who have made commendable efforts in popularizing the idea of such fluid spaces to espouse creativity. We owe it to them.

So, let me take you around our office then-

Elevated tables and chairs

Collaborative & Social Space Design After COVID-19 | Steelcase

This is my favorite spot. It especially works during mid-day design sessions when people are caught up with deadlines and it’s hard to get their attention. The high-tables, as we call them, allow them to take a break and stand together close in the upright position. It’s a space where people can get comfortable, but not too much.

You can spread your ideas, sketches or prototypes on the table and open the discussion for everyone. When you have this setting, it makes people aware that you are open to critique and they feel more inclined to share their honest feedback.

Also, these tables are located at places where people have high chances to bump into each other while walking around. So, imagine you’re sitting at the high table, working on some design and a fellow designer walks past you carrying her coffee mug. She stops by and appreciates the color gradient you’ve used, asks you to teach her how good gradients are made and also tips you on two new Sketch shortcuts to speed up your execution. Isn’t that a great conversation?

Whiteboards and Glassboards

Glass Whiteboards and Glass Dry Erase Boards by Clarus | Whiteboard wall, Glass dry erase, Glass dry erase board

At Quovantis, we value simplicity in the processes that can help us get our ideas out quickly. So despite all the digital tools that are out there, we still are a huge fan of whiteboards and glass boards where we can draw, doodle, write and paste Post-its quickly- a fast and efficient way to communicate.

So when an idea bubble appears, we quickly gather on the nearest wall and put it up for people to see and critique. And then we let it stay there so that everyone can see it, reference it, and can go back and share their thoughts on the pile. The visibility and accessibility are very important in every design session.

Meeting rooms

Our meeting rooms are a manifestation of the fantasy world we admire. They were named after voting democratically within the organization. One wall of each meeting room has the famous quote of that fictional hero/place. For instance, Diagon Alley and Shire have quotes about Hogwarts and the mystical land of Narnia.

From the design point of view, we’ve kept the visibility of meeting rooms neither too protective nor too revealing. It’s such that people who are inside the room don’t get distracted by what’s going outside. And, people who are outside can steal a glance and get to know if the meeting room is available or occupied. Such visual cues help people in overcoming mental blocks to rush into a room and start a discussion.

Abundant open space

We all have this natural tendency to crumble to negativity when things don’t go as we plan. And that’s why we have tried to keep the office interior spacious, happy and uplifting. The empty space allows us to make use of what Scott refers to as “impromptu pop-up team spaces”

There is one corner near the bookshelf and plenty of space near the couch to sit and have a discussion if one is bored with their sitting space. One can even walk around with some hilarious quotes and illustrations around. I remember, one of our teammates, told me about how he found creative inspiration in the office cafeteria.

Pro Growth Hacking Strategies for Startups

In A Small Group, - Icon Meeting Png , Free Transparent Clipart - ClipartKey

So as to scale a business, it’s indispensable to advertise the products viably. There are numerous difficulties along the path; in any case, adaptability is conceivable with these best development hacking methodologies.

To connect with an enormous crowd, companies need to embrace distinctive development hacking procedures. Although some among these procedures have just been around for a couple of years, in any case, they demonstrate to assume a crucial job in the growth of cutting edge organisations. Numerous business visionaries have made them a necessary piece of scaling their business since they saw productive outcomes, and it’s about time you do so as well.

Entrepreneurs look for different growth hacks and need to develop rapidly by collecting as many clients as possible to expand their income. Growth Hacking has been proven as a practical and trusted approach for a sure shot success of budding startups. Yet, only a few businesses are able to execute these growth hacks in an ideal manner. This article gives you an insight into the 12 best growth hacking strategies which have been proven successful for various ventures. Let’s take a look:

1. A/B Testing

Multiple Hypothesis Testing/Comparisons Problem: How Adding More Variations To Your AB Test Will Impact Your Results?

 

A/B Testing draws its way wherever there is traffic. No matter what it is; a blog title, email headline, popup CTA, or a million different things. There’s an A/B test that can assist you with streamlining that crusade. Regardless of whether it’s A/B testing your landing page content or seeing which email headlines resound with perusers, experimentation can reveal handy solutions that lead to tremendous outcomes.

2. Add hidden form fields to your lead-generation forms

Defining & Understanding Hidden Form Fields Plus the 5 Main Benefits

The more you think about your leads, the better you can cater and support them in your promoting down the line. One technique used to catch much more data about your leads is to pass a parameter in a URL which can be acknowledged by a hidden field on one of your forms. Utilising this technique, you can catch much more data about your leads without frustrating them out with various forms that you as of now gathering data from. Regular employments of this can incorporate area, crusade, and intrigue classification.

3. Conduct Giveaways

Running next level Facebook giveaways with Recart

Free giveaways can be a significant approach to promote your business. By showcasing your product to customers, you can rapidly and effectively create familiarity with your image, and it may spur them to return for more. The second time a client appears, their buy won’t be free. A giveaway is much similar to other advertising activities – it’s a method to create more exposure for your merchandise and ventures. Like it or not, all promoting costs money. Regardless of whether it’s an announcement on the interstate or a flag promotion on a site, you should be ready to spend on the off chance that you need to draw attention to your brand. In view of that, a giveaway can really be a less expensive approach to promote than other marketing strategies.

4. Create a referral program

Premium Vector | Illustration referral marketing

Referral advertising permits your users to turn into your organisation’s pioneers by referring your business to their loved ones. While referral advertising requires marketing endeavours and the motivation of remunerations to get users to participate, there are numerous advantages of referral programs, and you ought to undoubtedly be utilising this technique to grow your audience base.

5. Go Freemium

How to Translate Freemium to Any Business Model

In the event that you own an application or software business, you should seriously mull over building up a freemium model. This works incredible for applications of numerous sorts. Offer something for nothing. It probably won’t do a lot; however, it’ll give people a taste of your product. When they see that they can profit by your product, they’ll need a greater amount of it. A few people will never change over into paid clients. However, you need to concentrate on the onboarding procedure. It’s simpler to hold clients than to acquire them. That is the reason the freemium model works so well. You, as of now, have leads on the line. You simply need to persuade them that they need the paid adaptation of your product.

6. Guest Posting

The Complete Guide To Guest Posting (2019) - WebKu

Guest Posting administrations help to create new links. There are various guest posting services accessible on the web. Practically each one of them has their own sites going. These specialist organisations make it simpler to get abundant natural leads through the content by giving a connect to your site, which eventually helps in boosting up your SERP rankings. Visitor/Guest blogging is an incredible growth development hack which bloggers will in general use to increase natural site traffic and connecting with various crowds by improving their SEO rankings.

7. Collaborate with other brands

Five Tips For Collaborating With Other Brands

Talking about the customer base, brand collaborations are the uncelebrated protagonists of the growth hacking world. In the event that you have a user base of around 100,000 individuals and another brand in the related field has about 80,000 users, you can cooperate to contact 180,000 customers. You’re not searching for an immediate contender. Rather, center around finding a business that supplements your own. For example, possibly you sell handcrafted soaps. You could join forces with a business that sells body scrubs or shampoos. Contact forthcoming accomplices with an email or call. Come prepared with thoughts for approaches to mixing your users in natural manners, for example, by tagging each other via Instagram or Facebook, offering product packages that consolidate your products, or in any event, something as simple as cross-posting on each others’ websites.

8. Host and Attend Events

BigMarker

A genuine Growth Hacker doesn’t dispose of any potential roads that may lead them towards an objective. This incorporates going offline to energise development. On the off chance that you have niche-related events in your vicinity — or even away — think about visiting. You can go as a visitor or save a corner for your business. Meeting individuals up close and personal, shaking their hands, and getting some information about their needs can make you a more alluring arrangement than a nondescript organisation. Proceed, gain from the best, create associations, find out about your industry, and get some motivation. You don’t have anything to lose. Uncovering your business on pertinent business occasions and meetings will permit you to make connections with minimum exertion.

9. Start a Blog

Blog SEO Tips - Pierre Zarokian

Clients can’t cherish you on the off chance that they can’t discover you. If you haven’t started with a blog yet, get started with it ASAP! Blogging is one of the most economical, least complicated approaches to get before a group of people and connect with influencers. The present shopper goes directly to the Internet for information before beginning the purchasing procedure before they ever think about conversing with a human. Don’t dispatch an excellent blog with half a month’s worths of awesome content and afterwards disregard to compose another word.

10. Use Urgency and FOMO

8 Best FOMO Marketing Examples to Boost Your Conversions

Urgency and FOMO which is the abbreviation for the “Fear Of Missing Out” are two great psychological tools for amplifying your growth. FOMO exploits an individuals’ mental idea of not being deprived of something great. What’s more, it’s a conceivable piece of the reasons why utilising an invite-only framework for your organisation or new element discharges is so successful.

Identified with that is Urgency, which is likewise attached to human brain science. Essentially, we feel constrained to act if a circumstance is dire. So in case you’re opening beta access to your new help temporarily, it turns out to be all the more engaging potential clients. Rolling out offers like a limited-time deal or rapidly expiring discounts make people want to act fast and shop thinking they might miss a great deal. Utilise Email Marketing:

11. Hire a growth hacker

How to Hire a Growth Hacker That Will Actually Get the Job Done

This is by far the best and one of the most straightforward growth hacking strategy: Hire a Growth Hacker. A growth hacker knows exactly what techniques to utilise to take your company to the top. Employing a professional implies you’ll get somebody proficient at showcasing your organisation as well as deciphering the information that outcomes from those endeavours. Regardless of whether you have an advertising plan set up, you could profit by employing a growth hacker.

CONCLUSION

Growth Hacking is, in any case, more effective than traditional marketing. In today’s cut-throat competition, Growth hacking is the only way through which a new business can ride on the high tide and grow exponentially. Revolve all your strategies around taking care of issues, developing your audience and improving your image. Incredible products and services positively help sell themselves; however, you have to get that growth plan in motion. Enlist client evangelists, join forces with similar organisations, make content with wild relinquish, set yourself apart with world-class client assistance. With such vast numbers of basic approaches to dispatch growth, there has never been a more energising time to perceive what your business can genuinely do.

error: Content is protected !!