diff --git a/data/sessions.json b/data/sessions.json index 9497456bea..a14afc65b5 100644 --- a/data/sessions.json +++ b/data/sessions.json @@ -1,460 +1,481 @@ { - "140": { - "id": 140, - "title": "TBD", - "description": "TBD", - "language": "English" - }, - "139": { - "id": 139, - "title": "Keynote", - "description": "", - "language": "English" - }, - "138": { - "id": 138, - "title": "Conference closing and contest winners announcements", - "description": "Make sure you won't miss closing ceremony, all gifts from out sponsors and partners will find their owners during this session.", - "image": "/images/backgrounds/closing.jpg" - }, - "137": { - "id": 137, - "title": "Afterparty & Networking", - "description": "Afterparty is a great time to have some fun and meet new people", - "image": "/images/backgrounds/party.jpg" - }, - "136": { - "id": 136, - "title": "GDG DevFest Ukraine 2016 Opening", - "description": "Official start of the conference. Greetings from the organizers, sponsors and partners.", - "language": "English", - "image": "/images/backgrounds/opening.jpg" - }, - "135": { - "id": 135, - "title": "Morning coffee", - "description": "Coffeeeeeee!", - "image": "/images/backgrounds/morning.jpg" - }, - "134": { - "id": 134, - "title": "Coffee break", - "description": "Coffeeeeeee!", - "image": "/images/backgrounds/coffee-break.jpg" - }, - "133": { - "id": 133, - "title": "Lunch", - "description": "Foooooooood!", - "image": "/images/backgrounds/lunch.jpg" - }, - "132": { - "id": 132, - "title": "Registration & morning Coffee", - "description": "Get your badge, coffee, enjoy talking with tech edicts around", - "image": "/images/backgrounds/registration.jpg" - }, - "131": { - "id": 131, - "title": "Deal with it: Android DataBinding explained", - "description": "In this talk, I will reveal you all the deepest secrets of using MVVM architecture in Android. \nWe will discuss on how to organise your application, views, models, how to retrieve data from the model requested from the view via data binding. \nLightweight Activities and Fragments, is it even possible? \n\nYes, and I will show you how to achieve this with MVVM and DataBinding!", - "speakers": [ - 27 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "130": { - "id": 130, - "title": "Designing an Android Wear Application", - "description": "Wearable devices are one of the most popular things nowadays. Specially, after the Apple Watch, we finally get the whole picture of the entire list of products and their features. Now, we can talk about how we can design a user experience for this type of devices.\nEvery platform has it's own design principles and approaches. But, in the core, they all need to follow same core rules. So, how we combine this core requirements with Google's Material Design and use them on an Android Wear device? Let's learn!", - "speakers": [ - 26 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "129": { - "id": 129, - "title": "Accessibility on Android", - "description": "Accessibility is a very important step to make sure that your app reaches everyone in an easy and fun way to use. \nGood accessibility support means much more than just making sure the app supports screen readers, different fonts sizes and good contrast ratios. It is a learning process, and one in which we ourselves still have much to learn and explore. ", - "speakers": [ - 26 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "128": { - "id": 128, - "title": "Android Wear 2.0: Great Changes Upcoming this Fall", - "description": "Google announced Android Wear 2.0 become available this Fall. This major update brings some revolutionary changes in platform, that should change our approaches in developing wearable apps, including freedom of BLE tethering, system support for complications and activity recognition by GoogleFit, developed mainly for Android Wear 2.0. We will talk deeper about these new features and look at some ways to implement them in the code.", - "speakers": [ - 25 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Android" - ] - }, - "127": { - "id": 127, - "title": "ExoPlayer: Media playback without pain (almost...)", - "description": "If you have any experience with Android Media Player, you definitely know how hard it is to prepare it and do not lose your mind. ExoPlayer - is an alternative, which can help you deal with media with much less pain. So lets discuss if it really a \"silver bullet\" or yet another State Machine hell.", - "speakers": [ - 24 - ], - "language": "Ukrainian", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "126": { - "id": 126, - "title": "Android hacking for dummies: \u2018if\u2019 operator demolytion", - "description": "Imagine the world where you can get any application, look into its code (even if it is not open sourced) and modify any conditional operator in any way you like. Welcome, you are in the Android applications world! Let's discover how anyone can decompile your app and, for example, hack your 'if' operators. For the beginning, we will play a role of a script kiddie and try to hack some simple app. After this, we will pretend security-conscious Android developers and try to think how we can protect ourselves.", - "speakers": [ - 23 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "125": { - "id": 125, - "title": "Kubernetes in a real world", - "description": "TBD", - "speakers": [ - 22 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Cloud" - ] - }, - "124": { - "id": 124, - "title": "Continues Integration in Android", - "description": "You are tired of building every patch for your QA ? Still deploying to google play manually ? You still think that build server is something that you don't need ? Than I will try to show you how you can make life of your team easier with CI.", - "speakers": [ - 21 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "123": { - "id": 123, - "title": "TBD", - "description": "TBD", - "speakers": [ - 20 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Web" - ] - }, - "122": { - "id": 122, - "title": "Firebase + Kotlin + RxJava + MVP: Practical Tips", - "description": "I would like to talk about architecture of our Settle Up app. It's all based on new Firebase announced on I/O with the help of modern frameworks like Rx, Kotlin and MVP.", - "speakers": [ - 19 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "121": { - "id": 121, - "title": "Offline-first progressive web apps", - "description": "Using service workers and other modern progressive web apps capabilities we can update our web applications to be offline-fires. In this session we'll show how to easily convert your applications be usable without the internet connection.", - "speakers": [ - 18 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Web" - ] - }, - "120": { - "id": 120, - "title": "Progressive web apps - prepare your web for 2017", - "description": "\"Remember back when AJAX completely changed what was possible in the desktop web? Progressive web apps are that same fundamental shift for the mobile web.\" said Rahul Row-Chowdhury (Google\u2019s product lead for chrome and the web platform) on stage at Google I/O 2016. - Progressive web apps use service workers, app shell, push notifications, RAIL and other capabilities to deliver an app-like user experience.", - "speakers": [ - 18 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Web" - ] - }, - "119": { - "id": 119, - "title": "Hands-on with UI testing for Android developers", - "description": "Writing Android apps is usually fun because you are actually building something. But what about writing tests? Boring stuff. Errr, UI tests? I am a developer!\n\nIn this talk we will take a look at options for UI tests on Android, why you should write them and how they help you with your app development workflow. No more untested apps!", - "speakers": [ - 17 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Android" - ] - }, - "118": { - "id": 118, - "title": "Kotlin + Android", - "description": "TBD", - "speakers": [ - 16 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "117": { - "id": 117, - "title": "Building data pipelines: from simple to more advanced - hands-on experience", - "description": "Data is becoming one of the main decision-makers in an organisation. The more data we have the more challenges we face every day. Every decision we make will have long-term implications. In the talk we will go through different approaches to the data pipelines: from a simple in-house built, with comparison to open source solutions based on Apache stack(Apache Kafka, Apache Samza, Spark) and finally hosted auto-scaling solutions based Amazon(S3, Kinesis, Lambda, EMR) or Google(Pub/Sub, Dataflow, BigQuery). The talk covers the main aspects of data collecting processes altogether with further implications for data processing, highlighting appropriate solutions and architectures for the particular use-cases. ", - "speakers": [ - 15 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Cloud" - ] - }, - "116": { - "id": 116, - "title": "On Polymer and smileys... or Polysmileys", - "description": "One of my favourite things about the web are ASCII smileys. They're sweet, fun and simply make the web a better place. How could anyone not like them \u00af(\u30c4)/\u00af?\n\nThis talk is an overdose of smileys, because they're the perfect excuse to get started with Polymer. Polymer is a library built on top of the Web Components standards that helps developers create reusable components for the modern web. And since I know that everybody has been wondering how one could take over the world by creating a suite of Polymer animated emoticon components, we're going to do exactly that.", - "speakers": [ - 14 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Web" - ] - }, - "115": { - "id": 115, - "title": "Android tool-chain and run-time improvements in N", - "description": "Upcoming Android N release will bring some interesting changes to both Android run-time and toolchain. Let's talk about JIT, AOT, hybrid JIT/AOT, Jack, Jill and other acronyms and codenames ;-) In this presentation we'll see how many awesome tricks are needed to make our apps start fast and run smoothly on modern Android devices. Hopefully we'll also answer the most important question -- what's next for Android after Java.", - "speakers": [ - 13 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Android" - ] - }, - "114": { - "id": 114, - "title": "I\u2019ve been doing some syncing\u2026", - "description": "Storing account information is a common challenge many app developers face, and is often tackled in tailored solutions. Isn't there some strategy to store account credentials in a centralized place?\n\nWhat about considerations for multiple accounts? Security concerns? And when should or could I synchronize data?\n\nAndroid offers a powerful\u2014and underrated\u2014account manager. Let's explore the possibilities together and lay out an architecture for engineering an Android app based on accounts.", - "speakers": [ - 12 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "113": { - "id": 113, - "title": "Microservices in Google App Engine", - "description": "Microservices is coming with a certain workload and constraints. Let's try to see how Google Cloud Platform and App Engine can help the overall microservices implementation.", - "speakers": [ - 11 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Cloud" - ] - }, - "112": { - "id": 112, - "title": "Building web apps in 2016", - "description": "Last year brought a lot of new capabilities to browsers, fundamentally changing the way we will build web apps in 2016. 60FPS, push messages, offline support and background sync became a reality marking the birth of Progressive Web Apps.", - "speakers": [ - 10 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Web" - ] - }, - "111": { - "id": 111, - "title": "Dagger 2: dependency Injection Android way", - "description": "It's beauty, it's handy, it's fast, it's easy - all about Dagger 2", - "speakers": [ - 9 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "110": { - "id": 110, - "title": "The ultimate guide to MVP pattern on Android", - "description": "There's a lot of hype around MVP pattern in the Android world. Now it's time for concretes. During his presentation Mateusz will tell you how IG divided responsibilities between pattern's different components, how they tied Presenters' and Views' lifecycles and what they did to make it all testable. If you'd love to make your Fragments' and Activities' code simpler and increase your coverage, but you're confused how to glue it all together - don't miss Mateusz's talk.", - "speakers": [ - 8 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "109": { - "id": 109, - "title": "How much money Firebase can save you", - "description": "TBD", - "speakers": [ - 7 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Cloud" - ] - }, - "108": { - "id": 108, - "title": "New Data Architecture in Angular 2", - "description": "Angular 2 introduces a new Data Architecture based on Reactive Programming using RxJS 5. We are really excited to see the new approach using Observable sequences aka Observables. We will cover a basic introduction of Angular 2 followed by RxJS 5 and the new HTTP API covering some basic use cases.", - "speakers": [ - 6 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Web" - ] - }, - "107": { - "id": 107, - "title": "Introduction to Progressive Web Apps in Angular 2", - "description": "There's been much discussion about Progressive Web Apps. They're still a relatively new model. In this talk, I'll summarise few options and techniques for getting started with your own Progressive Web App", - "speakers": [ - 6 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Web" - ] - }, - "106": { - "id": 106, - "title": "Fuelio. Success story", - "description": "Fuelio. Success story (I'll write more info later)", - "speakers": [ - 5 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Android" - ] - }, - "105": { - "id": 105, - "title": "Intro to TensorFlow", - "description": "TBD", - "speakers": [ - 4 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Cloud" - ] - }, - "104": { - "id": 104, - "title": "The Physical Web: Context is King!", - "description": "It's no longer just about digitizing our environment. It\u2019s rather about pervasive and ubiquitous computing. Almost all everyday things will turn into connected devices soon. This \u201cInternet of Things\u201d will allow the Web to be physically tangible. But what is the value, and how can one prevent IoT applications which just seem to be only more expensive and complicated than conventional solutions. Sascha will discuss the purpose and guide you through this complex topic showing inspiring solutions, tips from practice, and code samples in a variety of technologies from simple Bluetooth Eddystone Beacons to more sophisticated IoT platforms like Eclipse SmartHome.", - "speakers": [ - 3 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Web" - ] - }, - "103": { - "id": 103, - "title": "Knock knock! Who's there? Doze.", - "description": "Doze mode is just around the corner. \nIntroduced in Marshmallow, as the shy guy that was allowed to step in only when your device went to sleep. ZzzZzzzz\nWith the new N release, Doze mode becomes the rockstar. He rushes into the room with a big shabang by shooting all background services and network requests that forgot to get away. \nHe should no longer be shy. He just shoots and dances on bones of your scheduled alarms, while you wonder why this particular task is no longer running.\nWith the new Doze mode, you require to adapt your app architecture to the new reality.\nOn this talk, we will learn how to survive Doze mode using Job Scheduler, Content Provider and stay in one piece.", - "speakers": [ - 2 - ], - "language": "English", - "complexity": "Intermediate", - "tags": [ - "Android" - ] - }, - "102": { - "id": 102, - "title": "Hands-on gRPC experience building your own multiplayer game client", - "description": "Do you remember the game Simon says from the 80s? I don\u2019t know about you, but I know many that spent hours trying to press those specific sequences of red, green, blue and yellow buttons in the correct order. But why play on your own? We\u2019ve implemented a gRPC server that allows you to play Simon with other players over the internet!\n\nIn this workshop we will dive into the toolset and libraries to build your very own Simon Says client for this server. We will have a message description in Protocol Buffers format and some stub code in several languages ready for you to play with. The goal for this workshop is for you to have a working client that you can use to play (and beat!) other attendees of the workshop.", - "speakers": [ - 1 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Cloud" - ] - }, - "101": { - "id": 101, - "title": "Windows and .NET on Google Cloud Platform ", - "description": "In this session, we will take a look at Windows and .NET support on Google Cloud Platform. We will build a simple ASP.NET app, deploy to Google Compute Engine and take a look at some of the tools and APIs available to .NET developers on Google Cloud Platform. ", - "speakers": [ - 1 - ], - "language": "English", - "complexity": "Beginner", - "tags": [ - "Cloud" - ] - } -} \ No newline at end of file + "140": { + "id": 140, + "title": "TBD", + "description": "TBD", + "language": "English" + }, + "139": { + "id": 139, + "title": "Keynote", + "description": "", + "language": "English" + }, + "138": { + "id": 138, + "title": "Conference closing and contest winners announcements", + "description": "Make sure you won't miss closing ceremony, all gifts from out sponsors and partners will find their owners during this session.", + "image": "/images/backgrounds/closing.jpg" + }, + "137": { + "id": 137, + "title": "Afterparty & Networking", + "description": "Afterparty is a great time to have some fun and meet new people", + "image": "/images/backgrounds/party.jpg" + }, + "136": { + "id": 136, + "title": "GDG DevFest Ukraine 2016 Opening", + "description": "Official start of the conference. Greetings from the organizers, sponsors and partners.", + "language": "English", + "image": "/images/backgrounds/opening.jpg" + }, + "135": { + "id": 135, + "title": "Morning coffee", + "description": "Coffeeeeeee!", + "image": "/images/backgrounds/morning.jpg" + }, + "134": { + "id": 134, + "title": "Coffee break", + "description": "Coffeeeeeee!", + "image": "/images/backgrounds/coffee-break.jpg" + }, + "133": { + "id": 133, + "title": "Lunch", + "description": "Foooooooood!", + "image": "/images/backgrounds/lunch.jpg" + }, + "132": { + "id": 132, + "title": "Registration & morning Coffee", + "description": "Get your badge, coffee, enjoy talking with tech edicts around", + "image": "/images/backgrounds/registration.jpg" + }, + "131": { + "id": 131, + "title": "Deal with it: Android DataBinding explained", + "description": "In this talk, I will reveal you all the deepest secrets of using MVVM architecture in Android. \nWe will discuss on how to organise your application, views, models, how to retrieve data from the model requested from the view via data binding. \nLightweight Activities and Fragments, is it even possible? \n\nYes, and I will show you how to achieve this with MVVM and DataBinding!", + "speakers": [ + 27 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Android" + ], + "presentation": "https://speakerdeck.com/gdglviv/roman-herasymenko-deal-with-it-android-databinding-explained" + }, + "130": { + "id": 130, + "title": "Designing an Android Wear Application", + "description": "Wearable devices are one of the most popular things nowadays. Specially, after the Apple Watch, we finally get the whole picture of the entire list of products and their features. Now, we can talk about how we can design a user experience for this type of devices.\nEvery platform has it's own design principles and approaches. But, in the core, they all need to follow same core rules. So, how we combine this core requirements with Google's Material Design and use them on an Android Wear device? Let's learn!", + "speakers": [ + 26 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Android" + ] + }, + "129": { + "id": 129, + "title": "Accessibility on Android", + "description": "Accessibility is a very important step to make sure that your app reaches everyone in an easy and fun way to use. \nGood accessibility support means much more than just making sure the app supports screen readers, different fonts sizes and good contrast ratios. It is a learning process, and one in which we ourselves still have much to learn and explore. ", + "speakers": [ + 26 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Android" + ], + "presentation":"https://speakerdeck.com/gdglviv/resul-caner-yildirim-accessibility-on-android" + }, + "128": { + "id": 128, + "title": "Android Wear 2.0: Great Changes Upcoming this Fall", + "description": "Google announced Android Wear 2.0 become available this Fall. This major update brings some revolutionary changes in platform, that should change our approaches in developing wearable apps, including freedom of BLE tethering, system support for complications and activity recognition by GoogleFit, developed mainly for Android Wear 2.0. We will talk deeper about these new features and look at some ways to implement them in the code.", + "speakers": [ + 25 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Android" + ] + }, + "127": { + "id": 127, + "title": "ExoPlayer: Media playback without pain (almost...)", + "description": "If you have any experience with Android Media Player, you definitely know how hard it is to prepare it and do not lose your mind. ExoPlayer - is an alternative, which can help you deal with media with much less pain. So lets discuss if it really a \"silver bullet\" or yet another State Machine hell.", + "speakers": [ + 24 + ], + "language": "Ukrainian", + "complexity": "Intermediate", + "tags": [ + "Android" + ], + "presentation":"https://speakerdeck.com/gdglviv/anton-minashkin-exoplayer-media-playback-without-pain-almost-dot-dot-dot" + }, + "126": { + "id": 126, + "title": "Android hacking for dummies: \u2018if\u2019 operator demolytion", + "description": "Imagine the world where you can get any application, look into its code (even if it is not open sourced) and modify any conditional operator in any way you like. Welcome, you are in the Android applications world! Let's discover how anyone can decompile your app and, for example, hack your 'if' operators. For the beginning, we will play a role of a script kiddie and try to hack some simple app. After this, we will pretend security-conscious Android developers and try to think how we can protect ourselves.", + "speakers": [ + 23 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Android" + ], + "presentation":"https://speakerdeck.com/gdglviv/michael-pustovit-android-hacking-for-dummies-if-operator-demolytion" + }, + "125": { + "id": 125, + "title": "Kubernetes in a real world", + "description": "TBD", + "speakers": [ + 22 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Cloud" + ] + }, + "124": { + "id": 124, + "title": "Continues Integration in Android", + "description": "You are tired of building every patch for your QA ? Still deploying to google play manually ? You still think that build server is something that you don't need ? Than I will try to show you how you can make life of your team easier with CI.", + "speakers": [ + 21 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Android" + ] + }, + "123": { + "id": 123, + "title": "TBD", + "description": "TBD", + "speakers": [ + 20 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Web" + ] + }, + "122": { + "id": 122, + "title": "Firebase + Kotlin + RxJava + MVP: Practical Tips", + "description": "I would like to talk about architecture of our Settle Up app. It's all based on new Firebase announced on I/O with the help of modern frameworks like Rx, Kotlin and MVP.", + "speakers": [ + 19 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Android" + ], + "presentation":"https://speakerdeck.com/gdglviv/david-vavra-firebase-plus-kotlin-plus-rxjava-plus-mvp-practical-tips" + }, + "121": { + "id": 121, + "title": "Offline-first progressive web apps", + "description": "Using service workers and other modern progressive web apps capabilities we can update our web applications to be offline-fires. In this session we'll show how to easily convert your applications be usable without the internet connection.", + "speakers": [ + 18 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Web" + ] + }, + "120": { + "id": 120, + "title": "Progressive web apps - prepare your web for 2017", + "description": "\"Remember back when AJAX completely changed what was possible in the desktop web? Progressive web apps are that same fundamental shift for the mobile web.\" said Rahul Row-Chowdhury (Google\u2019s product lead for chrome and the web platform) on stage at Google I/O 2016. - Progressive web apps use service workers, app shell, push notifications, RAIL and other capabilities to deliver an app-like user experience.", + "speakers": [ + 18 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Web" + ], + "presentation":"https://speakerdeck.com/gdglviv/jakub-skvara-progressive-web-apps-prepare-your-web-for-2017" + }, + "119": { + "id": 119, + "title": "Hands-on with UI testing for Android developers", + "description": "Writing Android apps is usually fun because you are actually building something. But what about writing tests? Boring stuff. Errr, UI tests? I am a developer!\n\nIn this talk we will take a look at options for UI tests on Android, why you should write them and how they help you with your app development workflow. No more untested apps!", + "speakers": [ + 17 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Android" + ], + "presentation":"https://speakerdeck.com/gdglviv/jana-moudra-hands-on-with-ui-testing-for-android-developers" + }, + "118": { + "id": 118, + "title": "Kotlin + Android", + "description": "TBD", + "speakers": [ + 16 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Android" + ], + "presentation":"https://speakerdeck.com/gdglviv/dmytro-danylyk-kotlin-plus-android" + }, + "117": { + "id": 117, + "title": "Building data pipelines: from simple to more advanced - hands-on experience", + "description": "Data is becoming one of the main decision-makers in an organisation. The more data we have the more challenges we face every day. Every decision we make will have long-term implications. In the talk we will go through different approaches to the data pipelines: from a simple in-house built, with comparison to open source solutions based on Apache stack(Apache Kafka, Apache Samza, Spark) and finally hosted auto-scaling solutions based Amazon(S3, Kinesis, Lambda, EMR) or Google(Pub/Sub, Dataflow, BigQuery). The talk covers the main aspects of data collecting processes altogether with further implications for data processing, highlighting appropriate solutions and architectures for the particular use-cases. ", + "speakers": [ + 15 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Cloud" + ], + "presentation":"https://speakerdeck.com/gdglviv/sergii-khomenko-building-data-pipelines-from-simple-to-more-advanced-hands-on-experience" + }, + "116": { + "id": 116, + "title": "On Polymer and smileys... or Polysmileys", + "description": "One of my favourite things about the web are ASCII smileys. They're sweet, fun and simply make the web a better place. How could anyone not like them \u00af(\u30c4)/\u00af?\n\nThis talk is an overdose of smileys, because they're the perfect excuse to get started with Polymer. Polymer is a library built on top of the Web Components standards that helps developers create reusable components for the modern web. And since I know that everybody has been wondering how one could take over the world by creating a suite of Polymer animated emoticon components, we're going to do exactly that.", + "speakers": [ + 14 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Web" + ], + "presentation":"http://carmenpopoviciu.github.io/on-polymer-and-smileys/" + }, + "115": { + "id": 115, + "title": "Android tool-chain and run-time improvements in N", + "description": "Upcoming Android N release will bring some interesting changes to both Android run-time and toolchain. Let's talk about JIT, AOT, hybrid JIT/AOT, Jack, Jill and other acronyms and codenames ;-) In this presentation we'll see how many awesome tricks are needed to make our apps start fast and run smoothly on modern Android devices. Hopefully we'll also answer the most important question -- what's next for Android after Java.", + "speakers": [ + 13 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Android" + ], + "presentation":"https://speakerdeck.com/gdglviv/aleksander-piotrowski-android-tool-chain-and-run-time-improvements-in-n" + }, + "114": { + "id": 114, + "title": "I\u2019ve been doing some syncing\u2026", + "description": "Storing account information is a common challenge many app developers face, and is often tackled in tailored solutions. Isn't there some strategy to store account credentials in a centralized place?\n\nWhat about considerations for multiple accounts? Security concerns? And when should or could I synchronize data?\n\nAndroid offers a powerful\u2014and underrated\u2014account manager. Let's explore the possibilities together and lay out an architecture for engineering an Android app based on accounts.", + "speakers": [ + 12 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Android" + ] + }, + "113": { + "id": 113, + "title": "Microservices in Google App Engine", + "description": "Microservices is coming with a certain workload and constraints. Let's try to see how Google Cloud Platform and App Engine can help the overall microservices implementation.", + "speakers": [ + 11 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Cloud" + ], + "presentation":"https://speakerdeck.com/gdglviv/jean-baptiste-clion-microservices-in-google-app-engine" + }, + "112": { + "id": 112, + "title": "Building web apps in 2016", + "description": "Last year brought a lot of new capabilities to browsers, fundamentally changing the way we will build web apps in 2016. 60FPS, push messages, offline support and background sync became a reality marking the birth of Progressive Web Apps.", + "speakers": [ + 10 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Web" + ] + }, + "111": { + "id": 111, + "title": "Building modular architecture apps with Dagger 2", + "description": "It's beauty, it's handy, it's fast, it's easy - all about Dagger 2", + "speakers": [ + 9 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Android" + ], + "presentation":"https://speakerdeck.com/gdglviv/kseniia-shumelchyk-building-modular-architecture-apps-with-dagger-2" + }, + "110": { + "id": 110, + "title": "The ultimate guide to MVP pattern on Android", + "description": "There's a lot of hype around MVP pattern in the Android world. Now it's time for concretes. During his presentation Mateusz will tell you how IG divided responsibilities between pattern's different components, how they tied Presenters' and Views' lifecycles and what they did to make it all testable. If you'd love to make your Fragments' and Activities' code simpler and increase your coverage, but you're confused how to glue it all together - don't miss Mateusz's talk.", + "speakers": [ + 8 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Android" + ], + "presentation":"https://speakerdeck.com/gdglviv/mateusz-herych-the-ultimate-guide-to-mvp-pattern-on-android" + }, + "109": { + "id": 109, + "title": "How much money Firebase can save you", + "description": "TBD", + "speakers": [ + 7 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Cloud" + ], + "presentation":"https://speakerdeck.com/gdglviv/jozef-vodicka-how-much-money-firebase-can-save-you" + }, + "108": { + "id": 108, + "title": "New Data Architecture in Angular 2", + "description": "Angular 2 introduces a new Data Architecture based on Reactive Programming using RxJS 5. We are really excited to see the new approach using Observable sequences aka Observables. We will cover a basic introduction of Angular 2 followed by RxJS 5 and the new HTTP API covering some basic use cases.", + "speakers": [ + 6 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Web" + ], + "presentation":"https://speakerdeck.com/gdglviv/gerard-sans-new-data-architecture-in-angular-2" + }, + "107": { + "id": 107, + "title": "Introduction to Progressive Web Apps in Angular 2", + "description": "There's been much discussion about Progressive Web Apps. They're still a relatively new model. In this talk, I'll summarise few options and techniques for getting started with your own Progressive Web App", + "speakers": [ + 6 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Web" + ] + }, + "106": { + "id": 106, + "title": "Fuelio. Success story", + "description": "Fuelio. Success story (I'll write more info later)", + "speakers": [ + 5 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Android" + ], + "presentation":"https://speakerdeck.com/gdglviv/adrian-kajda-fuelio-success-story" + }, + "105": { + "id": 105, + "title": "Intro to TensorFlow", + "description": "TBD", + "speakers": [ + 4 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Cloud" + ], + "presentation":"https://speakerdeck.com/gdglviv/rustem-arzymbetov-intro-to-tensorflow" + }, + "104": { + "id": 104, + "title": "The Physical Web: Context is King!", + "description": "It's no longer just about digitizing our environment. It\u2019s rather about pervasive and ubiquitous computing. Almost all everyday things will turn into connected devices soon. This \u201cInternet of Things\u201d will allow the Web to be physically tangible. But what is the value, and how can one prevent IoT applications which just seem to be only more expensive and complicated than conventional solutions. Sascha will discuss the purpose and guide you through this complex topic showing inspiring solutions, tips from practice, and code samples in a variety of technologies from simple Bluetooth Eddystone Beacons to more sophisticated IoT platforms like Eclipse SmartHome.", + "speakers": [ + 3 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Web" + ], + "presentation":"https://speakerdeck.com/gdglviv/sascha-wolter-the-physical-web-context-is-king" + }, + "103": { + "id": 103, + "title": "Knock knock! Who's there? Doze.", + "description": "Doze mode is just around the corner. \nIntroduced in Marshmallow, as the shy guy that was allowed to step in only when your device went to sleep. ZzzZzzzz\nWith the new N release, Doze mode becomes the rockstar. He rushes into the room with a big shabang by shooting all background services and network requests that forgot to get away. \nHe should no longer be shy. He just shoots and dances on bones of your scheduled alarms, while you wonder why this particular task is no longer running.\nWith the new Doze mode, you require to adapt your app architecture to the new reality.\nOn this talk, we will learn how to survive Doze mode using Job Scheduler, Content Provider and stay in one piece.", + "speakers": [ + 2 + ], + "language": "English", + "complexity": "Intermediate", + "tags": [ + "Android" + ], + "presentation":"https://speakerdeck.com/gdglviv/yonatan-levin-knock-knock-whos-there-doze" + }, + "102": { + "id": 102, + "title": "Hands-on gRPC experience building your own multiplayer game client", + "description": "Do you remember the game Simon says from the 80s? I don\u2019t know about you, but I know many that spent hours trying to press those specific sequences of red, green, blue and yellow buttons in the correct order. But why play on your own? We\u2019ve implemented a gRPC server that allows you to play Simon with other players over the internet!\n\nIn this workshop we will dive into the toolset and libraries to build your very own Simon Says client for this server. We will have a message description in Protocol Buffers format and some stub code in several languages ready for you to play with. The goal for this workshop is for you to have a working client that you can use to play (and beat!) other attendees of the workshop.", + "speakers": [ + 1 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Cloud" + ] + }, + "101": { + "id": 101, + "title": "Windows and .NET on Google Cloud Platform ", + "description": "In this session, we will take a look at Windows and .NET support on Google Cloud Platform. We will build a simple ASP.NET app, deploy to Google Compute Engine and take a look at some of the tools and APIs available to .NET developers on Google Cloud Platform. ", + "speakers": [ + 1 + ], + "language": "English", + "complexity": "Beginner", + "tags": [ + "Cloud" + ], + "presentation":"https://speakerdeck.com/gdglviv/mete-atamel-windows-and-net-on-google-cloud-platform" + } +} diff --git a/images/social-share.jpg b/images/social-share.jpg new file mode 100644 index 0000000000..132cb60956 Binary files /dev/null and b/images/social-share.jpg differ diff --git a/images/social-share.png b/images/social-share.png deleted file mode 100644 index 54c575dc8c..0000000000 Binary files a/images/social-share.png and /dev/null differ diff --git a/index.html b/index.html index da194c577f..ce9894257b 100644 --- a/index.html +++ b/index.html @@ -11,61 +11,62 @@ content="event, gdg, gde, devfest, google, programming, android, chrome, polymer, developers, web, cloud, androiddev"> - GDG DevFest Ukraine 2016 + GDG DevFest Season 2016 - - + + - + - + - - - - - - + + + + + + - + - + - + - - + + - + - + + - + - + @@ -134,11 +135,11 @@ { "@context": "http://schema.org", "@type": "Event", - "name": "GDG DevFest Ukraine 2016", + "name": "GDG DevFest Season 2016", "description": "The biggest Google tech conference in Ukraine carefully crafted for you by GDG community! All about Android, Web and Cloud from the world experts", "startDate": "2016-09-09T09:00:00+03:00", "endDate": "2016-09-10T19:00:00+03:00", - "url": "https://devfest.gdg.org.ua", + "url": "https://hoverboard.firebaseapp.com/", "location": { "@type" : "Place", "name" : "Pivdennyi Expo Center", diff --git a/manifest.json b/manifest.json index b96356c7a0..3c82a79c8a 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { - "name": "GDG DevFest Ukraine 2016", - "short_name": "GDG DevFest Ukraine 2016", + "name": "GDG DevFest Season 2016", + "short_name": "DevFest Season", "icons": [ { "src": "images/touch/homescreen-48.png", diff --git a/src/elements/featured-people.html b/src/elements/featured-people.html index 688e3b8be5..6440d9fa49 100644 --- a/src/elements/featured-people.html +++ b/src/elements/featured-people.html @@ -51,10 +51,11 @@ } .company { + margin-top: 4px; padding: 0 16px; display: block; font-size: .7em; - line-height: 1.8; + line-height: 1; } .block-link { diff --git a/src/elements/footer-block.html b/src/elements/footer-block.html index 08d2662cbd..f12f2f34be 100644 --- a/src/elements/footer-block.html +++ b/src/elements/footer-block.html @@ -6,12 +6,15 @@ + + + @@ -30,6 +33,7 @@ padding: 0; }; --paper-menu-background-color: #fff; + --paper-menu-button-dropdown-background: #fff; } .container { @@ -116,7 +120,8 @@ margin-right: 4px; } - paper-item { + paper-item, + paper-icon-item { cursor: pointer; } @@ -231,6 +236,28 @@ > + + + + + @@ -268,19 +296,16 @@ is: 'footer-block', behaviors: [ - HOVERBOARD.LocalizeBehavior - ], - - observers: [ - 'languageChanged(app.lang)' + HOVERBOARD.LocalizeBehavior, + HOVERBOARD.ShareBehavior ], scrollToTop: function (e) { HOVERBOARD.Elements.Template.backToTop(e); }, - languageChanged: function (lang) { - HOVERBOARD.Analytics.trackEvent('language', 'select', lang); + _changeLanguage: function (e) { + HOVERBOARD.Analytics.trackEvent('language', 'select', e.target.label); }, _getLinkTarget: function (newTab) { diff --git a/src/elements/schedule-day.html b/src/elements/schedule-day.html index fcc27c8b62..b75be0207f 100644 --- a/src/elements/schedule-day.html +++ b/src/elements/schedule-day.html @@ -113,7 +113,7 @@ } .speaker-block { - padding: 16px 24px; + padding: 12px 24px; color: #fff; } @@ -143,8 +143,12 @@ margin-right: 8px; } + .speaker { + margin: 4px 0; + } + .speaker:not(:last-of-type) { - margin-bottom: 8px; + margin-right: 24px; } .person-detail { @@ -204,8 +208,8 @@

[[subSession.title]]

-