{"id":1923,"date":"2009-10-10T18:03:40","date_gmt":"2009-10-11T01:03:40","guid":{"rendered":"http:\/\/multimedia.cx\/eggs\/?p=1923"},"modified":"2009-10-10T21:40:53","modified_gmt":"2009-10-11T04:40:53","slug":"iphone-developments","status":"publish","type":"post","link":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/","title":{"rendered":"iPhone Developments"},"content":{"rendered":"<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/History_of_compiler_writing\">Wikipedia&#8217;s knowledge of compilers<\/a> credits the first compiler to Grace Hopper in 1952 (for a language called A-0). I suspect that if blogs existed in 1952, we would have been treated to rants such as:<\/p>\n<blockquote><p>\nI, personally, have a problem with a developer who feels entitled to be able to develop for a computer without investing the time to learn the machine opcodes or punch card formats that the machine was built around.\n<\/p><\/blockquote>\n<p>This is <a href=\"http:\/\/iphonedevelopment.blogspot.com\/2009\/10\/sue-me-i-think-developers-should-care.html\">one of the arguments I have been hearing<\/a> this past week after <a href=\"http:\/\/eon.businesswire.com\/portal\/site\/eon\/permalink\/?ndmViewId=news_view&#038;newsId=20091005006358&#038;newsLang=en\">my employer announced<\/a> an upcoming method for exporting Flash\/AS3 projects as iPhone apps. It strikes me as an age-old argument between low vs. high level languages, that&#8217;s all. I chortle when recalling how certain people urged me to construct the <a href=\"http:\/\/fate.multimedia.cx\/\">FATE<\/a> system in POSIX-complaint, ANSI C for maximum portability and speed instead of using a language like Python. Nowadays, that Python code is testing <a href=\"http:\/\/ffmpeg.org\/\">FFmpeg<\/a> on <a href=\"http:\/\/multimedia.cx\/eggs\/13-architectures\/\">a dozen different CPUs running 10 different operating systems<\/a>. It makes me shudder to think of how much work it would have been to write <a href=\"http:\/\/fate.multimedia.cx\/running.html\">the FATE script<\/a> in straight C and how little benefit doing so would have brought.<\/p>\n<p>In other groundbreaking iPhone news, <a href=\"http:\/\/lists.mplayerhq.hu\/pipermail\/ffmpeg-devel\/2009-October\/076618.html\">Mans recently announced that FFmpeg can be built for the iPhone out of the SVN tree<\/a> with only a minor modification to Apple&#8217;s iPhone toolchain <em>(call the SDK police!)<\/em>. This is a feat that has thus far proved challenging, <a href=\"http:\/\/hardwarebug.org\/2009\/01\/28\/rotten-apple\/\">as Mans outlined here<\/a>. I understand it will be a little difficult to continuously test FFmpeg on either a real iPhone or an emulator. However, I&#8217;m planning a revision to FATE&#8217;s architecture so that certain configurations can be marked &#8220;build-only&#8221; and forgo the test phase. This will also be useful for Hitachi SH-4 and perhaps other architectures that FFmpeg supports but for which we don&#8217;t have access to hardware for the sake of continuous testing.<\/p>\n<p>Whenever the notion of compiling and running FFmpeg on the iPhone crops up, it prompts me to wonder why. Why do people care about this? Are they transcoding media on the iPhone? Are they republishing old games and using FFmpeg&#8217;s numerous game-oriented decoders for direct playback instead of doing the sensible thing and transcoding the original media to MP4\/CAF\/H.264\/AAC for native playback through the platform&#8217;s frameworks and hardware acceleration? Is it just a point of academic curiosity thanks to the fact that FFmpeg is quickly becoming a standardized metric of compiler quality? <em>Why?<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>iPhone stuff<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[101],"tags":[],"class_list":["post-1923","post","type-post","status-publish","format-standard","hentry","category-fate-server"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"iPhone stuff\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Multimedia Mike\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/multimedia.cx\/eggs\/iphone-developments\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Breaking Eggs And Making Omelettes | Topics On Multimedia Technology and Reverse Engineering\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"iPhone Developments | Breaking Eggs And Making Omelettes\" \/>\n\t\t<meta property=\"og:description\" content=\"iPhone stuff\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/multimedia.cx\/eggs\/iphone-developments\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2009-10-11T01:03:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2009-10-11T04:40:53+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"iPhone Developments | Breaking Eggs And Making Omelettes\" \/>\n\t\t<meta name=\"twitter:description\" content=\"iPhone stuff\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/iphone-developments\\\/#article\",\"name\":\"iPhone Developments | Breaking Eggs And Making Omelettes\",\"headline\":\"iPhone Developments\",\"author\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/author\\\/multimedia-mike\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#organization\"},\"datePublished\":\"2009-10-10T18:03:40-07:00\",\"dateModified\":\"2009-10-10T21:40:53-07:00\",\"inLanguage\":\"en-US\",\"commentCount\":4,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/iphone-developments\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/iphone-developments\\\/#webpage\"},\"articleSection\":\"FATE Server\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/iphone-developments\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/fate-server\\\/#listItem\",\"name\":\"FATE Server\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/fate-server\\\/#listItem\",\"position\":2,\"name\":\"FATE Server\",\"item\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/fate-server\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/iphone-developments\\\/#listItem\",\"name\":\"iPhone Developments\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/iphone-developments\\\/#listItem\",\"position\":3,\"name\":\"iPhone Developments\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/fate-server\\\/#listItem\",\"name\":\"FATE Server\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#organization\",\"name\":\"Breaking Eggs And Making Omelettes\",\"description\":\"Topics On Multimedia Technology and Reverse Engineering\",\"url\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/author\\\/multimedia-mike\\\/#author\",\"url\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/author\\\/multimedia-mike\\\/\",\"name\":\"Multimedia Mike\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/iphone-developments\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2eb93f7cada658f7986b5092062849fa255779eada3342c8f6b9a40764b95fdd?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Multimedia Mike\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/iphone-developments\\\/#webpage\",\"url\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/iphone-developments\\\/\",\"name\":\"iPhone Developments | Breaking Eggs And Making Omelettes\",\"description\":\"iPhone stuff\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/iphone-developments\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/author\\\/multimedia-mike\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/author\\\/multimedia-mike\\\/#author\"},\"datePublished\":\"2009-10-10T18:03:40-07:00\",\"dateModified\":\"2009-10-10T21:40:53-07:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#website\",\"url\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/\",\"name\":\"Breaking Eggs And Making Omelettes\",\"description\":\"Topics On Multimedia Technology and Reverse Engineering\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"iPhone Developments | Breaking Eggs And Making Omelettes","description":"iPhone stuff","canonical_url":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/#article","name":"iPhone Developments | Breaking Eggs And Making Omelettes","headline":"iPhone Developments","author":{"@id":"https:\/\/multimedia.cx\/eggs\/author\/multimedia-mike\/#author"},"publisher":{"@id":"https:\/\/multimedia.cx\/eggs\/#organization"},"datePublished":"2009-10-10T18:03:40-07:00","dateModified":"2009-10-10T21:40:53-07:00","inLanguage":"en-US","commentCount":4,"mainEntityOfPage":{"@id":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/#webpage"},"isPartOf":{"@id":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/#webpage"},"articleSection":"FATE Server"},{"@type":"BreadcrumbList","@id":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/#listItem","position":1,"name":"Home","item":"https:\/\/multimedia.cx\/eggs\/","nextItem":{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/category\/fate-server\/#listItem","name":"FATE Server"}},{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/category\/fate-server\/#listItem","position":2,"name":"FATE Server","item":"https:\/\/multimedia.cx\/eggs\/category\/fate-server\/","nextItem":{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/#listItem","name":"iPhone Developments"},"previousItem":{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/#listItem","position":3,"name":"iPhone Developments","previousItem":{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/category\/fate-server\/#listItem","name":"FATE Server"}}]},{"@type":"Organization","@id":"https:\/\/multimedia.cx\/eggs\/#organization","name":"Breaking Eggs And Making Omelettes","description":"Topics On Multimedia Technology and Reverse Engineering","url":"https:\/\/multimedia.cx\/eggs\/"},{"@type":"Person","@id":"https:\/\/multimedia.cx\/eggs\/author\/multimedia-mike\/#author","url":"https:\/\/multimedia.cx\/eggs\/author\/multimedia-mike\/","name":"Multimedia Mike","image":{"@type":"ImageObject","@id":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/2eb93f7cada658f7986b5092062849fa255779eada3342c8f6b9a40764b95fdd?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Multimedia Mike"}},{"@type":"WebPage","@id":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/#webpage","url":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/","name":"iPhone Developments | Breaking Eggs And Making Omelettes","description":"iPhone stuff","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/multimedia.cx\/eggs\/#website"},"breadcrumb":{"@id":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/#breadcrumblist"},"author":{"@id":"https:\/\/multimedia.cx\/eggs\/author\/multimedia-mike\/#author"},"creator":{"@id":"https:\/\/multimedia.cx\/eggs\/author\/multimedia-mike\/#author"},"datePublished":"2009-10-10T18:03:40-07:00","dateModified":"2009-10-10T21:40:53-07:00"},{"@type":"WebSite","@id":"https:\/\/multimedia.cx\/eggs\/#website","url":"https:\/\/multimedia.cx\/eggs\/","name":"Breaking Eggs And Making Omelettes","description":"Topics On Multimedia Technology and Reverse Engineering","inLanguage":"en-US","publisher":{"@id":"https:\/\/multimedia.cx\/eggs\/#organization"}}]},"og:locale":"en_US","og:site_name":"Breaking Eggs And Making Omelettes | Topics On Multimedia Technology and Reverse Engineering","og:type":"article","og:title":"iPhone Developments | Breaking Eggs And Making Omelettes","og:description":"iPhone stuff","og:url":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/","article:published_time":"2009-10-11T01:03:40+00:00","article:modified_time":"2009-10-11T04:40:53+00:00","twitter:card":"summary","twitter:title":"iPhone Developments | Breaking Eggs And Making Omelettes","twitter:description":"iPhone stuff"},"aioseo_meta_data":{"post_id":"1923","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-31 22:01:17","updated":"2025-12-31 19:16:40","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/multimedia.cx\/eggs\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/multimedia.cx\/eggs\/category\/fate-server\/\" title=\"FATE Server\">FATE Server<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tiPhone Developments\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/multimedia.cx\/eggs\/"},{"label":"FATE Server","link":"https:\/\/multimedia.cx\/eggs\/category\/fate-server\/"},{"label":"iPhone Developments","link":"https:\/\/multimedia.cx\/eggs\/iphone-developments\/"}],"_links":{"self":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/1923","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/comments?post=1923"}],"version-history":[{"count":10,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/1923\/revisions"}],"predecessor-version":[{"id":1933,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/1923\/revisions\/1933"}],"wp:attachment":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/media?parent=1923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/categories?post=1923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/tags?post=1923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}