Is Windows Phone 7 iets voor de iOS ontwikkelaar?
Roelof op 18 oktober 2010 19 reacties Laatste door ahenket

Ik ben iOS ontwikkelaar, sterker, ik ontwikkel vanaf 1984 voor Apple producten. Maar wellicht is het ook een goed idee om voor andere mobiele platformen te ontwikkelen. Microsoft was zo vriendelijk ontwikkelaars uit te nodigen voor een dag over Windows Phone 7. Altijd interessant eens te kijken waar Apple’s concurrent Microsoft mee bezig is.
De komende weken worden telefoons met Windows Phone 7, het nieuwe besturingssysteem van Microsoft voor smartphones, verkrijgbaar. Na het lezen van een verhaal over wat Microsoft-baas Steve Ballmer nu weer had gezegd, iets over ‘Big Buttons’, leek het me onmogelijk dat het ooit nog wat zou worden met Microsoft in de mobiele markt. Nu ik Windows Phone 7 ook werkelijk gezien heb en een paar eenvoudige apps heb gemaakt blijkt het mee te vallen.
Wat opvalt is dat Microsoft heel goed naar Apple heeft gekeken. Slim van ze. Microsoft heeft bijvoorbeeld de ‘minimum hardware’ van de telefoons gespecificeerd zodat ontwikkelaars geen rekening hoeven te houden met allerlei verschillende specificaties. Dat is een bezwaar dat men vaak hoort over Android, al die telefoons zijn zo verschillend dat het eigenlijk onmogelijk is iets te maken dat op al die telefoons goed werkt en er ook nog goed uit ziet. Bij Apple is het aantal hardware configuraties beperkt, bij Microsoft zijn er meerdere configuraties maar als ontwikkelaar weet je wat er in ieder geval is. Maar Microsoft heeft niet zoiets moois als het ‘retina display’ en dikke kans dat Apple later deze week weer record verkopen bekend maakt, juist vanwege dit scherm. Dat Microsoft een minimum specificatie voor hardware heeft maakt het voor de hardware makers (op dit moment HTC, LG, Samsung en Dell) wel weer wat moeilijker een telefoon te maken die zich onderscheidt van de concurrenten. Windows Phone 7 doet, net als de iPhone tot iOS 4 niet deed, geen multi tasking om de batterij te sparen. Verder heeft Microsoft een App Store, de ‘Marketplace’, met regels die veel op die van Apple lijken. Ook bij Microsoft moeten de apps eerst goedgekeurd worden en wordt er gekeken of ze niet crashen, of ze doen wat in de beschrijving staat en of ze niet de privacy schenden, enzovoort. En de liefhebbers van vieze plaatjes en ranzige filmpjes komen ook bij Microsoft niet aan hun trekken. Apple heeft een eigen ontwikkelomgeving met eigen programmeertaal, Xcode respectievelijk Objective C, Microsoft heeft dat ook, Visual Studio respectievelijk C#. Microsoft draagt net als Apple 70% van de omzet van een app aan de ontwikkelaar af en registratie als ontwikkelaar kost zowel bij Microsoft als bij Apple $99.
Maar er zijn ook verschillen. Zo zitten er op ieder Windows Phone 7 apparaat meer knoppen (waarvan drie op de voorkant), er is een ‘panorama view’ (best mooi) en er zijn ’tiles’. Tiles zijn een soort tegeltjes in de interface waarop een app wat meer info kwijt kan dan alleen het rode getal dat een iOS app in een icon kan zetten. Telefoons met Windows Phone 7 zullen verkrijgbaar zijn voor de meeste netwerken, net als met Android maar (tot nu toe) anders dan bij Apple. Microsoft moet ook wel want ze willen Apple inhalen. Wat Microsoft ook mooi doet (zou ook iets voor Apple zijn) is een ‘try before you buy’ optie die een app de potentiële koper kan bieden mocht de ontwikkelaar dat willen. Wellicht verhoogt dat de omzet.
Microsoft begint met Windows Phone 7 meer volwassenen dan Apple destijds deed, er is meer over een hoop zaken nagedacht. Over sommige zaken ook niet, zo kan een telefoon een toetsenbord hebben waarvoor je de telefoon in landscape moet houden terwijl een app het alleen in portrait doet. Of vice versa. Knip & plak hebben ze ook nog niet, ik schat dat Windows Phone 7 qua ontwikkeling ergens tussen iOS 2 en iOS 3 zit en daar zitten dan een paar extra’s bij zoals XBox Live en een paar interface gimmicks. De vorige versie, Windows Phone 6.5, was volgens mij prut, versie 7 begint er op te lijken. Microsoft hoeft in veel gevallen het wiel niet uit te vinden zoals Apple dat moest, Microsoft moest vooral goed om zich heen kijken. Ik verwacht bijvoorbeeld niet dat Windows Phone ontwikkelaars ook met een niet helemaal duidelijk keuringsproces te maken krijgen, het lijkt er op dat Microsoft dat in een keer goed doet. Maar Apple heeft dat ook beter op orde inmiddels. Apple heeft ook heel goed nagedacht en jaren geëxperimenteerd met hoe iOS ‘onder de motorkap’ ingericht moe(s)t worden. Microsoft heeft ook ervaring op dit gebied natuurlijk, maar of ze het net zo goed gedaan hebben als Apple moet nog blijken. Op het eerste gezicht ziet het er aardig uit. Apart is ook dat het ‘Windows Phone’ heet, blijkbaar heeft Microsoft geen ideeën over andere apparaten. (Of de naam ‘Windows Mobile’ was al te veel besmet.)
Het is opmerkelijk niet-Apple-ontwikkelaars te horen praten over de iPhone. (Ik was de enige niet .NET ontwikkelaar in het gezelschap.) Veel van de nieuwe ontwikkelaars van mobiele apps zijn nog groen, ze gaan de komende jaren ontdekken wat de iOS ontwikkelaars en gebruikers al weten. Dat een mobiele app echt iets anders is dan een app voor een gewone computer, over ‘gestures’ met meerdere vingers, over het gebruik van de GPS en wat voor invloed dat heeft op de batterij, dat je iets anders kan doen met een accelerometer dan een waterpas-app (!), enzovoort. Apple heeft een geweldig voorbeeld gezet en er zijn een hoop mensen die staan te popelen het succes van Apple en de Apple ontwikkelaars te evenaren. iOS is echt hèt voorbeeld. De voorsprong van Apple is echter gigantisch, technieken waar Apple al heel veel ervaring mee heeft en op zeer grote schaal inzet, denk bijvoorbeeld aan store downloads/betalingen en push notifications. De concurrenten praten alleen nog maar over de hoeveelheden die Apple verwerkt. Apple heeft soms moeite met het bijbenen van haar eigen succes, het steeds maar uitstellen van het uitrollen van push notifications is daar een voorbeeld van. Ik vraag me af of dat Microsoft beter af zal gaan. Maar dan moet Microsoft eerst succes hebben natuurlijk.
Voor de techneuten: Het ontwikkelen van een app gaat bij Windows Phone 7 met Silverlight (een soort Flash, maar dan van Microsoft), XNA (Microsofts platform voor het ontwikkelen van games) of HTML/Javascript. In alle gevallen wordt de code vertaald via de ‘CLR‘, een mechanisme met ‘bytecodes’ zoals Java dat ook heeft. iOS ondersteunt OpenGL, erg handig voor games, Windows Phone houdt het bij XNA. (Voor de goede orde: OpenGL en XNA met elkaar vergelijken is overigens appels en peren vergelijken, via XNA regel je veel meer dan je via OpenGL doet.) Misschien dat Apple de komende jaren ook met andere ontwikkelmethoden komt, we zullen zien. Iets Flash-achtigs is wellicht een goed idee. We kunnen in ieder geval vaststellen dat de aanpak van Apple tot nu toe erg succesvol is. En niets wijst er op dat dit succes binnenkort afneemt. Windows Phone 7 is best aardig maar loopt achter in vergelijking met iOS 4. (Al weet iedere Mac gebruiker dat zoiets niet hoeft te betekenen dat Windows Phone geen succes wordt.)
Tot slot de hamvraag: Is het een goed idee om als iOS ontwikkelaar er een ander platform bij te doen? Ik vind van niet, het is al lastig alle iOS ontwikkelingen bij te houden, dat voor meerdere platformen doen is onmogelijk. Ik kan mijn tijd beter besteden aan het ontwikkelen van een extra iOS app. De kans dat een extra iOS app iets oplevert is groter dan dat de tijd gestoken in Windows Phone of Android zich terugbetaalt. En als een van mijn iOS apps dan een enorm succes zou worden dan kan ik altijd iemand anders inhuren om een versie te maken voor een ander platform. (Daar heb ik dan immers het geld voor.) Maar, mocht een iOS ontwikkelaar voor een ander platform willen ontwikkelen, dan is Windows Phone 7 tot mijn verrassing geen slechte keuze. Veel zal bekend voorkomen. En de concurrentie is redelijk gering nog, maar dat zal wel snel veranderen. Er zullen ongetwijfeld ook veel iOS ontwikkelaars zijn die hun successen in de App Store, of de successen van anderen, even snel proberen te herhalen bij Microsoft. En zijn ook veel mensen die denken dat Microsoft gewoon te laat is. (Je moet om te ontwikkelen voor Windows Phone 7 wel een computer met Windows hebben, ontwikkelen voor Android kan ook met Mac OS X.)
Meer informatie over Windows Phone 7 voor ontwikkelaars: http://create.msdn.com/
19 reacties
chatsmit op 18 oktober 2010
Boeiend geschreven en informatief artikel. More of this in OMT please
iAlwin op 18 oktober 2010
Mooi artikel. Ben erg benieuwd wat Windows Phone 7 gaat doen, maar ik verwacht er eerlijk gezegd ook niet heel veel van. Tijd zal het leren.
Waar je inderdaad nu tegen aan loopt zijn de verschillende platformen. Je kan geen app ontwikkelen die gelijk voor 3 of 4 platformen geschikt zal zijn. De eerste keuze is dan over het algemeen een app ontwikkelen voor iOS.
voor een apple en een ei op 18 oktober 2010
Fijn objectief artikel!
Maar wel flauw dat het alleen op windows kan, anders had ik het toch wel even uitgeprobeerd.
Rano op 18 oktober 2010
Ik ben erg positief over Windows Phone 7. Net als Windows 7 overigens. Het komt wel erg dicht bij de gebruikersvriendelijkheid van Mac/i OS.
throttlemeister op 18 oktober 2010
Microsoft heeft geen enkel scherm of wat dan ook, want Microsoft maakt geen hardware. Beetje loos statement dus, want het is aan de telefoonmakers om te beslissen welke hardware ze gebruiken. Verder wel een leuk artikel.
Overigens zal WP7 meer een concurrent zijn voor Android dan voor de iPhone. Een goed artikel daarover kun je hier lezen. En dat op zichzelf geeft dan ook in principe de potentie om groter te worden dan de iPhone.
Eple op 18 oktober 2010
Eigenlijk hoop ik dat Windows Phone 7 Een super succes word. Apple gaat nu echt te hard. Ik koos altijd voor Apple omdat het exclusief was. En als ze zo door gaan word dat succes hun dood.
MadDonna op 18 oktober 2010
Hierdoor krijgt monotouch natuurlijk wel een boost. Je ontwikkelt een idee en werkt het uit op iOS en port het naar Phone 7. Het enige wat je dan hoeft te doen is een generieke background
bare_nature op 18 oktober 2010
Een erg interessante kijk op Windows Phone 7. Het lijkt me inderdaad moeilijk om twee platformen te combineren. Als ontwikkelaar zou het demotiverend werken, lijkt me, aangezien je wellicht op geen van beide platformen zal uitblinken simpelweg door tijdsgebrek. Een logischere stap voor een iOS ontwikkelaar is ontwikkelen voor Mac OS X. Roelof heeft hier uiteraard al kaas van gegeten.
Ik zou erg graag meer van dit soort artikels zien op OMT. Super.
mac osx rules op 18 oktober 2010
Klopt. Steve moet of hun campus uitbreiden, of meer specificeren op bepaalde hard/software. (Langzaam aan doen.)
Steve kennende gaan ze voor het eerste
Ganymedus op 18 oktober 2010
Ik weet niet welke beperkingen Microsoft allemaal heeft gesteld aan de hardware eisen. Alleen ik kan me goed voorstellen dat ze zowel een minimum als maximum hebben opgegeven van de mogelijke resolutie. Dit is namelijk een van de struikelblokken bij Android, de grote hoeveelheid verschillende resoluties.
Inhakend op het artikel, ik zou me er wel in verdiepen opdat je cross platform kunt programmeren voor 1 app.
strigoi op 18 oktober 2010
Offtopic:
Ik heb geen ervaring met WP7, maar Windows 7 (home premium 64-bit) is absoluut niet gebruiksvriendelijk, vergeleken met Mac OS X.
- Taskmanager is verstopt
- Configuratiescherm is onoverzichtelijk
- Configuratiescherm is bugged, sommige tabs openen een website ipv het gewenste bestand.
- Startbalk lijkt op versie 0.6 van de Mac OS X dock (Apple copy)
- Zoekfunctie werkt niet zo goed als Spotlight (Apple copy)
- Om de dag beveiligingsupdates
- Programma weergave in de Startknop werkt ook niet prettig
(Ik kan nog wel doorgaan met deze waslijst)
Ontopic: Ondanks dat ik niet met WP7 heb gespeeld heb ik menig video op het internet gekeken. En ik moet zeggen dat de interface eindelijk eens een keer een stuk meer originaliteit toont dan alle releases van Windows OS de laatste jaren. Er is hier met een gezond oog naar de concurrentie gekeken, natuurlijk ook dingen overgenomen. Zoals de auteur van het artikel aangeeft zit het nu tussen iOS 2 en 3, daar zit volgens mij het probleem van Microsoft. Door te lang de kat uit de boom te kijken loop je altijd achter de feiten aan. Des al niet te min is het alleen maar positief te noemen dat Microsoft nog steeds de concurrentie aan gaat met Apple.
MouseMighty op 18 oktober 2010
Goh, laat ik vanuit Flash kunnen ontwikkelen voor iOS devices, Silverlight en Flash lijken op elkaar? Hmm misschien ging het gesprek tussen MS en Adobe wel over software om apps voor Windows Phone te maken? Artikel is duidelijk geschreven en erg interessant. Zoals het nu lijkt probeert MS de enorme achterstand ergens goed te maken. Een van de grote struikelproblemen zal, imho, de verscheidenheid aan hardware zijn. Het aloude probleem. Een developper voor iOS weet wat hij/zij heeft en krijgt. Als het werkt, werkt het altijd en overal op dezelfde manier. Dat is nou juist de kracht van de
PostbankApple dus.iFlorens op 18 oktober 2010
Ze gaan het wel steeds beter doen, maar vind het zonde dat ze alles nadoen, laat ze met iets 100% Windows komen..
Xcode op 18 oktober 2010
Erg interessant artikel! Ik deel je mening, maar ik ben het met twee dingen niet eens:
1. Dat multi-tasking nog ontbreekt, vind ik persoonlijk niet zo’n probleem. iPhone OS3 vond ik qua gebruiksgemak ook prima. Bovendien vind ik de manier waarop Apple het heeft geïmplementeerd in iOS4 ook niet altijd fijn (dubbelklikken op de home-knop).
2.
Deels onzin. Natuurlijk heeft Apple immens veel zaken vanuit hun eigen standpunt (en zonder een goed voorbeeld) ontwikkeld. Met succes, want met de creativiteit en de visie van Apple zit het wel goed. Maar dat neemt niet weg dat ze geen voorbeelden hadden… ze hebben destijds goed kunnen kijken naar Windows Mobile en Nokia, beiden voorbeelden van hoe het beslist niet moet (niet gebruiksvriendelijk, log, etc.). En inderdaad… nu profiteert Microsoft weer van Apple’s ervaringen: onder andere wat betreft het App Store toelatingsbeleid die in het begin nog niet helemaal op orde was.
throttlemeister op 18 oktober 2010
Zal ik dan even net zo off-topic vanuit een recente opverloper reageren?
- Task manager OSX zit onder Applications > Utilities > Activity Monitor. Zonder Google totaal niet te vinden dus voor een iemand die windows gewend is. (bij windows trouwens rechtsklik op de taakbalk, en je bent er)
- Configuratiescherm van OSX is compleet onoverzichtelijk, items zijn niet logisch gesorteerd, en subitems zitten soms onder een niet logisch item. (vb: password na screensaver)
- Taskbar van windows 7 is duidelijker en geeft meer nuttige informatie over lopende programma’s door bv preview boven de icons (kan in osx alleen met 3rd party apps en spaces laat geen hidden windows zien)
De rest zijn of te relateren aan een verziekte installatie, of puur subjectieve persoonlijke voorkeur.
Met andere woorden, je kunt een bepaalde voorkeur hebben voor een systeem (en die lijkt me binnen dit forum bekent), maar die voorkeur maakt nog niet dat een ander systeem slecht is. Je moet persoonlijke voorkeuren en gewenningen niet verwarren met objectieve feiten.
Mista FraggadeliX op 18 oktober 2010
Hebben ze gedaan, dat was WinMo 6.5
Roelof op 18 oktober 2010
@throttlemeister
Ik zal mijn opmerking over het ontbreken van zoiets als het Retina display wat beter uitleggen: Microsoft heeft de minimum hardware voor de WP7 telefoons gespecificeerd. Telefoonmakers hebben dus bepaalde vrijheiden, zeker, maar wat beeldschermen betreft is de keuze beperkt tot 2 opties. Beide opties zijn gewone schermen, niet iets Retina-display-achtigs. Zou een telefoonmaker een telefoon willen maken met een ander scherm zoals een Retina display, dan kan WP7 er niet op draaien.
In iOS 4 zitten allerlei voorzieningen dat apps zowel op ‘gewone schermen’ als met het Retina display kunnen werken. In WP7 ontbreekt zoiets.
st3fan op 18 oktober 2010
@MadDOnna
“Hierdoor krijgt monotouch natuurlijk wel een boost. Je ontwikkelt een idee en werkt het uit op iOS en port het naar Phone 7. Het enige wat je dan hoeft te doen is een generieke background”
Helaas, Mono Touch is gewoon de Cocoa API met een C# schilletje. Die code kan je dus niet zo maar op Windows 7 gebruiken. Is compleet anders en incompatible.
ahenket op 19 oktober 2010
Leuk artikel. Naast het onderwerp, beviel me vooral de objectieve toon met toch Apple-inval. Wat betreft de huidige status van Windows Phone 7 moest ik denken aan de ontwikkeling van Internet Explorer die ook uit de achterhoede kwam opzetten en vervolgens domineerde. We zullen zien hoe dat bij Windows Phone 7 gaat, hopelijk gebruiken ze gewoon hun eigen kracht en halen niet weer een “Netscape-je” uit.