Services
Work
About
Careers
Blog
Contact Us
Development
Business
Development
Build vs. buy: How to decide between custom software, off-the-shelf, or hybrid solutions
Deciding whether to build custom software or buy off-the-shelf involves…
October 9, 2024
Development
How our Associates are using AI tools: Advice for early-career developers
Our 2024 Associates at Michigan Labs share their experiences using AI tools…
August 13, 2024
Development
Process
Build what matters: Prioritize value over feature count
Focusing on value delivery—rather than just feature count—combines your…
August 1, 2024
Business
Development
Process
Beyond checklists: How product roadmaps drive value in software development
In custom software development, the path to success is often complex and…
July 19, 2024
Development
From bits to qubits: The future of quantum computing
Learn how quantum computing, which uses qubits capable of representing both 0…
July 10, 2024
Development
Automatic artifact downloads inside PR comments
Discover a method to streamline the process of accessing build artifacts from…
June 20, 2024
Android
Development
Making your Android project modular with convention plugins
Explore the journey of Gradle and build tools like it, particularly in the…
May 22, 2024
Business
Development
iOS
The value of AR for business leaders (and when not to bother)
Should you leverage AR for your new digital products? Should you build an app…
April 24, 2024
Development
How to approach legacy API development
Legacy APIs are complex, often incompatible, and challenging to maintain.…
April 3, 2024
Business
Development
The benefits of open source technology for businesses
March 29, 2024
Business
Development
Web app vs. mobile app: How to decide which is best for your business
When considering whether to develop a web app or a mobile app for your…
March 26, 2024
Development
Team
Between the brackets: MichiganLabs’ approach to software development
February 12, 2024
Development
Web
Advanced Tailwind: Container Queries
Explore some advanced web layout techniques using Tailwind CSS framework
July 28, 2023
Development
Web
Make Your Website Shine Through Shareable Meta tags
Improve the web site preview used by chat apps, websites, and social media with…
June 20, 2023
Android
Development
iOS
The 5 Minute Accessibility Strategy
We discuss how you can make a plan in just 5 minutes to provide accessibility…
May 18, 2023
Development
Make an AI Art Generating Slack Bot in 10 Minutes
David shares how easy it is to create your own AI art generating Slack bot…
February 3, 2023
Business
Development
Why Use Flutter?
We discuss Flutter, a framework for building Android and iOS apps with a single…
January 18, 2023
Development
Web
Why I use NextJS
Is NextJS right for your next project? In this post, David discusses three core…
December 21, 2022
Android
Development
Cross tab navigation in Jetpack Compose
Learn how to use Android's Jetpack Compose to navigate from a screen inside of…
October 4, 2022
Development
Web
Quickly Prototyping a Ktor HTTP API
Whether it’s needing a quick REST API for a personal project, or quickly…
August 18, 2022
Android
Development
Chicago Roboto 2022 Retrospective
Scott Schmitz shares some notes of interest from talks at Chicago Roboto 2022,…
August 11, 2022
Android
Development
iOS
Kotlin Multiplatform
A brief look at Kotlin Multiplatform Mobile, a newer cross-platform mobile…
July 14, 2022
Development
iOS
Application Architecture with SwiftUI
An overview of mobile application system architecture using SwiftUI
June 15, 2022
Development
“Learning To Code” Actually Means Different Things To Different People...And That’s Okay
Depending on whom it is coming from, the phrase “I’d like to learn how to code”…
October 15, 2020
Development
Putting a Kettle On: Server-Side Swift with Vapor
One of my goals this year is to make a concerted effort to try out Vapor for…
March 23, 2020
Development
How to Build a Better App UI Architecture - Part 2
Following up on the importance of consistency and reusability in Part 1, let's…
November 19, 2019
Development
App Architecture Series: Building a Better User Interface
At Michigan Software Labs, we don’t simply write code to satisfy requirements.…
October 21, 2019
Development
Web
Simple, Responsive CSS Grid Page Layout
In this new blog post, Jeff Kloosterman shares his approach to creating a CSS…
June 25, 2019
Development
Time Check
Read Karl's blog post about an interesting development challenge related to…
June 6, 2019
Development
iOS
iOS Animating UITableView Header
Often in content rich apps, you'll find collapsing headers that shrink and grow…
May 31, 2016
Development
Converting JaCoCo test reports to Cobertura or Clover format
The Java Code Coverage (JaCoCo) framework is an excellent tool to generate test…
February 10, 2015