Mobile Dev + Test 2017 - Concurrent Sessions
Concurrent sessions offer attendees the flexibility to follow a specific track or to explore various topics throughout the conference in order to customize their learning experience. Learn both enterprise foundations and new methodologies to grow your skills, supercharge your knowledge, and re-energize your career growth.
Join our mailing list and receive updates on when additional sessions are announced and other conference program updates.
Thursday, April 27
UI Framework Prototyping with Playgrounds for iOS Apps
Frameworks are a powerful tool for sharing code between applications and extensions. Playgrounds are an awesome tool for quickly trying out code in Swift. Keeping a tight feedback loop with designers can be difficult. So, how can you combine the powerful and the awesome to help keep your feedback loop with design as tight as possible? Use UI Frameworks in Playgrounds! Learn how to build a UI-only framework, and then use it in a Playground. See how you can tempt your designers to the dark side of installing Xcode and tweaking values themselves. Ellen Shapiro discusses how she used this...
A Data-Driven Approach for Mobile Testing and Automation
In the world of mobile app testing, data is your friend. So harness your data to your advantage to create an automation and testing strategy. Satyajit Malagu acknowledges that multiple devices, platforms, languages, crashes, bugs, and app stores make the scope of mobile app testing humongous. When you add in inherent human biases and team dynamics, the problems you face and prioritization challenges can be overwhelming. The data collected from analytics, bug trends, monitoring tools, test results, and other sources can help illuminate a clearer path. Join Satyajit as he provides an...
Connected Devices, Connected Code, and Connected Teams: The Challenges of IoT Software Delivery
Developing software for the Internet of Things (IoT) comes with its own set of challenges and issues, including security, privacy, and unified standards. Each IoT product is comprised of (at least) three separate application components: the software embedded in the device, the backend service, and the mobile application for the end user’s controls. Each component is developed by a different team, using different technologies and practices, and deployed to a different stack/target. And all of these variables make the integration of these separate pipelines and the coordination of software...
IoT—Let’s Code Like It’s 1999!
Everyone is drawn to the cool new ways to connect devices to the Internet and make life easier—and a little more futuristic. But, do you know that IoT has been around since the past century? Theresa Lanowitz is one of the early advocates of what is now IoT and is thrilled that the pace of acceptance is accelerating—rapidly. This level of acceptance and understanding of IoT was not always the case. Theresa shares the early ideas, vision, and concepts of the Sun Jini project, the pre-cursor to IoT, and offers advice for developers and testers on how to succeed with IoT. Whether you are part...
Threads, Queues, and More: Async Programming in iOS
PreviewTo keep your iOS app running butter-smooth at 60 frames per second, Apple recommends doing as many tasks as possible asynchronously or “off the main thread.” Joe Keeley introduces you to some basic concepts of asynchronous programming in iOS. He discusses what threads and queues are, how they are related, and the special significance of the main queue to iOS. Look at what options are available in the iOS SDK to work asynchronously, including NSOperationQueues and Grand Central Dispatch. Take an in depth look at how to implement some common use cases for those options in Swift. Joe pays...
Vulnerabilities and Bugs in Mobile Apps with Quick Tours
PreviewAs mobile devices, tools, operating systems, and web technologies rapidly evolve, testers in this changing domain must quickly adapt their thinking. Testers often struggle to find critical vulnerabilities and bugs in mobile applications due to lack of guidance, experience, and the right resources. Raj Subramanian was a tester in that very situation. While working at Orbitz and now at CSG International, he started categorizing these bugs and came up with a mind map, which helps do a quick tour of your mobile application and find vulnerabilities as quickly as possible. The mind map...
Real Time IoT and Mobile Data: Put It to Work for Your Users
Every app is producing huge amounts of data, recording everything from location changes and button taps to data usage and acceleration. But what do you do with this flood of data? How can you make historical data a powerful tool for your users? How do you store it, let alone process it? How do you scale so that it doesn't all come to a grinding halt when your app is featured on Google Play and iTunes? Siva Katir discusses some scenarios facing developers who want to use this data to customize and improve their apps. Explore real-world pitfalls and best practices discovered while building...
Tricks and Tips for Adding Localization Features to Your Mobile Apps
PreviewThe fact that 60 percent of all iPhone users worldwide are non-native English speakers is just one reason for supporting people from many countries and regions in your apps. Even if multi-language applications are not called for, localization features for single language apps will improve usability and acceptance from users across many cultures and geographic areas. Using an English-only iOS application from Nordstrom as an example, Shawn Larson shows you how with little effort you can add international support to your applications. He walks you through implementing code to take...
Mobile Testing: What To Automate and What Not to Automate
PreviewThe rapid move of companies into mobile technology has significantly increased the demand for testing mobile applications. Naturally, companies are turning to automation to help ease the workload, increase potential test coverage, and improve testing efficiency. But should you try to automate all things mobile? Are there any pitfalls to consider? David Dang says that unfortunately the answers are not always clear-cut. Mobile has its own set of complications, compounded by a huge variety of devices and OS platforms. Learn what mobile testing activities are ripe for automation,...
Designing Software for the Present and the Future: What’s Your Why?
Better and more meaningful results always happen when your team has clarity of vision around why they're doing what they're doing. Jaimee Newberry says that the future is about getting technology out of the way of our everyday functions and actions while using it to enhance lives in every conceivable way. We must be thinking far beyond what’s next. The process is almost always about people, and most people need to ease into change. As software designers, we need to be thinking several futures down the road and breaking that vision into baby steps so people won’t freak out or think “too...
Testing Transformation in the IoT Era
In the next few years, when more than 20 billion devices will be connected to the Internet, many of us will be IoT testers—in one way or another. Jennifer Bonine explores new areas you will need to address in your testing, new testing skills required in the IoT era, and ideas for how to innovate your technology strategies and processes to account for new vulnerabilities. Jennifer addresses current IoT trends that are taking shape and what you need to do to enhance your testing skills—and even your career. She explores the real game changers—data security, “things” test labs, open APIs,...
Gradle for Android Developers
The new build mechanism replacing Ant for Android development is based on Gradle, the popular build tool from the Groovy ecosystem. Ken Kousen introduces you to Gradle for Android developers and shows how easy it is to integrate Gradle into Android projects. See the latest version of the Android Studio IDE to develop applications. Join Ken to discuss using the Android plugin for Gradle; adding dependencies and alternate repositories; creating custom tasks; implementing both unit and integration tests; using alternative build types, product flavors, and variants; and more. Leave with an...
Android System Testing at Google
Testing an operating system is a complex affair given the highly interconnected nature of the product. This talk will discuss general tools and practices Google uses for testing the Android OS, and take a deep dive into one of the product verticals - system updates - that highlights some of the more unique challenges that an OS test strategy can face. Update testing faces many hurdles from the logistical, centered around the handling of multiple versions simultaneously, to the technical, involving the update process's deep integration with every level of the system.
Harnessing Digital Services to Improve Driver Experience at BMW
The world is demanding more from cars. No longer merely a way to get around, modern vehicles have become authentic pieces of technological art—equipped with numerous sensors and capabilities that are gradually transforming the very meaning of the word ‘vehicle’. BMW wanted to get ahead of this changing landscape and continue to delight their customers whether inside or outside the car—but how? Jorge Coca faced this challenge when he joined the team in January 2016. He and his peers found the answer in BMW Connected, an application that seamlessly links customers’ cars with their digital...
A New Approach to IoT Safety, Risk, and Vulnerability Analysis
The ugly truth is that the interconnection of devices with IoT systems can lead to failures which result in physical injury, unacceptable risk, or cybersecurity vulnerabilities. Preventing such accidents requires identifying hazards, risks, and security vulnerabilities during development. Traditional hazard analysis techniques—failure modes and effects analysis, fault tree analysis, and root cause analysis—were developed for simple hardware controllers and are based on single-point failures. However, software fails differently than hardware. Most accidents, system failures, and many cyber...
Using Artificial Intelligence to Test the Candy Crush Saga Game
PreviewCandy Crush Saga is one of the biggest mobile games today with more than 1000 levels of difficulty—and users continue to ask for more. When building new content, it is extremely important to ensure that the level of difficulty is balanced and that the user does not experience crashes or problems through some unforeseen level of play. Stefan Freyr shows you how King is training artificial intelligence (AI) programs (bots) to test its games by mimicking human interactions. Join Stefan as he discusses how King is taking testing to the next level by employing Monte Carlo Tree Search,...
Wireless IoT Network Communications: Now and into the Future
With a focus on public and private network communication options, Michael Finegan reviews cellular and long range RF solutions—LoRa, Sigfox, Ingenu, and NB IOT—and compare link budget, bandwidth, and power efficiency. In addition to the physical characteristics, Michael explores the positioning of various technologies in the marketplace and deployment types, employing aggregation methods that use gateways and concentrators which allow companies to process data locally. Discover at what point LPWA topology needs to transition from a campus-area network to a macro network. Learn about...
IoT Software Testing Challenges: The IoT World Is Really Different
PreviewThe Internet of Things (IoT) is poised to become the next growth area—and biggest challenge—for software development and testing. Although many traditional test techniques and strategies remain viable, IoT testing includes working with huge amounts of data, multiple communication channels, device protocols, resource limitations (battery or memory), sensors, controllers, cloud-hardware-device integration, and security concerns. Jon Hagar says that successful IoT testers must develop new knowledge and skills and apply them based on real data and proven test design methods. Testing...
Friday, April 28
A Taste of ES6 JavaScript: The Language and the Tools
Curious about the features and benefits of JavaScript ES6, a,k.a ECMAScript 6 2015? Want to use it today? Rob Richardson says JavaScript has come of age, and it’s time for enterprise developers to embrace it. The latest version of ES6 adds lots of syntactical sugar to make code clearer. Rob covers new features such as constants, extended parameter handling, template literals, object matching, enhanced object properties, generators, and more. The good new is that you can use these tools in ES5 browsers today by leveraging a code bundler and transpiler. Rob takes a look at the new syntax...
Leverage Node.js for Mobile Test Automation
With more than 1.4 billion Android and 475 million iOS combinations with active users, high quality mobile apps require high levels of test automation. Join experienced Node.js QA architect and nodeqa.io founder Stacy Kirk as she explains how to properly test mobile web apps for functionality, usability, and consistency—and why Node.js can make it easier. Stacy shares how to combine mobile automation best practices using Appium with the best Node.js frameworks to create powerful mobile front-end testing solutions. Mobile app testers can benefit from these tools and technologies to simplify...
Accurate Indoor Device Location with Beacons
Proximity location is a fundamental feature of many IoT applications. As long as a receiver has a clear unobstructed view of four satellites in the sky, GPS provides accuracy down to two meters. However, if the GPS receiver loses view of the sky, especially indoors, what can be done? Jim McKeeth says the solution is to employ Bluetooth LE advertisements of relative signal strength as a proximity beacon. Once there are three or more beacons in fixed locations, a smart device within range can triangulate at the centimeter scale for accurate locations—and works indoors. Jim explains the...
The IoT: Internet of Threats?
PreviewFrom connected elevators to smart cars, the Internet of Things (IoT) is all around us, even in ways we're not aware of. The devices make our lives easier, encourage us to exercise, and save time and resources--but at what cost? With current computer and mobile technology, the main threat is to our data and our accounts, with phishing and ransomware topping the charts; however, the IoT introduces risk to our personal safety and compromises our privacy in ways we can't even yet imagine. Join Chris to...
Faster Native Application Development with Ionic2
Let's be honest … developing for mobile can be taxing on both you and your company. Hiring Android, iOS, and other developers to write the same code for multiple platforms is expensive and can be a development nightmare. Greg Avola walks you through mobile cross-platform development using an open source framework called Ionic2. Ionic2 supports building highly interactive native and progressive web apps using HTML/CSS/JS for code sharing and a native experience. You can leverage your website engineering skillsets to develop native apps, share code among many platforms, release features...
Building and Testing Secure Mobile Apps
Mobile application development is now a mission-critical component of IT organizations and a big part of the software industry’s landscape. Due to the security threats associated with mobile devices, it is critical we build our apps—from the ground up—to be secure and trustworthy. However, many application developers and testers do not understand how to build and test secure mobile applications. Alan Crouch discusses the risks associated with mobile platforms/applications and describes proven practices for ensuring the safety of your mobile applications. Alan delves into the unique nuances...
Intel® Curie™ Open Developer Kit (ODK): A Primer—Part 1
Whether you are a maker enthusiast who is just getting started or a seasoned developer wanting to jump into embedded device development, this session is for you. Oliver Chen covers the Intel Curie ODK (CODK) and how it can help you rapidly prototype products by leveraging tools familiar to you. The Intel CODK includes software, tools, and documentation for developers to build their own custom boards based on the Intel Curie Module. The CODK helps developers build boards starting with the Arduino101 (Genuino101 outside the United States), the Arduino IDE, or CODK A-Tree. Then, transition to...
Testing the Next Generation of Technologies: IoT, Mobile, and Cloud … Oh My!
Testing technology, tools, and methods are always playing catch up with the latest—and the next greatest—consumer and business applications and software-intensive products. Now with IoT, mobile, and the cloud, almost EVERY new product has a software testing aspect. Costa Avradopoulos explores the bewildering challenges and recent trends in testing IoT, mobile, and cloud applications. He outlines the necessary elements of test strategy for each of these technologies: building a test lab, test coverage, test data, test management, tools, and automation. Bringing it all together with a...
Ensuring the Happy Path: Automated Developer Testing for Mobile Apps
PreviewIs there anything worse than trying to fix that one small bug, declaring it fixed, and then realizing “the fix” caused another bug somewhere else in your app? And there it is, one more bug and you are at it again. The small voice in your head says if only you had automated tests. We know we should invest more in testing because it can save us headaches down the road. Josiah Mory says that although getting started can be an uphill climb, automated testing does not have to be all or nothing. Josiah introduces approaches for automating developer tests along with test-driven...
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
When you’re building the next killer mobile app, how can you ensure that your app is both stable and capable of near-instant data updates? The answer: Build a backend! Siva Katir says that there’s much more to building a backend than standing up a SQL server in your datacenter and calling it a day. Since different types of apps demand different backend services, how do you know what sort of backend you need? And, more importantly, how can you ensure that your backend scales so you can survive an explosion of users when you are featured in the app store? Siva discusses the common scenarios...
Intel® Curie™ Open Developer Kit (ODK): A Primer—Part 2
Whether you are a maker enthusiast who is just getting started or a seasoned developer wanting to jump into embedded device development, this session is for you. Oliver Chen covers the Intel Curie ODK (CODK) and how it can help you rapidly prototype products by leveraging tools familiar to you. The Intel CODK includes software, tools, and documentation for developers to build their own custom boards based on the Intel Curie Module. The CODK helps developers build boards starting with the Arduino101 (Genuino101 outside the United States), the Arduino IDE, or CODK A-Tree. Then, transition to...
Internet of Fun: Winning Ways for an IoT Hackathon
PreviewThe very first time Alexander Andelkovic and his team entered an IoT hackathon, they were awarded second place for their IoT app due in large part to the early and continuous QA testing. Their IoT solution was based on combining different public data sources—such as a Minecraft map of Stockholm and real-time subway system data—to create a fun presentation of the IoT data. Join Alexander as he describes the preparation it took to get ready for the hackathon. He discusses the work that was done on the team composition, how they came up with an approach to add QA testing roles at the...
Fun with Enterprise iOS Apps
Can building an enterprise app be fun? Not “fun” in the sense of “if this is fun, we’re having it”—but actual, joyful, enthusiastic fun? Join Joe Keeley to explore how to find fun in the development lifecycle of iOS apps in enterprise environments, and (not coincidentally) how to deliver better enterprise apps with improved ROI. Start by looking at what factors are important in the selection of an iOS project, and how to optimize that selection process for apps that are quick to deliver and have high impact in the organization. Next look at the importance of design in the process and how...
The Present and Future of Mobile Test Automation with Appium
PreviewMobile testing has moved forward in leaps and bounds in the past few years. With frameworks like Appium, it has never been easier to scale automated testing and integrate it with continuous integration. While new automation technologies proliferate with device and platform upgrades, Appium provides a singular, consistent automation protocol on top of the best automation technologies,. In the past year, the Appium open source community has added support for new kinds of automation, including XCUITest for iOS, UiAutomator 2 for Android, and even Windows apps. With demos and code...
Securing your IoT Implementations
Prepare for IoT with a Mature Test Strategy
As IoT devices increase the ways we personalize our digital world, they add the complexity of the conditions we encounter in the real world. How do we know that our devices will work as expected if we don’t even know how people will use them? A comprehensive test strategy that covers all aspects of your customers' user experiences, including mobile app and API services, helps prepare for the unknowns in new IoT technologies and devices. Paul Bruce explores ways to optimize automated test coverage for continuous integration so that you isolate and minimize defects before they impact IoT...