211service.com
En programmerare förklarar varför Android-appar är fula
Debatten om varför samma appar som finns tillgängliga på iOS är mindre snygga – och, utan tvekan mindre användbar – på Android har äntligen fått sin whistleblower.

Meebo IM-klient på Android (vänster) kontra iOS (höger)
Nikolai Sander, VD för EODSoft, skriver på bloggen Android Gripes , gav denna insiders perspektiv på hur Androids User Interface API fungerar:
Jag portade nyligen en av mina appar till Android-plattformen och blev chockad när jag lärde mig användargränssnittets API. Det är det sämsta UI-biblioteket jag någonsin har arbetat med (och jag har arbetat med en hel del)! Jag skulle till och med gå så långt som att kalla det amatörmässigt. Det ser ut som att det designats av minst 3 till 4 olika personer utan gemensamma designriktlinjer. Namnkonventionerna är inkonsekventa och den statiska karaktären av att deklarera gränssnittet i xml-filer kan fungera för webben men för ett dedikerat enhetsgränssnitt är det en mardröm. Detta tillsammans med fragmenteringen av enheter (främst olika upplösningar) är det nästan omöjligt att skapa ett snyggt användargränssnitt på Android-enheter.
Bortsett från sina söta logotyper med jultema, har Google aldrig varit känt för sin designkunniga. Faktum är att det helt datadrivna företaget verkar ha kringgått problemet på sin flaggskeppssida genom att undvika det till varje pris. Det har hållit företagets sökmotor fri från skräp, men sökning är fortfarande ett ganska enkelt designproblem på displaynivå. I Android skadar dock bristen på polish äntligen företaget: Bra design handlar inte bara om att göra saker estetiskt tilltalande, det handlar trots allt också om att göra dem funktionella.
Bortsett från: Androids misslyckande på den här avdelningen förklarar inte Apples framgång
För att förstå varför Apple är så bra på API:er för användargränssnitt behöver man bara titta på Apples långa, långa historia med att skapa ett API för en helt annan sorts operativsystem – OS X. Redan innan det fanns ett OS X, förr i tiden av System 6, 7, 8 och 9 arbetade Apple mycket hårt för att ge sina applikationsutvecklare en standarduppsättning verktyg för att göra allt från att visa fönster till att rendera knappar.
Faktum är att Apples nuvarande programmeringsgränssnitt för Cocoa-applikationer gör det enklare att bygga appar för OS X genom att automatisera delar av utvecklingen – precis så att varje app på en Mac följer Apples riktlinjer för mänskligt gränssnitt.
Det är här Steve Jobs fanatiska hängivenhet för användbarhet verkligen lyser. Å ena sidan är resultaten enhetliga. Det är som den gamla Model T - du kan få en iPhone eller OS X-app i vilken färg du vill, så länge den är svart - d.v.s. Jobs-godkänd.
Hanterar skärmar av alla möjliga storlekar
Naturligtvis är ett andra problem med utvecklingen för Android den galna mängden potentiella enhetsupplösningar. Medan iOS-appar bara behöver fungera i i princip två upplösningar - original iPhone och iPad / iPhone 4, måste Android-appar rymma många.
säger Sander:
Jag skulle inte skylla på utvecklarna eller formgivarna av apparna för det dåliga användargränssnittet. Trots allt skrev de flesta av dem iPhone-versionen först och de har säkert alla tillgångar (bitmappar etc.) tillgängliga men i de flesta fall antar jag att de blev så frustrerade över UI SDK på Android att de bestämde sig för att skapa en enklare i för att inte slösa bort för mycket tid. Jag vet att jag har. Att försöka få UI-utseendet rätt på Android-plattformen är en trial and error process och med test menar jag att du provar det på alla möjliga enhetsupplösningar och stöter mest på fel. På iPhone bygger du bara den i Interface Builder för 2 upplösningar (320x480 och retina, vilket är nästan identiskt med iPad) och du är klar.
Och här är hur alla dessa enhetsupplösningar ser ut, med tillstånd av Nick på AnIdea :

Skärmupplösningar på populära Android-telefoner
Att utveckla för ett så brett utbud av enheters skärmstorlekar och bildformat innebär att det inte bara är omöjligt att skapa pixelperfekta designs för Android-gränssnitt, det finns inte ens någon garanti för att ett givet gränssnitt kan skalas för att passa en viss skärm. Det gör utveckling för Android-enheter mer som att designa webbsidor än att designa ett applikationsgränssnitt. En utmaning av denna skala kräver det bästa användargränssnittsbiblioteket som Google kan erbjuda – men det motsatta verkar vara sant.