Skip to content

Latest commit

 

History

History
67 lines (37 loc) · 3.88 KB

software_updates.md

File metadata and controls

67 lines (37 loc) · 3.88 KB

Software Updates

Intro

This piece is quite opinionated from point of view. No way this is scientific or academic. So take it with a grain of salt or a glass of Whiskey talk speaking. But none the less enjoy my thought process around Software updates in general.

Process

Part of the reason Apple updates are huge, since they repackage it again for each release. Microsoft updates and other linux distros have a great pipeline saving the world thousands of network storage and throughput for every time there is an update.

Google even though they are fragmented with their android ecosystem , their app architecture for providing new updates is phenomenal with delivery smaller chunks of data being changed and quickly linking them appropriately. It is slower but cost effective for countries with lower bandwidth or lower storage options. Sometimes Android after updating the OS, triggers these kinds of processing of linking dynamic dependency chains in the background. Preparing android system message in your notifications.

Xbox on the other hand provides both options for game developers to push updates. Microsoft always was great back from the Windows 2000 ME, and XP editions with service packs v1, 2 and 3 for major OS updates as well keeping up security updates in a manageable fashion. Back when OTA (Over the Air) updates weren't the norm. Remember you had to use 3 - 5 Floppy disks to install an OS. Now even though you have installed the OS, there are still day one patches for new OS. Thus leading to SaaS (Software as a service) model.

They can defer prioritization and just ship things when its important to beat the market.

One could argue that this leads to poor software quality but others mention that software needs to be soft easily adaptable and following latest patterns or security mechanisms. So having SaaS is a boon for lot of less maintenance. As a fellow engineer, the code I wrote yesterday is already obsolete and the code I'm writing is also in the same phase. So updates are good if done in a timely fashion and not too much force updates. Auto updates are also cool.

Other

ABI - consideration ABI Stability is very crucial when delivering different executables or packaging libraries or modules of code to be reusable and frozen. I'll share some reference links to read about it. Difference between API and ABI

Swift ABI v5.0

Official swift ABI

Dark UX Pattern

Mac OS upgrades & don't get me started on how Windows 10 handles force upgrades ever since Windows 8. upgrade

OS

windows updates

macOS updates

Xcode updates

release

References

ABI Stability Manifesto Swift

What is ABI Stability medium | what-is-abi-stability-and-why-does-it-matter

Stack Overflow | what-is-an-application-binary-interface-abi

Android docs

https://www.dpdk.org/blog/2019/10/10/why-is-abi-stability-important/

https://faultlore.com/blah/swift-abi/

llvm.org/DesignDocs/ABIVersioning.html

LLVM official video

what-is-module-stability-in-swift-and-why-should-you-care