healthcare app

Recently occurred California wildfires are not just affecting those directly in their path but they are affecting millions of residents who are now breathing in the hazardous air conditions. In such a condition, a popular healthcare app turned out to be an emerging hero.

Polluted air is a serious concern for many Californian residents. This is an extreme case where even if you’re not in an area directly impacted by the wildfires, you are still at risk as smoke can travel hundreds of miles from the burning site. In such cases, Doctor on Demand, A leading virtual care provider in the US is proving to be a huge help.

Read More

unit testing vs functional testing

First of all, based on the title, it doesn’t mean to choose between unit testing and functional testing. Let’s admit that both have their own importance in software development. One thing I would like to highlight is that many developers think that unit tests are not useful and waste of time. James Coplien wrote the blog “Why Most Unit Testing is Waste” and it drove huge discussion on Reddit and Hacker News. The whole developer community was divided into two sides: Unit testing supporters and Unit testing Haters.

However, in functional testing, we don’t have contrary opinions. Functional testing is done from the user’s perspective and its utility is well understood by users, developers and QA alike. But at the end users only care about the functionality and UI of the application.

Read More

If you have to take lessons on developing eCommerce apps, you should take a look at these eCommerce apps

Developing ecommerce application research

While these apps differ by what they sell, they definitely face almost similar challenges when it comes to developing and maintaining them. What starts as a simple app built on top of iOS, Android Java, couple of backend languages and databases, quickly evolves into a complicated technology piece that can have as many as 15+ programming languages supporting it. Read More

Everything you need to know about IoT Hardware Product Development

Not so long ago, I met this CEO of a hardware startup that was building beacons for parking lots. They wanted to know if a parking spot was vacant, and have the ability to provide smart parking using BLE enabled network of sensors and analytics.

They initially underestimated sensor inaccuracy, which lead to issues in hardware development and high costs. This was further complicated by lack of QA done in the target environments with variable conditions.

At the end, they had to abandon the project.

This was unfortunate, but happens commonly with IoT hardware startups.

Takeaways from this story:

  • Always make the comprehensive prototype with scalability in mind with 3D printing to test in real life environment.
  • Keep the checklist for QA to avoid drunk testing.
  • Test some sample devices before going for mass production to avoid cost overrun.

Read More

Ecommerce app using Reactjs

A few weeks ago, when I wrote about React performance, I was asked by a lot of you to share my thoughts on how to build a performant interface for eCommerce app using ReactJS. And, as I wrote email responses, this blog post started taking its shape.

We don’t just fine tune eCommerce apps for no reason. The fact that your product team has to struggle and match various metrics with conversion and performance itself shows how even the tiniest bit of UI performance gain reflects into a significant revenue boost.

What you can expect to learn here:

  • The key points which makes React best fit for an eCommerce site’s frontend
  • The practical use case of using Redux for eCommerce
  • The best practice of architecting an eCommerce app with Redux

Just to give you a better overview, this is what our eCommerce app with ReactJS will look like:

Read More

functional testing tools

“Success in automated functional testing is less about getting it right and more about avoiding mistakes”. Selection of the right functional testing tool is one of the crucial decisions you make for automated functional testing. If it goes wrong, you pay hard. Because every functional testing tool has some limitations you might overlook some hidden problems.

In selecting a tool, you have a set of selection constraints, which can be classified into hard and soft constraints. Hard constraints are fixed and must be satisfied in any case. These constraints include executing environments, programming languages, platforms, and framework used to build the application. The Soft constraints include cost, maintainability, usability, schedule, level of programming and technical skills required. These constraints can be compromised or partially met.

Read More

cloud deployment model

When companies talk about moving to the cloud, it is a general assumption that they are bringing their on-premise workload to the public cloud and not switching clouds. However, GitLab, a startup famous for providing developers tools, announced earlier this year that they are abandoning Microsoft Azure and moving to Google Cloud Platform, as mentioned in the official GitLab statement.

This step took place because GitLab wanted to adopt cloud-native practices with the best use of microservices and containers. The same approach used by GItLab is becoming a critical factor for modern software development. Also, Kubernetes turned out their preferable choice since it allows elastic scaling from a couple of users to millions.

GitLab is just not one example! There are many organizations who switch their cloud deployment models amid the requirements demanded by the modern application users.

You could be also one of the people who is reconsidering their public cloud choices. Maybe because your needs have changed? Or you could be one wondering to re-architect an application? The possibilities are endless.

Read More

automated functional testing

Yesterday while working with my QA team, I had an epiphany that how often we get functional testing wrong. Instead of working out a balanced testing strategy we take the simple approach of ‘testing the product the same way a real customer would use it’. I believe though an enticing statement emulating the customer experience has its own costs. The functional testing is costly and time consuming if your organization is still doing it manually. But the costs can be remarkably reduced by implementing automated functional testing.

While working on software delivery projects, we will eventually face the decision of which tests should be automated to get the higher ROI. Also, to automate the functional testing you must have a pre-defined roadmap and strategy to save time and test maintenance. In this blog, you will get to know about which tests should be automated and a roadmap to implement automated functional testing. Read More

Managing QA is one of the most difficult to do things for new IoT product development and startups that enter this space. The biggest challenge in QA for IoT hardware is that there’s absolutely zero information about it that’s available to everyone.

Here’s how QA works for most of the teams developing IoT hardware products

Step 1

Firmware is written on an IoT prototype, and idea is validated

Step 2

Firmware, BOM and hardware design specs are generated and sent to a manufacturer

Step 3

Sample hardware is built and tested to see if it is working

Step 4

Revised specs are sent for mass production Read More

Lately, a lot of people have asked me on how to build an IoT product. So, I ended up writing this blog post covering the basics of IoT product development.

I will try to cover the following here:

  1. Critical components that make up your IoT hardware
  2. What makes these components function together
  3. How to get it built?
  4. Where people get IoT hardware development wrong?

Read More

AWS Lambda Examples

Catching up with the latest technology trends is difficult and implementing it even more difficult. The story is not so different for serverless. Leaving the misnomer debate aside, cloud architects find it challenging to change their old VMs and container ways to adopt the serverless technology.

But the technology which snowballs into popularity is often the result of the tremendous community feedback and experiments.

Thus an understanding of practical use cases is essential to bring clarity, consensus and commitment towards the adoption of serverless.

In the previous article, we discussed simple use cases of AWS Lambda and their applications for cloud architects who want to get started with serverless. In this blog, I would be explaining a few more AWS Lambda examples which are a bit complex. Read More