Last active
August 29, 2015 14:02
-
-
Save CastIrony/95fb6b610b579f0cebc8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "response": { | |
| "ack": true, | |
| "sessions": [ | |
| { | |
| "id": "6150", | |
| "title": "Color Management Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab A", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "colorspace", | |
| " RGB", | |
| " sRGB" | |
| ], | |
| "description": "Go deep into capabilities for color management and the color pipeline for images and video. Get one-on-one technical assistance and development advice from the ColorSync engineers. Bring your code and your questions.", | |
| "start_time": 1402074900, | |
| "end_time": 1402083000, | |
| "video": false, | |
| "number": "6150", | |
| "fav_id": "wwdc14-6150", | |
| "startGMT": "2014-06-06T17:15:00Z", | |
| "endGMT": "2014-06-06T19:30:00Z" | |
| }, | |
| { | |
| "id": "2360", | |
| "title": "HealthKit Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Services Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "hkunit", | |
| "hkquantity", | |
| "hksample", | |
| "hkquantitysample", | |
| "hkcategory", | |
| "hkquery", | |
| "hkhealthstore", | |
| "hkstatistics", | |
| "hkstatisticsquery" | |
| ], | |
| "description": "Apple engineers will be on hand to review your code and answer questions about HealthKit. Any technical, code-based, or session follow-up question is fair game so don't be shy. We're here to help you get answers, learn about the latest development techniques and tools, and improve your code and apps.", | |
| "start_time": 1401820200, | |
| "end_time": 1401828300, | |
| "video": false, | |
| "number": "2360", | |
| "fav_id": "wwdc14-2360", | |
| "startGMT": "2014-06-03T18:30:00Z", | |
| "endGMT": "2014-06-03T20:45:00Z" | |
| }, | |
| { | |
| "id": "5200", | |
| "title": "Media Player and iPod Library Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab B", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Get help with iPod Library Access and the Media Player framework for iOS. Receive technical assistance and troubleshooting advice from Media Player engineers. Bring your code and your questions.", | |
| "start_time": 1401833700, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "5200", | |
| "fav_id": "wwdc14-5200", | |
| "startGMT": "2014-06-03T22:15:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "3150", | |
| "title": "Open Hours", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "Services Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Stop by during Open Hours to talk with Apple engineers about things you've learned during the week, to get answers to questions about new technologies you're experimenting with, or find a fix to a difficult bug.", | |
| "start_time": 1402088400, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "3150", | |
| "fav_id": "wwdc14-3150", | |
| "startGMT": "2014-06-06T21:00:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "2350", | |
| "title": "iCloud Documents Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Services Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "uidocument", | |
| "nsdocument", | |
| "file coordination", | |
| "iCloud", | |
| "extension", | |
| "file provider" | |
| ], | |
| "description": "Work directly with the iCloud Documents teams to learn how your app can adopt Key-Value Store, iCloud Documents Storage APIs, and file provider extensions. Bring your code and your questions.", | |
| "start_time": 1401897600, | |
| "end_time": 1401905700, | |
| "video": false, | |
| "number": "2350", | |
| "fav_id": "wwdc14-2350", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T18:15:00Z" | |
| }, | |
| { | |
| "id": "5190", | |
| "title": "Photos Framework Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab B", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "PHAsset", | |
| " PHCollection", | |
| " PHAssetCollection", | |
| " PHCollectionList", | |
| " PHFetchOptions", | |
| " PHFetchResult", | |
| " Image", | |
| " Photo", | |
| " Camera" | |
| ], | |
| "description": "Learn how your apps can manage the Photo library and get details about writing photo editing extensions from the Apple engineers. Bring your code and your questions.", | |
| "start_time": 1402074900, | |
| "end_time": 1402083000, | |
| "video": false, | |
| "number": "5190", | |
| "fav_id": "wwdc14-5190", | |
| "startGMT": "2014-06-06T17:15:00Z", | |
| "endGMT": "2014-06-06T19:30:00Z" | |
| }, | |
| { | |
| "id": "7250", | |
| "title": "I\\/O Technologies Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab A", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "accessories", | |
| "accessory", | |
| "hardware", | |
| "wired", | |
| "USB", | |
| "USB 3", | |
| "Thunderbolt", | |
| "Thunderbolt 2", | |
| "Ethernet", | |
| "network", | |
| "networking" | |
| ], | |
| "description": "Apple engineers will be on hand to answer your questions about USB, Thunderbolt and Ethernet connectivity on OS X. Bring your device, your code and your questions.", | |
| "start_time": 1401993000, | |
| "end_time": 1401996600, | |
| "video": false, | |
| "number": "7250", | |
| "fav_id": "wwdc14-7250", | |
| "startGMT": "2014-06-05T18:30:00Z", | |
| "endGMT": "2014-06-05T19:30:00Z" | |
| }, | |
| { | |
| "id": "2340", | |
| "title": "CloudKit Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "ckcontainer", | |
| "ckdatabase", | |
| "ckrecordzone", | |
| "ckrecord", | |
| "ckasset", | |
| "ckreference", | |
| "ckrecordid", | |
| "ckoperation", | |
| "fetch", | |
| "query", | |
| "cksubscription", | |
| "nspredicate", | |
| "nssortdescriptor", | |
| "push notification", | |
| "database", | |
| "icloud", | |
| "model", | |
| "storage", | |
| "network", | |
| "offline", | |
| "caching", | |
| "cache" | |
| ], | |
| "description": "Talk with CloudKit engineers to understand how you can leverage the CloudKit APIs in your app. Get advice on how to model your data, save and query records, subscribe to updates, create custom record zones, and much more. Bring all your CloudKit questions, your laptop, and your code.", | |
| "start_time": 1401911100, | |
| "end_time": 1401919200, | |
| "video": false, | |
| "number": "2340", | |
| "fav_id": "wwdc14-2340", | |
| "startGMT": "2014-06-04T19:45:00Z", | |
| "endGMT": "2014-06-04T22:00:00Z" | |
| }, | |
| { | |
| "id": "7240", | |
| "title": "I\\/O Technologies Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab A", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "accessories", | |
| "accessory", | |
| "hardware", | |
| "wired", | |
| "USB", | |
| "USB 3", | |
| "Thunderbolt", | |
| "Thunderbolt 2", | |
| "Ethernet", | |
| "network", | |
| "networking" | |
| ], | |
| "description": "Apple engineers will be on hand to answer your questions about USB, Thunderbolt and Ethernet connectivity on OS X. Bring your device, your code and your questions.", | |
| "start_time": 1401811200, | |
| "end_time": 1401819300, | |
| "video": false, | |
| "number": "7240", | |
| "fav_id": "wwdc14-7240", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-03T18:15:00Z" | |
| }, | |
| { | |
| "id": "6130", | |
| "title": "Metal Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab B", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "3D Graphics", | |
| " Compute", | |
| " GPGPU", | |
| " GPU", | |
| " OpenGL", | |
| " MTL", | |
| " METL", | |
| " OpenGL ES", | |
| " renderer", | |
| " 3D", | |
| " accelerate", | |
| " SIMD", | |
| " shader", | |
| " Xcode", | |
| " Frame Debugger" | |
| ], | |
| "description": "Metal is the powerful low-overhead graphics and compute technology designed to unlock the power of the GPU on the A7 chip. Meet the Metal engineering team to receive hands-on technical guidance. Bring your code and your questions.", | |
| "start_time": 1401988500, | |
| "end_time": 1401996600, | |
| "video": false, | |
| "number": "6130", | |
| "fav_id": "wwdc14-6130", | |
| "startGMT": "2014-06-05T17:15:00Z", | |
| "endGMT": "2014-06-05T19:30:00Z" | |
| }, | |
| { | |
| "id": "2260", | |
| "title": "Core Data Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Services Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "batch", | |
| "operation", | |
| "asynchronous", | |
| "future", | |
| "performance", | |
| "optimization", | |
| "database", | |
| "sqlite", | |
| "concurrency", | |
| "swift", | |
| "nsfetchrequest", | |
| "nsmanagedobjectcontext", | |
| "nspersistentstorecoordinator" | |
| ], | |
| "description": "Apple engineers will be on hand to review your code and answer questions about Core Data. Any technical, code-based, or session follow-up question is fair game so don't be shy. We're here to help you get answers, learn about the latest development techniques and tools, and improve your code and apps.", | |
| "start_time": 1401988500, | |
| "end_time": 1401996600, | |
| "video": false, | |
| "number": "2260", | |
| "fav_id": "wwdc14-2260", | |
| "startGMT": "2014-06-05T17:15:00Z", | |
| "endGMT": "2014-06-05T19:30:00Z" | |
| }, | |
| { | |
| "id": "2290", | |
| "title": "HomeKit Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Services Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "hmhomemanager", | |
| "hmhome", | |
| "hmroom", | |
| "hmzone", | |
| "hmaccessory", | |
| "hmservice", | |
| "hmcharacteristic", | |
| "hmtimertrigger", | |
| "hmtrigger", | |
| "hmaction", | |
| "hmactionset", | |
| "hmcharacteristicwriteaction", | |
| "hmservicegroup" | |
| ], | |
| "description": "HomeKit is a useful new framework ideal for communicating with and controlling physical devices in the world around us. Meet the HomeKit engineering team to receive hands-on technical guidance. Bring your code and your questions.", | |
| "start_time": 1401997500, | |
| "end_time": 1402005600, | |
| "video": false, | |
| "number": "2290", | |
| "fav_id": "wwdc14-2290", | |
| "startGMT": "2014-06-05T19:45:00Z", | |
| "endGMT": "2014-06-05T22:00:00Z" | |
| }, | |
| { | |
| "id": "2280", | |
| "title": "HealthKit Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Services Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "hkunit", | |
| "hkquantity", | |
| "hksample", | |
| "hkquantitysample", | |
| "hkcategory", | |
| "hkquery", | |
| "hkhealthstore", | |
| "hkstatistics", | |
| "hkstatisticsquery" | |
| ], | |
| "description": "Apple engineers will be on hand to review your code and answer questions about HealthKit. Any technical, code-based, or session follow-up question is fair game so don't be shy. We're here to help you get answers, learn about the latest development techniques and tools, and improve your code and apps.", | |
| "start_time": 1402070400, | |
| "end_time": 1402082100, | |
| "video": false, | |
| "number": "2280", | |
| "fav_id": "wwdc14-2280", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T19:15:00Z" | |
| }, | |
| { | |
| "id": "2310", | |
| "title": "CloudKit Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "ckcontainer", | |
| "ckdatabase", | |
| "ckrecordzone", | |
| "ckrecord", | |
| "ckasset", | |
| "ckreference", | |
| "ckrecordid", | |
| "ckoperation", | |
| "fetch", | |
| "query", | |
| "cksubscription", | |
| "nspredicate", | |
| "nssortdescriptor", | |
| "push notification", | |
| "database", | |
| "icloud", | |
| "model", | |
| "storage", | |
| "network", | |
| "offline", | |
| "caching", | |
| "cache" | |
| ], | |
| "description": "Talk with CloudKit engineers to understand how you can leverage the CloudKit APIs in your app. Get advice on how to model your data, save and query records, subscribe to updates, create custom record zones, and much more. Bring all your CloudKit questions, your laptop, and your code.", | |
| "start_time": 1402079400, | |
| "end_time": 1402084800, | |
| "video": false, | |
| "number": "2310", | |
| "fav_id": "wwdc14-2310", | |
| "startGMT": "2014-06-06T18:30:00Z", | |
| "endGMT": "2014-06-06T20:00:00Z" | |
| }, | |
| { | |
| "id": "2300", | |
| "title": "CloudKit Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Services Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "ckcontainer", | |
| "ckdatabase", | |
| "ckrecordzone", | |
| "ckrecord", | |
| "ckasset", | |
| "ckreference", | |
| "ckrecordid", | |
| "ckoperation", | |
| "fetch", | |
| "query", | |
| "cksubscription", | |
| "nspredicate", | |
| "nssortdescriptor", | |
| "push notification", | |
| "database", | |
| "icloud", | |
| "model", | |
| "storage", | |
| "network", | |
| "offline", | |
| "caching", | |
| "cache" | |
| ], | |
| "description": "Talk with CloudKit engineers to understand how you can leverage the CloudKit APIs in your app. Get advice on how to model your data, save and query records, subscribe to updates, create custom record zones, and much more. Bring all your CloudKit questions, your laptop, and your code.", | |
| "start_time": 1401838200, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "2300", | |
| "fav_id": "wwdc14-2300", | |
| "startGMT": "2014-06-03T23:30:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "114", | |
| "title": "The Bash", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Yerba Buena Gardens", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "party", | |
| "beer", | |
| "wine" | |
| ], | |
| "description": "Revel in a one-of-a-kind experience with exceptional music, great food and drinks, and the cheerful company of new friends. To enter, you will need a WWDC badge and a wristband, available Thursday at the check-in desk. Attendees 18 years or older can attend the WWDC Bash at Yerba Buena Gardens and attendees 21 years or older may drink alcohol. Attendees ages 13-17 are invited to enjoy the Bash from the Student Suite at the Metreon. Bag check is not available at the Bash, so please leave your bags at the hotel.", | |
| "start_time": 1402018200, | |
| "end_time": 1402029000, | |
| "video": false, | |
| "number": "114", | |
| "fav_id": "wwdc14-114", | |
| "startGMT": "2014-06-06T01:30:00Z", | |
| "endGMT": "2014-06-06T04:30:00Z" | |
| }, | |
| { | |
| "id": "7220", | |
| "title": "Open Hours", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Stop by during Open Hours to talk with Apple engineers about things you've learned during the week, to get answers to questions about new technologies you're experimenting with, or find a fix to a difficult bug.", | |
| "start_time": 1402088400, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "7220", | |
| "fav_id": "wwdc14-7220", | |
| "startGMT": "2014-06-06T21:00:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "7230", | |
| "title": "Open Hours", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Stop by during Open Hours to talk with Apple engineers about things you've learned during the week, to get answers to questions about new technologies you're experimenting with, or find a fix to a difficult bug.", | |
| "start_time": 1402088400, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "7230", | |
| "fav_id": "wwdc14-7230", | |
| "startGMT": "2014-06-06T21:00:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "6140", | |
| "title": "Open Hours", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Stop by during Open Hours to talk with Apple engineers about things you've learned during the week, to get answers to questions about new technologies you're experimenting with, or find a fix to a difficult bug.", | |
| "start_time": 1402088400, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "6140", | |
| "fav_id": "wwdc14-6140", | |
| "startGMT": "2014-06-06T21:00:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "5180", | |
| "title": "Open Hours", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Stop by during Open Hours to talk with Apple engineers about things you've learned during the week, to get answers to questions about new technologies you're experimenting with, or find a fix to a difficult bug.", | |
| "start_time": 1402088400, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "5180", | |
| "fav_id": "wwdc14-5180", | |
| "startGMT": "2014-06-06T21:00:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "5170", | |
| "title": "Open Hours", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Stop by during Open Hours to talk with Apple engineers about things you've learned during the week, to get answers to questions about new technologies you're experimenting with, or find a fix to a difficult bug.", | |
| "start_time": 1402088400, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "5170", | |
| "fav_id": "wwdc14-5170", | |
| "startGMT": "2014-06-06T21:00:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "2330", | |
| "title": "Open Hours", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Stop by during Open Hours to talk with Apple engineers about things you've learned during the week, to get answers to questions about new technologies you're experimenting with, or find a fix to a difficult bug.", | |
| "start_time": 1402088400, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "2330", | |
| "fav_id": "wwdc14-2330", | |
| "startGMT": "2014-06-06T21:00:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "2320", | |
| "title": "Open Hours", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Stop by during Open Hours to talk with Apple engineers about things you've learned during the week, to get answers to questions about new technologies you're experimenting with, or find a fix to a difficult bug.", | |
| "start_time": 1402088400, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "2320", | |
| "fav_id": "wwdc14-2320", | |
| "startGMT": "2014-06-06T21:00:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "4240", | |
| "title": "Open Hours", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab C", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Stop by during Open Hours to talk with Apple engineers about things you've learned during the week, to get answers to questions about new technologies you're experimenting with, or find a fix to a difficult bug.", | |
| "start_time": 1402088400, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "4240", | |
| "fav_id": "wwdc14-4240", | |
| "startGMT": "2014-06-06T21:00:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "4230", | |
| "title": "Open Hours", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Stop by during Open Hours to talk with Apple engineers about things you've learned during the week, to get answers to questions about new technologies you're experimenting with, or find a fix to a difficult bug.", | |
| "start_time": 1402088400, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "4230", | |
| "fav_id": "wwdc14-4230", | |
| "startGMT": "2014-06-06T21:00:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "4210", | |
| "title": "Interface Builder and Auto Layout Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab C", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "xcode", | |
| "swift", | |
| "nslayoutconstraint" | |
| ], | |
| "description": "Get expert help on how to use Auto Layout in either OS X or iOS. Bring your code and talk with Interface Builder engineers about how to optimally structure your user interface.", | |
| "start_time": 1402070400, | |
| "end_time": 1402084800, | |
| "video": false, | |
| "number": "4210", | |
| "fav_id": "wwdc14-4210", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T20:00:00Z" | |
| }, | |
| { | |
| "id": "4200", | |
| "title": "LLDB and Xcode Debugging Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "expression", | |
| "po", | |
| "repl", | |
| "swift" | |
| ], | |
| "description": "Work directly with the LLDB debugger and Xcode teams and learn how you can use Xcode and the next-generation LLDB debugger to track down problems in your app. Bring your code and your questions.", | |
| "start_time": 1402070400, | |
| "end_time": 1402084800, | |
| "video": false, | |
| "number": "4200", | |
| "fav_id": "wwdc14-4200", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T20:00:00Z" | |
| }, | |
| { | |
| "id": "4180", | |
| "title": "Continuous Integration", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab C", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "bot", | |
| "scm", | |
| "git", | |
| "unit test" | |
| ], | |
| "description": "Work directly with the Xcode tools team to learn how to get the most out of Xcode when creating a build and test strategy, or setting up Xcode Server for Xcode 6. Bring your code and your questions.", | |
| "start_time": 1402002000, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "4180", | |
| "fav_id": "wwdc14-4180", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "4170", | |
| "title": "LLVM Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "clang", | |
| "jit", | |
| "ftl", | |
| "pgo", | |
| "profile guided optimization" | |
| ], | |
| "description": "Join the Apple compiler team to learn how you can take advantage of the latest advancements in LLVM and static analysis to build a better application. Bring your code and your questions.", | |
| "start_time": 1402002000, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "4170", | |
| "fav_id": "wwdc14-4170", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "4150", | |
| "title": "Xcode and Interface Builder Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab C", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "size classes", | |
| "xib", | |
| "storyboard", | |
| "auto layout", | |
| "nslayoutconstraint", | |
| "swift" | |
| ], | |
| "description": "Work directly with the Xcode and Interface Builder teams to get the most out of Xcode, discuss ways to make your interface stand out, and how to structure your project to target Mac, iPhone, and iPad. Bring your code and your questions.", | |
| "start_time": 1401984000, | |
| "end_time": 1401998400, | |
| "video": false, | |
| "number": "4150", | |
| "fav_id": "wwdc14-4150", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T20:00:00Z" | |
| }, | |
| { | |
| "id": "4140", | |
| "title": "Instruments Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "dtrace", | |
| "time profiler", | |
| "memory", | |
| "heap", | |
| "virtual memory", | |
| "page", | |
| "allocations", | |
| "leaks", | |
| "zombies", | |
| "crash", | |
| "debug", | |
| "performance", | |
| "swift" | |
| ], | |
| "description": "Work directly with the Instruments engineering team to diagnose performance issues in your app and discover how to fix them. Bring your code and your questions.", | |
| "start_time": 1401984000, | |
| "end_time": 1401998400, | |
| "video": false, | |
| "number": "4140", | |
| "fav_id": "wwdc14-4140", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T20:00:00Z" | |
| }, | |
| { | |
| "id": "4120", | |
| "title": "LLDB and Xcode Debugging Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab C", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "view", | |
| "hierarchy", | |
| "queue", | |
| "gcd", | |
| "thread", | |
| "backtrace", | |
| "stack", | |
| "frame", | |
| "swift" | |
| ], | |
| "description": "Work directly with the LLDB debugger and Xcode teams and learn how you can use Xcode and the next-generation LLDB debugger to track down problems in your app. Bring your code and your questions.", | |
| "start_time": 1401915600, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "4120", | |
| "fav_id": "wwdc14-4120", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "4110", | |
| "title": "LLVM Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "clang", | |
| "jit", | |
| "ftl", | |
| "pgo", | |
| "profile guided optimization" | |
| ], | |
| "description": "Join the Apple compiler team to learn how you can take advantage of the latest advancements in LLVM and static analysis to build a better application. Bring your code and your questions.", | |
| "start_time": 1401915600, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "4110", | |
| "fav_id": "wwdc14-4110", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "4090", | |
| "title": "Interface Builder and Live Views Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab C", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "auto layout", | |
| "nslayoutconstraint", | |
| "framework", | |
| "swift", | |
| "size classes" | |
| ], | |
| "description": "Get expert help on how to use Live Views in Interface Builder. Bring your code and talk with engineers about how to make your interface come to life in Xcode 6.", | |
| "start_time": 1401897600, | |
| "end_time": 1401912000, | |
| "video": false, | |
| "number": "4090", | |
| "fav_id": "wwdc14-4090", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T20:00:00Z" | |
| }, | |
| { | |
| "id": "4080", | |
| "title": "Instruments Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "dtrace", | |
| "time profiler", | |
| "memory", | |
| "heap", | |
| "virtual memory", | |
| "page", | |
| "allocations", | |
| "leaks", | |
| "zombies", | |
| "crash", | |
| "debug", | |
| "performance", | |
| "swift" | |
| ], | |
| "description": "Work directly with the LLDB debugger and Instruments teams and learn how you can use Instruments and the next-generation LLDB debugger to track down problems in your app. Bring your code and your questions.", | |
| "start_time": 1401897600, | |
| "end_time": 1401912000, | |
| "video": false, | |
| "number": "4080", | |
| "fav_id": "wwdc14-4080", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T20:00:00Z" | |
| }, | |
| { | |
| "id": "4060", | |
| "title": "Xcode and Localization Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab C", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "internationalization", | |
| "nslocalizedstring", | |
| "preview", | |
| "xib", | |
| "storyboard", | |
| "interface builder", | |
| "xliff", | |
| "swift" | |
| ], | |
| "description": "Work directly with the Xcode tools team to learn how to get the most out of Xcode when localizing your iOS or OS X app. Bring your code and your questions.", | |
| "start_time": 1401829200, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "4060", | |
| "fav_id": "wwdc14-4060", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "4050", | |
| "title": "Interface Builder and Auto Layout Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "xcode", | |
| "swift", | |
| "nslayoutconstraint" | |
| ], | |
| "description": "Get expert help on how to use Auto Layout in your OS X or iOS app. Bring your code and talk with Interface Builder engineers about how to optimally structure your user interface.", | |
| "start_time": 1401829200, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "4050", | |
| "fav_id": "wwdc14-4050", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "4030", | |
| "title": "Xcode Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab C", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "project", | |
| "workspaces", | |
| "targets", | |
| "swift", | |
| "modules", | |
| "frameworks", | |
| "configuration", | |
| "code signing", | |
| "provisioning profiles" | |
| ], | |
| "description": "Work directly with the Xcode tools team to learn how to get the most out of Xcode when creating your next iOS or OS X app. Bring your code and your questions.", | |
| "start_time": 1401811200, | |
| "end_time": 1401825600, | |
| "video": false, | |
| "number": "4030", | |
| "fav_id": "wwdc14-4030", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-03T20:00:00Z" | |
| }, | |
| { | |
| "id": "4020", | |
| "title": "LLVM Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "clang", | |
| "jit", | |
| "ftl", | |
| "pgo", | |
| "profile guided optimization" | |
| ], | |
| "description": "Join the Apple compiler team to learn how you can take advantage of the latest advancements in LLVM and static analysis to build a better application. Bring your code and your questions.", | |
| "start_time": 1401811200, | |
| "end_time": 1401825600, | |
| "video": false, | |
| "number": "4020", | |
| "fav_id": "wwdc14-4020", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-03T20:00:00Z" | |
| }, | |
| { | |
| "id": "4190", | |
| "title": "Swift Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "syntax", | |
| "closure", | |
| "statement", | |
| "switch", | |
| "generics", | |
| "optionals", | |
| "enumerations", | |
| "structures", | |
| "let", | |
| "var", | |
| "property", | |
| "class", | |
| "protocol", | |
| "template", | |
| "functional programming" | |
| ], | |
| "description": "Join Apple engineering teams as they answer your questions about Swift. Learn how you can integrate Swift into your apps. Bring your code and your questions.", | |
| "start_time": 1402070400, | |
| "end_time": 1402084800, | |
| "video": false, | |
| "number": "4190", | |
| "fav_id": "wwdc14-4190", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T20:00:00Z" | |
| }, | |
| { | |
| "id": "4220", | |
| "title": "Swift Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "syntax", | |
| "closure", | |
| "statement", | |
| "switch", | |
| "generics", | |
| "optionals", | |
| "enumerations", | |
| "structures", | |
| "let", | |
| "var", | |
| "property", | |
| "class", | |
| "protocol", | |
| "template", | |
| "functional programming" | |
| ], | |
| "description": "Join Apple engineering teams as they answer your questions about Swift. Learn how you can integrate Swift into your apps. Bring your code and your questions.", | |
| "start_time": 1402088400, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "4220", | |
| "fav_id": "wwdc14-4220", | |
| "startGMT": "2014-06-06T21:00:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "4160", | |
| "title": "Swift Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "syntax", | |
| "closure", | |
| "statement", | |
| "switch", | |
| "generics", | |
| "optionals", | |
| "enumerations", | |
| "structures", | |
| "let", | |
| "var", | |
| "property", | |
| "class", | |
| "protocol", | |
| "template", | |
| "functional programming" | |
| ], | |
| "description": "Join Apple engineering teams as they answer your questions about Swift. Learn how you can integrate Swift into your apps. Bring your code and your questions.", | |
| "start_time": 1402002000, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "4160", | |
| "fav_id": "wwdc14-4160", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "4130", | |
| "title": "Swift Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "syntax", | |
| "closure", | |
| "statement", | |
| "switch", | |
| "generics", | |
| "optionals", | |
| "enumerations", | |
| "structures", | |
| "let", | |
| "var", | |
| "property", | |
| "class", | |
| "protocol", | |
| "template", | |
| "functional programming" | |
| ], | |
| "description": "Join Apple engineering teams as they answer your questions about Swift. Learn how you can integrate Swift into your apps. Bring your code and your questions.", | |
| "start_time": 1401984000, | |
| "end_time": 1401998400, | |
| "video": false, | |
| "number": "4130", | |
| "fav_id": "wwdc14-4130", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T20:00:00Z" | |
| }, | |
| { | |
| "id": "4100", | |
| "title": "Swift Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "syntax", | |
| "closure", | |
| "statement", | |
| "switch", | |
| "generics", | |
| "optionals", | |
| "enumerations", | |
| "structures", | |
| "let", | |
| "var", | |
| "property", | |
| "class", | |
| "protocol", | |
| "template", | |
| "functional programming" | |
| ], | |
| "description": "Join Apple engineering teams as they answer your questions about Swift. Learn how you can integrate Swift into your apps. Bring your code and your questions.", | |
| "start_time": 1401915600, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "4100", | |
| "fav_id": "wwdc14-4100", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "4070", | |
| "title": "Swift Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "syntax", | |
| "closure", | |
| "statement", | |
| "switch", | |
| "generics", | |
| "optionals", | |
| "enumerations", | |
| "structures", | |
| "let", | |
| "var", | |
| "property", | |
| "class", | |
| "protocol", | |
| "template", | |
| "functional programming" | |
| ], | |
| "description": "Join Apple engineering teams as they answer your questions about Swift. Learn how you can integrate Swift into your apps. Bring your code and your questions.", | |
| "start_time": 1401897600, | |
| "end_time": 1401912000, | |
| "video": false, | |
| "number": "4070", | |
| "fav_id": "wwdc14-4070", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T20:00:00Z" | |
| }, | |
| { | |
| "id": "4040", | |
| "title": "Swift Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "syntax", | |
| "closure", | |
| "statement", | |
| "switch", | |
| "generics", | |
| "optionals", | |
| "enumerations", | |
| "structures", | |
| "let", | |
| "var", | |
| "property", | |
| "class", | |
| "protocol", | |
| "template", | |
| "functional programming" | |
| ], | |
| "description": "Join Apple engineering teams as they answer your questions about Swift. Learn how you can integrate Swift into your apps. Bring your code and your questions.", | |
| "start_time": 1401829200, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "4040", | |
| "fav_id": "wwdc14-4040", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "4010", | |
| "title": "Swift Lab", | |
| "track": "Tools", | |
| "type": "Lab", | |
| "room": "Tools Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "syntax", | |
| "closure", | |
| "statement", | |
| "switch", | |
| "generics", | |
| "optionals", | |
| "enumerations", | |
| "structures", | |
| "let", | |
| "var", | |
| "property", | |
| "class", | |
| "protocol", | |
| "template", | |
| "functional programming" | |
| ], | |
| "description": "Join Apple engineering teams as they answer your questions about Swift. Learn how you can integrate Swift into your apps. Bring your code and your questions.", | |
| "start_time": 1401811200, | |
| "end_time": 1401825600, | |
| "video": false, | |
| "number": "4010", | |
| "fav_id": "wwdc14-4010", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-03T20:00:00Z" | |
| }, | |
| { | |
| "id": "3010", | |
| "title": "App Store Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "App Store Lab", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "iTC", | |
| " App Store", | |
| " Marketing", | |
| " iTunes", | |
| " Connect", | |
| " App Review", | |
| " Review", | |
| " rejection", | |
| " rejected" | |
| ], | |
| "description": "Get help on a variety of topics, including app submissions, marketing and distribution, sales and finance reports, managing your account, and more. Drop in to the App Store Lab anytime or stop by to make an appointment at a time that works best for you. Be sure to have your App Apple ID, Team ID, and any related information that will help the team assist you.", | |
| "start_time": 1401811200, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "3010", | |
| "fav_id": "wwdc14-3010", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "3040", | |
| "title": "App Store Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "App Store Lab", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "iTC", | |
| " App Store", | |
| " Marketing", | |
| " iTunes", | |
| " Connect", | |
| " App Review", | |
| " Review", | |
| " rejection", | |
| " rejected" | |
| ], | |
| "description": "Get help on a variety of topics, including app submissions, marketing and distribution, sales and finance reports, managing your account, and more. Drop in to the App Store Lab anytime or stop by to make an appointment at a time that works best for you. Be sure to have your App Apple ID, Team ID, and any related information that will help the team assist you.", | |
| "start_time": 1401897600, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "3040", | |
| "fav_id": "wwdc14-3040", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "3070", | |
| "title": "App Store Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "App Store Lab", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "iTC", | |
| " App Store", | |
| " Marketing", | |
| " iTunes", | |
| " Connect", | |
| " App Review", | |
| " Review", | |
| " rejection", | |
| " rejected" | |
| ], | |
| "description": "Get help on a variety of topics, including app submissions, marketing and distribution, sales and finance reports, managing your account, and more. Drop in to the App Store Lab anytime or stop by to make an appointment at a time that works best for you. Be sure to have your App Apple ID, Team ID, and any related information that will help the team assist you.", | |
| "start_time": 1401984000, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "3070", | |
| "fav_id": "wwdc14-3070", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "3110", | |
| "title": "App Store Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "App Store Lab", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "iTC", | |
| " App Store", | |
| " Marketing", | |
| " iTunes", | |
| " Connect", | |
| " App Review", | |
| " Review", | |
| " rejection", | |
| " rejected" | |
| ], | |
| "description": "Get help on a variety of topics, including app submissions, marketing and distribution, sales and finance reports, managing your account, and more. Drop in to the App Store Lab anytime or stop by to make an appointment at a time that works best for you. Be sure to have your App Apple ID, Team ID, and any related information that will help the team assist you.", | |
| "start_time": 1402070400, | |
| "end_time": 1402081200, | |
| "video": false, | |
| "number": "3110", | |
| "fav_id": "wwdc14-3110", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T19:00:00Z" | |
| }, | |
| { | |
| "id": "7010", | |
| "title": "Power and Performance Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "energy", | |
| " battery", | |
| " GCD", | |
| " XPC", | |
| " Activity", | |
| " Tracing", | |
| " QoS", | |
| " NSOperation", | |
| " breadcrumb", | |
| " debug", | |
| " diagnostic", | |
| " NSLog", | |
| " syslog", | |
| " crash", | |
| " trace" | |
| ], | |
| "description": "Looking for expert advice on power management and writing energy-efficient code? Meet the engineers from Apple's power teams, the experts on GCD and XPC, and Activity Tracing. Bring your laptop, your code, and your questions.", | |
| "start_time": 1402006500, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "7010", | |
| "fav_id": "wwdc14-7010", | |
| "startGMT": "2014-06-05T22:15:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "7020", | |
| "title": "Multipeer Connectivity Lab 2", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "bluetooth", | |
| " BT", | |
| " WiFi", | |
| " Wi-Fi", | |
| " MCAdvertiser", | |
| " MCBrowser", | |
| " MCNearby", | |
| " MCPeer", | |
| " MCSession", | |
| " network" | |
| ], | |
| "description": "For all your questions about nearby networking with Multipeer Connectivity, meet the team who designed and implemented this framework on iOS, and now OS X. Bring your code, your laptop and your questions.", | |
| "start_time": 1402070400, | |
| "end_time": 1402078500, | |
| "video": false, | |
| "number": "7020", | |
| "fav_id": "wwdc14-7020", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T18:15:00Z" | |
| }, | |
| { | |
| "id": "3130", | |
| "title": "Calendar, Reminders, and EventKit Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Apple engineers will be on hand to review your code and answer questions about Calendar, Reminders, and EventKit. Any technical, code-based, or session follow-up question related to these frameworks is fair game so don't be shy. We're here to help you get answers, learn about the latest development techniques and tools, and improve your code and apps.", | |
| "start_time": 1402079400, | |
| "end_time": 1402087500, | |
| "video": false, | |
| "number": "3130", | |
| "fav_id": "wwdc14-3130", | |
| "startGMT": "2014-06-06T18:30:00Z", | |
| "endGMT": "2014-06-06T20:45:00Z" | |
| }, | |
| { | |
| "id": "2250", | |
| "title": "Core Data Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "batch", | |
| "operation", | |
| "asynchronous", | |
| "future", | |
| "performance", | |
| "optimization", | |
| "database", | |
| "sqlite", | |
| "concurrency", | |
| "swift", | |
| "nsfetchrequest", | |
| "nsmanagedobjectcontext", | |
| "nspersistentstorecoordinator" | |
| ], | |
| "description": "Apple engineers will be on hand to review your code and answer questions about Core Data. Any technical, code-based, or session follow-up question is fair game so don't be shy. We're here to help you get answers, learn about the latest development techniques and tools, and improve your code and apps.", | |
| "start_time": 1402070400, | |
| "end_time": 1402078500, | |
| "video": false, | |
| "number": "2250", | |
| "fav_id": "wwdc14-2250", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T18:15:00Z" | |
| }, | |
| { | |
| "id": "2220", | |
| "title": "Cocoa Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "AppKit", | |
| " storyboard", | |
| " view controller", | |
| " auto layout" | |
| ], | |
| "description": "Apple engineers will be on hand to review your code and answer questions about Cocoa. Any technical or session follow-up question is fair game so don't be shy. We're here to help you get answers, learn about the latest development techniques and tools, and improve your code and apps.", | |
| "start_time": 1402011000, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "2220", | |
| "fav_id": "wwdc14-2220", | |
| "startGMT": "2014-06-05T23:30:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "2210", | |
| "title": "Extensions Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " AppKit", | |
| " notification center", | |
| " widget", | |
| " today" | |
| ], | |
| "description": "Extensions allow your apps to provide functionality for other apps across the system. Bring your code, questions, and ideas to work with Apple engineers on creating great extensions for your iOS and OS X apps.", | |
| "start_time": 1402002000, | |
| "end_time": 1402010100, | |
| "video": false, | |
| "number": "2210", | |
| "fav_id": "wwdc14-2210", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-05T23:15:00Z" | |
| }, | |
| { | |
| "id": "2190", | |
| "title": "View Controllers and Cocoa Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "split", | |
| " tab", | |
| " AppKit", | |
| " storyboard", | |
| " auto layout" | |
| ], | |
| "description": "Apple engineers will be on hand to review your code and answer questions about view controllers for OS X and Cocoa. Any technical or session follow-up question is acceptable so don't be shy. We're here to help you get answers, learn about the latest development techniques and tools, and improve your code and apps.", | |
| "start_time": 1401993000, | |
| "end_time": 1402001100, | |
| "video": false, | |
| "number": "2190", | |
| "fav_id": "wwdc14-2190", | |
| "startGMT": "2014-06-05T18:30:00Z", | |
| "endGMT": "2014-06-05T20:45:00Z" | |
| }, | |
| { | |
| "id": "2160", | |
| "title": "Handoff Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " AppKit", | |
| " continue", | |
| " NSUserActivity", | |
| " streams" | |
| ], | |
| "description": "Apple engineers will be on hand to review your code and answer questions about Handoff. Any technical or session follow-up question is acceptable so don't be shy. We're here to help you get answers, learn about the latest development techniques and tools, and improve your code and apps.", | |
| "start_time": 1401984000, | |
| "end_time": 1401992100, | |
| "video": false, | |
| "number": "2160", | |
| "fav_id": "wwdc14-2160", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T18:15:00Z" | |
| }, | |
| { | |
| "id": "2130", | |
| "title": "New UI and Cocoa Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "AppKit", | |
| " Aqua" | |
| ], | |
| "description": "Apple engineers will be on hand to review your code and answer questions about implementing the new UI in OS X Yosemite in Cocoa. Any technical or session follow-up question is fair game so don't be shy. We're here to help you get answers, learn about the latest development techniques and tools, and improve your code and apps.", | |
| "start_time": 1401920100, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "2130", | |
| "fav_id": "wwdc14-2130", | |
| "startGMT": "2014-06-04T22:15:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "2110", | |
| "title": "Core Data Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Services Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "batch", | |
| "operation", | |
| "asynchronous", | |
| "future", | |
| "performance", | |
| "optimization", | |
| "database", | |
| "sqlite", | |
| "concurrency", | |
| "swift", | |
| "nsfetchrequest", | |
| "nsmanagedobjectcontext", | |
| "nspersistentstorecoordinator" | |
| ], | |
| "description": "Apple engineers will be on hand to review your code and answer questions about Core Data. Any technical, code-based, or session follow-up question is fair game so don't be shy. We're here to help you get answers, learn about the latest development techniques and tools, and improve your code and apps.", | |
| "start_time": 1401897600, | |
| "end_time": 1401910200, | |
| "video": false, | |
| "number": "2110", | |
| "fav_id": "wwdc14-2110", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T19:30:00Z" | |
| }, | |
| { | |
| "id": "2090", | |
| "title": "Accessibility and Speech Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "voiceover", | |
| " switch", | |
| " automation" | |
| ], | |
| "description": "Accessibility and Speech support is crucial to allowing all users to benefit from using your app. Apple engineers will be on hand to review your code and answer questions. Any technical or session follow-up questions are acceptable. We're here to help you get answers and improve your code.", | |
| "start_time": 1401902100, | |
| "end_time": 1401910200, | |
| "video": false, | |
| "number": "2090", | |
| "fav_id": "wwdc14-2090", | |
| "startGMT": "2014-06-04T17:15:00Z", | |
| "endGMT": "2014-06-04T19:30:00Z" | |
| }, | |
| { | |
| "id": "2080", | |
| "title": "Foundation Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "url", | |
| " network", | |
| " date", | |
| " time", | |
| " formatter", | |
| " string", | |
| " array", | |
| " dictionary" | |
| ], | |
| "description": "Have questions about using Foundation APIs? Apple engineers will be on hand to review your code and answer any technical questions you may have. Stop by with your laptop and code and we'll work with you one-on-one to help with any problems you're having using this powerful collection of APIs.", | |
| "start_time": 1401897600, | |
| "end_time": 1401901200, | |
| "video": false, | |
| "number": "2080", | |
| "fav_id": "wwdc14-2080", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T17:00:00Z" | |
| }, | |
| { | |
| "id": "2050", | |
| "title": "Internationalization Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "date", | |
| " formatter", | |
| " language", | |
| " RTL", | |
| " right to left", | |
| " NSDate", | |
| " currency", | |
| " time", | |
| " calendar", | |
| " number", | |
| " locale", | |
| " markets", | |
| " text", | |
| " string", | |
| " genstrings", | |
| " unicode", | |
| " ibtool", | |
| " foundation", | |
| " UIKit", | |
| " AppKit", | |
| " core foundation" | |
| ], | |
| "description": "Have questions about internationalizing your app? Apple engineers from several teams working on localization related tools and technologies will be available to review your code and answer any technical questions you may have. Stop by with your laptop and code and we'll work with you one-on-one to help with any problems you're having.", | |
| "start_time": 1401833700, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "2050", | |
| "fav_id": "wwdc14-2050", | |
| "startGMT": "2014-06-03T22:15:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "2030", | |
| "title": "Cocoa Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab B", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "AppKit" | |
| ], | |
| "description": "Apple engineers will be on hand to review your code and answer questions about Cocoa. Any technical or session follow-up question is fair game so don't be shy. We're here to help you get answers, learn about the latest development techniques and tools, and improve your code and apps.", | |
| "start_time": 1401823800, | |
| "end_time": 1401832800, | |
| "video": false, | |
| "number": "2030", | |
| "fav_id": "wwdc14-2030", | |
| "startGMT": "2014-06-03T19:30:00Z", | |
| "endGMT": "2014-06-03T22:00:00Z" | |
| }, | |
| { | |
| "id": "2240", | |
| "title": "Visual Effects and Appearance Customization Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab A", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "vibrancy", | |
| " blur", | |
| " translucency", | |
| " transparency", | |
| " UIKit" | |
| ], | |
| "description": "The new visual effects view in iOS 8 allows even more appearance customization within your iOS apps. Apple engineers will be available to review your code and answer any usage questions you may have. Stop by with your laptop and code and we'll work with you one-on-one to help with any problems you're having or to help clarify things you're not sure about with these new APIs.", | |
| "start_time": 1402070400, | |
| "end_time": 1402078500, | |
| "video": false, | |
| "number": "2240", | |
| "fav_id": "wwdc14-2240", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T18:15:00Z" | |
| }, | |
| { | |
| "id": "2200", | |
| "title": "Cocoa Touch Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab A", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "collection", | |
| " table" | |
| ], | |
| "description": "Creating great iOS apps relies on using UIKit controls to enable scrolling, gestures, and interface elements such as sliders, buttons, and more. Work with Apple engineers and gain insights on how to leverage the power of UIKit. Bring your code, questions, and get one-on-one support to make your apps even better.", | |
| "start_time": 1402002000, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "2200", | |
| "fav_id": "wwdc14-2200", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "2180", | |
| "title": "Table View and Collection View Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab A", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "scroll", | |
| " dynamic type", | |
| " UIKit" | |
| ], | |
| "description": "Table views and collection views have gained new capabilities in iOS 8 to resize to the content you give their cells. Apple engineers will be available to review your code and answer any programming questions you may have. Stop by with your laptop and code and we'll work with you one-on-one to help with any problems you're having or to help clarify things you're not sure about with these APIs.", | |
| "start_time": 1401993000, | |
| "end_time": 1402001100, | |
| "video": false, | |
| "number": "2180", | |
| "fav_id": "wwdc14-2180", | |
| "startGMT": "2014-06-05T18:30:00Z", | |
| "endGMT": "2014-06-05T20:45:00Z" | |
| }, | |
| { | |
| "id": "2150", | |
| "title": "Dynamics, View Animations, and Core Animation Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab A", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "spring", | |
| " bounce", | |
| " collision", | |
| " shape", | |
| " layer", | |
| " UIKit", | |
| " bezier" | |
| ], | |
| "description": "Dynamics, view animations, and Core Animation allow your apps to feel alive. Stop by with your laptop and code to meet and work with Apple engineers, one-on-one, to resolve misunderstandings and to optimize your code.", | |
| "start_time": 1401984000, | |
| "end_time": 1401992100, | |
| "video": false, | |
| "number": "2150", | |
| "fav_id": "wwdc14-2150", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T18:15:00Z" | |
| }, | |
| { | |
| "id": "2120", | |
| "title": "View Controllers and Adaptivity Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab A", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "traits", | |
| " split", | |
| " popover", | |
| " UIKit", | |
| " navigation", | |
| " toolbar" | |
| ], | |
| "description": "Speak with Apple engineers about your code and questions you may have about view controllers, transitions, and how to make your apps adapt to various size classes. Stop by with your laptop and code and we'll work with you one-on-one to optimize your code and make sure you're totally up to speed with these new APIs.", | |
| "start_time": 1401915600, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "2120", | |
| "fav_id": "wwdc14-2120", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "2100", | |
| "title": "Cocoa Touch Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab A", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "collection", | |
| " table", | |
| " navigation", | |
| " toolbar" | |
| ], | |
| "description": "UIKit provides all the necessary classes to build great iOS apps. Bring your code and questions to work with Apple engineers and gain insights on how best to use classes like view controllers, scroll views, and gesture recognizers in your apps.", | |
| "start_time": 1401906600, | |
| "end_time": 1401914700, | |
| "video": false, | |
| "number": "2100", | |
| "fav_id": "wwdc14-2100", | |
| "startGMT": "2014-06-04T18:30:00Z", | |
| "endGMT": "2014-06-04T20:45:00Z" | |
| }, | |
| { | |
| "id": "2070", | |
| "title": "TextKit and Core Text Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UITextView", | |
| " UILabel", | |
| " dynamic type" | |
| ], | |
| "description": "Text plays a key role in delivering information within your apps. Work with TextKit and Core Text engineers and learn how to make your apps respond to user text settings, or get advice on how to achieve complex text layouts. Bring your code, questions, and ideas.", | |
| "start_time": 1401897600, | |
| "end_time": 1401905700, | |
| "video": false, | |
| "number": "2070", | |
| "fav_id": "wwdc14-2070", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T18:15:00Z" | |
| }, | |
| { | |
| "id": "403", | |
| "title": "Intermediate Swift", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "module", | |
| "generics", | |
| "functional programming", | |
| "map", | |
| "filter", | |
| "reduce" | |
| ], | |
| "description": "Explore the modern features of the Swift programming language. Learn about object initialization, closures, and optionals. See how you can perform pattern matching using Swift's powerful switch statements.", | |
| "start_time": 1401915600, | |
| "end_time": 1401919200, | |
| "video": false, | |
| "number": "403", | |
| "fav_id": "wwdc14-403", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-04T22:00:00Z" | |
| }, | |
| { | |
| "id": "2040", | |
| "title": "Extensions Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " AppKit", | |
| " notification center", | |
| " widget", | |
| " today" | |
| ], | |
| "description": "Extensions allow your apps to provide functionality for other apps across the system. Meet and talk to Apple engineers on how to create great extensions for iOS and OS X. Bring your code, questions, and ideas.", | |
| "start_time": 1401833700, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "2040", | |
| "fav_id": "wwdc14-2040", | |
| "startGMT": "2014-06-03T22:15:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "2020", | |
| "title": "Cocoa Touch Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Frameworks Lab A", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "table", | |
| " navigation", | |
| " toolbar" | |
| ], | |
| "description": "From UIScrollView to UILabel, UIKit provides the building blocks to create iOS apps. Bring your code and questions to Apple engineers for assistance in using these core elements to build amazing apps.", | |
| "start_time": 1401823800, | |
| "end_time": 1401832800, | |
| "video": false, | |
| "number": "2020", | |
| "fav_id": "wwdc14-2020", | |
| "startGMT": "2014-06-03T19:30:00Z", | |
| "endGMT": "2014-06-03T22:00:00Z" | |
| }, | |
| { | |
| "id": "5150", | |
| "title": "iBooks and iBooks Store Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Meet with Apple engineers and designers for guidance on creating books using iBooks Author or EPUB, as well as with representatives of the iBooks Store for discussions of the publishing process. Get tips about the book design process, get hands-on help adding interactive elements, and learn to embed audio and video. Come and ask questions about signing up as a bookseller, delivering books, the book review process, how to grow your book business, and more. Bring your book and your questions.", | |
| "start_time": 1402074900, | |
| "end_time": 1402083000, | |
| "video": false, | |
| "number": "5150", | |
| "fav_id": "wwdc14-5150", | |
| "startGMT": "2014-06-06T17:15:00Z", | |
| "endGMT": "2014-06-06T19:30:00Z" | |
| }, | |
| { | |
| "id": "5050", | |
| "title": "iBooks and iBooks Store Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Meet with Apple engineers and designers for guidance on creating books using iBooks Author or EPUB, as well as with representatives of the iBooks Store for discussions of the publishing process. Get tips about the book design process, get hands-on help adding interactive elements, and learn to embed audio and video. Come and ask questions about signing up as a bookseller, delivering books, the book review process, how to grow your book business, and more. Bring your book and your questions.", | |
| "start_time": 1401902100, | |
| "end_time": 1401910200, | |
| "video": false, | |
| "number": "5050", | |
| "fav_id": "wwdc14-5050", | |
| "startGMT": "2014-06-04T17:15:00Z", | |
| "endGMT": "2014-06-04T19:30:00Z" | |
| }, | |
| { | |
| "id": "7030", | |
| "title": "Accessories and I\\/O Technologies Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "accessories", | |
| "accessory", | |
| "app-enabled", | |
| "hardware", | |
| "wired", | |
| "wireless", | |
| "Wi-Fi", | |
| "WiFi", | |
| "802.11", | |
| "Bluetooth", | |
| "Bluetooth Low Energy", | |
| "BLE", | |
| "BTLE", | |
| "Lightning", | |
| "Lightning connector", | |
| "30-pin", | |
| "30-pin connector", | |
| "USB", | |
| "USB 3", | |
| "Thunderbolt", | |
| "Thunderbolt 2", | |
| "External Accessory framework", | |
| "External Accessory", | |
| "AirPlay", | |
| "iBeacon", | |
| "Wireless Accessory Configuration", | |
| "iAP", | |
| "MFi", | |
| "MFi Program", | |
| "CoreBluetooth", | |
| "Core Bluetooth", | |
| "game controller", | |
| "beacon" | |
| ], | |
| "description": "Meet with members of the engineering teams responsible for hardware interfaces and accessories. Bring your questions about Wi-Fi, AirPlay, Bluetooth, USB, Thunderbolt, Lightning connector and app-enabled accessories.", | |
| "start_time": 1401820200, | |
| "end_time": 1401828300, | |
| "video": false, | |
| "number": "7030", | |
| "fav_id": "wwdc14-7030", | |
| "startGMT": "2014-06-03T18:30:00Z", | |
| "endGMT": "2014-06-03T20:45:00Z" | |
| }, | |
| { | |
| "id": "7040", | |
| "title": "Accessories and I\\/O Technologies Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "accessories", | |
| "accessory", | |
| "app-enabled", | |
| "hardware", | |
| "wired", | |
| "wireless", | |
| "Wi-Fi", | |
| "WiFi", | |
| "802.11", | |
| "Bluetooth", | |
| "Bluetooth Low Energy", | |
| "BLE", | |
| "BTLE", | |
| "Lightning", | |
| "Lightning connector", | |
| "30-pin", | |
| "30-pin connector", | |
| "USB", | |
| "USB 3", | |
| "Thunderbolt", | |
| "Thunderbolt 2", | |
| "External Accessory framework", | |
| "External Accessory", | |
| "AirPlay", | |
| "iBeacon", | |
| "Wireless Accessory Configuration", | |
| "iAP", | |
| "MFi", | |
| "MFi Program", | |
| "CoreBluetooth", | |
| "Core Bluetooth", | |
| "game controller", | |
| "beacon" | |
| ], | |
| "description": "Meet with members of the engineering teams responsible for hardware interfaces and accessories. Bring your questions about Wi-Fi, AirPlay, Bluetooth, USB, Thunderbolt, Lightning connector and app-enabled accessories. Meet with the CarPlay engineering team and learn about the CarPlay experience.", | |
| "start_time": 1401997500, | |
| "end_time": 1402005600, | |
| "video": false, | |
| "number": "7040", | |
| "fav_id": "wwdc14-7040", | |
| "startGMT": "2014-06-05T19:45:00Z", | |
| "endGMT": "2014-06-05T22:00:00Z" | |
| }, | |
| { | |
| "id": "6010", | |
| "title": "Metal Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab A", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "3D Graphics", | |
| " Compute", | |
| " GPGPU", | |
| " GPU", | |
| " OpenGL", | |
| " MTL", | |
| " METL", | |
| " OpenGL ES", | |
| " renderer", | |
| " 3D", | |
| " accelerate", | |
| " SIMD", | |
| " shader", | |
| " Xcode", | |
| " Frame Debugger" | |
| ], | |
| "description": "Metal is the powerful low-overhead graphics and compute technology designed to unlock the power of the GPU on the A7 chip. Meet the Metal engineering team to receive hands-on technical guidance. Bring your code and your questions.", | |
| "start_time": 1401915600, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "6010", | |
| "fav_id": "wwdc14-6010", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "6020", | |
| "title": "OpenGL ES Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab B", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "3D Graphics", | |
| " GPU", | |
| " OpenGL", | |
| " OpenGL ES", | |
| " renderer", | |
| " 3D", | |
| " Xcode", | |
| " Frame Debugger" | |
| ], | |
| "description": "Meet with members of the OpenGL ES engineering teams to dig deeper into features, tools, and performance. Bring your code and your questions.", | |
| "start_time": 1401915600, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "6020", | |
| "fav_id": "wwdc14-6020", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "5160", | |
| "title": "HTTP Live Streaming Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "HTTP Live Streaming provides live or on-demand video using the same technology that powers the web. Get one-on-one technical assistance and development advice from the HTTP Live Streaming and video engineering teams. Bring your code and your questions.", | |
| "start_time": 1401984000, | |
| "end_time": 1401992100, | |
| "video": false, | |
| "number": "5160", | |
| "fav_id": "wwdc14-5160", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T18:15:00Z" | |
| }, | |
| { | |
| "id": "5120", | |
| "title": "AV Foundation and Camera Capture Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Meet Apple engineers and discuss how to use AV Foundation to capture video, edit movies, migrate from older APIs, and more. Bring your code and your questions.", | |
| "start_time": 1402002000, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "5120", | |
| "fav_id": "wwdc14-5120", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "5070", | |
| "title": "AV Foundation and Camera Capture Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Meet Apple engineers and discuss how to use AV Foundation to capture video, edit movies, migrate from older APIs, and more. Bring your code and your questions.", | |
| "start_time": 1401911100, | |
| "end_time": 1401923700, | |
| "video": false, | |
| "number": "5070", | |
| "fav_id": "wwdc14-5070", | |
| "startGMT": "2014-06-04T19:45:00Z", | |
| "endGMT": "2014-06-04T23:15:00Z" | |
| }, | |
| { | |
| "id": "5030", | |
| "title": "AV Foundation Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "AV Foundation and AVKit are the modern media capture, edit and playback frameworks on iOS and OS X. Get one-on-one technical assistance and development advice from Apple AV Foundation engineers Bring your code and your questions.", | |
| "start_time": 1401833700, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "5030", | |
| "fav_id": "wwdc14-5030", | |
| "startGMT": "2014-06-03T22:15:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "5020", | |
| "title": "AirPlay Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "AirPlay provides instant streaming from your Mac or iOS device to an Apple TV. Get one-on-one technical assistance and development advice from the AirPlay engineering team. Bring your code and your questions.", | |
| "start_time": 1401829200, | |
| "end_time": 1401837300, | |
| "video": false, | |
| "number": "5020", | |
| "fav_id": "wwdc14-5020", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-03T23:15:00Z" | |
| }, | |
| { | |
| "id": "5060", | |
| "title": "Audio Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "OS X and iOS provide rich capabilities for audio processing, recording, and playback. Receive one-on-one technical assistance and development advice from the Core Audio engineering team. Bring your code and your questions.", | |
| "start_time": 1401911100, | |
| "end_time": 1401923700, | |
| "video": false, | |
| "number": "5060", | |
| "fav_id": "wwdc14-5060", | |
| "startGMT": "2014-06-04T19:45:00Z", | |
| "endGMT": "2014-06-04T23:15:00Z" | |
| }, | |
| { | |
| "id": "5010", | |
| "title": "Audio Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "OS X and iOS provide rich capabilities for audio processing, recording, and playback. Receive one-on-one technical assistance and development advice from the Core Audio engineering team. Bring your code and your questions.", | |
| "start_time": 1401820200, | |
| "end_time": 1401832800, | |
| "video": false, | |
| "number": "5010", | |
| "fav_id": "wwdc14-5010", | |
| "startGMT": "2014-06-03T18:30:00Z", | |
| "endGMT": "2014-06-03T22:00:00Z" | |
| }, | |
| { | |
| "id": "7060", | |
| "title": "Networking Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "NSURLSession", | |
| " NSURLConnection", | |
| " HTTP", | |
| " SPDY", | |
| " Bonjour", | |
| " VPN", | |
| " TLS", | |
| " SSL", | |
| " TCP" | |
| ], | |
| "description": "Engineers from Apple's networking teams will be on hand to provide expert advice, to help you troubleshoot networking problems, and improve networking performance. Bring your laptop, your code, and your networking-related questions.", | |
| "start_time": 1401897600, | |
| "end_time": 1401905700, | |
| "video": false, | |
| "number": "7060", | |
| "fav_id": "wwdc14-7060", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T18:15:00Z" | |
| }, | |
| { | |
| "id": "7070", | |
| "title": "Notifications Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Services Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "APNS", | |
| " push", | |
| " location" | |
| ], | |
| "description": "Questions about User, Local and Push Notifications and the Apple Push Notification Service? Meet with the Apple engineering teams for get expert advice on both of these iOS and OS X technologies.", | |
| "start_time": 1401920100, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "7070", | |
| "fav_id": "wwdc14-7070", | |
| "startGMT": "2014-06-04T22:15:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "7080", | |
| "title": "Security Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "sandbox", | |
| " touch", | |
| " passcode", | |
| " password", | |
| " protection", | |
| " keychain", | |
| " crypto", | |
| " SecItem", | |
| " SecTrust", | |
| " SecCertificate", | |
| " SecRandom", | |
| " SecAttr", | |
| " FIPS", | |
| " TLS", | |
| " SSL", | |
| " kerberos", | |
| " ACL", | |
| " LocalAuthentication", | |
| " smart" | |
| ], | |
| "description": "Get together with Apple's security teams for expert advice on using Touch ID, Keychain, Data Protection, the App Sandbox, Cryptography, and other iOS and OS X security topics.", | |
| "start_time": 1401906600, | |
| "end_time": 1401912000, | |
| "video": false, | |
| "number": "7080", | |
| "fav_id": "wwdc14-7080", | |
| "startGMT": "2014-06-04T18:30:00Z", | |
| "endGMT": "2014-06-04T20:00:00Z" | |
| }, | |
| { | |
| "id": "3030", | |
| "title": "Contacts and Social Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "Services Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "address", | |
| " account", | |
| " ABAddress", | |
| " ABPerson", | |
| " SLCompose", | |
| " SLRequest" | |
| ], | |
| "description": "Meet the Contacts and Social teams for expert advice on using these frameworks to offer a more personalized and engaging user experience. Bring your code, your laptop, and your questions.", | |
| "start_time": 1401829200, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "3030", | |
| "fav_id": "wwdc14-3030", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "6030", | |
| "title": "OpenCL Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab B", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "GPGPU", | |
| " compute", | |
| " IOSurface", | |
| " GPU", | |
| " NSOpenGL", | |
| " parallel" | |
| ], | |
| "description": "OpenCL unleashes high-performance parallel computing in your Mac apps. Meet the OpenCL engineering team to receive hands-on technical guidance. Bring your code and your questions.", | |
| "start_time": 1401815700, | |
| "end_time": 1401828300, | |
| "video": false, | |
| "number": "6030", | |
| "fav_id": "wwdc14-6030", | |
| "startGMT": "2014-06-03T17:15:00Z", | |
| "endGMT": "2014-06-03T20:45:00Z" | |
| }, | |
| { | |
| "id": "6050", | |
| "title": "Core Animation and Quartz 2D Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "CGContext", | |
| " CALayer" | |
| ], | |
| "description": "Receive one-on-one technical assistance and troubleshooting advice from the Core Animation and Quartz 2D teams. Get help with Core Animation, Core Graphics, Image Capture, Image I\\/O, ImageKit, PDFKit, and more. Bring your code and your questions.", | |
| "start_time": 1401988500, | |
| "end_time": 1401996600, | |
| "video": false, | |
| "number": "6050", | |
| "fav_id": "wwdc14-6050", | |
| "startGMT": "2014-06-05T17:15:00Z", | |
| "endGMT": "2014-06-05T19:30:00Z" | |
| }, | |
| { | |
| "id": "6060", | |
| "title": "Core Animation and Quartz 2D Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "CGContext", | |
| " CALayer" | |
| ], | |
| "description": "Receive one-on-one technical assistance and troubleshooting advice from the Core Animation and Quartz 2D teams. Get help with Core Animation, Core Graphics, Image Capture, Image I\\/O, ImageKit, PDFKit, and more. Bring your code and your questions.", | |
| "start_time": 1401829200, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "6060", | |
| "fav_id": "wwdc14-6060", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "6070", | |
| "title": "SpriteKit Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "lighting", | |
| " physics", | |
| " shaders", | |
| " OpenGL", | |
| " graphics", | |
| " rendering", | |
| " inverse kinematics", | |
| " sprite", | |
| " 2D", | |
| " animation", | |
| " shading", | |
| " collisions", | |
| " constraint" | |
| ], | |
| "description": "SpriteKit is a powerful graphics framework ideal for developing 2D action games, platformers, puzzle games, and much more. Meet the SpriteKit engineering team to receive hands-on technical guidance. Bring your code and your questions.", | |
| "start_time": 1401997500, | |
| "end_time": 1402010100, | |
| "video": false, | |
| "number": "6070", | |
| "fav_id": "wwdc14-6070", | |
| "startGMT": "2014-06-05T19:45:00Z", | |
| "endGMT": "2014-06-05T23:15:00Z" | |
| }, | |
| { | |
| "id": "6080", | |
| "title": "Game Controllers Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "DPAD", | |
| " Joystick", | |
| " button", | |
| " physical", | |
| " input", | |
| " controller", | |
| " MFI", | |
| " game", | |
| " shoulder", | |
| " GCController" | |
| ], | |
| "description": "Get expert technical guidance for integrating the Game Controller framework into your games and go hands-on with a MFi game controller. Bring your code and your questions.", | |
| "start_time": 1402079400, | |
| "end_time": 1402087500, | |
| "video": false, | |
| "number": "6080", | |
| "fav_id": "wwdc14-6080", | |
| "startGMT": "2014-06-06T18:30:00Z", | |
| "endGMT": "2014-06-06T20:45:00Z" | |
| }, | |
| { | |
| "id": "6090", | |
| "title": "Game Center Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "social", | |
| " game", | |
| " leaderboard", | |
| " achievement", | |
| " challenge", | |
| " friend", | |
| " multiplayer", | |
| " GKPlayer", | |
| " GKLocalPlayer", | |
| " GKChallenge", | |
| " GKLeaderboard", | |
| " GKScore", | |
| " GKAchievement", | |
| " GKMatch", | |
| " GKCloudSave" | |
| ], | |
| "description": "Get one-on-one technical assistance and advice from the Game Center engineers about using Game Center in your titles. Bring your code and your questions.", | |
| "start_time": 1401902100, | |
| "end_time": 1401914700, | |
| "video": false, | |
| "number": "6090", | |
| "fav_id": "wwdc14-6090", | |
| "startGMT": "2014-06-04T17:15:00Z", | |
| "endGMT": "2014-06-04T20:45:00Z" | |
| }, | |
| { | |
| "id": "6100", | |
| "title": "Core Motion Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab A", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "motion", | |
| " step", | |
| " pedometer", | |
| " driving", | |
| " walking", | |
| " cycling", | |
| " CMMotion", | |
| " accelerometer", | |
| " gyroscope", | |
| " M7" | |
| ], | |
| "description": "Receive expert assistance and tips from the Core Motion engineers for using motion tracking in your iOS app. Bring your code and your questions.", | |
| "start_time": 1402083900, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "6100", | |
| "fav_id": "wwdc14-6100", | |
| "startGMT": "2014-06-06T19:45:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "5110", | |
| "title": "Photos Framework Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab A", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "PHAsset", | |
| " PHCollection", | |
| " PHAssetCollection", | |
| " PHCollectionList", | |
| " PHFetchOptions", | |
| " PHFetchResult", | |
| " Image", | |
| " Photo", | |
| " Camera" | |
| ], | |
| "description": "Learn how your apps can manage the Photo library and get details about writing photo editing extensions from the Apple engineers. Bring your code and your questions.", | |
| "start_time": 1401993000, | |
| "end_time": 1402001100, | |
| "video": false, | |
| "number": "5110", | |
| "fav_id": "wwdc14-5110", | |
| "startGMT": "2014-06-05T18:30:00Z", | |
| "endGMT": "2014-06-05T20:45:00Z" | |
| }, | |
| { | |
| "id": "6110", | |
| "title": "SceneKit Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Bananas", | |
| " 3D", | |
| " graph", | |
| " SCNNode", | |
| " SCNView", | |
| " collada", | |
| " DAE", | |
| " opensubdiv", | |
| " SCNLayer", | |
| " OpenGL", | |
| " graphics", | |
| " rendering", | |
| " physics", | |
| " inverse kinematics", | |
| " OpenGL" | |
| ], | |
| "description": "SceneKit is an innovative graphics framework enabling your apps and casual games to efficiently load, manipulate, and render 3D scenes. Receive expert assistance and helpful tips from the SceneKit engineering team. Bring your code and your questions.", | |
| "start_time": 1401997500, | |
| "end_time": 1402010100, | |
| "video": false, | |
| "number": "6110", | |
| "fav_id": "wwdc14-6110", | |
| "startGMT": "2014-06-05T19:45:00Z", | |
| "endGMT": "2014-06-05T23:15:00Z" | |
| }, | |
| { | |
| "id": "5140", | |
| "title": "Core Image Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "RAW", | |
| " convolution", | |
| " CIContext", | |
| " CIImage", | |
| " CIFilter", | |
| " CIKernel", | |
| " games", | |
| " science", | |
| " photo", | |
| " camera" | |
| ], | |
| "description": "Work directly with Core Image engineers to add image processing effects to your apps and get tips for using, writing, and tuning image processing filters. Bring your code and your questions.", | |
| "start_time": 1402011000, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "5140", | |
| "fav_id": "wwdc14-5140", | |
| "startGMT": "2014-06-05T23:30:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "7100", | |
| "title": "Developing Apps for Enterprise and Education Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "MDM", | |
| " VPP", | |
| " supervise", | |
| " management", | |
| " business", | |
| " school", | |
| " SSO", | |
| " configure", | |
| " VPN", | |
| " B2B", | |
| " provisioning" | |
| ], | |
| "description": "If you are building custom apps for corporate employees, contractors, or faculty and students, this lab will help answer questions you may and guide you through the process. Learn best practices for integrating enterprise apps in your IT environment and for distributing apps internally or to key business partners using B2B distribution through the Volume Purchase Program.", | |
| "start_time": 1401915600, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "7100", | |
| "fav_id": "wwdc14-7100", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "3140", | |
| "title": "Automation Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "Services Lab B", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "Scriptable", | |
| " AppleScript", | |
| " JavaScript", | |
| " JXA", | |
| " JavaScriptCore" | |
| ], | |
| "description": "With so much new with the OS X automation technologies this year, you'll want to get by the lab early. Bring your questions about implementing automation support in your applications, and stay for overview of the new abilities and features of AppleScript and Automator in OS X.", | |
| "start_time": 1402083900, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "3140", | |
| "fav_id": "wwdc14-3140", | |
| "startGMT": "2014-06-06T19:45:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "419", | |
| "title": "Advanced Graphics and Animations for iOS Apps", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " vibrancy", | |
| " blur", | |
| " translucency" | |
| ], | |
| "description": "Creating a responsive UI requires an understanding of Core Animation and how mobile GPUs work. Learn about the iOS rendering pipeline in Core Animation, the new UIVisualEffectView and how it utilizes the GPU. Find out about the available tools for profiling UI performance. See how to identify and fix performance issues on a variety of devices.", | |
| "start_time": 1401815700, | |
| "end_time": 1401819300, | |
| "video": false, | |
| "number": "419", | |
| "fav_id": "wwdc14-419", | |
| "startGMT": "2014-06-03T17:15:00Z", | |
| "endGMT": "2014-06-03T18:15:00Z" | |
| }, | |
| { | |
| "id": "106", | |
| "title": "Stump the Experts", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Stump the Experts is a long-standing tradition at WWDC where you can go head-to-head against some of Apple's very best engineers and alumni in this sometimes irreverent, sometimes wild, and always entertaining game show event. Test your knowledge of Apple history, trivia, and facts, and be prepared for a great time.", | |
| "start_time": 1401845400, | |
| "end_time": 1401850800, | |
| "video": false, | |
| "number": "106", | |
| "fav_id": "wwdc14-106", | |
| "startGMT": "2014-06-04T01:30:00Z", | |
| "endGMT": "2014-06-04T03:00:00Z" | |
| }, | |
| { | |
| "id": "101", | |
| "title": "Keynote", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "WWDC 2014 Keynote", | |
| "start_time": 1401728400, | |
| "end_time": 1401735600, | |
| "video": false, | |
| "number": "101", | |
| "fav_id": "wwdc14-101", | |
| "startGMT": "2014-06-02T17:00:00Z", | |
| "endGMT": "2014-06-02T19:00:00Z" | |
| }, | |
| { | |
| "id": "115", | |
| "title": "A Moment In Silence", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [], | |
| "keywords": [], | |
| "description": "\"Houston we have a problem.\" Leland Melvin was 25 feet under water in the Neutral Buoyancy Laboratory, a 6 million gallon pool, training to perform spacewalks as a NASA astronaut when he called the test director and asked him to turn the volume up in his headset. He never heard a reply and was immediately hoisted out of the pool to learn that he was deaf. Emergency surgery resulting in only partial recovery to his hearing led him to being medically disqualified to fly in space by NASA flight surgeons. This is just one of the many career ending challenges Leland has overcome in his life. Before becoming an astronaut Leland was drafted by the Detroit Lions in the 1986 College Draft to play professional football but a hamstring injury thwarted his NFL career with Detroit and then later with the Dallas Cowboys. Hear his fascinating story of perseverance and how he ultimately traveled off-planet twice on Space Shuttle Atlantis to help build the International Space Station, and learn about his work to inspire the next generation of explorers in STEAM education through his role as NASA Associate Administrator for Education.", | |
| "start_time": 1402083900, | |
| "end_time": 1402087500, | |
| "video": false, | |
| "number": "115", | |
| "fav_id": "wwdc14-115", | |
| "startGMT": "2014-06-06T19:45:00Z", | |
| "endGMT": "2014-06-06T20:45:00Z" | |
| }, | |
| { | |
| "id": "111", | |
| "title": "Star Wars Past, Present and Future", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Star Wars is a universe unlike any other. Its characters and stories have touched generations of fans across the world. Dave Filoni represents not only the fan that exists in all of us, but is also one of the key creatives at Lucasfilm. From when George Lucas asked Dave to helm Lucasfilm Animation's Star Wars: The Clone Wars to the development of the highly anticipated animated television series Star Wars Rebels, Dave is the past, present and future of this great legacy of storytelling. Join Dave as he describes his journey to a galaxy far, far away as a fan and as a filmmaker.", | |
| "start_time": 1401997500, | |
| "end_time": 1402001100, | |
| "video": false, | |
| "number": "111", | |
| "fav_id": "wwdc14-111", | |
| "startGMT": "2014-06-05T19:45:00Z", | |
| "endGMT": "2014-06-05T20:45:00Z" | |
| }, | |
| { | |
| "id": "107", | |
| "title": "Designing for the Sensitive Mind: The Digital Experience in the Autistic Spectrum", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Meet Natalia Berdys, an inspiration for any app developer and evangelist for inclusive design. Designing with cognitively-impaired users in mind can be very illuminating, leading to a broader understanding of the role of design. The perceptual issues involved for users with Asperger syndrome and high-functioning autism are shaping current design trends\\u2014their perception and their alternate sensory reality can be the most sensitive test of universally good design in any piece of software. Hear Natalia's personal journey to becoming an iOS app developer and learn from her experience designing apps for children.", | |
| "start_time": 1401911100, | |
| "end_time": 1401914700, | |
| "video": false, | |
| "number": "107", | |
| "fav_id": "wwdc14-107", | |
| "startGMT": "2014-06-04T19:45:00Z", | |
| "endGMT": "2014-06-04T20:45:00Z" | |
| }, | |
| { | |
| "id": "236", | |
| "title": "Building Interruptible and Responsive Interactions", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " core animation" | |
| ], | |
| "description": "Learn how to fluidly transition interactive UI elements from gesture-driven control to animated transitions. Take advantage of new iOS 8 behavior to smoothly transition between several animations on the same view. Discover architectural approaches to interfaces which remain interactive while they animate.", | |
| "start_time": 1402079400, | |
| "end_time": 1402083000, | |
| "video": false, | |
| "number": "236", | |
| "fav_id": "wwdc14-236", | |
| "startGMT": "2014-06-06T18:30:00Z", | |
| "endGMT": "2014-06-06T19:30:00Z" | |
| }, | |
| { | |
| "id": "306", | |
| "title": "JavaScript for Automation", | |
| "track": "Services", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [], | |
| "description": "Automation in OS X has always been about power and choice. Scriptable applications, including Pages, Keynote, Numbers, and the Finder, can already be automated using a variety of languages, including AppleScript, Objective-C, Perl, Python, and Ruby. With OS X Yosemite, application scripting support has been added to another popular language, JavaScript. JavaScript for Automation (JXA) extends the standard JavaScript environment provided by the JavaScriptCore framework with support for querying and controlling all of the scriptable applications running in OS X. JXA scripts are supported at all layers of the system and can be invoked from the command-line, from the system-wide Script Menu, and can even be distributed as code-signed applications.", | |
| "start_time": 1402079400, | |
| "end_time": 1402083000, | |
| "video": false, | |
| "number": "306", | |
| "fav_id": "wwdc14-306", | |
| "startGMT": "2014-06-06T18:30:00Z", | |
| "endGMT": "2014-06-06T19:30:00Z" | |
| }, | |
| { | |
| "id": "5130", | |
| "title": "Safari and WebKit Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "JavaScriptCore", | |
| " HTML", | |
| " JavaScript", | |
| " 3d", | |
| " canvas", | |
| " debug", | |
| " HLS", | |
| " video", | |
| " MSE", | |
| " autofill", | |
| " keychain", | |
| " icon", | |
| " credentials", | |
| " password", | |
| " responsive" | |
| ], | |
| "description": "Apple engineers and web technology experts will be on hand to review your code and answer questions about web content development, Safari, Safari compatibility, WebKit, and web technologies such as HTML5 media, data storage, CSS animations, web graphics, and more. Anything web related is fair game so don't be shy. We're here to help you get answers, learn about the latest web development techniques and tools, and improve your site and code.", | |
| "start_time": 1402002000, | |
| "end_time": 1402010100, | |
| "video": false, | |
| "number": "5130", | |
| "fav_id": "wwdc14-5130", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-05T23:15:00Z" | |
| }, | |
| { | |
| "id": "5090", | |
| "title": "Safari and WebKit Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "JavaScriptCore", | |
| " HTML", | |
| " JavaScript", | |
| " 3d", | |
| " canvas", | |
| " debug", | |
| " HLS", | |
| " video", | |
| " MSE", | |
| " autofill", | |
| " keychain", | |
| " icon", | |
| " credentials", | |
| " password", | |
| " responsive" | |
| ], | |
| "description": "Apple engineers and web technology experts will be on hand to review your code and answer questions about web content development, Safari, Safari compatibility, WebKit, and web technologies such as HTML5 media, data storage, CSS animations, web graphics, and more. Anything web related is fair game so don't be shy. We're here to help you get answers, learn about the latest web development techniques and tools, and improve your site and code.", | |
| "start_time": 1401924600, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "5090", | |
| "fav_id": "wwdc14-5090", | |
| "startGMT": "2014-06-04T23:30:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "5100", | |
| "title": "iAd Technologies Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Monetize", | |
| " API", | |
| " segmentation", | |
| " banner", | |
| " advertise" | |
| ], | |
| "description": "Apple engineers, iAd, and web technology experts will be on hand to review your code and answer questions about creating rich advertisements for iAd, enabling iAd, integrating iAd into your app, maximizing performance, embedding banner views, and monitoring revenue. Anything iAd related is fair game so don't be shy. We're here to help you get answers and improve your iAds.", | |
| "start_time": 1401988500, | |
| "end_time": 1402001100, | |
| "video": false, | |
| "number": "5100", | |
| "fav_id": "wwdc14-5100", | |
| "startGMT": "2014-06-05T17:15:00Z", | |
| "endGMT": "2014-06-05T20:45:00Z" | |
| }, | |
| { | |
| "id": "5080", | |
| "title": "iAd Technologies Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Monetize", | |
| " API", | |
| " segmentation", | |
| " banner", | |
| " advertise" | |
| ], | |
| "description": "Apple engineers, iAd, and web technology experts will be on hand to review your code and answer questions about creating rich advertisements for iAd, enabling iAd, integrating iAd into your app, maximizing performance, embedding banner views, and monitoring revenue. Anything iAd related is fair game so don't be shy. We're here to help you get answers and improve your iAds.", | |
| "start_time": 1401924600, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "5080", | |
| "fav_id": "wwdc14-5080", | |
| "startGMT": "2014-06-04T23:30:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "5040", | |
| "title": "Safari and WebKit Lab", | |
| "track": "Media", | |
| "type": "Lab", | |
| "room": "Media Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "JavaScriptCore", | |
| " HTML", | |
| " JavaScript", | |
| " 3d", | |
| " canvas", | |
| " debug", | |
| " HLS", | |
| " video", | |
| " MSE", | |
| " autofill", | |
| " keychain", | |
| " icon", | |
| " credentials", | |
| " password", | |
| " responsive" | |
| ], | |
| "description": "Apple engineers and web technology experts will be on hand to review your code and answer questions about web content development, Safari, Safari compatibility, WebKit, and web technologies such as HTML5 media, data storage, CSS animations, web graphics, and more. Anything web related is fair game so don't be shy. We're here to help you get answers, learn about the latest web development techniques and tools, and improve your site and code.", | |
| "start_time": 1401838200, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "5040", | |
| "fav_id": "wwdc14-5040", | |
| "startGMT": "2014-06-03T23:30:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "7110", | |
| "title": "Installer Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab B", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "package", | |
| " pkg" | |
| ], | |
| "description": "Work with the Installer team and the OS X Software Delivery engineers to get your questions answered regarding software installation.", | |
| "start_time": 1401811200, | |
| "end_time": 1401819300, | |
| "video": false, | |
| "number": "7110", | |
| "fav_id": "wwdc14-7110", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-03T18:15:00Z" | |
| }, | |
| { | |
| "id": "3080", | |
| "title": "Passbook Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "Services Lab B", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "PKPass", | |
| " ticket", | |
| " coupon", | |
| " cards", | |
| " barcode" | |
| ], | |
| "description": "Meet the Apple experts for answers to all your Passbook questions and for advice on implementing and deploying Passbook passes.", | |
| "start_time": 1402006500, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "3080", | |
| "fav_id": "wwdc14-3080", | |
| "startGMT": "2014-06-05T22:15:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "404", | |
| "title": "Advanced Swift", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "template", | |
| "switch" | |
| ], | |
| "description": "Dive deep into Swift! Explore some of its more powerful features, like operator overloading, string interpolation, and advanced pattern matching. Learn how to take advantage of generics to write terse and expressive code.", | |
| "start_time": 1401993000, | |
| "end_time": 1401996600, | |
| "video": false, | |
| "number": "404", | |
| "fav_id": "wwdc14-404", | |
| "startGMT": "2014-06-05T18:30:00Z", | |
| "endGMT": "2014-06-05T19:30:00Z" | |
| }, | |
| { | |
| "id": "2270", | |
| "title": "User Interface Design Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "User Interface Design Lab", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "design", | |
| " animation", | |
| " ui", | |
| " ux", | |
| " user", | |
| " interface", | |
| " experience", | |
| " approachability", | |
| " navigation", | |
| " layout", | |
| " icons", | |
| " iOS", | |
| " Mac", | |
| " UIKit", | |
| " AppKit consultation", | |
| " human interface", | |
| " HI", | |
| " HIG", | |
| " guidelines" | |
| ], | |
| "description": "Consult with Apple's human interface design experts to make your iOS and OS X apps visually compelling and simple to use. Come prepared with a working prototype, development build, or even a shipping app. Reservations are required and can be made each day starting at 8AM at the User Interface Design Lab, beginning on Tuesday.", | |
| "start_time": 1402083000, | |
| "end_time": 1402095600, | |
| "video": false, | |
| "number": "2270", | |
| "fav_id": "wwdc14-2270", | |
| "startGMT": "2014-06-06T19:30:00Z", | |
| "endGMT": "2014-06-06T23:00:00Z" | |
| }, | |
| { | |
| "id": "2230", | |
| "title": "User Interface Design Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "User Interface Design Lab", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "design", | |
| " animation", | |
| " ui", | |
| " ux", | |
| " user", | |
| " interface", | |
| " experience", | |
| " approachability", | |
| " navigation", | |
| " layout", | |
| " icons", | |
| " iOS", | |
| " Mac", | |
| " UIKit", | |
| " AppKit consultation", | |
| " human interface", | |
| " HI", | |
| " HIG", | |
| " guidelines" | |
| ], | |
| "description": "Consult with Apple's human interface design experts to make your iOS and OS X apps visually compelling and simple to use. Come prepared with a working prototype, development build, or even a shipping app. Reservations are required and can be made each day starting at 8AM at the User Interface Design Lab, beginning on Tuesday.", | |
| "start_time": 1402070400, | |
| "end_time": 1402083000, | |
| "video": false, | |
| "number": "2230", | |
| "fav_id": "wwdc14-2230", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T19:30:00Z" | |
| }, | |
| { | |
| "id": "2140", | |
| "title": "User Interface Design Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "User Interface Design Lab", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "design", | |
| " animation", | |
| " ui", | |
| " ux", | |
| " user", | |
| " interface", | |
| " experience", | |
| " approachability", | |
| " navigation", | |
| " layout", | |
| " icons", | |
| " iOS", | |
| " Mac", | |
| " UIKit", | |
| " AppKit consultation", | |
| " human interface", | |
| " HI", | |
| " HIG", | |
| " guidelines" | |
| ], | |
| "description": "Consult with Apple's human interface design experts to make your iOS and OS X apps visually compelling and simple to use. Come prepared with a working prototype, development build, or even a shipping app. Reservations are required and can be made each day starting at 8AM at the User Interface Design Lab, beginning on Tuesday.", | |
| "start_time": 1401984000, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "2140", | |
| "fav_id": "wwdc14-2140", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "2060", | |
| "title": "User Interface Design Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "User Interface Design Lab", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "design", | |
| " animation", | |
| " ui", | |
| " ux", | |
| " user", | |
| " interface", | |
| " experience", | |
| " approachability", | |
| " navigation", | |
| " layout", | |
| " icons", | |
| " iOS", | |
| " Mac", | |
| " UIKit", | |
| " AppKit consultation", | |
| " human interface", | |
| " HI", | |
| " HIG", | |
| " guidelines" | |
| ], | |
| "description": "Consult with Apple's human interface design experts to make your iOS and OS X apps visually compelling and simple to use. Come prepared with a working prototype, development build, or even a shipping app. Reservations are required and can be made each day starting at 8AM at the User Interface Design Lab, beginning on Tuesday.", | |
| "start_time": 1401897600, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "2060", | |
| "fav_id": "wwdc14-2060", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "2010", | |
| "title": "User Interface Design Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "User Interface Design Lab", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "design", | |
| " animation", | |
| " ui", | |
| " ux", | |
| " user", | |
| " interface", | |
| " experience", | |
| " approachability", | |
| " navigation", | |
| " layout", | |
| " icons", | |
| " iOS", | |
| " Mac", | |
| " UIKit", | |
| " AppKit consultation", | |
| " human interface", | |
| " HI", | |
| " HIG", | |
| " guidelines" | |
| ], | |
| "description": "Consult with Apple's human interface design experts to make your iOS and OS X apps visually compelling and simple to use. Come prepared with a working prototype, development build, or even a shipping app. Reservations are required and can be made each day starting at 8AM at the User Interface Design Lab, beginning on Tuesday.", | |
| "start_time": 1401811200, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "2010", | |
| "fav_id": "wwdc14-2010", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "701", | |
| "title": "Designing Accessories for iOS and OS X", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "accessories", | |
| "accessory", | |
| "app-enabled", | |
| "hardware", | |
| "wired", | |
| "wireless", | |
| "Wi-Fi", | |
| "WiFi", | |
| "802.11", | |
| "Bluetooth", | |
| "Bluetooth Low Energy", | |
| "BLE", | |
| "BTLE", | |
| "Lightning", | |
| "Lightning connector", | |
| "30-pin", | |
| "30-pin connector", | |
| "USB", | |
| "USB 3", | |
| "Thunderbolt", | |
| "Thunderbolt 2", | |
| "External Accessory framework", | |
| "External Accessory", | |
| "AirPlay", | |
| "iBeacon", | |
| "Wireless Accessory Configuration", | |
| "iAP", | |
| "MFi", | |
| "MFi Program", | |
| "CoreBluetooth", | |
| "Core Bluetooth", | |
| "game controller", | |
| "beacon" | |
| ], | |
| "description": "Learn how to create app-enabled accessories. Understand your options for designing accessories that connect via Bluetooth, Wi-Fi or the Lightning connector. Learn how to develop accessories that work with HealthKit and HomeKit.", | |
| "start_time": 1401811200, | |
| "end_time": 1401814800, | |
| "video": false, | |
| "number": "701", | |
| "fav_id": "wwdc14-701", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-03T17:00:00Z" | |
| }, | |
| { | |
| "id": "6120", | |
| "title": "OpenGL Lab", | |
| "track": "Graphics and Games", | |
| "type": "Lab", | |
| "room": "Graphics and Games Lab A", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "3D Graphics", | |
| " GPU", | |
| " OpenGL", | |
| " renderer", | |
| " 3D", | |
| " OpenGL Profiler" | |
| ], | |
| "description": "Meet with members of the OpenGL engineering team to dig deeper into features, tools, and performance. Bring your code and your questions.", | |
| "start_time": 1401815700, | |
| "end_time": 1401828300, | |
| "video": false, | |
| "number": "6120", | |
| "fav_id": "wwdc14-6120", | |
| "startGMT": "2014-06-03T17:15:00Z", | |
| "endGMT": "2014-06-03T20:45:00Z" | |
| }, | |
| { | |
| "id": "7120", | |
| "title": "Multipeer Connectivity Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "bluetooth", | |
| " BT", | |
| " WiFi", | |
| " Wi-Fi", | |
| " MCAdvertiser", | |
| " MCBrowser", | |
| " MCNearby", | |
| " MCPeer", | |
| " MCSession", | |
| " network" | |
| ], | |
| "description": "For all your questions about nearby networking with Multipeer Connectivity, meet the team who designed and implemented this framework on iOS, and now OS X. Bring your code, your laptop and your questions.", | |
| "start_time": 1401902100, | |
| "end_time": 1401911100, | |
| "video": false, | |
| "number": "7120", | |
| "fav_id": "wwdc14-7120", | |
| "startGMT": "2014-06-04T17:15:00Z", | |
| "endGMT": "2014-06-04T19:45:00Z" | |
| }, | |
| { | |
| "id": "7130", | |
| "title": "Managing Apple Devices Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "MDM", | |
| " VPP", | |
| " DEP", | |
| " SSO", | |
| " enterprise", | |
| " education", | |
| " school", | |
| " business", | |
| " configurator", | |
| " management", | |
| " activation", | |
| " supervise", | |
| " ibook" | |
| ], | |
| "description": "Drop in to the Managing Devices Lab to get answers and insights about how to build your own device management (MDM) solution for iOS or OS X. Ask questions about the latest configuration options, policies, settings, and features of the MDM protocol and get help from the Apple engineers behind MDM for iOS and OS X.", | |
| "start_time": 1401984000, | |
| "end_time": 1401996600, | |
| "video": false, | |
| "number": "7130", | |
| "fav_id": "wwdc14-7130", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T19:30:00Z" | |
| }, | |
| { | |
| "id": "7140", | |
| "title": "AirPrint Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "print", | |
| " UIPrint", | |
| " PMPrint", | |
| " NSPrint", | |
| " PDE", | |
| " driver", | |
| " bonjour" | |
| ], | |
| "description": "Meet Apple's Printing team for expert advice on supporting printing in your apps. Bring your laptop, your code, and your questions.", | |
| "start_time": 1402074900, | |
| "end_time": 1402083000, | |
| "video": false, | |
| "number": "7140", | |
| "fav_id": "wwdc14-7140", | |
| "startGMT": "2014-06-06T17:15:00Z", | |
| "endGMT": "2014-06-06T19:30:00Z" | |
| }, | |
| { | |
| "id": "7150", | |
| "title": "Accelerate Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "numerics", | |
| " vector", | |
| " algebra", | |
| " performance", | |
| " math", | |
| " SIMD", | |
| " BLAS", | |
| " DSP", | |
| " vimage", | |
| " veclib" | |
| ], | |
| "description": "Get expert advice on using the Accelerate framework to speed up your apps and improve power consumption. Bring your laptop, your code, and your questions.", | |
| "start_time": 1401820200, | |
| "end_time": 1401828300, | |
| "video": false, | |
| "number": "7150", | |
| "fav_id": "wwdc14-7150", | |
| "startGMT": "2014-06-03T18:30:00Z", | |
| "endGMT": "2014-06-03T20:45:00Z" | |
| }, | |
| { | |
| "id": "7160", | |
| "title": "File Systems Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab A", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "NSFile", | |
| " SMB", | |
| " HFS", | |
| " FileVault" | |
| ], | |
| "description": "Receive one-on-one technical assistance and troubleshooting advice from Apple's file system engineering team and developer technical support engineers. Bring your laptop, your code, and your questions.", | |
| "start_time": 1401829200, | |
| "end_time": 1401837300, | |
| "video": false, | |
| "number": "7160", | |
| "fav_id": "wwdc14-7160", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-03T23:15:00Z" | |
| }, | |
| { | |
| "id": "7170", | |
| "title": "Kernel Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab B", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "kext" | |
| ], | |
| "description": "Meet with engineers from Apple's kernel team for all your questions about kernel-level services. Drop by to discuss kernel extension development for OS X and to make sure you are correctly deploying code signed kexts. Bring your laptop, your code, and your questions.", | |
| "start_time": 1401829200, | |
| "end_time": 1401837300, | |
| "video": false, | |
| "number": "7170", | |
| "fav_id": "wwdc14-7170", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-03T23:15:00Z" | |
| }, | |
| { | |
| "id": "7180", | |
| "title": "Security and Privacy Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "sandbox", | |
| " touch", | |
| " passcode", | |
| " password", | |
| " protection", | |
| " keychain", | |
| " crypto", | |
| " SecItem", | |
| " SecTrust", | |
| " SecCertificate", | |
| " SecRandom", | |
| " SecAttr", | |
| " FIPS", | |
| " TLS", | |
| " SSL", | |
| " kerberos", | |
| " ACL", | |
| " LocalAuthentication", | |
| " smart", | |
| " consent", | |
| " identifier", | |
| " UDID", | |
| " IDFA" | |
| ], | |
| "description": "Join Apple's security and privacy teams for expert advice on all aspects of protecting your apps and people's data. Bring your laptop, your code, and your questions.", | |
| "start_time": 1402006500, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "7180", | |
| "fav_id": "wwdc14-7180", | |
| "startGMT": "2014-06-05T22:15:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "7190", | |
| "title": "Power and Performance Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "energy", | |
| " battery", | |
| " GCD", | |
| " XPC", | |
| " Activity", | |
| " Tracing", | |
| " QoS", | |
| " NSOperation", | |
| " breadcrumb", | |
| " debug", | |
| " diagnostic", | |
| " NSLog", | |
| " syslog", | |
| " crash", | |
| " trace" | |
| ], | |
| "description": "Looking for expert advice on power management and writing energy-efficient code? Meet the engineers from Apple's power teams, the experts on GCD and XPC, and Activity Tracing. Bring your laptop, your code, and your questions.", | |
| "start_time": 1401915600, | |
| "end_time": 1401923700, | |
| "video": false, | |
| "number": "7190", | |
| "fav_id": "wwdc14-7190", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-04T23:15:00Z" | |
| }, | |
| { | |
| "id": "224", | |
| "title": "Core iOS Application Architectural Patterns", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "MVC", | |
| " composition", | |
| " composite" | |
| ], | |
| "description": "Get the most out of iOS's frameworks by understanding their core idioms and expectations. Learn about pervasive design patterns like \"Model, View, Controller\", Target\\/Action, Delegation and others used throughout Cocoa Touch. Gain practical knowledge of architectural idioms to organize your code for flexibility, clarity and reliability. See how to structure your app to take full advantage of Apple's frameworks.", | |
| "start_time": 1401984000, | |
| "end_time": 1401987600, | |
| "video": false, | |
| "number": "224", | |
| "fav_id": "wwdc14-224", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T17:00:00Z" | |
| }, | |
| { | |
| "id": "7200", | |
| "title": "Networking Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "NSURLSession", | |
| " NSURLConnection", | |
| " HTTP", | |
| " SPDY", | |
| " Bonjour", | |
| " VPN", | |
| " TLS", | |
| " SSL", | |
| " TCP" | |
| ], | |
| "description": "Engineers from Apple's networking teams will be on hand to provide expert advice, to help you troubleshoot networking problems, and improve networking performance. Bring your laptop, your code, and your questions.", | |
| "start_time": 1401838200, | |
| "end_time": 1401843600, | |
| "video": false, | |
| "number": "7200", | |
| "fav_id": "wwdc14-7200", | |
| "startGMT": "2014-06-03T23:30:00Z", | |
| "endGMT": "2014-06-04T01:00:00Z" | |
| }, | |
| { | |
| "id": "717", | |
| "title": "Kids and Apps", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "COPPA", | |
| " family", | |
| " student", | |
| " school", | |
| " parent", | |
| " consent", | |
| " IAP", | |
| " privacy", | |
| " tracking" | |
| ], | |
| "description": "With Student Accounts and Family Sharing, kids under age 13 can now have fully-featured accounts for buying apps and In-App Purchases. However, regulations in the US and other countries limit what information you can collect from kids without parental permission. Learn about the new account programs, whether and how to check the age of your app's user, what you can and can't do without parental permission, and how to request parental consent if you need to.", | |
| "start_time": 1402006500, | |
| "end_time": 1402010100, | |
| "video": false, | |
| "number": "717", | |
| "fav_id": "wwdc14-717", | |
| "startGMT": "2014-06-05T22:15:00Z", | |
| "endGMT": "2014-06-05T23:15:00Z" | |
| }, | |
| { | |
| "id": "716", | |
| "title": "Power, Performance and Diagnostics: What's new in GCD and XPC", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "QoS", | |
| " NSOperation" | |
| ], | |
| "description": "Learn about new features in GCD and XPC that help you write responsive energy-efficient apps and diagnose their interactions with the system.", | |
| "start_time": 1402002000, | |
| "end_time": 1402005600, | |
| "video": false, | |
| "number": "716", | |
| "fav_id": "wwdc14-716", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-05T22:00:00Z" | |
| }, | |
| { | |
| "id": "712", | |
| "title": "Writing Energy Efficient Code, Part 2", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "battery", | |
| " power", | |
| " networking", | |
| " QoS", | |
| " timers", | |
| " VOIP", | |
| " PushKit", | |
| " location" | |
| ], | |
| "description": "Go in-depth into specific API and design patterns you can use to avoid consuming excessive energy as well as tools that can help you diagnose issues.", | |
| "start_time": 1401906600, | |
| "end_time": 1401910200, | |
| "video": false, | |
| "number": "712", | |
| "fav_id": "wwdc14-712", | |
| "startGMT": "2014-06-04T18:30:00Z", | |
| "endGMT": "2014-06-04T19:30:00Z" | |
| }, | |
| { | |
| "id": "710", | |
| "title": "Writing Energy Efficient Code, Part 1", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "battery", | |
| " power", | |
| " networking", | |
| " QoS", | |
| " timers" | |
| ], | |
| "description": "People expect long battery life on both their iOS devices and Mac laptops and your apps play a vital role in ensuring long battery life. Get an overview of energy efficiency best practices and learn about new APIs in iOS and OS X that help you to minimize the energy impact of your code.", | |
| "start_time": 1401902100, | |
| "end_time": 1401905700, | |
| "video": false, | |
| "number": "710", | |
| "fav_id": "wwdc14-710", | |
| "startGMT": "2014-06-04T17:15:00Z", | |
| "endGMT": "2014-06-04T18:15:00Z" | |
| }, | |
| { | |
| "id": "713", | |
| "title": "What's New in iOS Notifications", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "APNS", | |
| " push", | |
| " location" | |
| ], | |
| "description": "Local and push notifications let background or inactive apps notify users that an event of interest has occurred, or that an app has new information for them. See how to configure interactive notifications to let users act on notifications from banners, alerts, in notification center and on the lock screen. Learn how to trigger notifications using geofences and iBeacons, and discover the new API's for registering for user notifications and remote pushes.", | |
| "start_time": 1401915600, | |
| "end_time": 1401919200, | |
| "video": false, | |
| "number": "713", | |
| "fav_id": "wwdc14-713", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-04T22:00:00Z" | |
| }, | |
| { | |
| "id": "705", | |
| "title": "Distributing Enterprise Apps", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "MDM", | |
| " VPP", | |
| " DEP", | |
| " supervise", | |
| " management", | |
| " business", | |
| " school", | |
| " SSO", | |
| " VPN" | |
| ], | |
| "description": "Learn how to provision and deploy apps across your enterprise. Leverage key Apple programs such as the Volume Purchase Program and the iOS Developer Enterprise Program to get the right apps in the hands of your employees, contractors, and partners. Learn how to manage certificates and provisioning profiles to deploy your apps, and take advantage of mobile device management (MDM) tools to provide a seamless experience for your users. Gain insight into the complete app management lifecycle; from signing your in-house apps in Xcode, to distributing, managing, and revoking apps across your workforce.", | |
| "start_time": 1401820200, | |
| "end_time": 1401823800, | |
| "video": false, | |
| "number": "705", | |
| "fav_id": "wwdc14-705", | |
| "startGMT": "2014-06-03T18:30:00Z", | |
| "endGMT": "2014-06-03T19:30:00Z" | |
| }, | |
| { | |
| "id": "704", | |
| "title": "Building Apps for Enterprise and Education", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "MDM", | |
| " supervise", | |
| " management", | |
| " business", | |
| " school", | |
| " SSO", | |
| " configure", | |
| " VPN", | |
| " certificate", | |
| " iBeacon", | |
| " reachability" | |
| ], | |
| "description": "Learn about data security, enterprise authentication, integration with back-end systems, app configuration methods, and the latest technologies for interacting with documents, accessories, and more. Get helpful tips for constructing your apps to meet the needs of schools and educators, as well as key requirement from IT. Perfect for everyone looking to get their apps in the hands of business professionals, educators, and students worldwide.", | |
| "start_time": 1401815700, | |
| "end_time": 1401819300, | |
| "video": false, | |
| "number": "704", | |
| "fav_id": "wwdc14-704", | |
| "startGMT": "2014-06-03T17:15:00Z", | |
| "endGMT": "2014-06-03T18:15:00Z" | |
| }, | |
| { | |
| "id": "702", | |
| "title": "Managing Apple Devices", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "MDM", | |
| " VPP", | |
| " DEP", | |
| " SSO", | |
| " enterprise", | |
| " education", | |
| " school", | |
| " business", | |
| " configurator", | |
| " management", | |
| " activation", | |
| " supervise", | |
| " ibook" | |
| ], | |
| "description": "Learn about the latest developments in managing Apple devices in an enterprise environment. Learn how MDM can be used to wirelessly configure settings, monitor compliance with policies, install apps, and remotely wipe devices, and how these capabilities can be integrated with in-house or third-party server solutions.", | |
| "start_time": 1401811200, | |
| "end_time": 1401814800, | |
| "video": false, | |
| "number": "702", | |
| "fav_id": "wwdc14-702", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-03T17:00:00Z" | |
| }, | |
| { | |
| "id": "408", | |
| "title": "Swift Playgrounds", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "graph", | |
| "Xcode", | |
| "value", | |
| "history", | |
| "view" | |
| ], | |
| "description": "Playgrounds are a new and innovative way to explore the Swift programming language. Explore how Playgrounds provide new workflows, enable rapid development, help you conveniently step through your code to diagnose bugs, and make it easier than ever to learn new concepts.", | |
| "start_time": 1401906600, | |
| "end_time": 1401910200, | |
| "video": false, | |
| "number": "408", | |
| "fav_id": "wwdc14-408", | |
| "startGMT": "2014-06-04T18:30:00Z", | |
| "endGMT": "2014-06-04T19:30:00Z" | |
| }, | |
| { | |
| "id": "410", | |
| "title": "Advanced Swift Debugging in LLDB", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "expression", | |
| "repl" | |
| ], | |
| "description": "Explore LLDB's powerful features that help you more quickly debug your Swift code. Learn about LLDB's support for protocols, generics, optionals, and mixed-language source code.", | |
| "start_time": 1402070400, | |
| "end_time": 1402074000, | |
| "video": false, | |
| "number": "410", | |
| "fav_id": "wwdc14-410", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T17:00:00Z" | |
| }, | |
| { | |
| "id": "407", | |
| "title": "Swift Interoperability In Depth", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "bridge", | |
| "cocoa touch", | |
| "protocol", | |
| "class", | |
| "property", | |
| "closure", | |
| "nsarray", | |
| "nsdictionary", | |
| "nsstring" | |
| ], | |
| "description": "Swift and Objective-C work together at multiple levels to ensure that you can create great apps for iOS and OS X. Dive deep with us to see how to use fundamental Core Foundation and C types in your Swift code. Learn how bridging values work and gain a practical understanding of how Swift and Objective-C can accelerate your app development.", | |
| "start_time": 1401920100, | |
| "end_time": 1401923700, | |
| "video": false, | |
| "number": "407", | |
| "fav_id": "wwdc14-407", | |
| "startGMT": "2014-06-04T22:15:00Z", | |
| "endGMT": "2014-06-04T23:15:00Z" | |
| }, | |
| { | |
| "id": "3090", | |
| "title": "MapKit Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "Services Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "map", | |
| " location", | |
| " annotation", | |
| " pin", | |
| " direction", | |
| " search", | |
| " route", | |
| " geo", | |
| " overlay", | |
| " tile", | |
| " mk", | |
| " satellite", | |
| " hybrid", | |
| " standard", | |
| " imagery", | |
| " current location" | |
| ], | |
| "description": "Talk with MapKit engineers to understand how you can leverage the MapKit APIs in your app. Get advice on how to provide true point to point routing solutions using the directions and search APIs, and much more. Bring all your MapKit questions, your laptop, and your code.", | |
| "start_time": 1401997500, | |
| "end_time": 1402005600, | |
| "video": false, | |
| "number": "3090", | |
| "fav_id": "wwdc14-3090", | |
| "startGMT": "2014-06-05T19:45:00Z", | |
| "endGMT": "2014-06-05T22:00:00Z" | |
| }, | |
| { | |
| "id": "7210", | |
| "title": "Core Location Lab", | |
| "track": "Core OS", | |
| "type": "Lab", | |
| "room": "Core OS Lab B", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "iBeacon", | |
| " iBeacons", | |
| " beacon", | |
| " region", | |
| " regions", | |
| " region monitoring", | |
| " geo-fence", | |
| " fence", | |
| " geo-fencing", | |
| " fencing", | |
| " authorization", | |
| " approval", | |
| " significant location change", | |
| " SLC", | |
| " visit", | |
| " visit monitoring", | |
| " visit monitor", | |
| " visit API", | |
| " CLVisit", | |
| " CoreLocation", | |
| " Core Location", | |
| " location", | |
| " GPS", | |
| " position", | |
| " navigation", | |
| " WhenInUse", | |
| " WhileInUse", | |
| " ranging", | |
| " proximity", | |
| " heading", | |
| " journal", | |
| " journaling", | |
| " indoor positioning", | |
| " triangulation", | |
| " trilateration" | |
| ], | |
| "description": "Get help from the Core Location engineering team for adding location awareness, beacon regions, and indoor positioning to your application. Discover how to test your app in different locations, how to take advantage of new features, and get answers to your Core Location questions.", | |
| "start_time": 1401997500, | |
| "end_time": 1402005600, | |
| "video": false, | |
| "number": "7210", | |
| "fav_id": "wwdc14-7210", | |
| "startGMT": "2014-06-05T19:45:00Z", | |
| "endGMT": "2014-06-05T22:00:00Z" | |
| }, | |
| { | |
| "id": "216", | |
| "title": "Building Adaptive Apps with UIKit", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " split view", | |
| " popover", | |
| " size classes", | |
| " trait collection", | |
| " navigation", | |
| " toolbar" | |
| ], | |
| "description": "Building your apps to be flexible enough to be used in different orientations and on different devices is crucial. Learn about the enhancements that have been made to UIKit view controllers to make it even easier for you to adapt your user interface to any size or orientation. See how to effectively use size classes to ensure a great user experience for any context and find out how Xcode can help you create and test your apps for different sized devices.", | |
| "start_time": 1401902100, | |
| "end_time": 1401905700, | |
| "video": false, | |
| "number": "216", | |
| "fav_id": "wwdc14-216", | |
| "startGMT": "2014-06-04T17:15:00Z", | |
| "endGMT": "2014-06-04T18:15:00Z" | |
| }, | |
| { | |
| "id": "226", | |
| "title": "What's New in Table and Collection Views", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " UITableView", | |
| " UICollectionView" | |
| ], | |
| "description": "iOS 8 brings dynamic type front and foremost throughout UIKit classes. Learn about extensive enhancements made to table views and collection views, empowering you to create dynamically sized cells and exercise greater control over layouts. Find out how to align user expectations from their settings to your UI.", | |
| "start_time": 1401988500, | |
| "end_time": 1401992100, | |
| "video": false, | |
| "number": "226", | |
| "fav_id": "wwdc14-226", | |
| "startGMT": "2014-06-05T17:15:00Z", | |
| "endGMT": "2014-06-05T18:15:00Z" | |
| }, | |
| { | |
| "id": "209", | |
| "title": "Adapting Your App to the New UI of OS X Yosemite", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "AppKit", | |
| " visual effect", | |
| " vibrancy", | |
| " translucency", | |
| " blur" | |
| ], | |
| "description": "Take a tour of the new appearances and behaviors that Cocoa supports and learn how easy it is to adopt them when you use standard Cocoa classes. Get an overview of the changes to Cocoa and find out how to make your app fit in and feel familiar to people using OS X Yosemite.", | |
| "start_time": 1401833700, | |
| "end_time": 1401837300, | |
| "video": false, | |
| "number": "209", | |
| "fav_id": "wwdc14-209", | |
| "startGMT": "2014-06-03T22:15:00Z", | |
| "endGMT": "2014-06-03T23:15:00Z" | |
| }, | |
| { | |
| "id": "220", | |
| "title": "Adopting Advanced Features of the New UI of OS X Yosemite", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "AppKit", | |
| " visual effect", | |
| " blur" | |
| ], | |
| "description": "OS X Yosemite introduces a refined new look, and Cocoa provides you with a rich set of APIs and facilities to embrace this new look in your application. Discover how to properly use these APIs to bring the refinement, translucency, and vibrancy of OS X Yosemite to your apps. Dive deep into a number of case studies demonstrating applications with different designs and needs.", | |
| "start_time": 1401915600, | |
| "end_time": 1401919200, | |
| "video": false, | |
| "number": "220", | |
| "fav_id": "wwdc14-220", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-04T22:00:00Z" | |
| }, | |
| { | |
| "id": "212", | |
| "title": "Storyboards and Controllers on OS X", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "AppKit", | |
| " IB" | |
| ], | |
| "description": "Learn how to build your OS X application using storyboards, view controllers, and gesture recognizers. See how these OS X enhancements can simplify complex user interaction controller code. Gain a practical understanding with a high level introduction to Xcode's Interface Builder integration and dive deep into a detailed discussion of the new APIs with tips to create great apps for OS X.", | |
| "start_time": 1401838200, | |
| "end_time": 1401841800, | |
| "video": false, | |
| "number": "212", | |
| "fav_id": "wwdc14-212", | |
| "startGMT": "2014-06-03T23:30:00Z", | |
| "endGMT": "2014-06-04T00:30:00Z" | |
| }, | |
| { | |
| "id": "204", | |
| "title": "What's New in Cocoa", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "AppKit" | |
| ], | |
| "description": "OS X Yosemite brings a clean new look, view controller enhancements, Mac storyboards, app extensions, Continuity, and many additional features you can leverage through the Cocoa frameworks. This is your first stop to discover great Cocoa sessions throughout the week.", | |
| "start_time": 1401820200, | |
| "end_time": 1401823800, | |
| "video": false, | |
| "number": "204", | |
| "fav_id": "wwdc14-204", | |
| "startGMT": "2014-06-03T18:30:00Z", | |
| "endGMT": "2014-06-03T19:30:00Z" | |
| }, | |
| { | |
| "id": "235", | |
| "title": "Advanced Scrollviews and Touch Handling Techniques", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " UIScrollView" | |
| ], | |
| "description": "Scrollviews build on gesture recognizers and underlying multi-touch mechanics to provide a fundamental piece of the iOS user experience. Gain a broader understanding of the iOS touch handling architecture through practical real-world examples. Discover advanced tips and tricks for combining scrolling with other touch handling techniques to create delightful user interfaces.", | |
| "start_time": 1402074900, | |
| "end_time": 1402078500, | |
| "video": false, | |
| "number": "235", | |
| "fav_id": "wwdc14-235", | |
| "startGMT": "2014-06-06T17:15:00Z", | |
| "endGMT": "2014-06-06T18:15:00Z" | |
| }, | |
| { | |
| "id": "214", | |
| "title": "View Controller Advancements in iOS 8", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " split view", | |
| " popover", | |
| " size classes", | |
| " trait collection", | |
| " toolbar" | |
| ], | |
| "description": "View controllers are fundamental to creating apps on iOS. Learn about the enhancements made to view controllers in iOS 8 to improve the user experience in your apps. Dive into using and creating transition coordinators and find out about all-new additions to split view controllers and navigation controllers.", | |
| "start_time": 1401897600, | |
| "end_time": 1401901200, | |
| "video": false, | |
| "number": "214", | |
| "fav_id": "wwdc14-214", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T17:00:00Z" | |
| }, | |
| { | |
| "id": "237", | |
| "title": "A Strategy for Great Work", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Experience with past projects can help you do better work in the future if you can draw out the right lessons from what's happened. Hear stories and gain valuable insights from a senior engineer, with a lot of Apple software development experience, who's learned a few lessons along the way and figured out some useful approaches to take.", | |
| "start_time": 1402079400, | |
| "end_time": 1402083000, | |
| "video": false, | |
| "number": "237", | |
| "fav_id": "wwdc14-237", | |
| "startGMT": "2014-06-06T18:30:00Z", | |
| "endGMT": "2014-06-06T19:30:00Z" | |
| }, | |
| { | |
| "id": "228", | |
| "title": "A Look Inside Presentation Controllers", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " view controller", | |
| " popover", | |
| " search display" | |
| ], | |
| "description": "iOS 8 brings you powerful new means of presenting content within your apps. Hear how presentation controllers were leveraged by UIKit to give you fine grain control using new alert and searching APIs. Dive deep into how presentation controllers work and how you can use them to present content within your app in exciting new ways.", | |
| "start_time": 1401993000, | |
| "end_time": 1401996600, | |
| "video": false, | |
| "number": "228", | |
| "fav_id": "wwdc14-228", | |
| "startGMT": "2014-06-05T18:30:00Z", | |
| "endGMT": "2014-06-05T19:30:00Z" | |
| }, | |
| { | |
| "id": "234", | |
| "title": "Building a Document-based App", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "uidocument", | |
| "nsdocument", | |
| "file coordination", | |
| "iCloud", | |
| "extension", | |
| "file provider" | |
| ], | |
| "description": "Come hear the advancements in document handling in iOS 8. See how easy it is to use the new Document Picker UI. Learn how to share documents between apps, and even provide documents to other apps from your custom data store.", | |
| "start_time": 1401993000, | |
| "end_time": 1401996600, | |
| "video": false, | |
| "number": "234", | |
| "fav_id": "wwdc14-234", | |
| "startGMT": "2014-06-05T18:30:00Z", | |
| "endGMT": "2014-06-05T19:30:00Z" | |
| }, | |
| { | |
| "id": "416", | |
| "title": "Building Modern Frameworks", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "target", | |
| "swift" | |
| ], | |
| "description": "Frameworks are a great way to share code between your apps and their extensions. Learn how you can convert your static libraries into frameworks. Go in-depth on how to best organize and share your code between your projects so you can increase code reuse.", | |
| "start_time": 1402006500, | |
| "end_time": 1402010100, | |
| "video": false, | |
| "number": "416", | |
| "fav_id": "wwdc14-416", | |
| "startGMT": "2014-06-05T22:15:00Z", | |
| "endGMT": "2014-06-05T23:15:00Z" | |
| }, | |
| { | |
| "id": "415", | |
| "title": "Continuous Integration with Xcode 6", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "unit test", | |
| "swift", | |
| "server", | |
| "build", | |
| "git", | |
| "host", | |
| "subversion", | |
| "svn", | |
| "scm" | |
| ], | |
| "description": "Xcode bots provide a seamless way to continually build, analyze, and test your applications across many devices. See the Xcode team show how to set up and configure bots, review unit and performance testing data, and set up custom triggers and integration points.", | |
| "start_time": 1402002000, | |
| "end_time": 1402005600, | |
| "video": false, | |
| "number": "415", | |
| "fav_id": "wwdc14-415", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-05T22:00:00Z" | |
| }, | |
| { | |
| "id": "414", | |
| "title": "Testing in Xcode 6", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "metric", | |
| "xctest", | |
| "ocunit" | |
| ], | |
| "description": "Unit testing is an essential tool to consistently verify your code works correctly. Learn how Xcode 6 takes this to the next level with support for performance testing, baselining, and integration with Xcode bots to continually monitor your performance over time and devices.", | |
| "start_time": 1401984000, | |
| "end_time": 1401987600, | |
| "video": false, | |
| "number": "414", | |
| "fav_id": "wwdc14-414", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T17:00:00Z" | |
| }, | |
| { | |
| "id": "413", | |
| "title": "Debugging in Xcode 6", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "debugquicklookobject", | |
| "xctest", | |
| "view", | |
| "hierarchy", | |
| "queue", | |
| "thread", | |
| "stack", | |
| "frame", | |
| "backtrace", | |
| "gcd" | |
| ], | |
| "description": "Xcode provides a powerful debugging user interface backed by the new state-of-the-art LLDB debugger. Discover how you can more easily explore and fix your user interfaces, add custom Quick Look support for your own classes and get deeper insight into how and from where your app is enqueuing work.", | |
| "start_time": 1401902100, | |
| "end_time": 1401905700, | |
| "video": false, | |
| "number": "413", | |
| "fav_id": "wwdc14-413", | |
| "startGMT": "2014-06-04T17:15:00Z", | |
| "endGMT": "2014-06-04T18:15:00Z" | |
| }, | |
| { | |
| "id": "412", | |
| "title": "Localizing with Xcode 6", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "nslocalizedstring", | |
| "translation", | |
| "interface builder", | |
| "preview", | |
| "xib", | |
| "storyboard", | |
| "assistant", | |
| "editor", | |
| "nsdateformatter", | |
| "nsnumberformatter", | |
| "xliff" | |
| ], | |
| "description": "Your app deserves a global audience, and iOS, OS X, and Xcode 6 make it easy to design and test applications in multiple languages. Discover how you can easily add and manage localized content, preview and test with different languages, and export and import content for localizers to translate.", | |
| "start_time": 1401820200, | |
| "end_time": 1401823800, | |
| "video": false, | |
| "number": "412", | |
| "fav_id": "wwdc14-412", | |
| "startGMT": "2014-06-03T18:30:00Z", | |
| "endGMT": "2014-06-03T19:30:00Z" | |
| }, | |
| { | |
| "id": "411", | |
| "title": "What's New in Interface Builder", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "storyboard", | |
| "xib", | |
| "size classes", | |
| "swift" | |
| ], | |
| "description": "Interface Builder makes it easy to create world-class interfaces using the design canvas. Learn how to use storyboards to arrange the views of your app, use Auto Layout to adapt to changes, and see how to easily make connections between your UI and your implementation on both iOS and OS X.", | |
| "start_time": 1401920100, | |
| "end_time": 1401923700, | |
| "video": false, | |
| "number": "411", | |
| "fav_id": "wwdc14-411", | |
| "startGMT": "2014-06-04T22:15:00Z", | |
| "endGMT": "2014-06-04T23:15:00Z" | |
| }, | |
| { | |
| "id": "401", | |
| "title": "What's New in Xcode 6", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "playground", | |
| "swift", | |
| "unit test", | |
| "interface builder", | |
| "xib", | |
| "storyboard", | |
| "localization", | |
| "translation", | |
| "debugging", | |
| "gcd", | |
| "queue", | |
| "thread", | |
| "view", | |
| "git", | |
| "scm", | |
| "server", | |
| "module", | |
| "template", | |
| "switch", | |
| "optional", | |
| "pattern", | |
| "bridge", | |
| "cocoa touch", | |
| "protocol", | |
| "class", | |
| "objective-c", | |
| "closure", | |
| "objc", | |
| "framework", | |
| "target", | |
| "scheme", | |
| "workspace", | |
| "project", | |
| "xctest", | |
| "size classes", | |
| "llvm", | |
| "lldb", | |
| "clang", | |
| "ftl", | |
| "jit", | |
| "javascript", | |
| "pgo", | |
| "profile guided optimization", | |
| "auto vectorization", | |
| "instruments", | |
| "dtrace", | |
| "initialization", | |
| "constant" | |
| ], | |
| "description": "Xcode is the development environment for creating amazing apps for iOS and OS X. Start the week by watching the Xcode team demonstrate the latest features and workflows in Xcode 6. This session also provides a complete overview of the in-depth developer tools topics covered at WWDC 2014.", | |
| "start_time": 1401811200, | |
| "end_time": 1401814800, | |
| "video": false, | |
| "number": "401", | |
| "fav_id": "wwdc14-401", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-03T17:00:00Z" | |
| }, | |
| { | |
| "id": "3120", | |
| "title": "StoreKit and Receipts Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "Services Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "OpenSSL", | |
| " PKCS#7", | |
| " fraud", | |
| " pirated", | |
| " cracked", | |
| " StoreKit", | |
| " InAppPurchases", | |
| " IAP", | |
| " Receipt Renewal", | |
| " Receipt Refresh", | |
| " Validation", | |
| " Enforcement", | |
| " transaction", | |
| " InApp Purchases", | |
| " IAP", | |
| " Micropayment", | |
| " SKPayment", | |
| " SKPaymentTransaction", | |
| " transaction", | |
| " Ask to Buy", | |
| " in-app purchase" | |
| ], | |
| "description": "Meet with engineers from the iOS and OS X teams to ask questions about any component of In-App Purchase. Get advice on best practices for verifying receipts and what changes you might need to make in your app. Whether it's client side, server side, content delivery, or questions about subscriptions, plenty of experts will be on hand to answer questions.", | |
| "start_time": 1402074900, | |
| "end_time": 1402085700, | |
| "video": false, | |
| "number": "3120", | |
| "fav_id": "wwdc14-3120", | |
| "startGMT": "2014-06-06T17:15:00Z", | |
| "endGMT": "2014-06-06T20:15:00Z" | |
| }, | |
| { | |
| "id": "3060", | |
| "title": "StoreKit and Receipts Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "Services Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "OpenSSL", | |
| " PKCS#7", | |
| " fraud", | |
| " pirated", | |
| " cracked", | |
| " StoreKit", | |
| " InAppPurchases", | |
| " IAP", | |
| " Receipt Renewal", | |
| " Receipt Refresh", | |
| " Validation", | |
| " Enforcement", | |
| " transaction", | |
| " InApp Purchases", | |
| " IAP", | |
| " Micropayment", | |
| " SKPayment", | |
| " SKPaymentTransaction", | |
| " transaction", | |
| " Ask to Buy", | |
| " in-app purchase" | |
| ], | |
| "description": "Meet with engineers from the iOS and OS X teams to ask questions about any component of In-App Purchase. Get advice on best practices for verifying receipts and what changes you might need to make in your app. Whether it's client side, server side, content delivery, or questions about subscriptions, plenty of experts will be on hand to answer questions.", | |
| "start_time": 1401920100, | |
| "end_time": 1401930000, | |
| "video": false, | |
| "number": "3060", | |
| "fav_id": "wwdc14-3060", | |
| "startGMT": "2014-06-04T22:15:00Z", | |
| "endGMT": "2014-06-05T01:00:00Z" | |
| }, | |
| { | |
| "id": "2170", | |
| "title": "Prototyping Lab", | |
| "track": "Frameworks", | |
| "type": "Lab", | |
| "room": "Services Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "prototype", | |
| " test" | |
| ], | |
| "description": "Come get answers to all of your prototyping questions and expert advice on planning, making, and testing prototypes.", | |
| "start_time": 1401988500, | |
| "end_time": 1401995700, | |
| "video": false, | |
| "number": "2170", | |
| "fav_id": "wwdc14-2170", | |
| "startGMT": "2014-06-05T17:15:00Z", | |
| "endGMT": "2014-06-05T19:15:00Z" | |
| }, | |
| { | |
| "id": "3020", | |
| "title": "Affiliate Program Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "Services Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "collection builder", | |
| " store product sheet", | |
| " SKStoreProductViewController", | |
| " affiliate token", | |
| " PHG", | |
| " performance horizon group", | |
| " StoreKit" | |
| ], | |
| "description": "Engineers from the Affiliate Program will be available to answer all of your technical and program related questions.", | |
| "start_time": 1401829200, | |
| "end_time": 1401837300, | |
| "video": false, | |
| "number": "3020", | |
| "fav_id": "wwdc14-3020", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-03T23:15:00Z" | |
| }, | |
| { | |
| "id": "3100", | |
| "title": "iTunes Connect Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "Services Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "contract", | |
| " PLA", | |
| " beta testing", | |
| " testflight", | |
| " test flight", | |
| " analytics", | |
| " transporter", | |
| " app bundles", | |
| " command line automation" | |
| ], | |
| "description": "Meet with members of the iTunes Connect team for expert guidance on publishing your iOS and OS X apps through the App Store. Bring your questions about how best to get information into iTunes Connect, deliver your binary, and automate the process.", | |
| "start_time": 1402006500, | |
| "end_time": 1402016400, | |
| "video": false, | |
| "number": "3100", | |
| "fav_id": "wwdc14-3100", | |
| "startGMT": "2014-06-05T22:15:00Z", | |
| "endGMT": "2014-06-06T01:00:00Z" | |
| }, | |
| { | |
| "id": "3050", | |
| "title": "iTunes Connect Lab", | |
| "track": "Services", | |
| "type": "Lab", | |
| "room": "Services Lab A", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "contract", | |
| " PLA", | |
| " beta testing", | |
| " testflight", | |
| " test flight", | |
| " analytics", | |
| " transporter", | |
| " app bundles", | |
| " command line automation" | |
| ], | |
| "description": "Meet with members of the iTunes Connect team for expert guidance on publishing your iOS and OS X apps through the App Store. Bring your questions about how best to get information into iTunes Connect, deliver your binary, and automate the process.", | |
| "start_time": 1401906600, | |
| "end_time": 1401919200, | |
| "video": false, | |
| "number": "3050", | |
| "fav_id": "wwdc14-3050", | |
| "startGMT": "2014-06-04T18:30:00Z", | |
| "endGMT": "2014-06-04T22:00:00Z" | |
| }, | |
| { | |
| "id": "301", | |
| "title": "Affiliate Tools for App Developers", | |
| "track": "Services", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "collection builder", | |
| " store product sheet", | |
| " SKStoreProductViewController", | |
| " affiliate token", | |
| " PHG", | |
| " performance horizon group", | |
| " StoreKit" | |
| ], | |
| "description": "Earn commission while linking to iTunes music, apps, books, and more. Get an overview of the new global iTunes Affiliate Program and see how simple it is to get started linking to iTunes content using iOS APIs and SmartApp Banners, creating iTunes Radio stations, and much more.", | |
| "start_time": 1401820200, | |
| "end_time": 1401823800, | |
| "video": false, | |
| "number": "301", | |
| "fav_id": "wwdc14-301", | |
| "startGMT": "2014-06-03T18:30:00Z", | |
| "endGMT": "2014-06-03T19:30:00Z" | |
| }, | |
| { | |
| "id": "417", | |
| "title": "What's New in LLVM", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "jit", | |
| "javascript", | |
| "ftl", | |
| "pgo", | |
| "profile guided optimization", | |
| "auto vectorization", | |
| "loop", | |
| "clang", | |
| "instruments" | |
| ], | |
| "description": "The Apple LLVM compiler continues to evolve, with support for 64-bit iOS products, powerful new optimizations, and other new features. Learn about some of the advanced technology that the compiler uses to increase the performance of your code, and get details on how to take advantage of the latest features in the compiler.", | |
| "start_time": 1401897600, | |
| "end_time": 1401901200, | |
| "video": false, | |
| "number": "417", | |
| "fav_id": "wwdc14-417", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T17:00:00Z" | |
| }, | |
| { | |
| "id": "406", | |
| "title": "Integrating Swift with Objective-C", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "bridge", | |
| "cocoa touch", | |
| "protocol", | |
| "class", | |
| "property", | |
| "closure", | |
| "nsarray", | |
| "nsdictionary", | |
| "nsstring" | |
| ], | |
| "description": "Swift makes it faster, easier, and more fun than ever to write Cocoa apps. See how you can integrate Swift alongside your existing Objective-C code. Learn how design patterns translate between languages and how you can start integrating Swift into your apps today.", | |
| "start_time": 1401897600, | |
| "end_time": 1401901200, | |
| "video": false, | |
| "number": "406", | |
| "fav_id": "wwdc14-406", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T17:00:00Z" | |
| }, | |
| { | |
| "id": "402", | |
| "title": "Introduction to Swift", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "closure", | |
| "initialization", | |
| "constant", | |
| "switch", | |
| "string", | |
| "array", | |
| "unicode", | |
| "character" | |
| ], | |
| "description": "Swift is Apple's brand-new programming language for writing great iOS and OS X apps. Learn the basics of the language. See how to declare variables, use the fundamental data types, declare functions, and implement classes. Explore some of the great features that make Swift a safe, modern, and extremely powerful language.", | |
| "start_time": 1401829200, | |
| "end_time": 1401832800, | |
| "video": false, | |
| "number": "402", | |
| "fav_id": "wwdc14-402", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-03T22:00:00Z" | |
| }, | |
| { | |
| "id": "409", | |
| "title": "Introduction to LLDB and the Swift REPL", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "expression" | |
| ], | |
| "description": "Learn how to use LLDB, Apple's state-of-the-art debugger. Learn how to analyze stack traces and diagnose bugs. See how you can test your hypotheses and explore your app's state with the Swift REPL.", | |
| "start_time": 1401988500, | |
| "end_time": 1401992100, | |
| "video": false, | |
| "number": "409", | |
| "fav_id": "wwdc14-409", | |
| "startGMT": "2014-06-05T17:15:00Z", | |
| "endGMT": "2014-06-05T18:15:00Z" | |
| }, | |
| { | |
| "id": "418", | |
| "title": "Improving Your App with Instruments", | |
| "track": "Tools", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "dtrace", | |
| "time profiler", | |
| "memory", | |
| "heap", | |
| "virtual memory", | |
| "page", | |
| "allocations", | |
| "leaks", | |
| "zombies", | |
| "crash", | |
| "debug", | |
| "performance" | |
| ], | |
| "description": "Whether you're new to optimizing your app's performance or a seasoned veteran, learn about the new version of Instruments. See the new workflows, tools, and tips that will help you analyze and refine your app as it adopts the latest Apple technologies, including Swift and app extensions.", | |
| "start_time": 1401838200, | |
| "end_time": 1401841800, | |
| "video": false, | |
| "number": "418", | |
| "fav_id": "wwdc14-418", | |
| "startGMT": "2014-06-03T23:30:00Z", | |
| "endGMT": "2014-06-04T00:30:00Z" | |
| }, | |
| { | |
| "id": "225", | |
| "title": "What's New in Core Data", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "batch", | |
| "operation", | |
| "asynchronous", | |
| "future", | |
| "performance", | |
| "optimization", | |
| "database", | |
| "sqlite", | |
| "concurrency", | |
| "swift" | |
| ], | |
| "description": "Learn about the latest enhancements to the Core Data framework. Hear how to efficiently update your objects, execute simultaneous operations, and extend the framework to support your custom requirements.", | |
| "start_time": 1401984000, | |
| "end_time": 1401987600, | |
| "video": false, | |
| "number": "225", | |
| "fav_id": "wwdc14-225", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T17:00:00Z" | |
| }, | |
| { | |
| "id": "231", | |
| "title": "Advanced CloudKit", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "ckcontainer", | |
| "ckdatabase", | |
| "ckrecordzone", | |
| "ckrecord", | |
| "ckasset", | |
| "ckreference", | |
| "ckrecordid", | |
| "ckoperation", | |
| "fetch", | |
| "query", | |
| "cksubscription", | |
| "nspredicate", | |
| "nssortdescriptor", | |
| "push notification", | |
| "database", | |
| "icloud", | |
| "model", | |
| "storage", | |
| "network", | |
| "offline", | |
| "caching", | |
| "cache" | |
| ], | |
| "description": "Dive deep into CloudKit! Learn how to perform advanced operations on records and store private data and gain a deeper understanding about custom record zones, ensuring data integrity, and effectively modeling your data.", | |
| "start_time": 1402006500, | |
| "end_time": 1402010100, | |
| "video": false, | |
| "number": "231", | |
| "fav_id": "wwdc14-231", | |
| "startGMT": "2014-06-05T22:15:00Z", | |
| "endGMT": "2014-06-05T23:15:00Z" | |
| }, | |
| { | |
| "id": "208", | |
| "title": "Introducing CloudKit", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "ckcontainer", | |
| "ckdatabase", | |
| "ckrecordzone", | |
| "ckrecord", | |
| "ckasset", | |
| "ckreference", | |
| "ckrecordid", | |
| "ckoperation", | |
| "fetch", | |
| "query", | |
| "cksubscription", | |
| "nspredicate", | |
| "nssortdescriptor", | |
| "push notification", | |
| "database", | |
| "icloud", | |
| "model", | |
| "storage", | |
| "network", | |
| "offline", | |
| "caching", | |
| "cache" | |
| ], | |
| "description": "CloudKit is the framework that powers iCloud on iOS and OS X, now available directly in your app. Learn how you can take advantage of its feature-rich API to store and query your own custom data and assets in iCloud.", | |
| "start_time": 1401833700, | |
| "end_time": 1401837300, | |
| "video": false, | |
| "number": "208", | |
| "fav_id": "wwdc14-208", | |
| "startGMT": "2014-06-03T22:15:00Z", | |
| "endGMT": "2014-06-03T23:15:00Z" | |
| }, | |
| { | |
| "id": "233", | |
| "title": "Sharing code between iOS and OS X", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "pages", | |
| "numbers", | |
| "keynote", | |
| "iPhone", | |
| "iPad", | |
| "framework", | |
| "workspace", | |
| "core animation", | |
| "calayer", | |
| "core graphics", | |
| "wrapper", | |
| "model", | |
| "view", | |
| "controller", | |
| "mvc" | |
| ], | |
| "description": "Learn what the iWork engineers did to ship iWork for iOS and Mac from a single codebase. Explore the patterns for sharing code between desktop and mobile, and see how you can optimize your code and write great apps.", | |
| "start_time": 1402070400, | |
| "end_time": 1402074000, | |
| "video": false, | |
| "number": "233", | |
| "fav_id": "wwdc14-233", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T17:00:00Z" | |
| }, | |
| { | |
| "id": "509", | |
| "title": "Creating 3D Interactive Content with WebGL", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "CSS", | |
| " HTML", | |
| " JavaScript", | |
| " 3d", | |
| " canvas" | |
| ], | |
| "description": "WebGL allows you to create amazing content that lifts off the page. Learn how to use WebGL to create immersive online experiences, display three-dimensional models with real-time interactivity and use image\\u00a0processing techniques typically thought of as unavailable on the web.", | |
| "start_time": 1401915600, | |
| "end_time": 1401919200, | |
| "video": false, | |
| "number": "509", | |
| "fav_id": "wwdc14-509", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-04T22:00:00Z" | |
| }, | |
| { | |
| "id": "506", | |
| "title": "Your App, Your Website, and Safari", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "autofill", | |
| " keychain", | |
| " icon", | |
| " credentials", | |
| " password" | |
| ], | |
| "description": "While a modern digital presence combines both apps and traditional web sites, people expect a coherent, seamless, and device-optimized experience in each case. Learn techniques and best practices for successfully making transitions between iOS and OS X apps and the web. Gain insights into the appropriate web standards you can use to make your web content look and work optimally in Safari.", | |
| "start_time": 1401838200, | |
| "end_time": 1401841800, | |
| "video": false, | |
| "number": "506", | |
| "fav_id": "wwdc14-506", | |
| "startGMT": "2014-06-03T23:30:00Z", | |
| "endGMT": "2014-06-04T00:30:00Z" | |
| }, | |
| { | |
| "id": "512", | |
| "title": "Web Inspector and Modern JavaScript", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "CSS", | |
| " table", | |
| " HTML", | |
| " debug" | |
| ], | |
| "description": "Web Inspector, the powerful debugging tool in WebKit, is now available to JavaScriptCore-based apps. Find out how to leverage Web Inspector in your WebKit- and JavaScriptCore-based apps on iOS and\\u00a0OS X. Gain an overview of what's new in the JavaScript language and how to use modern JavaScript in your apps.", | |
| "start_time": 1401988500, | |
| "end_time": 1401992100, | |
| "video": false, | |
| "number": "512", | |
| "fav_id": "wwdc14-512", | |
| "startGMT": "2014-06-05T17:15:00Z", | |
| "endGMT": "2014-06-05T18:15:00Z" | |
| }, | |
| { | |
| "id": "517", | |
| "title": "Designing Responsive Web Experiences", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "CSS", | |
| " table", | |
| " HTML", | |
| " JavaScript" | |
| ], | |
| "description": "As your user base grows, so will the variety of devices you'll need to support. People expect modern web sites to be fast, visually appealing, and rich functionally, regardless of a device's performance characteristics, resolution or size. Learn how to use the latest web technologies in WebKit and Safari to create engaging,\\u00a0attractive, and\\u00a0adaptive layouts across all devices.", | |
| "start_time": 1402074900, | |
| "end_time": 1402078500, | |
| "video": false, | |
| "number": "517", | |
| "fav_id": "wwdc14-517", | |
| "startGMT": "2014-06-06T17:15:00Z", | |
| "endGMT": "2014-06-06T18:15:00Z" | |
| }, | |
| { | |
| "id": "206", | |
| "title": "Introducing the Modern WebKit API", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "The modern WebKit framework enables developers to integrate web content into their native app experience with more features and fewer lines of code. Dive into the latest WebKit enhancements including modern\\u00a0Objective-C features such as blocks and explicit object types, advanced bridging between JavaScript and Objective-C, increased\\u00a0JavaScript\\u00a0performance via WebKit's super-fast JIT, and more\\u2014all delivered in an API unified for both iOS and OS X.", | |
| "start_time": 1401829200, | |
| "end_time": 1401832800, | |
| "video": false, | |
| "number": "206", | |
| "fav_id": "wwdc14-206", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-03T22:00:00Z" | |
| }, | |
| { | |
| "id": "504", | |
| "title": "Advanced Media for the Web", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "HLS", | |
| " video", | |
| " MSE" | |
| ], | |
| "description": "With the increasing popularity of media on the web, content providers find themselves confronted by an over-abundance of formats, codecs and technologies competing for their attention. See how to use the latest HTML5 technologies in WebKit and Safari to make it easier to deliver media to your users and explore the performance and user experience tradeoffs you'll need to keep in mind when deciding between building for simplicity and fine-grained control.", | |
| "start_time": 1401820200, | |
| "end_time": 1401823800, | |
| "video": false, | |
| "number": "504", | |
| "fav_id": "wwdc14-504", | |
| "startGMT": "2014-06-03T18:30:00Z", | |
| "endGMT": "2014-06-03T19:30:00Z" | |
| }, | |
| { | |
| "id": "516", | |
| "title": "Improving the Accessibility and Usability of Complex Web Applications", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "ARIA", | |
| " WCAG", | |
| " Accessible" | |
| ], | |
| "description": "The increasing complexity of modern web applications brings increased challenges to ensuring your web app is usable by everyone. Discover how accessibility benefits everyone, and why it's worth the effort. Learn advanced tips and techniques, and discover new developer tools for increasing productivity and avoiding common pitfalls.", | |
| "start_time": 1402070400, | |
| "end_time": 1402074000, | |
| "video": false, | |
| "number": "516", | |
| "fav_id": "wwdc14-516", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T17:00:00Z" | |
| }, | |
| { | |
| "id": "510", | |
| "title": "What's New in iAd Workbench", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Monetize", | |
| " API", | |
| " segmentation", | |
| " banner", | |
| " advertise" | |
| ], | |
| "description": "iAd Workbench makes it simple to create and manage mobile ad campaigns that reach the right audience for your apps, products or brands. Discover how features such as new creative executions, enhanced targeting and pricing capabilities and access via API's make iAd Workbench more effective and easy to work with. Learn how app download attribution and custom audience segments can provide insights into your audience, deliver customized messages and realize long term value.", | |
| "start_time": 1401984000, | |
| "end_time": 1401987600, | |
| "video": false, | |
| "number": "510", | |
| "fav_id": "wwdc14-510", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T17:00:00Z" | |
| }, | |
| { | |
| "id": "222", | |
| "title": "Optimize Your Earning Power With iAd", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Monetize", | |
| " segmentation", | |
| " advertise" | |
| ], | |
| "description": "iAd technologies built into iOS let you easily include advertising in your app. Discover what's new in the iAd Framework, including multi-view banner strategies, full screen and video interstitials, and best practices to ensure optimal ad performance. You'll also learn how to implement iAd App Attribution to help you accurately measure the lifetime value of newly acquired customers.", | |
| "start_time": 1401920100, | |
| "end_time": 1401923700, | |
| "video": false, | |
| "number": "222", | |
| "fav_id": "wwdc14-222", | |
| "startGMT": "2014-06-04T22:15:00Z", | |
| "endGMT": "2014-06-04T23:15:00Z" | |
| }, | |
| { | |
| "id": "718", | |
| "title": "Adopting AirPrint", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIPrint", | |
| " PMPrint", | |
| " NSPrint" | |
| ], | |
| "description": "AirPrint is widely supported by all the well-known printer companies. Learn how quick and easy it is to support AirPrint in your app. Discover what's new and improved in the iOS printing system.", | |
| "start_time": 1402070400, | |
| "end_time": 1402074000, | |
| "video": false, | |
| "number": "718", | |
| "fav_id": "wwdc14-718", | |
| "startGMT": "2014-06-06T16:00:00Z", | |
| "endGMT": "2014-06-06T17:00:00Z" | |
| }, | |
| { | |
| "id": "703", | |
| "title": "What's new in the Accelerate Framework", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "numerics", | |
| " vector", | |
| " algebra", | |
| " performance", | |
| " math", | |
| " SIMD", | |
| " BLAS", | |
| " DSP", | |
| " vimage", | |
| " veclib" | |
| ], | |
| "description": "The Accelerate framework has always provided fast, energy efficient signal and image processing and linear algebra libraries. Learn about new interfaces that are easier to adopt and give you the same speed, and about new primitives that make it easier to write your own vector code for iOS and OS X.", | |
| "start_time": 1401815700, | |
| "end_time": 1401819300, | |
| "video": false, | |
| "number": "703", | |
| "fav_id": "wwdc14-703", | |
| "startGMT": "2014-06-03T17:15:00Z", | |
| "endGMT": "2014-06-03T18:15:00Z" | |
| }, | |
| { | |
| "id": "714", | |
| "title": "Fix Bugs Faster using Activity Tracing", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "XPC", | |
| " GCD", | |
| " NSOperation", | |
| " breadcrumb", | |
| " debug", | |
| " diagnostic", | |
| " NSLog", | |
| " syslog", | |
| " crash", | |
| " trace" | |
| ], | |
| "description": "Finding and diagnosing application bugs can be very difficult. Activity Tracing is a new technology that can dramatically improve your speed and efficiency finding bugs in your code. Log trace messages to an auto-generated ring buffer while associating them with the originating user action. Reduce the time sifting through unrelated log messages trying to understand what was going on when the failure happened.", | |
| "start_time": 1401993000, | |
| "end_time": 1401996600, | |
| "video": false, | |
| "number": "714", | |
| "fav_id": "wwdc14-714", | |
| "startGMT": "2014-06-05T18:30:00Z", | |
| "endGMT": "2014-06-05T19:30:00Z" | |
| }, | |
| { | |
| "id": "707", | |
| "title": "What's New in Foundation Networking", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "NSURLSession", | |
| " NSURLConnection", | |
| " HTTP", | |
| " SPDY", | |
| " TLS", | |
| " SSL", | |
| " TCP" | |
| ], | |
| "description": "The NSURLSession class provides powerful HTTP networking features in iOS and OS X. Learn about new NSURLSession capabilities and hear expert advice on practical, efficient and high performance networking for your apps.", | |
| "start_time": 1401833700, | |
| "end_time": 1401837300, | |
| "video": false, | |
| "number": "707", | |
| "fav_id": "wwdc14-707", | |
| "startGMT": "2014-06-03T22:15:00Z", | |
| "endGMT": "2014-06-03T23:15:00Z" | |
| }, | |
| { | |
| "id": "709", | |
| "title": "Cross Platform Nearby Networking", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "multipeer", | |
| " connectivity", | |
| " bluetooth", | |
| " BT", | |
| " WiFi", | |
| " Wi-Fi" | |
| ], | |
| "description": "Multipeer Connectivity comes to OS X. You can now discover and communicate with nearby devices on OS X and iOS. See what is new. Learn about best practices and advanced topics, such as writing cross platform code, customizing discovery and handling certificates.", | |
| "start_time": 1401897600, | |
| "end_time": 1401901200, | |
| "video": false, | |
| "number": "709", | |
| "fav_id": "wwdc14-709", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T17:00:00Z" | |
| }, | |
| { | |
| "id": "715", | |
| "title": "User Privacy in iOS and OS X", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "consent", | |
| " identifier", | |
| " tracking", | |
| " UDID", | |
| " IDFA", | |
| " location", | |
| " camera", | |
| " health" | |
| ], | |
| "description": "Learn about new iOS and OS X privacy features and get details on new and updated APIs. Hear best practices for delivering great features and respecting your customers' privacy.", | |
| "start_time": 1402002000, | |
| "end_time": 1402005600, | |
| "video": false, | |
| "number": "715", | |
| "fav_id": "wwdc14-715", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-05T22:00:00Z" | |
| }, | |
| { | |
| "id": "711", | |
| "title": "Keychain and Authentication with Touch ID", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "security", | |
| " SecItem", | |
| " SecAttr", | |
| " passcode", | |
| " password", | |
| " ACL", | |
| " LocalAuthentication" | |
| ], | |
| "description": "The Keychain has always been the most secure place to store passwords and other sensitive data. iOS 8 introduces significant new security features. Discover how to integrate Touch ID into your apps using the Keychain and the new LocalAuthentication framework. Learn about other Keychain enhancements, including how to tie data to the user's passcode.", | |
| "start_time": 1401902100, | |
| "end_time": 1401905700, | |
| "video": false, | |
| "number": "711", | |
| "fav_id": "wwdc14-711", | |
| "startGMT": "2014-06-04T17:15:00Z", | |
| "endGMT": "2014-06-04T18:15:00Z" | |
| }, | |
| { | |
| "id": "708", | |
| "title": "Taking Core Location Indoors", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "beacon", | |
| " proximity", | |
| " CoreLocation", | |
| " Core Location", | |
| " location", | |
| " GPS", | |
| " position", | |
| " positioning", | |
| " navigation", | |
| " fencing", | |
| " fence", | |
| " geo-fence", | |
| " geo-fencing", | |
| " geofence", | |
| " geofencing", | |
| " region", | |
| " region monitoring", | |
| " gps", | |
| " triangulation", | |
| " trilateration", | |
| " hero app", | |
| " heroapp", | |
| " ranging", | |
| " proximity" | |
| ], | |
| "description": "iOS 8 makes it possible for an iOS app to determine its precise indoor position in supported venues. Learn best practices on how your app can take advantage of indoor positioning. Discover how indoor positioning and iBeacon complement each other, and understand the best use cases for both technologies. As a venue, find out how you can get involved and signup to enable indoor positioning.", | |
| "start_time": 1401833700, | |
| "end_time": 1401837300, | |
| "video": false, | |
| "number": "708", | |
| "fav_id": "wwdc14-708", | |
| "startGMT": "2014-06-03T22:15:00Z", | |
| "endGMT": "2014-06-03T23:15:00Z" | |
| }, | |
| { | |
| "id": "706", | |
| "title": "What's New in Core Location", | |
| "track": "Core OS", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "iBeacon", | |
| " iBeacons", | |
| " beacon", | |
| " region", | |
| " regions", | |
| " region monitoring", | |
| " geo-fence", | |
| " fence", | |
| " geo-fencing", | |
| " fencing", | |
| " authorization", | |
| " approval", | |
| " significant location change", | |
| " SLC", | |
| " visit", | |
| " visit monitoring", | |
| " visit monitor", | |
| " visit API", | |
| " CLVisit", | |
| " CoreLocation", | |
| " Core Location", | |
| " location", | |
| " GPS", | |
| " position", | |
| " navigation", | |
| " WhenInUse", | |
| " WhileInUse", | |
| " ranging", | |
| " proximity", | |
| " heading. journal", | |
| " journaling" | |
| ], | |
| "description": "Find out how your app can use new functionality in Core Location to do automatic check-in or journal the user's location. Learn how location authorization is changing to give the user more precise control of what location services an App is authorized is use, and what this means for developers and users.", | |
| "start_time": 1401829200, | |
| "end_time": 1401832800, | |
| "video": false, | |
| "number": "706", | |
| "fav_id": "wwdc14-706", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-03T22:00:00Z" | |
| }, | |
| { | |
| "id": "211", | |
| "title": "Designing Intuitive User Experiences", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "design", | |
| " animation", | |
| " ui", | |
| " ux", | |
| " user", | |
| " interface", | |
| " experience", | |
| " approachability", | |
| " navigation", | |
| " layout", | |
| " icons", | |
| " iOS", | |
| " Mac" | |
| ], | |
| "description": "Learn about the key concepts and principles that will enable you to make your app intuitive and approachable. Gain insights into how you can harness UI animations to help people stay oriented, get clear and meaningful feedback, and navigate with ease.", | |
| "start_time": 1401838200, | |
| "end_time": 1401841800, | |
| "video": false, | |
| "number": "211", | |
| "fav_id": "wwdc14-211", | |
| "startGMT": "2014-06-03T23:30:00Z", | |
| "endGMT": "2014-06-04T00:30:00Z" | |
| }, | |
| { | |
| "id": "210", | |
| "title": "Accessibility on iOS", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " voiceover", | |
| " automation" | |
| ], | |
| "description": "iOS offers unmatched accessibility support that can help you reach a wider audience. Join us for an exploration of the features that iOS offers for users with specific needs, in areas such as vision, hearing, movement, and learning. Learn how to leverage existing and new UIAccessibility APIs in iOS 8, including expanded support for low vision users, to ensure that your app's features are available to all users.", | |
| "start_time": 1401833700, | |
| "end_time": 1401837300, | |
| "video": false, | |
| "number": "210", | |
| "fav_id": "wwdc14-210", | |
| "startGMT": "2014-06-03T22:15:00Z", | |
| "endGMT": "2014-06-03T23:15:00Z" | |
| }, | |
| { | |
| "id": "207", | |
| "title": "Accessibility on OS X", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "AppKit" | |
| ], | |
| "description": "OS X is known for its unsurpassed level of accessibility. Find out about an all-new OS X accessibility API to make adding accessibility support to your apps even easier. Discover how to add support for VoiceOver, Switch Control, automation and other assistive-technology clients to work with your OS X applications. Learn advanced techniques to make complex controls accessible with only a few lines of code.", | |
| "start_time": 1401829200, | |
| "end_time": 1401832800, | |
| "video": false, | |
| "number": "207", | |
| "fav_id": "wwdc14-207", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-03T22:00:00Z" | |
| }, | |
| { | |
| "id": "202", | |
| "title": "What's New in Cocoa Touch", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit" | |
| ], | |
| "description": "iOS 8 brings enhancements to the Cocoa Touch frameworks for making next generation apps on iOS. Learn about updates to view controllers, the introduction of size classes, and get an overview of all new APIs to help you create adaptive apps. Hear about new capabilities, such as extensions and handoff, which will enable you to create great experiences for users to keep them up to date at all times or allow them to continue their workflow when they move from one device to another. Find out which sessions you won't want to miss throughout the week.", | |
| "start_time": 1401815700, | |
| "end_time": 1401819300, | |
| "video": false, | |
| "number": "202", | |
| "fav_id": "wwdc14-202", | |
| "startGMT": "2014-06-03T17:15:00Z", | |
| "endGMT": "2014-06-03T18:15:00Z" | |
| }, | |
| { | |
| "id": "229", | |
| "title": "Advanced iOS Application Architecture and Patterns", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "design patterns" | |
| ], | |
| "description": "Explore a selection of high-level software engineering techniques presented in the context of Cocoa Touch. Learn how to manage complexity in large codebases by clearly defining where truth resides, by controlling state with Swift's powerful value types and immutability, and by thinking in terms of composition.", | |
| "start_time": 1402002000, | |
| "end_time": 1402005600, | |
| "video": false, | |
| "number": "229", | |
| "fav_id": "wwdc14-229", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-05T22:00:00Z" | |
| }, | |
| { | |
| "id": "219", | |
| "title": "Adopting Handoff on iOS and OS X", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " AppKit", | |
| " continue", | |
| " NSUserActivity", | |
| " streams" | |
| ], | |
| "description": "Handoff allows people to seamlessly move activities between devices and pick up right where they left off. Learn how to save, transfer, and restore user activities in apps of all architectures. See how easy it is to add Handoff support to your iOS and OS X apps to make your user experience even better.", | |
| "start_time": 1401915600, | |
| "end_time": 1401919200, | |
| "video": false, | |
| "number": "219", | |
| "fav_id": "wwdc14-219", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-04T22:00:00Z" | |
| }, | |
| { | |
| "id": "232", | |
| "title": "Advanced User Interfaces with Collection Views", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "UIKit", | |
| " layout" | |
| ], | |
| "description": "Building an advanced user interface with collection view requires a great design, careful code architecture, and often times a custom layout. Learn how the iTunes team used UICollectionView to deliver a new version of the iTunes Connect app with an updated user interface incorporating pinning headers, swipe to edit and reorder, and a manageable code-base.", | |
| "start_time": 1402006500, | |
| "end_time": 1402010100, | |
| "video": false, | |
| "number": "232", | |
| "fav_id": "wwdc14-232", | |
| "startGMT": "2014-06-05T22:15:00Z", | |
| "endGMT": "2014-06-05T23:15:00Z" | |
| }, | |
| { | |
| "id": "227", | |
| "title": "Creating Modern Cocoa Apps", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "AppKit", | |
| " storyboard", | |
| " view controller", | |
| " auto layout" | |
| ], | |
| "description": "Developing apps for OS X Yosemite is easier than ever with new enhancements to Cocoa. Learn how to use these new tools and APIs to develop a modern OS X app. Explore what's now available in Cocoa and learn to harness and implement these key technologies to make your app at once totally modern and familiar to people using it on OS X Yosemite.", | |
| "start_time": 1401988500, | |
| "end_time": 1401992100, | |
| "video": false, | |
| "number": "227", | |
| "fav_id": "wwdc14-227", | |
| "startGMT": "2014-06-05T17:15:00Z", | |
| "endGMT": "2014-06-05T18:15:00Z" | |
| }, | |
| { | |
| "id": "217", | |
| "title": "Creating Extensions for iOS and OS X, Part 2", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "widget", | |
| " today", | |
| " notification center", | |
| " UIKit", | |
| " AppKit", | |
| " javascript" | |
| ], | |
| "description": "Take the plunge into advanced extension concepts such as creating custom action extensions. Dive deep into extension architecture to learn how to provide a consistent experience between extensions and your app. See how to utilize extensions with Safari to bridge the gap between your websites and native apps, and discover how to make great extensions that users will love.", | |
| "start_time": 1401906600, | |
| "end_time": 1401910200, | |
| "video": false, | |
| "number": "217", | |
| "fav_id": "wwdc14-217", | |
| "startGMT": "2014-06-04T18:30:00Z", | |
| "endGMT": "2014-06-04T19:30:00Z" | |
| }, | |
| { | |
| "id": "205", | |
| "title": "Creating Extensions for iOS and OS X, Part 1", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "widget", | |
| " today", | |
| " UIKit", | |
| " AppKit" | |
| ], | |
| "description": "Extensions enable you to keep people engaged with your content across iOS and OS X. Learn how to create extensions that share content with social websites, engage users in Notification Center, and enable a variety of other exciting features. Tap into the potential of extensions and prepare to dive into advanced topics in Part 2.", | |
| "start_time": 1401829200, | |
| "end_time": 1401832800, | |
| "video": false, | |
| "number": "205", | |
| "fav_id": "wwdc14-205", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-03T22:00:00Z" | |
| }, | |
| { | |
| "id": "221", | |
| "title": "Creating Custom iOS User Interfaces", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "layer", | |
| " shape", | |
| " draw", | |
| " UIViewAnimation", | |
| " UIVisualEffect", | |
| " dynamics", | |
| " UIKit", | |
| " bezier" | |
| ], | |
| "description": "Make your app stand out from the competition with a compelling, yet familiar, user interface, and custom controls that match your app's personality and effectively reveal it's key features. Learn advanced Core Animation techniques such as spring view animations, and see new visual effects such as blur and vibrancy and how they can give your apps a visual edge.", | |
| "start_time": 1401920100, | |
| "end_time": 1401923700, | |
| "video": false, | |
| "number": "221", | |
| "fav_id": "wwdc14-221", | |
| "startGMT": "2014-06-04T22:15:00Z", | |
| "endGMT": "2014-06-04T23:15:00Z" | |
| }, | |
| { | |
| "id": "201", | |
| "title": "Advanced Topics in Internationalization", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "date", | |
| " formatter", | |
| " language", | |
| " RTL", | |
| " right to left", | |
| " NSDate", | |
| " currency", | |
| " time", | |
| " calendar", | |
| " number", | |
| " locale", | |
| " markets", | |
| " text", | |
| " string", | |
| " genstrings", | |
| " unicode", | |
| " ibtool", | |
| " foundation", | |
| " UIKit", | |
| " AppKit", | |
| " core foundation" | |
| ], | |
| "description": "Making your app appealing to customers around the world requires more than basic localization. See how to tackle the complex aspects of making your app truly world-ready. Learn about the latest developments with internationalization on iOS and OS X, and learn from case studies illustrating common pitfalls to avoid and simple and effective techniques. Find out how to give your users a great experience no matter what language they speak or where they live.", | |
| "start_time": 1401811200, | |
| "end_time": 1401814800, | |
| "video": false, | |
| "number": "201", | |
| "fav_id": "wwdc14-201", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-03T17:00:00Z" | |
| }, | |
| { | |
| "id": "223", | |
| "title": "Prototyping: Fake It Till You Make It", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "design", | |
| " Keynote" | |
| ], | |
| "description": "Make better apps by trying things out first, before you write any code. Get a glimpse of Apple's prototyping process and the range of tools and techniques we use, some of which might surprise you.", | |
| "start_time": 1401984000, | |
| "end_time": 1401987600, | |
| "video": false, | |
| "number": "223", | |
| "fav_id": "wwdc14-223", | |
| "startGMT": "2014-06-05T16:00:00Z", | |
| "endGMT": "2014-06-05T17:00:00Z" | |
| }, | |
| { | |
| "id": "230", | |
| "title": "Making a Great First Impression With Strong Onboarding Design", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Learn how to effectively introduce new users to the capabilities and features of your app or game in a way that will draw them in the very first time and then keep them coming back.", | |
| "start_time": 1402002000, | |
| "end_time": 1402005600, | |
| "video": false, | |
| "number": "230", | |
| "fav_id": "wwdc14-230", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-05T22:00:00Z" | |
| }, | |
| { | |
| "id": "218", | |
| "title": "Designing a Great In-App Purchase Experience", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "StoreKit", | |
| " IAP", | |
| " inapp purchase", | |
| " transaction" | |
| ], | |
| "description": "Being successful with In-App Purchases requires much more than just having a store within your app. A well-designed experience motivates customers to purchase, offers them the items that they want based on what's happening, communicates item details and pricing clearly, and provides vital feedback about the purchasing process. Learn key design techniques, how best to communicate when new content and subscriptions become available, how to handle large sets of In-App content, and important StoreKit tips.", | |
| "start_time": 1401906600, | |
| "end_time": 1401910200, | |
| "video": false, | |
| "number": "218", | |
| "fav_id": "wwdc14-218", | |
| "startGMT": "2014-06-04T18:30:00Z", | |
| "endGMT": "2014-06-04T19:30:00Z" | |
| }, | |
| { | |
| "id": "304", | |
| "title": "Creating Great App Previews", | |
| "track": "Services", | |
| "type": "Session", | |
| "room": "Russian Hill", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "trailers", | |
| " iTunes Connect", | |
| " itunesconnect", | |
| " capture", | |
| " video", | |
| " editing" | |
| ], | |
| "description": "Spark interest in your app by showing a compelling video preview highlighting the magic moments that make your app unique. Learn how to plan, create and publish your App Preview using Apple's tools, guidelines and best practices.", | |
| "start_time": 1402006500, | |
| "end_time": 1402010100, | |
| "video": false, | |
| "number": "304", | |
| "fav_id": "wwdc14-304", | |
| "startGMT": "2014-06-05T22:15:00Z", | |
| "endGMT": "2014-06-05T23:15:00Z" | |
| }, | |
| { | |
| "id": "305", | |
| "title": "Preventing Unauthorized Purchases with Receipts", | |
| "track": "Services", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "OpenSSL", | |
| " PKCS#7", | |
| " fraud", | |
| " pirated", | |
| " cracked", | |
| " StoreKit", | |
| " InAppPurchases", | |
| " IAP", | |
| " Receipt Renewal", | |
| " Receipt Refresh", | |
| " Validation", | |
| " Enforcement", | |
| " transaction" | |
| ], | |
| "description": "Receipts provide a valuable record of the sale for an app or for any In-App Purchases made from within an app. You can add receipt validation code to your app to prevent unauthorized purchases and protect your content. Learn how to verify exactly what people have paid for and how to validate these transactions.", | |
| "start_time": 1402074900, | |
| "end_time": 1402078500, | |
| "video": false, | |
| "number": "305", | |
| "fav_id": "wwdc14-305", | |
| "startGMT": "2014-06-06T17:15:00Z", | |
| "endGMT": "2014-06-06T18:15:00Z" | |
| }, | |
| { | |
| "id": "303", | |
| "title": "Optimizing In-App Purchases", | |
| "track": "Services", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "InApp Purchases", | |
| " IAP", | |
| " Micropayment", | |
| " SKPayment", | |
| " SKPaymentTransaction", | |
| " transaction" | |
| ], | |
| "description": "Using the StoreKit framework properly and optimizing the user experience of your In-App store is vital in order to never miss out on a sale or confuse people. Learn valuable techniques for a trouble free browsing and purchasing experience, and to ensure your app gets through the app submission process smoothly.", | |
| "start_time": 1401920100, | |
| "end_time": 1401923700, | |
| "video": false, | |
| "number": "303", | |
| "fav_id": "wwdc14-303", | |
| "startGMT": "2014-06-04T22:15:00Z", | |
| "endGMT": "2014-06-04T23:15:00Z" | |
| }, | |
| { | |
| "id": "302", | |
| "title": "The New iTunes Connect", | |
| "track": "Services", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "iTC for iOS", | |
| " trailers", | |
| " itunesconnect", | |
| " crash reporting", | |
| " distribution", | |
| " Test Flight", | |
| " adhoc", | |
| " metrics", | |
| " testers", | |
| " enterprise provisioning" | |
| ], | |
| "description": "Get acquainted with the new iTunes Connect\\u2014your hub for publishing on the App Store. Learn about new ways to market with App Bundles and App Previews and how to make even better apps with App Analytics and TestFlight Beta Testing.", | |
| "start_time": 1401902100, | |
| "end_time": 1401905700, | |
| "video": false, | |
| "number": "302", | |
| "fav_id": "wwdc14-302", | |
| "startGMT": "2014-06-04T17:15:00Z", | |
| "endGMT": "2014-06-04T18:15:00Z" | |
| }, | |
| { | |
| "id": "511", | |
| "title": "Introducing the Photos Frameworks", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "PHAsset", | |
| " PHCollection", | |
| " PHAssetCollection", | |
| " PHCollectionList", | |
| " PHFetchOptions", | |
| " PHFetchResult", | |
| " Image", | |
| " Photo", | |
| " Camera" | |
| ], | |
| "description": "iOS 8 introduces two frameworks for managing the photo library and enhancing editing in photo, video, and camera apps. Get introduced to the Photos Framework and see how it enables you to build first-class photo browsing and editing apps. Learn about photo editing extensions with the PhotosUI framework and see how to include your own editing features into the built-in Photos app.", | |
| "start_time": 1401988500, | |
| "end_time": 1401992100, | |
| "video": false, | |
| "number": "511", | |
| "fav_id": "wwdc14-511", | |
| "startGMT": "2014-06-05T17:15:00Z", | |
| "endGMT": "2014-06-05T18:15:00Z" | |
| }, | |
| { | |
| "id": "515", | |
| "title": "Developing Core Image Filters for iOS", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "RAW", | |
| " convolution", | |
| " CIContext", | |
| " CIImage", | |
| " CIFilter", | |
| " CIKernel", | |
| " games", | |
| " science", | |
| " photo", | |
| " camera" | |
| ], | |
| "description": "Dive deeper into creating your own custom Core Image filters for iOS. Learn about writing filter kernels and get details about the Core Image kernel language. See how to use custom filters in your apps or make them available to other apps via extensions.", | |
| "start_time": 1402006500, | |
| "end_time": 1402010100, | |
| "video": false, | |
| "number": "515", | |
| "fav_id": "wwdc14-515", | |
| "startGMT": "2014-06-05T22:15:00Z", | |
| "endGMT": "2014-06-05T23:15:00Z" | |
| }, | |
| { | |
| "id": "514", | |
| "title": "Advances in Core Image", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "RAW", | |
| " convolution", | |
| " CIContext", | |
| " CIImage", | |
| " CIFilter", | |
| " CIKernel", | |
| " games", | |
| " science", | |
| " photo", | |
| " camera" | |
| ], | |
| "description": "Core Image lets you create amazing effects in your camera and image editing apps. Learn about the advances in Core Image for iOS 8 and OS X Yosemite. Get introduced to writing custom image processing filters for iOS and see how they can be used in Photos extensions. Walk through the enhancements for working with large images, and get details about the newest filters and detectors.", | |
| "start_time": 1402002000, | |
| "end_time": 1402005600, | |
| "video": false, | |
| "number": "514", | |
| "fav_id": "wwdc14-514", | |
| "startGMT": "2014-06-05T21:00:00Z", | |
| "endGMT": "2014-06-05T22:00:00Z" | |
| }, | |
| { | |
| "id": "502", | |
| "title": "AVAudioEngine in Practice", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "3D", | |
| " spatial audio", | |
| " AVAudioEngine", | |
| " Core Audio", | |
| " Audio Units" | |
| ], | |
| "description": "Dive deeper into the new Objective-C based audio graph system in AV Foundation. Learn how apps can utilize rich audio services from simple audio playback tasks to complex audio rendering chains, including effects and 3D spatial rendering for games.", | |
| "start_time": 1401815700, | |
| "end_time": 1401819300, | |
| "video": false, | |
| "number": "502", | |
| "fav_id": "wwdc14-502", | |
| "startGMT": "2014-06-03T17:15:00Z", | |
| "endGMT": "2014-06-03T18:15:00Z" | |
| }, | |
| { | |
| "id": "501", | |
| "title": "What's New in Core Audio", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "AVAudioEngine", | |
| " Core Audio", | |
| " AV Foundation", | |
| " AVFoundation" | |
| ], | |
| "description": "See what's new in Core Audio for iOS and OS X. Be introduced to the powerful new APIs for managing audio buffers, files, and data formats. Learn how to incorporate views to facilitate switching between inter-app audio apps on iOS. Take an in depth look at how to tag Audio Units and utilize MIDI over Bluetooth LE.", | |
| "start_time": 1401811200, | |
| "end_time": 1401814800, | |
| "video": false, | |
| "number": "501", | |
| "fav_id": "wwdc14-501", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-03T17:00:00Z" | |
| }, | |
| { | |
| "id": "508", | |
| "title": "Camera Capture: Manual Controls", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Marina", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "AV Foundation", | |
| " AVCaptureView", | |
| " AVKit", | |
| " AVFoundation" | |
| ], | |
| "description": "Learn about using manual controls to manipulate focus, exposure, and white balance. Take control of the camera's focus position, ISO, shutter speed, temperature, tint, and more. Learn how to use the new iOS 8 exposure bracketing API to enable powerful creative and computational photography applications. Discover view-level services for capturing audio and video on OS X.", | |
| "start_time": 1401906600, | |
| "end_time": 1401910200, | |
| "video": false, | |
| "number": "508", | |
| "fav_id": "wwdc14-508", | |
| "startGMT": "2014-06-04T18:30:00Z", | |
| "endGMT": "2014-06-04T19:30:00Z" | |
| }, | |
| { | |
| "id": "513", | |
| "title": "Direct Access to Video Encoding and Decoding", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Nob Hill", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Core Video", | |
| " IOSurface", | |
| " Core Graphics" | |
| ], | |
| "description": "Discover how to use AV Foundation and Video Toolbox to access hardware accelerated encoding and decoding services. Gain best practices for when it is appropriate to use a high-level or low-level API for encoding or decoding. Learn about multi-pass export for improved H.264 encoding and see how to use it in your app.", | |
| "start_time": 1401993000, | |
| "end_time": 1401996600, | |
| "video": false, | |
| "number": "513", | |
| "fav_id": "wwdc14-513", | |
| "startGMT": "2014-06-05T18:30:00Z", | |
| "endGMT": "2014-06-05T19:30:00Z" | |
| }, | |
| { | |
| "id": "505", | |
| "title": "Harnessing Metadata in Audiovisual Media", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "GPS", | |
| " Maps", | |
| " AVFoundation", | |
| " AVKit" | |
| ], | |
| "description": "Rich metadata, such as time, date, location, and user defined tags, are particularly useful for time-based media. Discover how to harness static and timed metadata in your AV Foundation apps. See how to write metadata into media and read it during playback. Gain knowledge of best practices for privacy and protecting user data.", | |
| "start_time": 1401829200, | |
| "end_time": 1401832800, | |
| "video": false, | |
| "number": "505", | |
| "fav_id": "wwdc14-505", | |
| "startGMT": "2014-06-03T21:00:00Z", | |
| "endGMT": "2014-06-03T22:00:00Z" | |
| }, | |
| { | |
| "id": "503", | |
| "title": "Mastering Modern Media Playback", | |
| "track": "Media", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "AVFoundation", | |
| " AVKit" | |
| ], | |
| "description": "Media playback just got easier and more powerful with the introduction of AVKit on iOS. Hear how AVKit provides view-level services that give you access to the modern media capabilities of AV Foundation. Learn the best practices for playing audiovisual media on iOS and OS X.", | |
| "start_time": 1401820200, | |
| "end_time": 1401823800, | |
| "video": false, | |
| "number": "503", | |
| "fav_id": "wwdc14-503", | |
| "startGMT": "2014-06-03T18:30:00Z", | |
| "endGMT": "2014-06-03T19:30:00Z" | |
| }, | |
| { | |
| "id": "602", | |
| "title": "Ingredients of Great Games", | |
| "track": "Graphics and Games", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Friction", | |
| " Engagement", | |
| " game", | |
| " SpriteKit", | |
| " SceneKit", | |
| " OpenGL", | |
| " Metal", | |
| " graphics", | |
| " 2D", | |
| " 3D", | |
| " NSURLSession" | |
| ], | |
| "description": "Kick off the game development sessions of WWDC 2014 by gaining insight into the key ingredients needed to create a great game for iOS. Understand the importance of harnessing the full capabilities of the platform to create a richer gameplay experience. Get practical guidance about game production and distribution, and learn the design and platform conventions that will make your game even more engaging.", | |
| "start_time": 1401833700, | |
| "end_time": 1401837300, | |
| "video": false, | |
| "number": "602", | |
| "fav_id": "wwdc14-602", | |
| "startGMT": "2014-06-03T22:15:00Z", | |
| "endGMT": "2014-06-03T23:15:00Z" | |
| }, | |
| { | |
| "id": "612", | |
| "title": "Motion Tracking with the Core Motion Framework", | |
| "track": "Graphics and Games", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "motion", | |
| " step", | |
| " pedometer", | |
| " driving", | |
| " walking", | |
| " cycling", | |
| " CMMotion", | |
| " accelerometer", | |
| " gyroscope" | |
| ], | |
| "description": "Core Motion leverages the M7 motion coprocessor and other built-in sensors to provide support for step counting and motion tracking. See examples of Core Motion based apps in action. Learn how health and fitness apps use pedometer information to give users performance and workout results, and how journaling apps use motion classification to tag the day's activities.", | |
| "start_time": 1402079400, | |
| "end_time": 1402083000, | |
| "video": false, | |
| "number": "612", | |
| "fav_id": "wwdc14-612", | |
| "startGMT": "2014-06-06T18:30:00Z", | |
| "endGMT": "2014-06-06T19:30:00Z" | |
| }, | |
| { | |
| "id": "601", | |
| "title": "Harnessing the Power of the Mac Pro with OpenGL and OpenCL", | |
| "track": "Graphics and Games", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X" | |
| ], | |
| "keywords": [ | |
| "GPGPU", | |
| " compute", | |
| " IOSurface", | |
| " GPU", | |
| " NSOpenGL" | |
| ], | |
| "description": "The new Mac Pro enables you to unleash the power of dual workstation-class GPUs and multiple CPU cores in ways that just weren't possible until now. Gain a deeper understanding of the integration between OpenCL and OpenGL and see how to tap into the parallel compute and rendering power of the Mac.", | |
| "start_time": 1401811200, | |
| "end_time": 1401814800, | |
| "video": false, | |
| "number": "601", | |
| "fav_id": "wwdc14-601", | |
| "startGMT": "2014-06-03T16:00:00Z", | |
| "endGMT": "2014-06-03T17:00:00Z" | |
| }, | |
| { | |
| "id": "605", | |
| "title": "Working with Metal: Advanced", | |
| "track": "Graphics and Games", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "3D Graphics", | |
| " Compute", | |
| " GPGPU", | |
| " GPU", | |
| " OpenGL", | |
| " MTL", | |
| " METL", | |
| " OpenGL ES", | |
| " renderer", | |
| " 3D", | |
| " accelerate", | |
| " SIMD", | |
| " shader", | |
| " Xcode", | |
| " Frame Debugger", | |
| " Metal Tools" | |
| ], | |
| "description": "Building on the fundamentals, learn how to create advanced games and graphics applications with Metal. See how to construct your rendering pipeline, understand how to use compute and graphics together, and discover how to optimize your Metal-based app.", | |
| "start_time": 1401906600, | |
| "end_time": 1401910200, | |
| "video": false, | |
| "number": "605", | |
| "fav_id": "wwdc14-605", | |
| "startGMT": "2014-06-04T18:30:00Z", | |
| "endGMT": "2014-06-04T19:30:00Z" | |
| }, | |
| { | |
| "id": "604", | |
| "title": "Working with Metal: Fundamentals", | |
| "track": "Graphics and Games", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "3D Graphics", | |
| " Compute", | |
| " GPGPU", | |
| " GPU", | |
| " OpenGL", | |
| " MTL", | |
| " METL", | |
| " OpenGL ES", | |
| " renderer", | |
| " 3D", | |
| " accelerate", | |
| " SIMD", | |
| " shader" | |
| ], | |
| "description": "Start learning how to code with Metal in this step-by-step walkthrough of basic scene rendering. See the code you need to get your first Metal-based application up and running. Explore how to create graphics and compute shaders and efficiently animate scenes.", | |
| "start_time": 1401902100, | |
| "end_time": 1401905700, | |
| "video": false, | |
| "number": "604", | |
| "fav_id": "wwdc14-604", | |
| "startGMT": "2014-06-04T17:15:00Z", | |
| "endGMT": "2014-06-04T18:15:00Z" | |
| }, | |
| { | |
| "id": "603", | |
| "title": "Working with Metal: Overview", | |
| "track": "Graphics and Games", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "3D Graphics", | |
| " Compute", | |
| " GPGPU", | |
| " GPU", | |
| " OpenGL", | |
| " MTL", | |
| " METL", | |
| " OpenGL ES", | |
| " renderer", | |
| " 3D", | |
| " accelerate", | |
| " SIMD", | |
| " shader" | |
| ], | |
| "description": "Metal provides extremely efficient access to the graphics and compute power of the A7 chip. Get introduced to the essential concepts behind Metal, its low-overhead architecture, streamlined API, and unified shading language. See how Metal lets you take your iOS game or app to the next level of performance and capability.", | |
| "start_time": 1401897600, | |
| "end_time": 1401901200, | |
| "video": false, | |
| "number": "603", | |
| "fav_id": "wwdc14-603", | |
| "startGMT": "2014-06-04T16:00:00Z", | |
| "endGMT": "2014-06-04T17:00:00Z" | |
| }, | |
| { | |
| "id": "610", | |
| "title": "Building a Game with SceneKit", | |
| "track": "Graphics and Games", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Bananas", | |
| " 3D", | |
| " graph", | |
| " SCNNode", | |
| " SCNView", | |
| " collada", | |
| " DAE", | |
| " opensubdiv", | |
| " SCNLayer", | |
| " OpenGL", | |
| " graphics", | |
| " rendering", | |
| " physics", | |
| " inverse kinematics", | |
| " OpenGL" | |
| ], | |
| "description": "Dive into the practical workflow of developing a 3D side-scrolling game using SceneKit. See how to get started, and learn about tools for managing game assets, creating particle systems, and editing nodes. Understand how SceneKit integrates with your art pipeline and learn how to implement lighting, shadows, and other visual effects. Come away from the session with a demo game in-hand and ready to play.", | |
| "start_time": 1401993000, | |
| "end_time": 1401996600, | |
| "video": false, | |
| "number": "610", | |
| "fav_id": "wwdc14-610", | |
| "startGMT": "2014-06-05T18:30:00Z", | |
| "endGMT": "2014-06-05T19:30:00Z" | |
| }, | |
| { | |
| "id": "609", | |
| "title": "What's New in SceneKit", | |
| "track": "Graphics and Games", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Bananas", | |
| " 3D", | |
| " graph", | |
| " SCNNode", | |
| " SCNView", | |
| " collada", | |
| " DAE", | |
| " opensubdiv", | |
| " SCNLayer", | |
| " OpenGL", | |
| " graphics", | |
| " rendering", | |
| " physics", | |
| " inverse kinematics", | |
| " shader" | |
| ], | |
| "description": "Now available for iOS and OS X, SceneKit is an inventive high-level graphics framework enabling your apps to efficiently load, manipulate, and render 3D scenes. Get reintroduced to SceneKit and check out how your apps can take advantage of its latest capabilities. Learn about advanced capabilities for physics and animation, support for subdivision surfaces, new rendering effects, integration with SpriteKit, and much more.", | |
| "start_time": 1401988500, | |
| "end_time": 1401992100, | |
| "video": false, | |
| "number": "609", | |
| "fav_id": "wwdc14-609", | |
| "startGMT": "2014-06-05T17:15:00Z", | |
| "endGMT": "2014-06-05T18:15:00Z" | |
| }, | |
| { | |
| "id": "608", | |
| "title": "Best Practices for Building SpriteKit Games", | |
| "track": "Graphics and Games", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "lighting", | |
| " physics", | |
| " shaders", | |
| " OpenGL", | |
| " graphics", | |
| " rendering", | |
| " inverse kinematics", | |
| " sprite", | |
| " 2D", | |
| " animation", | |
| " shading", | |
| " collisions", | |
| " constraint" | |
| ], | |
| "description": "Gain a deeper understanding of the best practices to follow when building a SpriteKit based game. Get tips about game construction and see how to map the logical elements of your game into SpriteKit. Learn how data driven techniques can speed your development cycle, and discover how to achieve maximum performance for rendering, physics, and animation.", | |
| "start_time": 1401920100, | |
| "end_time": 1401923700, | |
| "video": false, | |
| "number": "608", | |
| "fav_id": "wwdc14-608", | |
| "startGMT": "2014-06-04T22:15:00Z", | |
| "endGMT": "2014-06-04T23:15:00Z" | |
| }, | |
| { | |
| "id": "606", | |
| "title": "What's New in SpriteKit", | |
| "track": "Graphics and Games", | |
| "type": "Session", | |
| "room": "Pacific Heights", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "lighting", | |
| " physics", | |
| " shaders", | |
| " OpenGL", | |
| " graphics", | |
| " rendering", | |
| " inverse kinematics", | |
| " sprite", | |
| " 2D", | |
| " animation", | |
| " shading", | |
| " collisions", | |
| " constraint" | |
| ], | |
| "description": "SpriteKit provides everything you need for high-performance 2D games to animate sprites, simulate physics, and create stunning graphics effects. Check out new APIs for enhanced shading and lighting, advances in physics and collisions, constraints and inverse kinematics, integration with SceneKit, and powerful editing tools built right into Xcode 6.", | |
| "start_time": 1401915600, | |
| "end_time": 1401919200, | |
| "video": false, | |
| "number": "606", | |
| "fav_id": "wwdc14-606", | |
| "startGMT": "2014-06-04T21:00:00Z", | |
| "endGMT": "2014-06-04T22:00:00Z" | |
| }, | |
| { | |
| "id": "611", | |
| "title": "Designing for Game Controllers", | |
| "track": "Graphics and Games", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "DPAD", | |
| " Joystick", | |
| " button", | |
| " physical", | |
| " input", | |
| " controller", | |
| " MFI", | |
| " game", | |
| " shoulder", | |
| " GCController" | |
| ], | |
| "description": "The Game Controller framework enables games to integrate with MFi game controllers and take advantage of exciting new modes of input. Check out the latest additions and get expert advice about best practices to follow when adding game controller support to your titles. Understand how to avoid common pitfalls and gain key insights into what it takes to create an experience that's intuitive and fun.", | |
| "start_time": 1402074900, | |
| "end_time": 1402078500, | |
| "video": false, | |
| "number": "611", | |
| "fav_id": "wwdc14-611", | |
| "startGMT": "2014-06-06T17:15:00Z", | |
| "endGMT": "2014-06-06T18:15:00Z" | |
| }, | |
| { | |
| "id": "203", | |
| "title": "Introducing HealthKit", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "hkunit", | |
| "hkquantity", | |
| "hksample", | |
| "hkquantitysample", | |
| "hkcategory", | |
| "hkquery", | |
| "hkhealthstore", | |
| "hkstatistics", | |
| "hkstatisticsquery" | |
| ], | |
| "description": "HealthKit is a brand new framework that centralizes the data storage of personal health information. Learn from the framework authors how to save, query, and interpret health data to make your apps more engaging and personal for your users.", | |
| "start_time": 1401815700, | |
| "end_time": 1401819300, | |
| "video": false, | |
| "number": "203", | |
| "fav_id": "wwdc14-203", | |
| "startGMT": "2014-06-03T17:15:00Z", | |
| "endGMT": "2014-06-03T18:15:00Z" | |
| }, | |
| { | |
| "id": "213", | |
| "title": "Introducing HomeKit", | |
| "track": "Frameworks", | |
| "type": "Session", | |
| "room": "Mission", | |
| "focus": [ | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "hmhomemanager", | |
| "hmhome", | |
| "hmroom", | |
| "hmzone", | |
| "hmaccessory", | |
| "hmservice", | |
| "hmcharacteristic", | |
| "hmtimertrigger", | |
| "hmtrigger", | |
| "hmaction", | |
| "hmactionset", | |
| "hmcharacteristicwriteaction", | |
| "hmservicegroup" | |
| ], | |
| "description": "iOS 8 introduces HomeKit, a high-level device connectivity framework enabling apps to interact with physical accessories in the world around us. Learn the objects that define these devices, see how to control them, and discover how to create a full device control experience for the home.", | |
| "start_time": 1401838200, | |
| "end_time": 1401841800, | |
| "video": false, | |
| "number": "213", | |
| "fav_id": "wwdc14-213", | |
| "startGMT": "2014-06-03T23:30:00Z", | |
| "endGMT": "2014-06-04T00:30:00Z" | |
| }, | |
| { | |
| "id": "112", | |
| "title": "Game Developers Get Together", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Broadway", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Meet-up", | |
| " meet up", | |
| " sig", | |
| " special interest group", | |
| " birds of feather", | |
| " bof", | |
| " indie", | |
| " casual", | |
| " midcore", | |
| " hardcore", | |
| " party" | |
| ], | |
| "description": "Connect with fellow game developers and Apple experts for engaging conversations about the hot topics driving game development on iOS. Meet others who share your interests and get play time with award-winning games from your favorite genres. This is a great opportunity to make new connections, share your ideas, and come away inspired.", | |
| "start_time": 1402011000, | |
| "end_time": 1402014600, | |
| "video": false, | |
| "number": "112", | |
| "fav_id": "wwdc14-112", | |
| "startGMT": "2014-06-05T23:30:00Z", | |
| "endGMT": "2014-06-06T00:30:00Z" | |
| }, | |
| { | |
| "id": "105", | |
| "title": "Health and Fitness Get Together", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Folsom", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Meet-up", | |
| "meet up", | |
| "sig", | |
| "special interest group", | |
| "birds of feather", | |
| "bof" | |
| ], | |
| "description": "Meet and connect with like-minded peers and Apple experts for engaging conversations around health and fitness apps, devices, and more. Talk about HealthKit API's on iOS, get inspired by other app developers, share your ideas, and brainstorm new solutions together with those who share your interest in this category of apps for iOS and OS X.", | |
| "start_time": 1401838200, | |
| "end_time": 1401841800, | |
| "video": false, | |
| "number": "105", | |
| "fav_id": "wwdc14-105", | |
| "startGMT": "2014-06-03T23:30:00Z", | |
| "endGMT": "2014-06-04T00:30:00Z" | |
| }, | |
| { | |
| "id": "109", | |
| "title": "Maps, Location, and iBeacon Get Together", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Lombard", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Meet-up", | |
| "meet up", | |
| "sig", | |
| "special interest group", | |
| "birds of feather", | |
| "bof" | |
| ], | |
| "description": "Your phone always knows where it is. Using information about a device's location can help personalize your app and make it more engaging and memorable. Join us and talk with your peers about using location within iOS and OS X apps, your ideas, and your favorite location-based apps. Be prepared to mingle, make new connections, inspire, and talk with others about Core Location, maps, MapKit, geo-fencing, iBeacon, and everything else related to iOS and OS X apps and location.", | |
| "start_time": 1401924600, | |
| "end_time": 1401928200, | |
| "video": false, | |
| "number": "109", | |
| "fav_id": "wwdc14-109", | |
| "startGMT": "2014-06-04T23:30:00Z", | |
| "endGMT": "2014-06-05T00:30:00Z" | |
| }, | |
| { | |
| "id": "104", | |
| "title": "Apps for Enterprise Get Together", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Broadway", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Meet-up", | |
| "meet up", | |
| "sig", | |
| "special interest group", | |
| "birds of feather", | |
| "bof" | |
| ], | |
| "description": "Bring your best ideas for a new generation of enterprise apps and share your work, vision, and goals with other like-minded developers targeting the enterprise. This is your chance to connect with your peers and talk about some of the hot topics driving enterprise app development\\u2014collaboration, context-awareness, enterprise integration, rich media, and more. Share what your teams have done and learn from other enterprise developers in an open exchange. Learn new things, get inspired, and motivate each other to take your enterprise app ideas to new heights.", | |
| "start_time": 1401838200, | |
| "end_time": 1401841800, | |
| "video": false, | |
| "number": "104", | |
| "fav_id": "wwdc14-104", | |
| "startGMT": "2014-06-03T23:30:00Z", | |
| "endGMT": "2014-06-04T00:30:00Z" | |
| }, | |
| { | |
| "id": "110", | |
| "title": "Apps for China Get Together", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Folsom", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Meet-up", | |
| "meet up", | |
| "sig", | |
| "special interest group", | |
| "birds of feather", | |
| "bof" | |
| ], | |
| "description": "With more and more iPhones, iPads, and Macs in China everyday, there's a huge business opportunity for apps in this region. Meet developers who've brought their app to China, talk with Chinese developers about their experience, culture, and language, discuss marketing apps in China, talk to people about getting an app approved for China, and make new friends with other developers and Apple experts who know or want to know more about this topic. Discuss localization and meet people who localize apps, see and show some of the most popular apps in China, exchange ideas about how best to support Chinese speakers, and get motivated by all of the opportunities that exist for Chinese games, educational apps, and business apps.", | |
| "start_time": 1401924600, | |
| "end_time": 1401928200, | |
| "video": false, | |
| "number": "110", | |
| "fav_id": "wwdc14-110", | |
| "startGMT": "2014-06-04T23:30:00Z", | |
| "endGMT": "2014-06-05T00:30:00Z" | |
| }, | |
| { | |
| "id": "113", | |
| "title": "Apps for Kids Get Together", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Lombard", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Meet-up", | |
| "meet up", | |
| "sig", | |
| "special interest group", | |
| "birds of feather", | |
| "bof" | |
| ], | |
| "description": "iOS has caused a revolution for kids content. Join fellow kids and education industry colleagues as we discuss the following topics: design, age appropriateness, local and global development, building a sustainable business, and moving into the classroom. Be prepared to share your experiences developing iOS and OS X apps for kids and the classroom, or to talk about your favorite app for kids, or to get inspired and help motivate others to do something truly great for this category.", | |
| "start_time": 1402011000, | |
| "end_time": 1402014600, | |
| "video": false, | |
| "number": "113", | |
| "fav_id": "wwdc14-113", | |
| "startGMT": "2014-06-05T23:30:00Z", | |
| "endGMT": "2014-06-06T00:30:00Z" | |
| }, | |
| { | |
| "id": "108", | |
| "title": "Women in Technology Get Together", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Broadway", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [ | |
| "Meet-up", | |
| "meet up", | |
| "sig", | |
| "special interest group", | |
| "birds of feather", | |
| "bof" | |
| ], | |
| "description": "Celebrate the increased participation of women in technology! Join like-minded peers, industry leaders, and others to discuss technology education for girls, workplace training, mentoring, diversity and inclusion, male advocacy, entrepreneurship, and more. Be prepared to share your experiences and ideas, get inspired, and help motivate others.", | |
| "start_time": 1401924600, | |
| "end_time": 1401928200, | |
| "video": false, | |
| "number": "108", | |
| "fav_id": "wwdc14-108", | |
| "startGMT": "2014-06-04T23:30:00Z", | |
| "endGMT": "2014-06-05T00:30:00Z" | |
| }, | |
| { | |
| "id": "103", | |
| "title": "Apple Design Awards", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "Join us for an unforgettable award ceremony celebrating developers and their outstanding work. The 2014 Apple Design Awards recognize state of the art iOS apps and OS X apps that reflect the very best in design, innovation, and technology excellence.", | |
| "start_time": 1401751800, | |
| "end_time": 1401755400, | |
| "video": false, | |
| "number": "103", | |
| "fav_id": "wwdc14-103", | |
| "startGMT": "2014-06-02T23:30:00Z", | |
| "endGMT": "2014-06-03T00:30:00Z" | |
| }, | |
| { | |
| "id": "102", | |
| "title": "Platforms State of the Union", | |
| "track": "Special Events", | |
| "type": "Session", | |
| "room": "Presidio", | |
| "focus": [ | |
| "OS X", | |
| "iOS" | |
| ], | |
| "keywords": [], | |
| "description": "WWDC 2014 Platforms State of the Union", | |
| "start_time": 1401744600, | |
| "end_time": 1401750000, | |
| "video": false, | |
| "number": "102", | |
| "fav_id": "wwdc14-102", | |
| "startGMT": "2014-06-02T21:30:00Z", | |
| "endGMT": "2014-06-02T23:00:00Z" | |
| } | |
| ], | |
| "tracks": [ | |
| { | |
| "color": "#8E8E93", | |
| "name": "Special Events" | |
| }, | |
| { | |
| "color": "#34AADC", | |
| "name": "Frameworks" | |
| }, | |
| { | |
| "color": "#4CD964", | |
| "name": "Services" | |
| }, | |
| { | |
| "color": "#FF9500", | |
| "name": "Tools" | |
| }, | |
| { | |
| "color": "#FFCC00", | |
| "name": "Graphics and Games" | |
| }, | |
| { | |
| "color": "#FF2D55", | |
| "name": "Media" | |
| }, | |
| { | |
| "color": "#5856D6", | |
| "name": "Core OS" | |
| } | |
| ] | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment