{"adoption": {"forks": 653, "observed_at": "2026-08-28T04:09:21.719521+00:00", "stars": 5502}, "canonical_url": "https://ross.abutalabs.com/products/popping", "card": {"archived": false, "artifact_type": "learning-resource", "description": "A collection of animation examples for iOS apps.", "domain": ["mobile-development", "web-design", "tutorials"], "enriched": true, "function": ["animation"], "health_score": 20, "homepage": null, "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["schneiderandre/popping"], "name": "schneiderandre/popping", "platform": [], "pushed_at": "2017-07-05T11:58:47+00:00", "repo": "schneiderandre/popping", "stars": 5502, "tags": ["ios-animations", "facebook-pop", "objective-c", "example-code", "ui-transitions", "ios", "mobile"], "topics": ["animation", "pop", "objective-c", "transition-animation"], "urls": [], "use_cases": ["learn how to animate iOS UI elements with Facebook Pop", "find examples of spring and decay animations for iOS", "implement folding and transition animations in an iPhone app", "get inspiration for delightful mobile UI animations", "study Objective-C animation code samples", "explore view transition animation techniques for iOS"], "what_it_is": "A collection of iOS animation examples built mostly with Facebook's Pop animation engine, written in Objective-C. It serves as an inspirational showcase demonstrating spring, decay, and transition animations for delighting app users.", "when_to_avoid": ["you need a production-ready animation library to add via CocoaPods (it is an example app, not a library)", "your project is in Swift and you want modern Swift animation APIs", "you need actively maintained code - the last release was in 2017"], "when_to_choose": ["you are building an iOS app in Objective-C and want ready-made animation examples", "you want to learn the Facebook Pop animation engine through working demos", "you need visual inspiration for polished mobile UI transitions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/popping", "repo": "schneiderandre/popping", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:56:17.849395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21aede816d50b5676db871cf6d9aab9f3639ca4399b05f141501f77879e0bb10", "fetched_at": "2026-08-28T04:09:21.719521+00:00", "kind": "readme", "missing": false, "url": "https://github.com/schneiderandre/popping"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:56:17.849395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21aede816d50b5676db871cf6d9aab9f3639ca4399b05f141501f77879e0bb10", "fetched_at": "2026-08-28T04:09:21.719521+00:00", "kind": "readme", "missing": false, "url": "https://github.com/schneiderandre/popping"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:56:17.849395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21aede816d50b5676db871cf6d9aab9f3639ca4399b05f141501f77879e0bb10", "fetched_at": "2026-08-28T04:09:21.719521+00:00", "kind": "readme", "missing": false, "url": "https://github.com/schneiderandre/popping"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:56:17.849395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21aede816d50b5676db871cf6d9aab9f3639ca4399b05f141501f77879e0bb10", "fetched_at": "2026-08-28T04:09:21.719521+00:00", "kind": "readme", "missing": false, "url": "https://github.com/schneiderandre/popping"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:56:17.849395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21aede816d50b5676db871cf6d9aab9f3639ca4399b05f141501f77879e0bb10", "fetched_at": "2026-08-28T04:09:21.719521+00:00", "kind": "readme", "missing": false, "url": "https://github.com/schneiderandre/popping"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:56:17.849395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21aede816d50b5676db871cf6d9aab9f3639ca4399b05f141501f77879e0bb10", "fetched_at": "2026-08-28T04:09:21.719521+00:00", "kind": "readme", "missing": false, "url": "https://github.com/schneiderandre/popping"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:21.719521+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:56:17.849395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21aede816d50b5676db871cf6d9aab9f3639ca4399b05f141501f77879e0bb10", "fetched_at": "2026-08-28T04:09:21.719521+00:00", "kind": "readme", "missing": false, "url": "https://github.com/schneiderandre/popping"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:56:17.849395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21aede816d50b5676db871cf6d9aab9f3639ca4399b05f141501f77879e0bb10", "fetched_at": "2026-08-28T04:09:21.719521+00:00", "kind": "readme", "missing": false, "url": "https://github.com/schneiderandre/popping"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:56:17.849395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21aede816d50b5676db871cf6d9aab9f3639ca4399b05f141501f77879e0bb10", "fetched_at": "2026-08-28T04:09:21.719521+00:00", "kind": "readme", "missing": false, "url": "https://github.com/schneiderandre/popping"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:56:17.849395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21aede816d50b5676db871cf6d9aab9f3639ca4399b05f141501f77879e0bb10", "fetched_at": "2026-08-28T04:09:21.719521+00:00", "kind": "readme", "missing": false, "url": "https://github.com/schneiderandre/popping"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4481, "days_push": 3346, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}