Wednesday, 3 February 2021

Show HN: 4 day week – Software jobs with a better work / life balance https://ift.tt/3oKLOdE

Show HN: 4 day week – Software jobs with a better work / life balance https://ift.tt/3jffC0N February 3, 2021 at 10:33PM

Show HN: Play Fun Games in Slack https://ift.tt/2MuDjX2

Show HN: Play Fun Games in Slack https://bored.social/ February 3, 2021 at 09:01PM

Show HN: Fusuma is a tool to create slides using Markdown easily for you https://ift.tt/3cDQi39

Show HN: Fusuma is a tool to create slides using Markdown easily for you https://ift.tt/2HujTOv February 3, 2021 at 08:56PM

Launch HN: Emerge (YC W21) – Monitor and reduce iOS app size https://ift.tt/2YEjTkO

Launch HN: Emerge (YC W21) – Monitor and reduce iOS app size Hi everyone! We’re Noah and Josh from Emerge ( https://ift.tt/36BFYF2 ). Our company is building a monitoring and analysis tool to help iOS developers reduce their app’s size. You might have heard about app size challenges faced by large iOS apps, particularly those with Swift codebases. I was an iOS engineer at Airbnb for 4.5 years and personally worked on their size reduction efforts. App size is tricky to quantify. The size users most commonly see (what’s on the App Store page) is the install size thinned for their device. This is the size measured after stripping out assets like images and other media not needed for your screen size, or code that doesn’t run on your device’s architecture. However, this isn’t the only size metric out there, there’s also download and universal size (read more about this in our docs [1]). Our tool makes app size easy to understand by visualizing the size contribution of every file in your app, from localized strings to machine learning models. To better our understanding, we even reverse engineered compiled asset catalogs and Mach-O binaries to show size contributions of original images, source files and Swift modules. With this perspective we often see files that don’t belong or are suspiciously large. While testing our tool we analyzed and learned from over 150 iOS applications and found that keeping app size in check is really hard— even for industry leaders. Here are some of our more interesting findings. Dropbox ( https://ift.tt/2Le5qJl ) From the visualization, you can clearly see why Dropbox’s iOS app is 270 MB— it’s 35% localization files. These files are duplicated from the main app into 7 different app extensions and they all include comments that provide translators with context for the strings. Just removing these comments from the production app could save 46 MB. eBay ( https://ift.tt/3pMD9bQ ) This is an interesting architecture because although the main app’s executable is only ~150 KB, 86% of the app’s size comes from executables, the biggest one (32 MB) being EbayApp.framework. When building a Swift framework, the binary contains symbols which are not needed in the build uploaded to the App Store. These symbols can be stripped using the method described in our docs [2]. Stripping binary symbols would reduce Ebay’s app size by over 40%. Emerge can generate a script to add to your Xcode build phase to strip symbols for you. Spark ( https://ift.tt/3jdA5De ) About 1/10th of Spark’s ~230 MB app is font files. 10 MB of those font files are duplicates found in an app extension. After a closer look, the fonts duplicated are all SF-Pro-Text, look familiar? These have been system fonts since iOS 11 (the minimum version for Spark). If the system font was used directly, 10% of the whole app could be deleted! If you want to dive in a bit deeper you can check out our Medium post which goes into detail on some other popular apps [3]. Our analysis consistently shows that without guardrails in place, app size can get out of hand very quickly. Emerge wants to help developers reduce their size and keep it that way. Our continuous monitoring and binary size profiling prevents regressions by alerting developers of size changes in their pull requests, helping teams build better, smaller apps. We offer a free Growth plan designed for independent developers and small startups. Our paid plans start at $499/month, you can view more details here: https://ift.tt/3cyUVM5 . If app size has come up in your development process, we’d love to hear about how you handled it. We’re always looking to improve and grow our product and we’re especially excited to hear feedback from the HN community! Thanks, Noah + Josh [1] https://ift.tt/3pMk5dN [2] https://ift.tt/3pGJIg6 [3] https://ift.tt/3czHkUM... February 3, 2021 at 08:33PM

Show HN: Haven, self-host a private blog instead of using Facebook https://ift.tt/2O1ZZym

Show HN: Haven, self-host a private blog instead of using Facebook https://havenweb.org/ February 3, 2021 at 07:43PM

Show HN: KeeNotes - a Privacy-First Personal Knowledgebase Tool https://ift.tt/3rjuuy8

Show HN: KeeNotes - a Privacy-First Personal Knowledgebase Tool https://ift.tt/2YFcYYN February 3, 2021 at 06:31PM

Show HN: A frictionless checkout that makes any product link shoppable https://ift.tt/36AYkX2

Show HN: A frictionless checkout that makes any product link shoppable https://heartface.co February 3, 2021 at 06:15PM

Show HN: Hacker News-ish stock news, from 40+ sources https://ift.tt/3qb4Agp

Show HN: Hacker News-ish stock news, from 40+ sources https://ift.tt/3qb4Agp Show HN: Hacker News-ish stock news, from 40+ sources https://...