Software Development


  • Increased complexity.That’s the overarching takeaway from the 2024 Embedded World Exhibition & Conference, held April 9-11 in Nuremberg, Germany. Embedded World brings together the global embedded community – last year more than 950 exhibitors and 27,000 visitors participated – and provides a…

    Blog
  • Embedded software development is undergoing significant transformation – and trending toward greater complexity – driven in large part by the transition from conventional embedded systems to Industrial Internet of Things (IIoT). The move toward IIoT has broad implications, including cybersecurity…

    Blog
  • Borrowed from the natural realm, the term ecosystem has become a popular – some say overused – buzzword in the tech world, though there’s no consensus about its precise meaning. Some think of an ecosystem as a group of appliances and devices designed to work harmoniously together, creating a…

    Blog
  • Human perception is predominantly visual, with 97% of external information received through sight, while other senses like hearing and touch contribute only 3%. Recognizing the profound impact of visual information, major tech players like Meta (Facebook), Alphabet (Google) and Microsoft have…

    Blog
  • In this series on BLoC for Flutter, we’ve examined differences between reactive and traditional programming methods, explored the BLoC architecture, and learned about BLoC widgets. (If you missed it, read Part 1 - Discover BLoC Pattern and Part 2 - A Deeper Look at BLoC Pattern.) In this…

    Blog
  • Continuing our series on building with CMake, in this installment we’re taking a look at how to create a library that others can use for their own applications. (If you missed the earlier installments, part 1 shows how to make a simple application, while part 2 explains how to find libraries to use…

    Blog
  • Looking for a plugin to quickly turn your Figma design into code for production or advanced prototyping? If so, this blog is for you! We tested 20 leading code-generator plugins – evaluating them with quality, accuracy and usability in mind – and generated code for a nine-frame Figma file. What we…

    Blog
  • Market-leading collaborative design tool Figma just raised the stakes, releasing at the June 21-22 Config 2023 conference new features and major updates likely to transform the way designers create, and work with the platform. Since the release, the Boston UX team has been busy evaluating Figma’s…

    Blog
  • In part 1 of this two-part series on the Bloc Pattern for Flutter, I defined the Business Logic Components (BloC) pattern as a reactive pattern that separates an application's business logic from its UI logic. The purpose is to make the code easier to maintain and test. I also provided some insight…

    Blog
  • In Part 1 of our series on CMake, an open-source, cross-platform family of tools designed to build, test and package software, I provided an overview and showed you how to build a basic CMake project. In today’s Part 2, I’ll show you how to find libraries and link them to your application. When…

    Blog
  • As developers know, design patterns are crucial to the success of code. If you are a new Flutter developer, you may have encountered patterns such as MVVM. BLoC – or Business Logic Components – is a reactive pattern that separates an application's business logic from its UI logic. The purpose is to…

    Blog
  • CMake is an open-source, cross-platform family of tools designed to build, test and package software. According to the CMake website, CMake is used to "control the software compilation process using simple platform and compiler-independent configuration files, and generate native makefiles and…

    Blog
  • The key to effective software testing is striking the right balance between automation and manual testing methods. Automation testing, in which the test case is executed by a tool rather than by a human, represents 80% of the software testing market according to Absolute Reports, in large part…

    Blog
  • Poor software quality cost US companies $2.08 trillion in 2020. Buggy releases that require a regular stream of patches and upgrades to work properly disappoint users, compromise security and in the case of medical devices put lives at risk. Plus, they pour cold-water on a company’s reputation.…

    Blog
  • Software testing improves the quality of the product, increases user satisfaction, promotes  security, and mitigates costs by identifying defects early when they are less expensive to fix. But the road to successful software testing can be filled with potholes. From tight deadlines and…

    Blog
  • It is not uncommon for software developers to be involved in more than one project at a time, or need to set up an old project to check a change. Some projects might require a specific OS, or availability of one or more SDKs or libraries. A virtual machine might come handy in these cases. But…

    Blog
  • It happened many moons ago when a professor of programming said on the first day of class, “last year I taught three programming languages during this course. This year I decided to drop one. We will not study Cobol as it is a dying language and I’m sure you’ll never hear about it after your…

    Blog
  • Despite advances in the tools, languages and hardware available to developers, software projects still run into trouble — they miss deadlines, hit intractable technical obstacles and run over budget. In our recent webinar Winning Applications: Lessons Learned from 500+ Successful Projects,…

    Blog
  • You’re a product manager. Your company is counting on you to get a new product to market quickly. Not just any product — a product your customers will love. So how do you rapidly develop something that works while ensuring it's something people will like to use? Integrating user…

    Blog
  • There are many challenges when considering software development in general. Adding to that complexity is the need to have and maintain external resources. Many software development projects today are global and require teams of engineers who are versed in the latest technologies and can produce…

    Blog
  • Integrated Computer Solutions (ICS) is known for its expertise in user interface design and software implementation for embedded, mobile, desktop and interactive kiosk systems. Our work is visible in everything from smartphones to vending machines and medical equipment to vehicles of all sizes.…

    Blog
  • At some point in any extended-length development project -- whether it’s a multi-year project or a multi-month project -- you’re going to need what I’m calling a Surge. What’s going to prompt a Surge? Here are some examples: The market shifts and the target customer changes: for example, the…

    Blog
  • Software development in general follows a particular flow. This article describes the software development process for medical device products and some of the notable differences within. Some examples of medical device products include everything from user interface design for image guided surgical…

    Blog