Why you should change your mobile app version format to [year].[week].[iteration]

As a software engineer, I’ve been trained to think that there’s only one way to version software: semantic versioning.

At Photoroom, we used to increment the major version number on big releases to celebrate. Recently, however, we moved our mobile apps to a versioning scheme like like 2025.51.01 (so [year].[weekNumber].[iteration])

The main reason is convenience. At a glance you can know whether a user contacting support is on an old version or not or if a coworker reporting a bug forgot to update.

It’s also quite useful to understand version distribution. You can see below that most users on iOS are on version 2025.50.03 (meaning the third iteration of the 50th week of the year) and are progressively upgrading to 2025.51.01:

Version distribution, with Android on the left and iOS on the right
One convenient thing you can do is deprecate some routes by looking at the version number to know which clients are older than one year/some duration, here’s some pseudocode:

version = request.headers["pr-app-version"]
weeksSinceAppWasReleased = parseWeeksSinceAppRelease(version)
if weeksSinceAppWasReleased >= 52:
   return {error: "APP_OUTDATED", errorMessage: "Your app is outdated, please visit the app store to update"}

The downsides

As App Store version have to be incremental, so once you try this setup, you can’t go back.

When we implemented it, I also worried that such long version numbers would be a bit scary for users on the app store listing page, but it seems they don’t mind.

On my side, I’m still a bit worried when I see Uber’s super long version number
Overall, I’d recommend this setup in a heartbeat if you run a mobile app at scale.

If you find this article useful, go discuss it on Hacker News.

Eliot AndresCo-founder @ Photoroom
Why you should change your mobile app version format to [year].[week].[iteration]
設計你的下一個絕佳圖像

設計你的下一個絕佳圖像

無論是要銷售,推廣還是發佈訊息,都能以脫穎而出的設計實現想法。

Keep reading

Mutagen tutorial: syncing files easily with a remote server
Eliot Andres
Businesses need more threesomes, reveals market report
Aisha Owolabi
What's new in product: May 2024
Jeanette Sha
How we divided our server latency by 3 by switching from T4 GPUs to A10g
Matthieu Toulemont
What's new in product: August 2024
Jeanette Sha
What 9,000 community votes taught us about our background remover
Thomas Bordier
Make stable diffusion up to 100% faster with Memory Efficient Attention
Matthieu Toulemont
Year in review: Photoroom's 2023 product highlights
Jeanette Sha
Picking a state management library for a React app used by millions (and why we went with MobX)
Eliot Andres
The value of values: What we learned from an afternoon spent drawing Axolotls
Lauren Sudworth

準備好更快打造更出色的產品圖片了嗎?

建立 Photoroom 帳號以啟用整合,並獲得 10 張免費圖片點數,讓你可以直接在 Pixelz 體驗 AI 背景。