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

angular vs react vs vue

Long story short:

A few years back, Rever Inc which is a well established Silicon Valley-based company developed an Idea Management Software named Rever Score. At that time, they have their product up and running with the Angular 2 Beta version 9. Unfortunately, for them, the release of Angular final version was delayed by Google and they realised that waiting more would be a waste of time and resources. Henceforth, it took them 8 more weeks to abandoned Angular and re-write the entire project with VueJS.

Imagine your 1000’s hour of hard work goes into vain just because of a unfortunate incident like this one.

Read More

When it comes to hardware product development, cost is one of the most critical factor that drives decision making in most cases. In this blog post, I am exactly going to show you how you can save more than half a million dollars on IoT product development.

“That would’ve saved us a lot of money. We didn’t knew that”

I’ve met many startup founders and enterprises that share their stories of how they could have potentially saved hundreds of thousands of dollars if they knew the “right stuff” when they were building their product. Read More

AWS Lambda vs Azure functions vs Google functions

When it comes to serverless providers, there are many popular opinions based on various biases. However, while choosing the serverless there are many things that go on than the surface picture.

Considering how critical this is for the long-term success, platforms should be evaluated based on their functionalities and service integrations. The potential backlash of choosing a serverless platform is high. Some of them are vendor lock-in and data lock-in, as Patrick Debois, CTO at Zender, mentions in his tweet.

So how do you select the right serverless provider? The answer is in this article. Here we discuss the major serverless provider considering their technical empowerment which will help you to equally weigh the selection process directed towards your specific needs.

Read More