Apple Worldwide Developers Confrence #WWDC17 #YearOfTheEngineer
Each year Apple holds a Developers conference called Apple Worldwide Developers Confrence or for short WWDC. It is a great place to learn and talk about Mac OS, iPhone Apps, TV Apps and Watch Apps. This year it was in San Jose, CA, USA and lasted five days.
It was a fun conference, with an incredible amount to learn and absorb.
Overall I would say #WWDC17 was the year of the engineer, they have given us so many great new APIs and better tools so we can produce some great experiences for our users. The AR/VR and Machine Learning tools are really setting a solid foundation for a interesting and diverse future.
Early 2016 after working on mainly Web application development for a bunch of years. I took leadership of the Mobile Team at Enova (FinTech), which started with just working on an iOS App. Later in 2016 we eventually added an Android Squad. Last year the whole iOS Team applied for WWDC and none got a ticket, its a lottery chosen on your Apple ID.
This year when we applied we expected to be lucky to get one. So of course we got three! Nick a Senior iOS Engineer, Dan our Mobile UI Designer and myself all won tickets in the lottery. I offered my ticket to our other iOS engineers at Enova, they declined. So I went to #WWDC with Dan and Nick.
There was 5300+ people heading to this the conference, which made booking flights and hotels fun. The Hotels are booked through Apple and you need to move fast.
As a team we discussed what we wanted to get out of conference, what sessions we were interested and discussed what questions we wanted to ask the Apple Engineers – you can book sessions with them and discuss your Apps. Great for both your designer and engineers. Not all the session are revealed as they will show up after the Keynote.
Day -1 – Sunday
Up early to travel from Chicago to San Jose.
Getting a conference pass was fast and easy for me. We all got a pin to represent our country, and set of Apple icon pins and a Levi Jacket. Arriving at the Apple conference they had set up a outside garden with music, food and drink. The rest of team came through different routes, we met up for dinner at MOSIAC.
Day 1 – Monday
I got into the lineup at 6.02am. I figure there must of been 1000 people infront of me. I saw people lining up at 7pm the previous day. The reality is that first few lines are saved for VIP and the media.
So you will be stuck in a line up for hours, getting to know the people around you is a good thing and helped pass the time. I met some interesting people from a NewYork Agency, Calgary MRI scanning, Day of Wonders, German Bank, Domino Pizza, Danish FinTech, and Canada RBC.
We talked about many things but there was definitely a couple themes of frustration around a lack of customer research and respect for UX in most companies when working on mobile. Most people seemed to build for a generic user. Others talked about Product Managers who did not really understand the differences between web app and mobile apps.
Once we got inside there was a light breakfast and coffee.. thank you.. after a total of 3 and half hours later I sat down at 9.44. I was in a centre block but a ways back. If you were smart like Dan who lined up after me he got a much better spot by checking where there were gaps i.e. single seats up in the front.
The good news is the room was big enough for everyone all 5,300 to get into the keynote room. Though room is fairly flat so having a tall person in-front of you is going to add hours to your neck dancing skills.
The Keynote was fun, and full of energy. Things that jumped out included iOS 11, Xcode 9, Swift 4, Metal 2, Machine Learning, ARKit, VRKit, Apple File System, and HomePod. From a hardware perspective it felt evolutionary more than revolutionary. with the exception of the 18 Core iMac Pro of course. The real meat and a lot of it was in the software releases. All the things I wanted to see heading in the right direction. A lot of important things to take Apple Engineering to the next level.
Lunch – 5300 people is a lot to feed, there were a lot of places though both outside and inside to eat your lunch.
The Platforms State of Union – this got a lot further into key software updates – it was awesome with lots of stuff we can use in our day to day as an iOS engineer i.e. Xcode catching up with Android SDK, machine learning and a lot to do with testing…
Xcode 9 – Rebuilt Source Editor, Refactoring in Swift, Codable, Language Modes, Faster Builds, faster indexing, GitHub Integration, ViewController update, No need for Mac OS X Server (fingers crossed one day you can build on a linux box), Testing multiple devices at the same time, Wireless Development and a lot lot more..
iOS 11 – Drag and Drop (iPad), new PDFKit, QR Codes, new Video and image formats, Machine Learning, Metal 2 and yea much more.
After the team headed out to a Taurinus Brazilian Steak House – Happy Hour. We recommend it, the grilled pineapple was amazing. Than we headed out to find some random parties
I met a lot of App developers at the Beacon App Party from Dark Storm Comics, Historic house overlays in New York, a couple of the scholars and Apple engineer. Beacon is meet ad-hoc people App and a bunch of people used to find people with common interest at WWDC.
Day 2 – Tuesday
Actually had a light breakfast, as opposed to multiple coffees and head out early (7am) to see Michelle Obama. Her talk was down earth and full of good advice.
In another great talk that day Dr. Christine Darden told us about her journey from Monroe to NASA. I learnt a lot about sonic booms and how to reduce them.
Sessions for the day
The links are to Apples Videos, I will add my summary notes as I transcribe them. Note that links take you to the video page, but there is also a resources tab which includes a pdf of the presentation and full API documentation where relevant.
- Michelle Obama
- Christine Darden – From Monroe to NASA
- Your Apps and Evolving Network Security Standards
- New developments in certificate handling, TLS, and certificate status checking
- Privacy and your Apps
- Love CoreLocation When in Use
- Safari ViewController
- Intelligent Tracking Prevention
- Swift 4
- Faster, easier to use Strings that retain Unicode correctness and add support for creating, using and managing substrings (only keeps what you sliced), Multi-line string Literals
- New Generic Features – where clauses, subscripts (PartialRangeFrom)
- Smart key paths for type-safe, efficient, extensible key value coding for Swift types
- Enhancements to creating and manipulating Dictionary and Set types
- Extends support of archival and serialization to struct and enum types and enables type-safety for serializing to external formats such as JSON and plist
- Enforced exclusive access to memory (Ownership)
- Make it easier to reason about local variables
- Enable Better programmer opt
- Access Control – private and extension work better together now
- Composing a class and any number of protocols
- Improving Cocoa Idioms – Smart Keypaths, Swift Archival & Serialization
- Introducing Core ML
- Bringing Sentiment Analysis, Handwriting Recognition, Translation, Scene Classification, Predicting text, Music Tagging and more to your device
- Updating Your App for iOS 11
- UIKit Bars, Avoiding Zero-Sized Custom Views, Margins & Inserts, Extending Safe Areas, Scroll Views, Self sizing Table views, Swipe actions,
Many years ago I met an amazing CTO/engineer (David Dossot ) in Vancouver, he now works for Apple so we headed to the Infinity Loop to share dinner at Cafe Macs. We had some great conversation and awesome food.
In a previous life I had worked at Apple, as a Genius in the Applestore in Vancouver, BC. Our training at that time brought us to Cupertino and CaffèMacs was my favorite place to eat for several weeks.
After I headed to Buddy build party, than the GitHub social and than Apple Social with a live band. Engineers I spoke to today included from Tumblr, another Creative Agency, a UK Bank and a lot of engineers from Vancouver, BC Canada (where I moved from before working in Chicago).
Day 3 – Wednesday
Sessions for the day
- Natural Language Processing
- Some great examples to get you started
- Debugging in Xcode 9
- Wireless Development, ViewController Debugging, NS Progress, Thermal Notifications, Performance Updates, Key Paths
- Whats new in Foundation
- File Provider Communication
- Improved NSString ↔ Swift String range conversion
- Discrete NSProgress support in NSXPCConnection
- Thermal notifications on iOS
- Copy-on-write NSArray, NSDictionary, NSSet
- Data inlining
- Faster calendrical calculations with lower peak memory
- Faster bridging of NSNumber to and from Swift
- Key Value Observing
- Essential Design Principles
- Why all of theses are important to you -> WayFinding, Feedback, Visibility, Consistency, Mental Model, Proximity, Grouping, Mapping, Affordance, Progressive Disclosure, Symmetry
- Advances in Networking 1
- ECN, IPv6, Network Extensions, and Multipath protocols
- An essential change in URLSession
- Advances in Networking 2
- New URLSession APIs to better handle connectivity fluctuations, to schedule background session tasks, and to receive progress reports for session tasks
Today I met a lot Gaming App developers and learned about their challenges.
For dinner Dan and I hung out with Jaqueline from Calgary first at the Fairmont and than the Farmers Union.
Day 4 – Thursday
This morning was a little harder to focus, as I headed for Breakfast an Apple employee asked me “Hey you care about Woman!, you should go this Women@WWDC – knowing when to do what I am told 😉 I joined the session. It was really good – why Woman should have male allies, how to invite them and how to support them.
One comment really rang true, I have to be invited to go to a Women’s event.. in part because I do not want Women not to have their safe space. But I do care and inequality deeply frustrates (actually it make me angry) me.
Sessions for the day
- Core ML in depth
- Great Presentation with some simple examples that any engineer could play with
- Design for Everyone
- Learn how designing for accessibility and inclusiveness
- Advances in Core Image
- New ways to efficiently render images
- Custom CIKernels in the Metal Shading Language.
- CIFilters that include support for applying image processing to depth data and handling barcodes
- Vision framework can be leveraged within Core Image
- What’s new in Testing
- XCTEST Enhancements
- Async testing – XCTWaiter, XCTestExpectation
- Multi-app testing – App Groups
- UI testing performance – .first, Block-based NSPredicate
- Activities, attachments, and screenshots – XCTActivity, XCTAttachment, XCTScreenshot
- Whats new in LLVM
- API Availability Checking for Objective-C
- Static Analyzer Checks
- New Warnings
- C++ Refactoring
- Features from C++17
- Link-Time Optimization
Fall Out Boy played at the Apple Bash, 5,000+ people in a park with alcohol and food. Not from the US I had never heard them but they put on a great performance.
Today I met engineers from RBC, a Creative Agency, and several education App companies.
Day 5 – Friday
A number of the Apple scholars presented their ideas and answered questions from the audience.
Maybe #woman would be more interested in coding if the examples for Computer Science courses were more interesting and not just calculators..
- Writing Energy Efficient Apps
- The cost for waking the radio is high
- Control retries and be mindful
- A number of specific examples
- Business Chat –
- I can imagine a future where people could sell via chat, or we could support so much easier with customer taking a screen shot of what they are seeing, debugging will become so much easier whilst not awkward for customer and we could share videos of people solving common problems or take a screen shot or needed information. Or just pay with Apple Pay
- PDFKit – yes, yes, yes
- Design Session with an Apple Designer
- This was incredibly useful, we asked him to look at ourUK OnStride App
Talked to an iOS Engineer from Ticketmaster, two from Apple, and an education App.
I deeply thankful that my company Enova sent me along with the team to WWDC and to all the staff at Apple that pulled together a most awesome event.
Broad thoughts for the conference organisers:
- The quality of talks was excellent
- I love there were some all star woman i.e. Michelle and Christine and a lot of engineer woman presenting technical talks, as well as womane@WWDC breakfasts
- I deeply appreciate Apple is starting to sneak Peek future products
- I spent a lot of time in line ups – like hours and hours
- Meeting people was a little hard – some suggestions below:
- Ask when people sign up what they want to get out of conference for example I would love to meet up with other FinTech companies and learn from them. Make this public on a website or add it to our badges
- Or have a noticeboard for people to state what problems they are trying to solve, and types of people they want to meet
- Maybe support an App like Beacon to help the adhoc stuff happen
- Maybe have a recruitment board
- Maybe vary the music a bit
- Have big neon signs at the back of the hall so people know where they need to go when exiting or have the presenter tell people, it was very confusing on the first day
- Communicate more to people when they are lining up what the plan is and not just the front, maybe use your App?
- Overall the conference felt encouraging, positive and I learned a lot
Hints & Tips for Attendees:
- If you win the lottery, book your hotel and flight fast
- Book the parties fast – There is sometimes a list and there is a party App. Some of these go with 15 mins of becoming available
- Consider booking the place you want to have dinner as they fill up with 5,000 extra people in town. We just went to dinner early, where we could
- When booking appointments e.g. UI, App Store, they open at 7am (for that day) and they literary all go within 60 seconds. Be ready and ensure your internet is ready
- Use the Lab sessions to troubleshoot the new software release and your App
- Bring Business Cards, you meet a lot of people and maybe never seen them again
- Bring water and snacks for the line ups
- If you are alone do not be shy in grabbing those middle empty spots in the KeyNote
- The Platforms overview talk is the place that it really gets real for engineers
- Prepare for the appointment sessions, make sure your App is working so you can show them. Know and target you’re areas of weakness.
- Note all the extra conferences that appear around WWDC
So a big plus the Airport is close to the centre. There are a lot of places to eat, most of the week the centre felt lacking people. Friday night was like the whole place was invaded. There were a lot of humans. Most of centre area was very walkable.
- Social Policy offers good food and coffee, the seats rely on perhaps some extra cushioning you may bring with you
- Taurinus Brazilian Steak House – was good and has a happy hour at 5pm to 6pm during the week
- Farmers Union – good comfort food and we had great service
- San Pedro Square Market – A great range of food
I booked my flights late so most of my options were 18 hour trips with connections. So I took the next direct flight leaving 10pm Saturday. This gave me the opportunity to update this blog, consider the upgrades that Apple presented this week for Enova and what we needed to do vs. wanted to do. I also got the opportunity to catch up with another Apple Employee and friend Jerry who works in Apple University. We spent a good six hours talking about AI, tech, education, science fiction and writing.