Monday, August 01, 2016
8:30am
Monday - 8/1/2016
DevCon5 Tutorial: Developing iOS Apps in Swift
Features and Quirks of Swift
IOS-01
Adjunct Associate Professor of Information Technologies
New York University (NYU)
Each programming language has its own peculiarities, and Apple's language Swift is no exception. We'll point out the quirks of Swift: the syntax for creating variables, data structures such as arrays and dictionaries, and exotic features such as protocols and optional variables.
DevCon5 Tutorial: Developing iOS Apps in Swift
9:30am
Monday - 8/1/2016
DevCon5 Tutorial: Developing iOS Apps in Swift
What Happens when an iOS App is Launched?
IOS-02
Adjunct Associate Professor of Information Technologies
New York University (NYU)
Five objects are created automatically when an iOS app is launched: the application, the application delegate, the window, the view, and the view controller. We'll learn how these objects are connected and what their responsibilities are.
DevCon5 Tutorial: Developing iOS Apps in Swift
10:30am
Monday - 8/1/2016
DevCon5 Tutorial: Developing iOS Apps in Swift
Let’s Draw a Still Life
IOS-03
Adjunct Associate Professor of Information Technologies
New York University (NYU)
Our first apps will draw static text and graphics on the screen but will not move or respond to a touch.
DevCon5 Tutorial: Developing iOS Apps in Swift
11:30am
Monday - 8/1/2016
DevCon5 Tutorial: Developing iOS Apps in Swift
Creating a Touch Sensitive App
IOS-04
Adjunct Associate Professor of Information Technologies
New York University (NYU)
Our first touch-sensitive app will receive a set of "touch objects" from the screen and will react to them by redrawing a picture. Since the touch objects are delivered in a "set" object, we'll have to make a digression about this data structure.
DevCon5 Tutorial: Developing iOS Apps in Swift
12:30pm
Monday - 8/1/2016
Lunch
X-09
1:30pm
Monday - 8/1/2016
DevCon5 Tutorial: Developing iOS Apps in Swift
Animation and Gesture Recognition
IOS-05
Adjunct Associate Professor of Information Technologies
New York University (NYU)
We will make a simple animation, i.e., a graphic that moves under its own power without having to be dragged around by a finger. Gesture recognition will cover apps that have low-level x, y coordinates of the point where a finger touches the screen. We will show how an app can recognize higher-level gestures such as a horizontal vs. vertical swipe, single vs. double tap, and pinch vs. spread.
DevCon5 Tutorial: Developing iOS Apps in Swift
2:30pm
Monday - 8/1/2016
DevCon5 Tutorial: Developing iOS Apps in Swift
Controls and Their Target Objects
IOS-06
Adjunct Associate Professor of Information Technologies
New York University (NYU)
A "control" is a touch-sensitive object such as a button, slider, or fill-in box. See how to make the control do something useful by connecting it to a separate object called the "target" or "delegate" of the control. When the control is touched, a method of the target or delegate is automatically called.
DevCon5 Tutorial: Developing iOS Apps in Swift
3:30pm
Monday - 8/1/2016
DevCon5 Tutorial: Developing iOS Apps in Swift
Class UIWebView for Platform-Independent HTML5
IOS-07
Adjunct Associate Professor of Information Technologies
New York University (NYU)
An object of class UIWebView can render a page of HTML5 on the screen. The page can be prestored in the app, or can be downloaded from the web while the app is running. The page can even be composed by the app itself. The page can contain functions written in the language JavaScript, which can be called by the Swift methods of the App. Since an HTML5 page can also be rendered by Android, this is one way to write code that can be executed on both platforms.
DevCon5 Tutorial: Developing iOS Apps in Swift
Tuesday, August 02, 2016
8:30am
Tuesday - 8/2/2016
Continental Breakfast
X-01
9:00am
Tuesday - 8/2/2016
Developing Browser Applications for Web Devices: Standards, Best Practices and Tools
GS-01
Sr. Director, Technology
Turner Broadcast Systems
Web application developers have a range of tools and choices available to create solutions for the continuum of browsers and devices. Responsive web design, microservices, Single Page Apps, HTML5 video, HTTP/2, containers, and web performance are some of the pertinent topics when developing web applications. This session will cover web industry standards, best practices, and frameworks related to these and other emerging web technologies.
10:00am
Tuesday - 8/2/2016
Predictive Auto-scaling for Web Applications
GS-02
Sr. Director of Engineering
Visa
Most web applications (UI and APIs) are made stateless. Stateless application design i.e. no in-memory caching or session management, enables horizontal scaling of the application. Horizontal scaling allows adding servers (virtual or physical) behind a load balancer to serve additional requests. However, a decision to add a server in the application largely remains an event after performance degradations and SLA violations have taken place. This talk covers machine learning models that can be used to analyze past resource utilization of the web servers, so that future trends could be predicted. In this talk, the author will discuss few Time Series Smoothing techniques in addition to k-nearest-neighbor for regression (kNN) machine learning technique to predict upcoming workloads. By predicting workloads, decisions to add or remove a server can be made. Sample code to analyze data, build predictions, and take auto-scaling decisions for a virtual machine environment will be shared.
11:00am
Tuesday - 8/2/2016
Getting MEAN after LAMP
GS-03
Digital Experience Tech Lead
Starwood Hotels & Resorts
When comparing the technology available today, compared to the late 1990’s, we are in the gold age of application development. With a vast array of tools, frameworks, technologies and open source resources, the time has never been better to embrace the current technology to build for the web. Our tools have moved up the stack from Linux, Apache, MySQL and Python to something that is a lean and MEAN stack (Mongo, Express, AngularJS and NodeJS). These tools provide a fast efficient platform for rapidly building blazingly fast web apps. And as a major bonus, it utilizes JavaScript on both the front and back ends. Jeff Fox demonstrates the building blocks of a simple Ajax enabled Web app, the Eischied Episode Archiving Tool, to demonstrate the ease of getting up and running with this exciting and powerful development stack.
12:00pm
Tuesday - 8/2/2016
The Race Condition
GS-04
Director, Developer Relations
SAP
The modern JavaScript powered browser is now a full computing platform in its own right. Being a single threaded execution engine, JavaScript has protected the developer from a lot of thread related issues, but as our web interactions grow more complex, thread related issues start to show up again. Identifying and understanding the thread and asynchronous conditions that could cause the user experience to suffer, or for the front-end application to fail unexpectedly are necessary to avoiding these issues. A number of strategies exist to deal with race conditions. In this session we will discuss how to apply those strategies to the JavaScript front-end development environment. We will also discuss ways to mitigate back end issues, so the front end continues to operate smoothly.
1:00pm
Tuesday - 8/2/2016
Lunch
X-02
2:00pm
Tuesday - 8/2/2016
Create Offline Mobile Apps with Couchbase Mobile
DC3-1
Mobile Developer Advocate
Couchbase Inc.
What happens when your mobile device does not have a network connection? That device will have no content, no experience and no access to a developer’s amazing applications. This session will focus on creating offline and online mobile applications with PouchDB’s Couchbase Mobile Sync Gateway integration. The journey begins with NoSQL database modeling and then will go through the trends in mobile and where we are heading with offline experiences. We will discuss solutions and how to get started with demoing. You will gain knowledge in NoSQL databases technologies and walk away with insights on how to create offline type of applications that will sync to the cloud with Mobile and Couchbase Mobile.
Creating and debugging web apps with ManifoldJS and VorlonJS
DC2-1
Sr. Technical Evangelist
Microsoft
Writing code for multiple platforms can be a lot of work. It can be even more work to have to completely rewrite it for each one, too. What if you wrote an application in C++, but wanted it to be displayed in the browser somehow? Well now, with a tool called Emscripten, that’s possible. Emscripten is an LLVM based project that compiles C and C++ into high performance JavaScript in the asm.js format. Hear how to get near native speeds, using C and C++, inside of the browser. Even better, understand how Emscripten converts OpenGL, a desktop graphics API, into WebGL, which is the web variant of that API.
Extending Enterprise Services over the Web
DC1-1
Founder
NYJavaSIG
In a modern services-centric world, there is a significant need to expose on-demand services for internal and external applications. Logistics and transportation companies need real-time package information to be communicated to truck drivers and train operators using Android and iOS mobile devices. Large international investment banks are offering tablet-based wealth management tools for their growing customer base that shows current security prices even in low-bandwidth areas. Top-tier retail banks have built video-based applications for smartphones that can dynamically transfer documents from an advisor to a customer. And huge gaming and entertainment organization are allowing mobile customers to directly view live telemetry data from cars that are in synchronization with a television broadcast. These applications are from leading enterprises around the world and are currently in production. They all have something in common; they all extended real-time enterprise services to internal users and external customers without using proprietary hardware or expensive network tools. These applications and services leveraged industry standards and the economies of scale of the Web for secure and reliable connectivity. We will review the synchronous and asynchronous architectures of these applications in detail. You will learn some valuable information that you can use for your own applications and services.
3:00pm
Tuesday - 8/2/2016
Creating and Debugging with ManifoldJS and VorlonJS
DC1-2
Sr. Technical Evangelist
Microsoft
ManifoldJS aims to make the life of a mobile developer easier than ever, by utilizing Web App Manifests, which allows websites to declare app-like properties. VorlonJS is an open source, extensible, platform-agnostic tool for remotely debugging and testing your JavaScript. It is powered by node.js and socket.io and is easy to set up, works on any platform, and is extensible. Hear how combining the two of them will allow you to create applications at near-native speed, which can be deployed in a number of app stores, and utilizing largely one code base. There is no silver bullet for mobile development, but this certain makes the process easier.
Inclusive UX Design for Blind, Deaf and Disabled Users
DC3-2
CEO
Cyber Timez
There are many great applications and tools being developed and delivered on the fastest development schedules ever achieved in IT. At the same time, many IT organizations leave compliance and supporting the disabled community, the one group that needs to use technology to adapt their environment to their special needs, behind. Shame on us for leaving them behind. Solutions as simple as an "alt" tag and "meta" descriptions, combined with user testing that includes scenarios for the disabled communities, will not only ensure compliance, but ensure a larger user population of tech savvy users continue to age.
Lazy-Loading ES2015 Modules in the Browser
DC2-2
Technical Manager at Avenue Code and Technical Leader at Macys.com
Avenue Code
ES2015 is already production-ready through transpilers such as Babel. Now you no longer need to fight the AMD vs. CommonJS war, since you can simply write ES2015 modules, have them transpiled to ES5 and delivered to the browser, which can either happen synchronously (just like CommonJS modules) or asynchronously (just like AMD modules). This talk demonstrates how to load ES2015 modules both synchronously (during page load) and asynchronously (lazy-load) using System.js over Babel, as well as how to use JSPM to organize this process as well as directly resolve dependencies from NPM and GitHub.
4:00pm
Tuesday - 8/2/2016
Keynote Presentation: Evolving Services Architectures
K-01
Founder
NYJavaSIG
Distributed Services-based Architectures are not new. Frameworks for Services Architectures with dynamic discovery, failure recovery and API versioning evolution were available as far back as the 90’s. Over the past 20 years, we have seen a significant evolution of the Services-based approach to building software systems from simple client/server to the current trends of microservices and containers. This keynote will revisit the important tenets of distributed services computing and focus on the critical nature of protocols as we meet user and enterprise requirements in a highly distributed, globally-deployable, cloud-native world.
4:30pm
Tuesday - 8/2/2016
Keynote Presentation: Browsing into the Future
K-01a
Co-Founder and CEO
Vivaldi Technologies
5:00-7:00pm
Tuesday - 8/2/2016
DevCon5 Exhibit Hall Grand Opening Reception
X-03
Wednesday, August 03, 2016
8:00am
Wednesday - 8/3/2016
Continental Breakfast - Exhibits Open
X-04
9:00am
Wednesday - 8/3/2016
App Security Strategies for the CIO
D2-3
CTO
Appmobi
Appmobi
Device manufacturers cannot be depended on for data protection. It the responsibility of CIOs to protect app level data on the device, in transit, and in use. While OS and hardware level security is a great first step, app level security is necessary to truly keep a penetrated device's data safe. The focus must be shifted to solving the complex and constantly evolving threats so CIOs can spend their precious time delivering secure applications within budget and within time constraints. In this presentation, Mark Stutzman and Ben Webster will use a reference architecture for a highly secure HIPAA or Financial app to demonstrate how and why you must encrypt data at every step. Also see a demonstration of building an app with enterprise-grade security. Mark and Ben will further walk through the common pitfalls of designing secure applications.
Automated Visual Testing – The Good, The Bad and The Landscape of Tools
D1-3
Senior Mobility Solutions Engineer
InfoStretch Corporation
In today’s world of mobile apps, user experience reigns king. If an app isn’t visually appealing during that initial interaction, a user will just move on. So, how do you ensure that all of the visual elements of your app function flawlessly without breaking the bank and losing time-to-market? The answer is Automated Visual Testing. During this session, InfoStretch will explain what Visual Layout/UI Testing is and the benefits that Visual Layout Testing Automation provides, as well as the landscape of tools and technologies that are available to execute this increasingly important type of testing. In addition, InfoStretch will perform a demo of Visual Layout/UI live testing in practice.
10:00am
Wednesday - 8/3/2016
Building Web Sites that Work Everywhere
D2-4
Developer Evangelist
Microsoft
Building web sites that work well across various browsers’ versions and devices is a challenge for web developers. In the session, you’ll learn the best practices and strategy to develop cross-browser web sites that will work with the existing and future browsers. Tools for interoperability tests, cross-browser fundamentals, and tips and tricks on HTML5, CSS, and JavaScript development will be illustrated. Feature detection, CSS prefix, and fallbacks will all be examined in the session. A real life example will be used to provide a step by step demonstration of how to build cross-browser and plug-in-free experiences. With a couple of simple changes to your sites, you can take advantage of web standards and HTML5 features today without breaking your sites in the future. Expect a lot of demos and code in the session.
Proactive Security Controls for Developers
D1-4
Global Board of Directors
OWASP
Software developers are the foundation of any application. In order to achieve secure software, developers must be supported and helped by the organization they author code for. As software developers author the code that makes up a web application, they need to embrace and practice a wide variety of secure coding techniques. All tiers of a web application, the user interface, the business logic, the controller, the database code and more – all need to be developed with security in mind. This can be a very difficult task and developers are often set up for failure. Most developers did not learn about secure coding or crypto in school. The languages and frameworks that developers use to build web applications are often lacking critical core controls or are insecure by default in some way. It is also very rare when organizations provide developers with prescriptive requirements that guide them down the path of secure software. And even when they do, there may be security flaws inherent in the requirements and designs. When it comes to software, developers are often set up to lose the security game.
11:00am
Wednesday - 8/3/2016
Angular or Backbone: Go Mobile!
D2-5
Developer Evangelist
Microsoft
Angular or Backbone, which one you will use in your mobile app? How could you develop a mobile app across iOS, Android or windows devices? This talk will take an intimate look at two of today’s most popular frameworks, Angular and Backbone and explore their differences. We’ll highlight how Apache Cordova opens the world of mobile app development to web developers. In the session, we will demonstrate a “To Do” app using Angular and Backbone, with access to native device capabilities. We’ll compare the frameworks when transported to the world of mobile app development. Along the way, you'll also learn what kinds of apps are best suited for the hybrid architecture and when to make the switch from web app to mobile app.
How to Hack Your Own Web Application
D1-5
Global Board of Directors
OWASP
The OWASP Testing Guide includes a "best practice" penetration testing framework which users can implement in their own organizations and a "low level" penetration testing guide that describes techniques for testing most common web application and web service security issues.
12:00pm
Wednesday - 8/3/2016
Creating a Mobile Application in Meteor
D2-6
Individual/Sole Proprietor
Meteor is a full-stack application platform that runs on Node. Meteor is the front and back-end. This session will show how to build an application in Meteor. This application will show some of Meteor's capability as a full stack solution. The application that will be created will touch on Meteor's most popular features and frameworks. We will cover end to end building of a Meteor application. From installing meteor, setting up a work environment, knowing your tools for the job, communicating with server, test and deploying application. At the end of the presentation we will have created a mobile application in Meteor than can be tested on Simulator/Emulator. There will be a finished version of the application on the appstore. By gaining this understanding of Meteor, Developers will be able to start thinking of applications they can build in no time at all.
Visualizing Data with HTML5 Dashboards for Real-Time Action
D1-6
Sales Engineer
Sencha
Big data and Internet of Things (IoT) connectivity is increasingly forcing enterprises to find solutions to organize and visualize massive amounts of incoming data. To allow for rapid decision-making, for everything from immediate actions in tactical situations to strategic analysis and reporting, developers need the ability to provide re-configurable dashboard widgets that can discover and visualize critical insights from all that data, on any screen and device. This session will discuss how to create HTML5 dashboards that provide big data analysis capabilities and interact with IoT devices via Ext JS constructed components like Grids, Charts, and Widgets. Attendees will learn: • How to setup an IoT dashboard using Ext JS • How to implement some of the common components used in dashboards • How to position and organize the widgets within the dashboard
1:00pm
Wednesday - 8/3/2016
Lunch - Exhibits Open
X-05
2:00pm
Wednesday - 8/3/2016
Big Data Traps to Avoid
D1-7
Chief Technology Officer
Architect Corner
The "big data" projects often give CXOs short-lived confidence about information they are gathering. As a result, precious time and resources are wasted chasing wrong targets and missed business opportunities. No doubt, big data provides the necessary insight to decision making. Understand how to combine big data with with great analytics and an understanding of your enterprise structure, so these big data projects are not just another goose chase.
Taking Amazon Echo to the Next Level With RESTful Services and Alexa Programming
D2-7
director of product management
Kony, Inc.
If you have an Amazon Echo, then you know how useful an echo can be. If you want to take your Echo beyond giving you weather, news and dry jokes, then come learn how to extend your Echo to control UPNP devices anywhere in your house using AWS Lambda, HomeGenie, Serviio and your Echo device. The presentation will cover the intricacies of discovering; controlling and extending UPNP based devices using RESTful services as well as some of the pitfalls and best practices of Alexa programming.
3:00pm
Wednesday - 8/3/2016
Building Big Data Solutions in Azure
D1-8
Technical Evangelist
Microsoft
The session covers how to get started to build big data solutions in Azure. Azure provides different Hadoop clusters for the Hadoop ecosystem. The session covers the basic understanding of HDInsight clusters including: Apache Hadoop, HBase, Storm and Spark. The session covers how to integrate with HDInsight in .NET using different Hadoop integration frameworks and libraries. The session is a jump-start for engineers and DBAs with RDBMS experience that are looking for a jump-start working and developing Hadoop solutions. The session is a demo driven and will cover the basics of Hadoop open source products.
Geospatial Applications
D2-8
GIS Programmer
Langan Engineering and Environmental Services, Inc.
Geospatial applications are being extensively used for field data collection, asset management and tracking. This talk explains two such apps developed to collect field data. In the first application, the speaker will explain an app developed to collect and update hydrant information and the second will cover a data collection app to add new site data to the database and update existing map features.
4:00pm
Wednesday - 8/3/2016
Keynote Presentation by Intel
K-03
Senior Engineering Manager
Intel Software Group
4:30pm
Wednesday - 8/3/2016
Keynote Presentation by Nexmo
K-07
Product Lead
Nexmo
5:00-6:30pm
Wednesday - 8/3/2016
Idea Sharing Networking Reception - Exhibits Open
X-06
Thursday, August 04, 2016
9:00am
Thursday - 8/4/2016
DevCon5 Tutorial: Creating Android Apps in Java and XML
XML, Nested Elements and Attribute Values
AN-01
Adjunct Associate Professor of Information Technologies
New York University (NYU)
Every Android app has a "layout" file describing the sizes, positions, and background colors of the buttons, images, and text areas that appear on the screen. An app also has a "manifest" file, containing the information that the Android operating system needs to know in order to launch the app. This session looks at the language these files are written in, XML, as well as nested elements and attribute values. We will go on to focus on the XML files that contain the apps “resources”; string data such as names, numeric data such as screen dimensions, and style data such as font and color preferences.
DevCon5 Tutorial: Creating Android Apps in Java and XML
10:00am
Thursday - 8/4/2016
DevCon5 Tutorial: Creating Android Apps in Java and XML
Getting Started: Writing a Simple App
AN-02
Adjunct Associate Professor of Information Technologies
New York University (NYU)
One Java object is created automatically by the operating system when an Android app is launched. Certain "lifecycle" methods of this "activity" object are then called automatically at various times during the app's lifespan. We'll see the methods that are called when the app is created and destroyed, and when the app is displayed on the screen and then covered over by another app. We'll write a simple app which will draw static text and graphics when the app is created and displayed, but which will not move or respond to a touch.
DevCon5 Tutorial: Creating Android Apps in Java and XML
11:00am
Thursday - 8/4/2016
DevCon5 Tutorial: Creating Android Apps in Java and XML
Touch Sensitive Apps
AN-03
Adjunct Associate Professor of Information Technologies
New York University (NYU)
Our first touch-sensitive app will illustrate the most important type of connection between the Java objects in an Android app. We'll put a "button" object on the screen and make it touch-sensitive by connecting it to a "listener" object. When the button is touched, a method of the listener will be automatically called. We'll illustrate the same connection with a "keyboard" object and a listener for the keyboard. An Android listener object typically belongs to an "anonymous inner class", so we'll review this feature of Java.
DevCon5 Tutorial: Creating Android Apps in Java and XML
12:00pm
Thursday - 8/4/2016
Lunch - Exhibits Open
X-07
1:00pm
Thursday - 8/4/2016
DevCon5 Tutorial: Creating Android Apps in Java and XML
Moving From Buttons to Touch
AN-04
Adjunct Associate Professor of Information Technologies
New York University (NYU)
Instead of limiting the sensitivity to a button or keyboard we will move on to show how to make the entire screen touch sensitive. This will let us move a graphic in response to a touch or swipe.
DevCon5 Tutorial: Creating Android Apps in Java and XML
2:00pm
Thursday - 8/4/2016
DevCon5 Tutorial: Creating Android Apps in Java and XML
Animation
AN-05
Adjunct Associate Professor of Information Technologies
New York University (NYU)
The next step is to make a simple animation, i.e., a graphic that moves under its own power without having to be dragged around by a finger. There are several ways to do this; we will use the Java class ViewPropertyAnimator.
DevCon5 Tutorial: Creating Android Apps in Java and XML
3:00pm
Thursday - 8/4/2016
DevCon5 Tutorial: Creating Android Apps in Java and XML
Getting App to Recognize Higher Level Gestures
AN-06
Adjunct Associate Professor of Information Technologies
New York University (NYU)
An app can get the low-level x, y coordinates of the point where a finger touches the screen. It can also recognize higher-level gestures such as a horizontal vs. vertical swipe, single vs. double tap, and pinch vs. spread.
DevCon5 Tutorial: Creating Android Apps in Java and XML
4:00pm
Thursday - 8/4/2016
DevCon5 Tutorial: Creating Android Apps in Java and XML
Writing Code for Multiple Platforms
AN-07
Adjunct Associate Professor of Information Technologies
New York University (NYU)
An object of the Java class WebView can render a page of HTML5 on the screen. The page can be pre-stored in the app, or downloaded from the web while the app is running, or composed by the app while the app is running. In each case, the page can contain JavaScript functions that are callable by the Java methods of the app. Since iOS can also display an HTML5 page and call a JavaScript function, this is one way to write code that can be executed on both platforms.
DevCon5 Tutorial: Creating Android Apps in Java and XML
5:00pm
Thursday - 8/4/2016
Conference Ends
X-08