Post on 07-Dec-2014
description
iPHONE + iPAD:SUDDENLYSOMETHING ELSE∞ · NOVEMBER 18th 2010 · HCI · POLIMI
venerdì 19 novembre 2010
THE FUTUREOH MY GOD THE FUTURE
venerdì 19 novembre 2010
PROGETTO
DATA STATO1987-2001 SCIENCE FICTION
TRICORDER + D-PADSTAR TREK TNG · DS9 · VOYAGER
venerdì 19 novembre 2010
FUTUREOH MY GOD THE FUTURE AND IT IS HERE
PRESENT
venerdì 19 novembre 2010
1. It’s full of stars(THE FUTURE IS HERE THE FUTURE IS HERE)
venerdì 19 novembre 2010
2. It’s where users are!
“THE IPHONE HAS BEEN ABLE TO MAINTAIN OVER 100% Y/Y GROWTH ON AVERAGE.”WWW.ASYMCO.COM
venerdì 19 novembre 2010
… (maybe because it’s the most usable?)
venerdì 19 novembre 2010
3. €€€€€€€€€€€€€€€€€€€(case study: me.)
venerdì 19 novembre 2010
APPLE IPHONE 3G AD: “SHARE”.HTTP://WWW.YOUTUBE.COM/WATCH?V=0CIPNTUVX0C
venerdì 19 novembre 2010
venerdì 19 novembre 2010
> 2,2 million free d/l> 95,000 paid downloads
venerdì 19 novembre 2010
È STATO UN POMERIGGIO DI FINE ESTATESTAVO CAMMINANDO PER LE VIE DEL CENTRO MILANESE (IN CUI PIACE MOLTO PERDERMI) ED ERO IN ZONA BRERA QUANDO SENTO SQUILLARE IL MIO CELLULARESECCATO LO TIRO FUORI, MA UNO SGUARDO ALLO SCHERMO ACCENDE LA MIA CURIOSITÀ. “+44” DICE LO SCHERMO (NON RICORDAVO AL MOMENTO MA QUELLO ERA IL PREFISSO INTERNAZIONALE DEL REGNO UNITO).ALL’ALTRO CAPO UNA VOCE ITALIANA MI FA “CIAO, SONO NONPOSSODIRLO DI APPLE, CHIAMO DA LONDRA.VORRESTI METTERE LA TUA APP NEL NOSTRO SPOT?”
venerdì 19 novembre 2010
YOU, MAKING APPS.(Let’s talk about it.)
venerdì 19 novembre 2010
Design.
venerdì 19 novembre 2010
The iPhoneIS A BUNCH OF SENSORS IN YOUR POCKET WITH A SCREEN.
venerdì 19 novembre 2010
PLAYING MAKE-BELIEVEEXCEPT IT WORKS FOR REAL
venerdì 19 novembre 2010
IBOOKS BY APPLE.
venerdì 19 novembre 2010
OCARINA BY SMULE.HTTP://WWW.YOUTUBE.COM/WATCH?V=RHCJQ7EAJJA
venerdì 19 novembre 2010
The iPhoneIS DIFFERENT FROM A DESKTOP COMPUTER BLUH BLUH BLUH
venerdì 19 novembre 2010
Desktop differences
Quick use. (Pick it up, use it, back in the pocket.)
Imprecise input, bad (best-of-breed) keyboard.
Made for touching: direct manipulation.
Point to pick!
venerdì 19 novembre 2010
The iPhoneIS DIFFERENT FROM ITS COMPETITORS
venerdì 19 novembre 2010
Differences with other phones/OSes (I)
All OS tries to rate good-if-not-best.
Most needed stuff built in.
(Many other factors, but few directly affecting us.)
venerdì 19 novembre 2010
Differences with other phones/OSes (II)
One thing at a time: discrete apps.
Consistency broken very carefully.
RELIABLE!
venerdì 19 novembre 2010
iOS≈ Mac OS X (but different)
venerdì 19 novembre 2010
venerdì 19 novembre 2010
iOS
No filesystem
Instead, discrete tasks in apps!
Built atop responsiveness
Animation everywhere.
No virtual memory (writing)
Apps must not make the OS go out of memory!
venerdì 19 novembre 2010
Apps
Isolated!
Can communicate (URLs, open files, pasteboard [copy/paste])
User always in control.
If user presses Home, YOU QUIT.
venerdì 19 novembre 2010
Tools.NOT CHEAP!
venerdì 19 novembre 2010
REQUIRED STUFF »
venerdì 19 novembre 2010
PLATFORM
DATE STATUSNOVEMBER 15 NEW MACS EVERY 3-6 MONTHS
A MAC€999+
venerdì 19 novembre 2010
TOOLS
DATE STATUSNOVEMBER 15 IN FLUX
XCODEXCODE TOOLS + IOS SDK 4
venerdì 19 novembre 2010
http://developer.apple.com/iosTOOLS ARE FREE · INCLUDES SIMULATOR
venerdì 19 novembre 2010
OPTIONAL STUFF (at least at the time you start) »
venerdì 19 novembre 2010
TESTDEVICE
DATE STATUSNOVEMBER 15 EXPENSIVE
IPHONE€539+ (ACTUALLY OPTIONAL)
venerdì 19 novembre 2010
TESTDEVICE
DATE STATUSNOVEMBER 15 MUCH CHEAPER!
IPOD TOUCH€239+ (ACTUALLY OPTIONAL · WI-FI ONLY)
venerdì 19 novembre 2010
http://developer.apple.com/iosDEVICE DEBUG + DEPLOY: € 79/year
venerdì 19 novembre 2010
And now ACTUAL DEVELOPMENT STUFF.
venerdì 19 novembre 2010
Objective-C.C + OBJECTS.
venerdì 19 novembre 2010
float f = 1.23;int x = fabs(f);
PURE C.
float f = 1.23;int x = fabs(f);
OBJECTIVE-C.
venerdì 19 novembre 2010
[calculator add:1 to:2 and:3];// method == “-add:to:and:”// arguments == 1,2,3
venerdì 19 novembre 2010
-(void) add:(int)a to:(int)b and:(int)c;
venerdì 19 novembre 2010
NSString* x = …;NSString* y = [x substringToIndex:10];
venerdì 19 novembre 2010
id x = …;id y = [x substringToIndex:10];
venerdì 19 novembre 2010
NSArray* a = …;[a addObject:@“12345”];
venerdì 19 novembre 2010
NSArray* a = …;[a performSelector:@selector
(addObject:) withObject:@“1234”];
venerdì 19 novembre 2010
VIEW CONTROLLERS
venerdì 19 novembre 2010
VIEWSmake up what’s onscreen
VIEW CONTROLLERSmake up the LOGICAL structure of your app.
NAVIGATION
ALL SONGS » FAVORITES »
EDIT » SONG PICKER
venerdì 19 novembre 2010
UIAPPLICATION
the app’s DELEGATE
WINDOW
views for 1
VIEW CTL 1 VIEW CTL 2
views for 2
owns
venerdì 19 novembre 2010
UIAPPLICATION
the app’s DELEGATE
WINDOW
views for 1
VIEW CTL 1 VIEW CTL 2
views for 2
BRING YOUR OWN
DONE!
DONE!
DONE!
BRING YOUR OWN
BRING YOUR OWN
DONE!COMBINE ‘EM
ALL!COMBINE ‘EM
ALL!
owns
venerdì 19 novembre 2010
A SIMPLE APP · TOOLS DEMO.
venerdì 19 novembre 2010
Memory management(IMPORTANT BUT BRIEF)
venerdì 19 novembre 2010
Memory management
No automatic garbage collection! (unlike Java, C#)
Reference counting!
If you do it wrong your app will leak or
crash or
both!!!
venerdì 19 novembre 2010
CREATED!1
-retain;2!
-release;1!
-release;0!
DEALLOCATED!-
venerdì 19 novembre 2010
NSArray* a = [[NSArray alloc] init]; // you own it[a retain]; // you own it x2[a release]; // you own it[a release]; // gone!
venerdì 19 novembre 2010
NSArray* a = [NSArray array]; // what do I have to do here?!?
// the answer: NOTHING! no release, no retain,
// unless you need it PAST this function’s return.
venerdì 19 novembre 2010
CREATED!1
-autorelease;1
AUTORELEASE POOL
LATER!(release)0!
DEALLOCATED!
venerdì 19 novembre 2010
THE RULES (1):
every use of:•alloc/init•retain•copy…•new…
must be balanced by a call to either of:•release•autorelease
AND NOTHING ELSE.venerdì 19 novembre 2010
THE RULES (2):
if you want to keep an object you don’t own past the end of the current function, you need to call -retain on it (and -release or -autorelease when done with it).
venerdì 19 novembre 2010
Goodies you get on iOS + App Store.
venerdì 19 novembre 2010
BONJOURNETWORK AUTODISCOVERY
venerdì 19 novembre 2010
GAME CENTERBLUETOOTH + WIFI + ’NET · LEADERBOARDS · ACHIEVEMENTS · INVITES · MATCHMAKING · VOIP
venerdì 19 novembre 2010
IADINTEGRATED ADVERTISING PLATFORM · NO EXTRA BUREAUCRACY
venerdì 19 novembre 2010
IN-APP PURCHASEPAYMENT PROCESSING FOR IN-APP FEATURES & CONTENT · NO EXTRA BUREAUCRACY
venerdì 19 novembre 2010
COUNTRIES SUPPORTED BY APP STOREWOW.
90!venerdì 19 novembre 2010
LOCALIZATION + TOP-TIER UNICODE SUPPORTBUILT-IN TO THE CORE OF THE PLATFORM.
venerdì 19 novembre 2010
GOOGLE MAPS & GEOLOCALIZATIONNO NEED TO PAY GOOGLE’S APPLICATION €€€
venerdì 19 novembre 2010
AUDIO AND VIDEO PLAYBACK + ENCODINGON A MOBILE DEVICE! · H.264 + AAC + MP3 + UNCOMPRESSED FORMATS
venerdì 19 novembre 2010
CORE DATAOBJECT DATABASE · TONS OF FEATURES · OPTIMIZED FOR MOBILE · > 1MLN OBJECT STORES
venerdì 19 novembre 2010
CORE ANIMATIONUNDERLIES EVERYTHING ONSCREEN · TWEENING · 3D · HIGH-PERFORMANCE · MADE FOR UIS
venerdì 19 novembre 2010
SECURITYONBOARD AES ACCELERATION · ENCRYPTED STORAGE · API FOR APP USE · REMOTE MANAGEMENT
venerdì 19 novembre 2010
App Store
venerdì 19 novembre 2010
venerdì 19 novembre 2010
venerdì 19 novembre 2010
WHAT IT IS:
• The only way you can get apps on your iPhone (except development)
• Hosting
• Payment processing
• Sales!
venerdì 19 novembre 2010
TO PUBLISHYOU NEED:
• Mac + dev tools + test devices
• Developer program account (79€/year)
• Lots of patience
• VAT # + good accountant (Italy)
• A business plan!
venerdì 19 novembre 2010
YOU CAN PUBLISH: • Most stuff.
venerdì 19 novembre 2010
YOU CAN’T PUBLISH:
• Porn
• Stuff that misleads
• Stuff that uses Apple trademarks unfairly
• Stuff that breaks privacy laws
• Stuff whose behavior changes after review
• Interpreters (!) (*)
• Betas & Demos
venerdì 19 novembre 2010
BORDERLINE:
• Satire
• Crashers
• “Lite”
• Big downloaders
• More apply depending on APIs
https://developer.apple.com/appstore/resources/approval/guidelines.html
venerdì 19 novembre 2010
YOU SET THE PRICE:
• $0.99 to $999.99 (and international equivalents)
• Most apps in the $0.99-$4.99 range
• You get 70%
• Apple gets 30% (and VAT/taxes if applicable)
venerdì 19 novembre 2010
IT’S A GAMBLE.
venerdì 19 novembre 2010
iPAD!
venerdì 19 novembre 2010
TESTDEVICE
DATE PURPOSENOVEMBER 17TH VARIES
IPADTHE NEW HOTNESS
venerdì 19 novembre 2010
The iPad is another kind of animal altogether.
venerdì 19 novembre 2010
iPhone
Take it out, use it, back in the pocket.
Small screen means one thing at a time
Mostly used for its connectivity
iPad
Take it out, use it for a longer period of time.
Larger screen means more stuff/more details.
Mostly used for media consumption and productivity
MORE THAN A PHONENOT ENTIRELY
UNLIKE A LAPTOP
venerdì 19 novembre 2010
Laptop
Traditional mouse/keyboard paradigm.
Chrome around your media
Usually portable
Good text entry
iPad
Multitouch, like on iPhone (and better!)
Just the media
Highly portable
Decent text entry
OLD AND BUSTEDA DIFFERENT THING,
CLEARLY
venerdì 19 novembre 2010
The iPad is the iPhone, all grown up to be an actual computer.
venerdì 19 novembre 2010
There’s more space.USE IT.
venerdì 19 novembre 2010
venerdì 19 novembre 2010
→
venerdì 19 novembre 2010
venerdì 19 novembre 2010
venerdì 19 novembre 2010
venerdì 19 novembre 2010
→
venerdì 19 novembre 2010
venerdì 19 novembre 2010
venerdì 19 novembre 2010
venerdì 19 novembre 2010
venerdì 19 novembre 2010
venerdì 19 novembre 2010
HTTP://WWW.APPLE.COM/IPAD/GUIDED-TOURS/#IBOOKS
venerdì 19 novembre 2010
HTTP://WWW.APPLE.COM/IPAD/GUIDED-TOURS/#PAGES
venerdì 19 novembre 2010
HTTP://WWW.YOUTUBE.COM/WATCH?V=GEW68QJ5KXW
venerdì 19 novembre 2010
We don’t know what the iPad is…
venerdì 19 novembre 2010
… because it’s a new kind of computer.
venerdì 19 novembre 2010
PLAYING MAKE-BELIEVEEXCEPT IT WORKS FOR REAL
venerdì 19 novembre 2010
THE FUTUREOH MY GOD THE FUTURE
venerdì 19 novembre 2010
YEAH WE’RE DONE! Questions?
venerdì 19 novembre 2010