- Ingemar Ragnemalm
- Medlem ●
- Linköping
...hittills. Och så länge det är så så borde väldigt många grejer som egentligen är förbjudna gå igenom.
99% av alla iPhone-apps använder bara helt grundläggande API:er, har inget behov av multitasking/asynkronicitet etc. etc. och skulle kunna byggas med vilket språk som helst och de utnyttjar överhuvudtaget inget plattformsspecifikt lull-lull.
Prova tillämpa samma argument på webben för jämförelse "Vi vill bara använda våra egna tekniker, och alla måste skriva om webbsidorna helt och hållet för varje ny plattform"
Den här videon visar vad är tekniskt möjligt.
YouTube - One App, Five Screens
För utvecklare är det där inte så lite coolt...
Daniel Eran Dilger (som jag numera tycker är väl subjektiv) har skrivit lite mer om Adobe och Apple:
Chronicles of Conflict: the History of Adobe vs. Apple — RoughlyDrafted Magazine
Det är ju mer underhållning än något annat, så att det är rätt många faktafel må väl vara hänt.
Det jag förundras över är att folk behöver ha såna här "Steve vs. Adobe"-scenarior som förklaring. Både Adobe och Apple är aktiebolag och drivs primärt av lönsamhet. Det gör att de samarbetar när det passar, vilket är för det mesta, och konkurrerar när det passar. I det här fallet är inte ens Adobe konkurrenter, men det Adobe gör är mer gynnsamt för Apples konkurrenter än för Apple, alltså hamnar de produkterna och teknologierna bland det Apple vill motverka. Det är ju bara logiskt.
Steve Jobs är ju inget dumhuvud som fattar såna här beslut för att de fick betala royalties på 80-talet. De här besluten handlar om nuet och framtiden på mobilmarknaden.
Adobe-fansen säger "Adobe borde lägga ner Creative Suite för Mac, så Apple lär sig" men de fattar inte att Adobe också baserar sina beslut på vad de tjänar pengar på, och det är att stödja Mac OS X, så något sånt kommer inte att hända (tvärtom har Adobe släppt en uppsjö nya program för Mac OS X senaste åren)
Flash Player och Adobe AIR är "road kill" för Apple – något som händer på vägen till deras mål –.inte målet i sig självt.
Adobe-fansen säger "Adobe borde lägga ner Creative Suite för Mac, så Apple lär sig" men de fattar inte att Adobe också baserar sina beslut på vad de tjänar pengar på, och det är att stödja Mac OS X, så något sånt kommer inte att hända (tvärtom har Adobe släppt en uppsjö nya program för Mac OS X senaste åren)
Flash Player och Adobe AIR är "road kill" för Apple – något som händer på vägen till deras mål –.inte målet i sig självt.
Det känns ju bra iaf, att man kan avfärda de tankarna.
Väl skrivet.
Nu faller detta helt utanför vad jag själv har kunskap om, men jag läste på något annat diskussionsforum att det i själva verket är ganska lätt att se om verktyg använts, pga av att alla kompilatorer infogar (avsiktligt eller oavsiktligt) signaturer som är unika och som kan identifieras genom att scanna binärkoden. Ett flertal konkreta exempel gavs.
Nu faller detta helt utanför vad jag själv har kunskap om, men jag läste på något annat diskussionsforum att det i själva verket är ganska lätt att se om verktyg använts, pga av att alla kompilatorer infogar (avsiktligt eller oavsiktligt) signaturer som är unika och som kan identifieras genom att scanna binärkoden. Ett flertal konkreta exempel gavs.
Lätt enbart om man inte strippar bort de där symbolerna, vilket är tämligen normalt. Och är det gjort så kan man bara identifiera på mönster i maskinkoden, och det tycker jag låter väldigt svårt.
Lätt enbart om man inte strippar bort de där symbolerna, vilket är tämligen normalt. Och är det gjort så kan man bara identifiera på mönster i maskinkoden, och det tycker jag låter väldigt svårt.
Program skrivna i Objective-C är ju väldigt lätta att inspektera både statiskt och dynamiskt även om alla symboler är strippade, så de är i princip triviala att ta hand om.
Betr. C / C++ program kanske de ganska lätt kan identifiera vilka libraries som finns inlänkade, och från det är steget inte jättelångt till att identifiera "främmande" run-times.
Sammantaget tror jag inte att de tekniska hindren för Apple är oöverstigliga, så även om man kunde med att ljuga när man skickar in en app så är det en stor risk att man blir refuserad om man använder t.ex. ett Flash->iPhone-verktyg.
Program skrivna i Objective-C är ju väldigt lätta att inspektera både statiskt och dynamiskt även om alla symboler är strippade, så de är i princip triviala att ta hand om.
Ja, man kan ju söka efter selectors. Men vad skall man med dem till? Det är ju tillåtna saker. Och om man hittar en okänd selector, vad spelar det för roll? Visserligen är det närapå förbjudet att subklassa längre med de nya reglerna (det är ju första steget till ett privat API), men så löjliga tänker de så klart inte vara.
Betr. C / C++ program kanske de ganska lätt kan identifiera vilka libraries som finns inlänkade, och från det är steget inte jättelångt till att identifiera "främmande" run-times.
Är det? Hur då? Hur ser du skillnaden på kod som länkats in via ett statiskt bibliotek eller kompilerats direkt? Och ett mellanlager kan vara helt i inlänkad källkod.
Sammantaget tror jag inte att de tekniska hindren för Apple är oöverstigliga, så även om man kunde med att ljuga när man skickar in en app så är det en stor risk att man blir refuserad om man använder t.ex. ett Flash->iPhone-verktyg.
Jag hoppas och tror att de tekniska hindren tvärtom är oöverstigliga, så att Apple tvingas refusera på kvalitet och inte på hur man kodar.
Men, hur många vill lura Apple och bryta mot licensvillkoren bara för att det kanske är tekniskt svårt för Apple att bevisa hur programmet är skrivet?
Här kommer istället en (för mig) helt ny teori om det starkaste skälet till Apples regler:
The Genius in Apple's Vertical Platform - steve's blog
Men, hur många vill lura Apple och bryta mot licensvillkoren bara för att det kanske är tekniskt svårt för Apple att bevisa hur programmet är skrivet?
Vänd på det där: Kommer Apple att stoppa välskrivna apps bara för att de upptäcker att de är utvecklade med verktyg, mellanlager och programmeringstekniker som de inte godkänt?
Intressant teori.
Personligen tror jag inte det är EN faktor som ligger bakom beslutet, utan många, och exakt hur de ska viktas vet jag inte (och bryr mig egentligen inte heller). Det är konsekvenserna som är de intressanta.
Det tror jag nog att de kommer, när de finner skäl att göra det.
Grejen är väl den att man som utvecklare inte har lust att lägga en massa tid på ett projekt och sedan inte veta om den blir antagen (eller senare borttagen) pga av att man valt fel verktyg.
Storföretagen brukar vara ganska petiga med IP, och extra viktigt är det om dom som bryter mot reglerna stoltserar med det. Om Apple inte skulle bevaka sina intressen kan det skapa ett för Apple jobbigt prejudikat på att Apples regler är nåt man får bryta mot.
Kanske kommer en enskild utvecklare vilja ta risken att bryta mot Apples regler, men vilka större företag med stora utvecklingsbudgetar skulle vilja plöja ner miljoner i ett projekt som bryter mot Apples regler, och därmed riskerar att inte bli kunna säljas?
Senaste nytt i 3.3.1-affären:
Apple has become microsoft - The Inquirer
"The Federal Trade Commission (FTC) is considering an inquiry into whether Apple violates antitrust law by requiring that only its own programming tools may be used to write applications for the Ipad and Iphone."
Antitrustapparaten har gått igång mot 3.3.1! Inte en dag för tidigt! Den måste stoppas! Hoppas att det där skakar om Apple tillräckligt för att backa och skriva om paragrafen.
Tycker inte att monopol kan komma på tal här. Man vill väl bara hålla standarden uppe på sin plattform och förhindra att välskrivna bra applikationer inte drunknar i fis appar som någon har slängt ihop med flash. Appar som dessutom inte följer Apples "look and feel" och mer liknar web applikationer.
Det är väl ingen skillnad på vad apple gör här och vad tex Sony eller Nintendo eller microsoft gör för xbox. Skillnaden är att Apples verktyg är gratis.
Tycker inte att monopol kan komma på tal här. Man vill väl bara hålla standarden uppe på sin plattform och förhindra att välskrivna bra applikationer inte drunknar i fis appar som någon har slängt ihop med flash. Appar som dessutom inte följer Apples "look and feel" och mer liknar web applikationer.
Det är väl ingen skillnad på vad apple gör här och vad tex Sony eller Nintendo eller microsoft gör för xbox. Skillnaden är att Apples verktyg är gratis.
Men majoriteten av programmen i AppStore är ju "fis-appar", utan att vara gjorda i Flash. Som du säkert vet kan man göra program i HTML/JavaScript, så alla som kan göra en dålig webbsida kan också göra ett dåligt iPhone-program (inte fullt så enkelt men nästan). Argumentet om att det skulle borga för hög kvalitet har spruckit redan innan det framfördes – AppStore fylls redan till bredden av skitprogram.
Tycker inte att monopol kan komma på tal här. Man vill väl bara hålla standarden uppe på sin plattform och förhindra att välskrivna bra applikationer inte drunknar i fis appar som någon har slängt ihop med flash. Appar som dessutom inte följer Apples "look and feel" och mer liknar web applikationer.
Det är väl ingen skillnad på vad apple gör här och vad tex Sony eller Nintendo eller microsoft gör för xbox. Skillnaden är att Apples verktyg är gratis.
Jämför hellre med Internet Explorer. Den kostade inte heller något extra, men den var ett klart antitrustfall som MS fick mycket skit för. Ändå var det möjligt och tillåtet att använda alternativ. Apple har gjort liknande saker (både med iTunes och Xcode).
Men Apple försöker förbjuda bort allt var avvikare och tredjepartsinnovation heter. Och ur den synvinkeln ligger Apple riktigt risigt till. Nu nöjer de sig inte med att ge bort sin lösning gratis, utan tar till paragrafer. Klart det är en stor grej.
Senaste nytt i 3.3.1-affären:
Apple has become microsoft - The Inquirer
"The Federal Trade Commission (FTC) is considering an inquiry into whether Apple violates antitrust law by requiring that only its own programming tools may be used to write applications for the Ipad and Iphone."
Antitrustapparaten har gått igång mot 3.3.1! Inte en dag för tidigt! Den måste stoppas! Hoppas att det där skakar om Apple tillräckligt för att backa och skriva om paragrafen.
Jisses vad du går på, tänk på hjärtat Ingemar .....
Själv känner jag, jasså? jaha, de tänker så. är det här ngt starta världskrig om ?
Jisses vad du går på, tänk på hjärtat Ingemar .....
Själv känner jag, jasså? jaha, de tänker så. är det här ngt starta världskrig om ?
Nej det är det verkligen inte. De flesta konsumenter kommer att välja den telefon de tycker bäst om och även om Apple har lyckats bra så är ju de andra telefontillverkarna inga amatörer precis så det där ger sig nog med tiden.
Som konsument är jag mindre brydd men som utvecklare tycker jag det är trist, ingen katastrof, men trist, att begränsas av val som är "politiska" snarare än tekniska.
Jag och ett par andra utvecklar sitter just i dagarna och skriver en programsuite där 95% av koden är plattformsoberoende (PHP+Flash+Java+ExtenScript/JavaScript) och där 5% dessvärre måste göras i plattformsberoende språk, så de senaste dagarna har jag suttit bl.a. i VisualStudio (som jag tycker är världens bästa IDE, så just den delen bär mig inte emot) och knackat kod.
Förutom att det tar tid och fördyrar projektet så är det också de plattformsspecifika delarna som det är svårast att kvalitetssäkra, eftersom varje miljö har sina specifika "quirks" och det är mycket sånt man slipper om man kan hålla sig på en högre abstraktionsnivå och använda crossplatform-ramverk.
Några gånger tidigare har jag gjort program med två olika kodbaser och två olika språk och det är tamigfan närmast en tortyr och det leder nästan alltid till att man måste försumma den ena miljön
Angående 3dje parts api
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
När jag läser detta nu ser jag att man inte menar att man vill förhindra utomstående api. Första meningen säger ju bara att man bara får använda de dokumenterade apierna på det sätt som de är avsedda och inte anropa Apples privata api.
Sedan kommer språkdelen, bara dessa språk får länka mot de dokumenterade apierna, dvs man får inte använda andra språk för att länka in mot dom.
Jag håller helt och fullt med Ingemar här. Bra att de sätts under luppen. Tycker man inte det är något att starta världskrig om kan man ju helt sonika låta bli att läsa den här tråden framöver.
Jag tänker fortsätta läsa, och ha åsikten att det inte är världens undergång.
Tycker hela stilen med att det är Lede Satan som är lös är att ta i.
Jo man kan väl undersöka saken, och det verkar det ju som om man kommer göra nu också. Jag fick dock först uppfattningen att detta även rörde 3dje parts api'n så när jag kom underfund med att det inte gjorde det kändes det inte så farligt i jämförelse. Kanske även beroende på att jag inte har något direkt investerat i .NET eller Flash eller liknande.
Vad man säger är ju egentligen, vill ni utveckla för våra iPhone os prylar måste ni använda våra gratis verktyg. Det kan man väl bemöda sig med, annars finns ju gott om andra mobil plattformar att satsa på.
Jo man kan väl undersöka saken, och det verkar det ju som om man kommer göra nu också. Jag fick dock först uppfattningen att detta även rörde 3dje parts api'n så när jag kom underfund med att det inte gjorde det kändes det inte så farligt i jämförelse. Kanske även beroende på att jag inte har något direkt investerat i .NET eller Flash eller liknande.
Vad man säger är ju egentligen, vill ni utveckla för våra iPhone os prylar måste ni använda våra gratis verktyg. Det kan man väl bemöda sig med, annars finns ju gott om andra mobil plattformar att satsa på.
Det är helt ointressant om utvecklingsverktyget är gratis. Ett program kostar några tusenlappar, dvs. mindre än vad en dag av en programmerares tid kostar.
Den ackumulerade kunskap som en utvecklare har i sitt huvud är resultatet av många tusen timmars arbete, och de ANDRA språk/frameworks etc. man eventuellt vill kunna använda har likaså tusentals timmar av investerat arbete, och pengar, bakom sig.
De investeringarna blir då om inte helt obrukbara så åtminstone mindre användbara, och de som förlorar mest på det (förutom utvecklarna) är slutkunderna, eftersom hela syftet är att begränsa konkurrensen.
Men helt ointressant är det inte, jag tänkte mest på hur Sony gör för playstation till exempel. Det är ju knappast så att man kan utveckla för ps3 som privat person. Samma med Nintendo om jag inte misstar mig.
Jag är införstådd med att det kanske är en besvikelse för den som har hoppats på att utveckla för iPhone OS och använda .NET. Men jag tycker att det öppna brev som jobs skrev beskriver anledningen väl. Man vill inte att funktionaliteten i sina produkter skall vara beroende utav vilka funktioner t.ex flash har. Dessutom kan det ju bli klumpigt och långsamt.
Men helt ointressant är det inte, jag tänkte mest på hur Sony gör för playstation till exempel. Det är ju knappast så att man kan utveckla för ps3 som privat person. Samma med Nintendo om jag inte misstar mig.
Jag är införstådd med att det kanske är en besvikelse för den som har hoppats på att utveckla för iPhone OS och använda .NET. Men jag tycker att det öppna brev som jobs skrev beskriver anledningen väl. Man vill inte att funktionaliteten i sina produkter skall vara beroende utav vilka funktioner t.ex flash har. Dessutom kan det ju bli klumpigt och långsamt.
Alla de orsaker som Jobs räknar upp är såklart viktiga delar av förklaringen, men utöver det finns det andra skäl. Apple har ju alltid tillåtit utvecklare för Mac OS X att utveckla med vilka språk som helst och förlitat sig på att användarna själva kan avgöra vilka program som är bra, och det har varit en stor framgång för dem, eftersom de där haft en så liten marknadsandel och därför varit tvungen att attrahera och lyssna på vad utvecklare vill.
För iPhone OS så är läget annorlunda, där har de uppnått en dominerande ställning (märk väl, helt utan såna begränsningar som de nu infört) och i det läget så är det inte konstigt att de vill försöka låsa in utvecklarna – det är precis samma strategi som Microsoft försökte köra (men de gjorde det med långt mindre osympatiska medel anser jag personligen).
Min tro är att det här egentligen är riktat mot andra spelare, framför allt Google m Android. Steve Jobs sa ju "We did not enter the search business. They entered the phone business." och "Make no mistake: Google wants to kill the iPhone. We won’t let them."
Lyckligtvis tror jag att Apple kommer att förlora den striden. Jag älskar många av Apples produkter, men det är förmodligen det företag jag minst av alla skulle vilja se i en monopol-situation.
Jag som gillar Apple och iPhone och vill att produktutvecklingen skall gå framåt, och priserna ändå pressas tror faktiskt att det vore bäst för mig om Apple faktisk blev utsatt för riktig konkurrens eller nån typ av juridisk motgång. Det har funnit tider då Apple har varit desperat behov av att sälja mer/tjäna mera pengar. Så är inte fallet nu... Så, jag tror att nästa generations iPhone kommer bli bättre/billigare om Apple får mera motstånd. Att te x hånskratta åt att HTC-mobiler har enstaka problem tror jag är kontraproduktivt... Konkurrenterna behöver bli bättre - för att göra Apple bättre/billigare - annars riskerar Apple på iPad/iPhone-sidan att få mer och mer MS-tendenser.
Motivet är (i min tolkning) att Apple vill inte hamna i en liknande "gisslan-situation" som dom hamnade med Carbon teknologin under övergången till OSX, och sen igen i övergången till Intel.
Dom höll på att hamna i samma läge i med CoreAudio tekniken, där dom löste det genom att köpa Logic/Emagic.
Risken dom har är att en sk. "middleware" produkt som t.ex. Flash blir så dominerande att, säg 20-30% av applikationerna på iPhone/iPad är baserad på den, inklusive några "killer Application".
När sen Apple kommer med nya OS versioner, ny hårdvara m.m. så ligger plötsligt det i händerna på en 3'e part att kunna säga... "Nej, vi kommer inte att stödja version X/hårdvara Y förrän tidigast nästa vecka/månad/år/aldrig".
Och helt plötsligt kan Apple tvingas att underhålla flera linjer av OS/Hårdvara pga. av att annars slutar många/viktiga/populära applikationer att fungera, och det ligger inte i Apples primära fokus på att för slutanvändaren ska det "bara fungera".
När dessutom den här typen av "Middleware" uppmuntrar utvecklare att producera applikationer som uppfyller minsta gemensamma nämnare, dvs. applikationen kommer att fungera likadant på alla olika plattformar och inte stödja saker som är unik för en enskild plattform. Detta kommer att minska incitamentet att man ska skaffa en iPhone/iPad eftersom "programmen fungerar ju lika bra på min Andriod/Nokia/Ericsson"...
Det här tror jag är dom viktigaste argumenten till dom nya licensvillkoren.