Development
Making your Android project modular with convention plugins
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
The value of AR for business leaders (and when not to bother)
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
How to approach legacy API development
Development

How to approach legacy API development

Legacy APIs are complex, often incompatible, and challenging to maintain.… April 3, 2024
The benefits of open source technology for businesses
Business Development

The benefits of open source technology for businesses

March 29, 2024
Web app vs. mobile app: How to decide which is best for your business
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
Between the brackets: MichiganLabs’ approach to software development
Development Team

Between the brackets: MichiganLabs’ approach to software development

February 12, 2024
Advanced Tailwind: Container Queries
Development Web

Advanced Tailwind: Container Queries

Explore some advanced web layout techniques using Tailwind CSS framework July 28, 2023
Make Your Website Shine Through Shareable Meta tags
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
The 5 Minute Accessibility Strategy
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
Make an AI Art Generating Slack Bot in 10 Minutes
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
Why Use Flutter?
Business Development

Why Use Flutter?

We discuss Flutter, a framework for building Android and iOS apps with a single… January 18, 2023
Why I use NextJS
Development Web

Why I use NextJS

Is NextJS right for your next project? In this post, David discusses three core… December 21, 2022
Cross tab navigation in Jetpack Compose
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
Quickly Prototyping a Ktor HTTP API
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
Chicago Roboto 2022 Retrospective
Android Development

Chicago Roboto 2022 Retrospective

Scott Schmitz shares some notes of interest from talks at Chicago Roboto 2022,… August 11, 2022
Kotlin Multiplatform
Android Development iOS

Kotlin Multiplatform

A brief look at Kotlin Multiplatform Mobile, a newer cross-platform mobile… July 14, 2022
Application Architecture with SwiftUI
Development iOS

Application Architecture with SwiftUI

An overview of mobile application system architecture using SwiftUI June 15, 2022
“Learning To Code” Actually Means Different Things To Different People...And That’s Okay
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
Putting a Kettle On: Server-Side Swift with Vapor
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
How to Build a Better App UI Architecture - Part 2
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
App Architecture Series: Building a Better User Interface
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
Simple, Responsive CSS Grid Page Layout
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
Time Check
Development

Time Check

Read Karl's blog post about an interesting development challenge related to… June 6, 2019
iOS Animating UITableView Header
Development iOS

iOS Animating UITableView Header

Often in content rich apps, you'll find collapsing headers that shrink and grow… May 31, 2016
Converting JaCoCo test reports to Cobertura or Clover format
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