{"id":48278,"date":"2025-06-30T15:01:10","date_gmt":"2025-06-30T19:01:10","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=48278"},"modified":"2025-06-30T15:01:10","modified_gmt":"2025-06-30T19:01:10","slug":"technotes-safari-extension","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2025\/06\/30\/technotes-safari-extension\/","title":{"rendered":"Technotes Safari Extension"},"content":{"rendered":"<p><a href=\"https:\/\/zhenyi.gibber.blog\/technotes\">Zhenyi Tan<\/a> (via <a href=\"https:\/\/x.com\/Freerunnering\/status\/1936238479425388852\">Kyle Howells<\/a>):<\/p>\n<blockquote cite=\"https:\/\/zhenyi.gibber.blog\/technotes\"><p>A few months ago, I posted <a href=\"https:\/\/mastodon.social\/@zhenyi\/114234401089928143\">this image<\/a> on Mastodon, because the <a href=\"https:\/\/developer.apple.com\/documentation\/\">Apple documentation website<\/a> sometimes feel&#8230; err, underwhelming. <a href=\"https:\/\/www.caseyliss.com\/2020\/11\/10\/on-apples-pisspoor-documentation\">Many<\/a> people <a href=\"https:\/\/mjtsai.com\/blog\/2019\/05\/20\/the-state-of-apples-developer-documentation\/\">have<\/a> already <a href=\"https:\/\/www.hackingwithswift.com\/articles\/231\/reimagining-apples-documentation\">pointed<\/a> this <a href=\"https:\/\/v4.chriskrycho.com\/2019\/apple-your-developer-documentation-is-garbage.html\">out<\/a>, so I won&rsquo;t <a href=\"https:\/\/www.amimetic.co.uk\/blog\/a-concrete-example-of-why-apples-docs-are-terrible\">repeat<\/a> their <a href=\"https:\/\/bynkiidotcom.wordpress.com\/2023\/10\/14\/an-example-of-why-i-think-apples-developer-documentation-sucks\/\">complaints<\/a>. When people complain about Apple&rsquo;s documentation, they often <a href=\"https:\/\/mjtsai.com\/blog\/2025\/04\/09\/soured\/#comment-4247732\">compare<\/a> it to php.net, <a href=\"https:\/\/overcast.fm\/+FgnZrLGbQ\/3:44\">saying<\/a> that php.net has sample code for almost every function and community notes that explain details when the code alone isn&rsquo;t enough.<\/p><p>So I thought, what if we just make Apple&rsquo;s documentation more like php.net? I posted the <a href=\"https:\/\/mastodon.social\/@zhenyi\/114234967407258912\">question<\/a> on Mastodon, but not many people were interested. <em>Oh no! Anyway<\/em>, two months later, I decided to <a href=\"https:\/\/mastodon.social\/@zhenyi\/114574727345599697\">give it a shot<\/a> because I still thought the idea was good enough to try. I then called it <strong>Technotes<\/strong>.<\/p><p><a href=\"https:\/\/technotesapp.com\">Technotes<\/a> is a Safari extension that adds user-contributed notes to the Apple documentation website. The notes can include sample code, warnings about common pitfalls, and other useful stuff.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Zhenyi Tan (via Kyle Howells): A few months ago, I posted this image on Mastodon, because the Apple documentation website sometimes feel&#8230; err, underwhelming. Many people have already pointed this out, so I won&rsquo;t repeat their complaints. When people complain about Apple&rsquo;s documentation, they often compare it to php.net, saying that php.net has sample code [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2025-06-30T19:01:14Z","apple_news_api_id":"ca3a58c4-768d-4f96-b587-97f22c62be56","apple_news_api_modified_at":"2025-06-30T19:01:14Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/AyjpYxHaNT5a1h5fyLGK-Vg","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[75,164,30,32,2598,71,2246,96],"class_list":["post-48278","post","type-post","status-publish","format-standard","hentry","category-technology","tag-developertool","tag-documentation","tag-mac","tag-macapp","tag-macos-15-sequoia","tag-programming","tag-safari-extensions","tag-web"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/48278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=48278"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/48278\/revisions"}],"predecessor-version":[{"id":48279,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/48278\/revisions\/48279"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=48278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=48278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=48278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}