Wednesday, 26 June 2013

MomoLondon: Mobile, Maps & Geolocation — so much more than “Where am I?”

This Monday’s session was a little less lively than the previous session on mobile marketing. I expected the panel to violently disagree with each other on licensing, data costs and providing data to the public… but they were all far too polite!

The panel discussion covered a wide variety of subjects, fulfilling the session’s premise: geocoding, open data, data quality, visualisation, alternative methods of navigation, indoor location… It was a huge area to cover in a couple of hours.

For me, the main change in the last year or two has been the opening up of data sets. Open Street Map has gone from strength to strength and can now be linked up with live transport information and other citywide data sets.

As Jeni Tennison remarked, the most exciting area at the moment is putting all this data together in innovative ways. More than the Google Maps mashups of earlier years, we can now experience 3D immersive visualisations of cities, with real-time data pulsing through the streets and under the ground — like ViziCities, for example.

Panel

How easy is it for devs to turn lat/longs into human-readable info?

  • HW: hard work to go to postcode or nearest POIs
    • getting hold of open data is important
    • is displaying the map the best thing?
    • FourSquare did really well with a location-based app that didn’t show a map
  • GG: location powered by FourSquare has become a heavily used API
    • it’s free to access but large amounts of usage lead to business negotiations
    • similar for other geocoding APIs
  • JT: Open Street Map allows us to choose what we want to mark on the map
    • Ordnance Survey was mainly restricted to Churches and Pubs…
    • Open Street Map has shops (and pubs!)
  • IH: how do you ensure that all the data is there?
  • HW: it’s a problem that goes away with time
    • always find your nearest pub? getting there in the UK, but some patches in the north with less coverage
    • but the map gets built out on an interest-first basis, so better coverage in more interesting/populated areas

How much do we trust what we see on our mobiles?

  • GG: in US a woman sued Google ‘cos the walking maps told her to walk across all 16 lanes of a superhighway…
  • HW: we trust it too much in some cases
    • OS really shines with quality of data
  • IH: Google & Apple’s branding has gone a long way to encourage trust in map data
  • CO: Apple chose not to visualise lots of data on the map, but they got panned for it
  • HW: there’s an active market in insuring map makers against maritime mapping mistakes
    • it’s an expensive mistake when a supertanker runs aground…
  • GG: people have been hauled before the coastguards for using consumer mapping systems to navigate ships
  • GG: people tend to accept what they have on their phones

Should map data producers make end-user systems? Or leave it up to smaller companies?

  • IH: paper-based maps couldn’t change, so had to make one-off presentation decisions
    • now the data can change for the user context
  • CO: routing is hard - still dominated by big companies with background with navigation
    • but lots of space for smaller companies in other areas
  • IH: huge explosion of neo-geographers a few years ago
    • lots of mash ups and visualisations using geo data

What’s next in display? Will wearables move away from the concept of maps?

  • IH: we’ve always been shifting display methods…
  • Jo Rabin: years ago, a taxi driver in Chicago had a book of turn by turn directions but no map
  • HW: a large proportion of people get rather upset when they see a map (including Harry’s girlfriend…!)
  • Audience: worth thinking about how blind people navigate
  • IH: navigating a city by sound — turn away from the areas that sound threatening
  • HW: Google Street View seems a useful addition at the moment, but not a replacement for basic navigation
  • CO: 3D mapping is a bit gimmicky at the moment, but the data gathering behind it is massively useful
  • GG: for every mapping service, you only ever see less than 5% of the underlying data
  • CO: one of the best designed apps for mapping was an app for blind people on old Nokia phones — vibrate once for left, twice for right

What’s new and exciting in the next 3 years?

  • GG: indoor navigation
    • multiple companies working on it
    • but all currently incompatible
    • holy grail: directions from your house, through the tube to the exact exhibit in the V&A Museum
  • JT: putting open data together, e.g. being able to know when you’re in an area with a high risk of flooding after rain
    • 3D sim city-style simulation of London, with data such as crime rates superimposed
    • how can we bring in time-based information to our space-based navigation?
  • IH: early years education
  • IW: Ed Parsons (Maps @ Google) — “geospatial will no longer be geo-special”
    • not just a map screen in the app, but mixed throughout the app
    • promise of access to raw data
  • GG: NOAA have produced a low-power app which warns you about tornados, just using cell tower data
    • another innovative location-based service which doesn’t require a map…
  • CO: massive growth in transactional apps, e.g. Hailo & YPlan
    • also Google etc building an ecosystem e.g. their purchase of Waze
  • GG: wearables: I wouldn’t buy Google Glass, but I would buy a smart watch
  • GG: hospitals making savings by tracking their equipment locations (and stopping it sprouting legs)

Licensing

  • GG: businesses scared of using OSM data due to fear that they will have to share their private data
  • HW: share-a-like license aims to ensure that data is not taken and locked away
  • JT: OpenCorporates make company data available for free on a share-a-like license, but also offer a paid license with less viral terms
  • HW: OSM can’t do that — would have to agree with all contributors…

What about mobile operators? Indoor location?

  • GG: cell tower location works well in urban areas
    • less so in countryside…
    • and mobile operators in Germany are restricted to telling you only two of the nearby cell towers (not enough to get a fix)
    • mobile operators had their chance 8-10 years ago when they tried to sell their data to marketing companies
  • CO: starting to see traction in government
    • e.g. who’s moved on what roads at what speed
    • useful for real-time traffic management
    • high value areas: marketing & business intelligence

Coping with geospam…?

  • HW: Google are already dipping their toes in the water there (Ed: e.g. the map tiles have advertising built-in)
  • IH: walking past a shop and being offered a service
  • GG: been proved to be pretty worthless — you’ve already past when the message comes through
    • data of where you are not so valuable
    • where you’ve been is more valuable
    • where you will be is where the money will be made

Apple iBeacons — Bluetooth LE with an ID

  • CO: one inspiration for that comes from certain countries with restrictive regimes
    • walk into a bar and turn bluetooth on — get offered services that are normally not available
    • need a strong well-designed way to broker your data

Where are you failed by current map services?

  • HW: developing world — none of existing providers have coverage
    • Google Map Makers pushing hard
    • Open Street Map
  • Dan Appelquist: cycle maps for London
    • Google maps keeps on directing me through routes on Hampstead Heath that are not passable by bike
    • http://cyclestreets.net routing for bikes based on OpenStreetMap data
  • CO: pedestrian mapping
    • most of the data has come from driving cars around
    • huge value as people much more likely to make a purchase when they are walking
  • GG: but getting data is hard as many areas are private
    • no public right of way
    • hard for commercial companies to map
    • OSM has an advantage here — can’t really sue OpenStreetMap for trespass

How long rather than how far away?

  • IH: common GIS function, but doesn’t crop up in consumer stuff
  • JT: mapumental by mysociety — where should I live so that I can commute to work?

Royal Mail PAF file restrictions

big database of postcodes & business locations for the UK — really valuable and the Royal Mail are holding tight…

  • JT: campaigning to open it, but it seems extremely unlikely
    • would have to create an open street gazetteer
    • if someone would like to sponsor it — please see Jeni!

Linking to map model data

  • HW: most OSM data has a URL
  • GG: for roads — Nokia has Routing Segments, OSM has Ways, OS has ITN (Integrated Transport Network)

Summary

  • JT: collaboration is the most interesting area
  • IH: everybody should edit something on OpenStreetMap.org
  • GG: expected a question on location & privacy, Facebook & Google…
    • “I now trust big internet companies more than I do the government”

Next session

Wednesday, 5 June 2013

MomoLondon: Mobile Marketing — Truth, Misconception and Wishful Thinking

This was a lively session — the audience really got involved and probably contributed at least as much, if not more to the evening than the panel.

Mobile marketing seems to be stuck in a bit of a rut — it’s growing but doesn’t seem to be innovating much beyond banner adverts and SMS messages.

The panel (all agency-based) didn’t really offer much new, but indicated that they wanted brands to engage the customer in a longer, more conversational process than the traditional advertising campaign.

This was proving a hard sell, as it’s more expensive to set up and doesn’t fit into the mindset of brand marketing departments.

Thanks to Infobip who sponsored the event, and kindly took us up to the top of Centrepoint for some refreshments afterwards, just in time to see the sun set over London…

Panel

  • Alex Meisl @meislonmobile
    • Co-Founder, Sponge
  • Rube Hulijev @more_mati
    • Global Executive, Infobip
  • Ben Scott Robinson @bcsr
    • Creative Director, Sapient Nitro
  • Ilicco Elia @ilicco
    • Head of Mobile, LBi
  • Douglas McDonald @DMcDonald01
    • Independent Mobile Marketing Consultant

Where is mobile marketing now?

  • RH: growing 100% year on year last few years
  • BSR: mobile marketing on its own is pretty much dead — need to cover all media
  • IE: no ads are actually getting people’s attention on mobile
  • DMD: you just do marketing. some of it is mobile
    • not being recognised as mobile
    • being eclipsed by social media & iPads in terms of recognition

How broad is mobile marketing?

  • AM: still need to agree on what is mobile…
  • IE: what does your customer want and experience?
    • actually have to get into the mindset of the user and understand the context
  • BSR: explore content on your mobile phone, moving towards purchase
  • RH: it’s not a mass marketing personal
  • IE: and yet the biggest complaint I hear is that mobile is not measurable enough
  • RH: cross-channel measurement not easy but can be done
  • AM: for a retail client, 3 times as many people on the mobile site use the “where’s my nearest store?” feature
    • but this doesn’t show up under P&L for mobile — it all goes to the physical store

personalisation

  • DMD: no effort put into doing anything with the data collected
    • the best they do is add your name to the top
    • planning looks at percentage of budget for personalisation and then says “that’s too expensive, we’ll just spam everybody…”
  • AM: very few bricks & mortar retailers have detailed information on their customers
  • RH: personalised service might be only thing that will save the high street shop
  • BSR: working for a retailer: people would come into the store and use their mobiles to purchase products using the desktop site
    • it was faster than buying in store…
  • AM: 34% of sales in US lost to showrooming

ROI for all players, including agency

  • mobile operators have a responsibility to help agencies with their mobile skills
  • AM: http://weve.com/ trying to provide united message & service proposition from EE, O2 & Vodafone
    • originally about marketing help and mobile wallet, but the wallet stuff seems to have been deprioritised…
  • IE: optimising web sites for mobile makes ROI go up

negatives

  • BSR: marketeers still looking at mobile in a simplistic way: banners, print etc
    • need to consider whether a campaign should exist…
    • what happens to the conversation when the campaign ends?
    • what about all the data you collected?

positives

  • AM: 20% of UK sales last year were via mobile
    • John Lewis opened up a store in Chester 18 months ago
    • they are channel agnostic and encourage people to use whatever way they want to purchase products
    • as a result, online sales in Chester grew by 30%
  • the physical shop raised the profile of the business and acted as a showroom and delivery point for the goods
  • DMD: mobile ad spend forecast to rise from 1-2% to 15% in next 18 months

changing away from dead print media

  • agencies need to move to cost-per-acquisition rather than cost-per-impression
  • starting to happen
  • IE: can be hard — need to get all parties aligned
  • who takes the risk?
    • if customers are seeing the marketing and purchasing elsewhere, then it can be hard to credit the acquisition to the marketing campaign
    • a gain for the brand but a big risk for the agency
  • DMD: second screen great for getting take-up
    • TV adverts driving google search / URL
    • still believe print is big for driving on-ramp of mobile
    • Ed: doesn’t feel like much innovation going on here…
  • IE: advertising is just about getting attention
    • can’t split channels up

relevancy & consent

  • BSR: Blyk - mobile operator that gave away free minutes & texts in response to permission advertising
    • got 25-30% response rates
    • but value of texts & minutes went down to almost zero
      • customers took their SIMs out as they felt pestered by the very adverts they’d signed up for…
    • brands look at numbers being reached rather than response rates
    • 25% of 100 people sounds worse than 0.25% of 10,000…

other questions

The audience was really coming up with good things to say but we were running out of time, so the organisers attempted to have three questions asked at once. Unfortunately, this meant that only one in three questions got answered…

I’ve noted some of the better audience questions and statements (and their answers if they got them) below:

  • how will personal assistant software, e.g. SIRI, affect marketing?
  • mobile marketing basics get results
    • click to call
    • mobile SEO
  • mobile is different:
    • video can be very successful
    • location-based services
  • not just what is my mobile strategy, but what is my strategy and how does mobile fit in to it
  • DMD: no point in re-inventing payment systems — use third parties
  • AM: consumer technology moving faster than big brand systems
    • what systems do they target for future work?
  • BSR: e.g. 125 legacy systems, 3-5 years to implement, what devices should they target when it is complete…

mobile advertising vs marketing

  • BSR: mobile advertising usually defined as a banner on a mobile site
    • unsurprisingly it doesn’t work very well
    • mobile marketing more of a toolbox

taking the personalisation further

  • need to fix basics first: e.g. checkout, sign-in
    • but when personalising for previous, how do you encourage creativity: surprise me with new ideas
    • AM: moving towards a one-to-one dialog
    • IE: but don’t do what a wedding pictures site did and send email to all guests inviting them to set up their own wedding…

banks & financial services

  • BSR: automotive started with “I don’t see the point of a mobile site”
    • then one brand did a good job and everyone else piled in

dealing with data

  • highstreetlabs: recommendation algorithms will get better
  • struggling to analyse big data — how do you see it in the future
  • BSR: analytics show what works and what doesn’t, but also need to know why
    • use a lean approach: involve customers and gain knowledge

summing up from the panel

  • AM: need to target engagement
    • requires a different mindset & a different approach

some feelings from the audience afterwards

  • agencies not really looking beyond what is out there now…
  • still trying to talk to clients who are focussed on print & tv
    • constraining the agency thought processes
  • what will the landscape be like in 5 years or 10?
    • need to get brands to think ahead and plan for future
    • what will adverts be like amongst software agents like Siri or Google Now?
    • anticipate user intents:
      • don’t just catch their attention with flashy graphics & moving pictures
      • figure out what they might do and offer them help that fits with the brand

coming soon…

  • June 20th: Test on real devices: free London event from DeviceAnywhere #LondonMT
  • June 24th: Mobile Monday: Mobile, Mapping & Context
    • with Ordnance Survey who are launching their new mobile APIs
  • July 15th: Mobile Monday: Mobile Operating Systems
    • with Ubuntu who are launching their new mobile OS

Wednesday, 6 March 2013

NSConference 5: Day Three

iOS Tools at Flipboard

Evan Doll, Flipboard @edog1203

avoiding crap work

  • use jenkins
    • run clang: +leakToEnsureClangDidRun
    • can also use to send out a beta using TestFlight/HockeyApp
    • jenkins build types:
      • beta
      • beta-external
      • ios-debug-device
      • ios-debug-simulator
      • ios-debug-unittests
    • takes some time to get things sorted with signing etc
  • app icon versioning
    • stamp app icon with the version
    • ImageMagick shell script build phase
  • use multiple bundle identifiers
    • allow app store, beta & debug builds to coexist on device
    • define a custom build setting called BUNDLE_SUFFIX
    • then reference the variable in the Info.plist
  • use JetBrains AppCode as an additional bug finding tool
    • unused code, mismatched types, etc
  • HockeyApp is great for beta handling & crash reporting

squashing bugs

  • useful to capture app state without plugging in to Xcode
    • CocoaLumberjack - high performance logging library
    • bring up a console log on the device
    • also added view hierarchy explorer & file explorer to debug builds
    • tweaker: in-app property inspector launched from pressing and holding on any view
    • see also DCIntrospect & CBIntrospector on github
  • bug reporting UI
    • launched by gesture from anywhere in the app: Flipboard use the volume buttons
      • do some basic checking in case there is actually audio playing…
      • useful to have a hardware gesture
    • attaches view hierarchy, file system, etc
    • can also take screenshot
    • Flipboard attach app feed state to each bug
      • then have in-app bug browser
      • can replicate feed state in app directly from bug

give yourself superpowers

  • testing gestures in the simulator is a pain
    • instead use keyboard shortcuts
    • http://bit.ly/ios-keyevents
    • override UIApplication to capture key events at a deep level
    • doesn’t mess with other text views
    • can use dlopen & dlsym to load private framework in debug code, without linking public app
    • some shortcut examples:
      • enter login info
      • block UI thread for 1 second
  • feature switches
    • exposed in the app
    • can force on/off first launch flow
    • e.g. early iPhone introducing app re-ordering jiggle
      • special shortcut to show an overlay to adjust rotation, shift & frequency
      • handed to Steve to adjust…
      • (see also the Calculator Construction Kit)
    • change the language without resetting the whole phone
      • need a wrapper round NSLocalizedString
    • if arguing about design options, try it both ways
    • freeze content in app for marketing
    • e.g. always show advert
    • make them dynamic at run-time
  • pseudolocalization
    • map all localisation keys to unicode accented characters with extra length
    • For more info on Pseudolocalization, watch the “Internationalization Tips & Tricks” video from WWDC 2012
  • WebTranslateIt
    • shared strings for iOS & Android
  • escape hatches: brains on the server
    • change your mind after the app has been released
    • JSON file for settings
    • sync NSUserDefaults
      • comment from the audience: GroundControl from Matt Thompson (@mattt) can provide remote settings
    • also replace Localized strings
    • in-app help
    • UI hints
    • even adding new social services…
  • chaos monkey
    • process in the app that randomly makes things fail
    • memory warnings, delete cached content, closing network connections
    • ensure there’s some obvious part of the UI that indicates when the monkey is running

communication

  • use pivotal tracker: task management tool
    • testers report into Jira
    • then prioritise using pivotal
  • github pull requests to communicate about code
    • talking about code in progress
    • not just for reviewing
    • start earlier
    • get designers involved
  • GitX + email for lightweight code reviews

User Identity

Markos Charatzas @qnoid

  • stop using passwords!
  • the password policy is one of things wrong with passwords
    • each company has different rules
    • then just as you remember the password, you have to change it
  • security questions for when you forget…
  • need to innovate on user authentication
  • residence based authentication

Reverse Indie

Alexander Griekspoor, Papers

  • 100% Indie (until 31st Oct 2012…)
    • bought by Springer Science+Business Media
  • started making free apps just for the fun of it
  • won an Apple Design Award
  • then made Papers while waiting for postdoc to start
  • free apps drove adoption of paid apps
  • also gave 40% discount to students — fuelled word of mouth marketing
  • then had to figure out how to grow from one person to two?
    • how many more copies do I need to sell just to employ another person?
  • then iPhone & iPad got released…
    • suddenly could support an extra developer
  • iOS enabled growth
  • got handed a love letter to Papers at WWDC 2009 :-)
  • when app gets popular requirements start getting bigger
    • choose between lifestyle business or let the product fly
    • restrict the business to the size of you, or let the product free and take a step back
  • offer of being taken over by a big company
    • wanted to keep independent direction and not get eaten by the beast
      • take advantage of big marketing & sales + common HR & legal
    • need to be able to speak to the guys at the top
    • if the process gets difficult, need to go back to them and check if things are still on track
    • get the financial stuff sorted early
    • get professional help early
    • bring soft issues up immediately
      • they won’t go away

Rethinking Syncing

Charles Parnot @cparnot

http://cocoamine.net

  • syncing-friendly-driven development :-)
    • start with a sync-friendly foundation
    • use a syncing-friendly data model
    • make syncing-friendly decisions
    • keep things syncing-friendly
  • can just use dropbox
    • but two devices accessing same file can get corruption
    • can use a lock file
    • or File Coordination APIs (controls all access so single machine only)
  • have multiple databases, one read/write, others read only
    • log events rather than just storing data
    • then can get latest event
  • rather than having entire record as an event, can use a key/value store with timestamp
  • fetching data involves iterating through required keys
  • can open multiple databases in CoreData
    • one as R/W
    • others can be loaded as read only
    • CoreData will manage reading from combined data and writing to R/W db automatically
  • example: crash reports library
    • shared amongst multiple developers using dropbox
    • key/value database for adding/modifying crash report files
    • UI layer has an in-memory cache of latest data
  • inspirations

Independent, but Not Alone

Craig Hockenberry @chockenberry

Principal at the Iconfactory

  • Weightbot: crazy idea to add personality
    • but it makes the app fun & accessible
    • designer challenged developer to make the app work in a better way
  • “Design is not just what it looks like and feels like. Design is how it works” — Steve Jobs
    • “Developers don’t know how their product works” — @chockenberry
  • developers think of a product from the inside out
    • think about underlying stuff at the beginning
    • UIs reflect the underlying design
  • designers think of a product from the outside in
    • don’t even know what orthogonal means
    • not worried about how it works, or how hard it might be to implement
    • think about your app in the same way that a customer would
  • a designer is your first customer
    • they will give you feedback that may hurt your feelings
  • provide help with tough decisions
  • explaining problems to a non-technical person helps you think differently about the problem
  • how do you make the design - code - review process shorter and tighter?
    • for Twitterrific (iOS & Mac) had a couple of attempts…
    • first attempt: AppTheme
      • application-level settings
      • extract fonts, colours, etc into a file that the designer can edit
      • can still be objective-c
      • still need to train designer to build & install
    • improved attempt Theme: used UIAppearance
      • one Theme for every view class in the app
      • some view classes only exist to be customisable
      • used some macros to make images, insets, gradients etc
      • in Chameleon, when remove root view controller from window, can reset UIAppearance to a new theme (don’t forget to add it back afterwards…)
  • Interface Builder is the uncanny valley of UI design…
    • hard to visualise results
    • really easy to screw things up
  • most important tool to work with designers is version control

Copywriting is Design

Nik Fletcher @nikf

  • even “serious” products are known as Apps
  • Nik is trying to purge the word Cancel from our app vocabulary
    • negatives are hard to scan quickly: “Delete” “Don’t Delete”
    • go for opposites: “Keep”, “Never”, “Not Now”
  • try not to repeat words in sequential alerts
  • disclosure
    • iOS 6 introduces data isolation instead of CLLocationService.purpose
    • localised Info.plist strings instead (see this blog post)
    • can reset:
      • OS X: tccutil reset ..
      • iOS: Settings > Reset All
  • photo access has implicit access to past location history
    • either disclose usage or scrub it before you upload
  • don’t use checkboxes to turn stuff off!
    • tell QA when you find it
  • don’t talk about the “File System” or the “Keychain”
    • again — it’s implementation detail
  • app state: not running or stopped; instead open or closed
  • example: Realmac developer found an awkward bug in Quick Look
    • developer just added a “QuickLook sucks” alert
    • Nik got an email saying “what’s your problem with Quick Look?”
    • …from the engineer at Apple who worked on Quick Look
  • “personality” can be useful in copy
    • but don’t trivialise important things
  • nice trend of moving errors inline
    • avoiding unnecessary alerts
    • e.g. Mobile Safari has error pages rather than alerts
  • your copy (and maybe your company) needs a style guide
    • anyone in the company can use it
    • even developers…!
  • customer? user?
    • Apple uses “you”
  • use genstrings & ibtool to get all the strings into a file to check through
  • recipe for a great alert:
    • title: how did I get here?
    • title & copy: what am I doing here?
    • buttons: how do I do that?
    • buttons: where do I go from here?
  • see more on http://talks.nikf.org/nsc13

Controlling an animation with a UIGestureRecognizer

Eelco Lempsink @eelco

  • want to use a gesture to scrub across an animation
    • e.g. Photos app on iPad lets you slowly pinch/zoom open each event/album
  • control animation: CA...Animation* animation ... animation.speed = 0; animation.duration = 1; animation.timeOffset = position; // 0 .. 1
  • use UIPinchGestureRecognizer
    • adjust scale to fit the UI element size and animation
    • objects should stay under your fingers as you move them
  • decide what to do when you release the gesture
    • end state, duration, animation curve
    • during gesture you probably want linear animation
    • but when you let go it should probably be something different
  • if you have a complicated animation you can add a property to control the offset
    • can then derive other properties from the value of this new property
    • simplifies code
    • but you have to do some interpolation maths yourself

The Art of Shipping

Alan Cannistraro @accannis

http://facebook.com/alancannistraro

  • worked 12 years at Apple
  • started on iOS apps in 2006 before iPhone even announced
  • now working at Facebook London
  • 5 stages to shipping a product

conceive

  • Steve Jobs: “Creativity is just connecting things. When you ask creative people how they did something, they feel a little guilty because they didn’t really do it, they just saw something. It seemed obvious to them after a while.”
  • de Bono lateral/horizontal thinking exercises
  • e.g. “Random Entry”
    • define a focus
    • choose a word from a 2000 word table
    • spend 10-15 mins generating ideas
    • repeat
  • then distill ideas
    • filter for crap or technically impossible
    • gather into a cohesive story

design

  • Steve Jobs: “sweat all the details”
  • Alan uses wireframes to help to decide the design
  • then generate screenshots
  • does it flow? can you simplify it?
  • design up front is easier…
    • (but not always possible)

build

  • make a scaffold: has all the bits
  • Steve Jobs: “Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple.”
  • don’t mess with MVC
    • don’t have a UIView that references an NSManagedObject!
  • Cocoa SDK API has a team that scrutinises the code and strives to simplify it
    • use their API as your yardstick…
  • tried a project by designing it all in UML first
    • the developers stopped coming in…
  • start with simple bits
  • avoid shortcuts unless you’re 2-3 days away from release…

refine

  • track everything
  • set a date
  • don’t be afraid to punt issues to the next release
  • prioritising bugs:
    1. data loss
    2. crashes
    3. visual polish (!)
    4. regressions
    5. bugs in new features
    6. everything else
  • why visual polish so high?
  • Donald Norman: Emotional Design
    • aesthetically pleasing objects appear more useful
    • cognitive bias: beauty bias
      • when something is beautiful, we believe its other properties have prowess
    • the halo effect
      • not about success in one area leading to another
      • instead our brains assume that beautiful apps are better, whether they are or not

review

  • Steve Jobs: “My job is not to be easy on people. My job is to take great people and push them.”
  • be honest about first impressions
    • but leave your ego at the door
  • if it feels wrong, don’t ship it

one more thing…

One thing that Steve said to Alan was “the most important thing you need to do surround yourself with people smarter than you.”