Day One: Pre-Conference Labs
Tuesday, January 28th, 2014
*Please note: Labs must be registered for separately.
Registration, Continental Breakfast, Coffee & Tea for Lab Attendees
Design is an important part of the iOS ecosystem and users are increasingly demanding better experiences from their mobile apps. Apple has released some new technologies in Xcode to help make your apps as fluid as possible, such as Auto Layout.
We will be mixing design and development with code and the visual UI editor inside of Xcode to create pixel-perfect dynamic iOS apps.
In this lab we will be working with code and Interface Builder in Xcode 5 on the Mac. We will also be using other Mac-specific tools (which are not required) such as PaintCode and an image editing program like Photoshop or Pixelmator.
How to set up your storyboards to use Auto Layout
Creating views using Core Graphics
Tips and tricks for optimizing layouts
Who Should Attend
Anyone who is looking to enhance their knowledge of the visual aspects of iOS app development including Auto Layout and drawing visually in code.
This hands-on introduction to Android development is designed for software developers interested in creating Android applications. It assumes no previous knowledge of Android. By the end of this session, you will have a good understanding of Android's main building blocks, concepts and best practices and how to go about building an Android app.
In this session, we will cover:
Creating a hello world application
Anatomy of an Android application
Creating User Interfaces
AdapterViews and Adapters
Persistence using SQLite
Working knowledge of Java (or another high-level language)
HTML5 at one point held the promise of being the unifying platform for desktop and mobile devices. Then big name companies turned their backs on the platform in droves. But don't don't despair, HTML5 isn't dead, in fact it is still a great choice for many mobile applications.
In this session you will:
Learn to take advantage of PhoneGap/Cordova version 3.x
Use Backbone to make MVC based apps which are easier to understand, maintain, and enhance
Make apps which are unit testable to help ensure their correctness
Take the source code home with you
Building a successful mobile application is more than than just a half-way decent idea and some talented developers who have time to build it - it requires the proper strategic thinking about the much larger mobile space, the different options you have for executing a plan, and fundamental heuristics of market analysis and the tools to get you there.
This is going to be intense and information-rich, so bring your focus and attention. This isn't about theory-crafting; it's about practical decision-making. I will not be teaching you XCode, Objective-C, or any other engineering techniques. Instead, I'll be helping you create a "toolkit" that'll serve you well where ever you are, as a developer or a CEO of a company.
The goal is quite simple: I will accelerate your understanding of the mobile landscape, give you the tools, strategies, and methods to shave hundreds of hours on design and development time, and ultimately enable you to ship a version 1.0 of your app in less time for less money.
Who Should Attend:
Budding entrepreneurs who want to get a firm grasp on how to properly think about their first mobile venture.
Developers who want a more strategic perspective of how products are concepted.
Leaders of organizations who want to be more intelligent and aware of the strategies and tactics for building a mobile app.
Project / Product managers who want to lead their teams more effectively.
10 Things You Will Learn:
1. A realistic look at the mobile landscape, identifying profitable niche markets and opportunities.
2. The 4 specific types of mobile development, a must-know!
3. 3 core differences between mobile apps and web apps and how to leverage the advantages.
4. Developing high-level heuristics and strategy.
5. Identifying, isolating, and choosing the best idea to execute on.
6. Apple Developer guidelines and “gotchas” to avoid.
7. How to research and create solid market analysis.
8. The 5 models of pricing.
9. How to create a true feature-specific and feature-rich MVP.
10. Mockup tools, analytic software, budgeting, timeline creation/roadmapping, and tons of other incredible resources.
Key questions answered during this lab include:
What are Style Prototypes?
How can we use our modern webdev stack to build visual content models and style systems?
How can we integrate our design process into our agile cycle?
Who Should Attend: Designers, developers, and product owners would benefit from learning about Style Prototypes
In order to get the most out of Mobile+Web Developer Conference, it is highly recommended to sign up for one of the pre-conference labs. These three-hour education-based and dedicated sessions allow attendees to get extensive hands-on training, engage in discussion and do plenty of live coding, and an opportunity Labs’ classroom style setting also allow for one-on-one time with the lab facilitators as well as time to work together with other attendees and experts.
Day Two: General Conference
Wednesday, January 29th, 2014
Registration, Continental Breakfast, Coffee & Tea
Welcome and Introduction by Conference Producer Breanna Jacobs
Mehdi and Akshay will speak on how developing mobile web applications has evolved in the past decade and how larger industry trends indicate the way developers must approach mobile wed development in the coming years to remain relevant and competitive in a crowded space. As consumer behaviors continue to irreversibly change, developers have to embrace a fresh and ever evolving view on mobile web development to deliver products and experiences that continue to delight and draw in new audiences.
Accessibility champions eagerly await every new release of iOS. There are always new functionality and UIAccessibility API improvements that make it easier to build accessible applications. But iOS7 introduced massive changes and new features: typography, iconography, animation, contrast issues, new APIs, and devices. Where does one start? This presentation introduces accessibility and shows how you can use iOS7 features to make your application innovative and accessible.
Android has recently introduced support for Bluetooth Low Energy (BLE) aka Bluetooth SMART. Unlike regular Bluetooth, BLE has much lower power consumption as well as lower friction in detecting and connecting to nearby devices.
In this talk, you will learn how to develop a BLE application that integrates with a physical device, such as FitBit or similar. We’ll look at the API for discovering BLE devices, connecting to GATT server, and communicating to the device. By the end of this talk, you should have a good understanding of Android API for Bluetooth SMART devices.
In this session Raymond Camden will discuss various HTML5 specifications that can be added to your site to improve performance, increase interactivity, and provide for an overall better experience for your end users. The focus here will be on small, incremental upgrades that have big benefits with minimal to no drawback and do not require deep programming.
There are so many tools and tricks for Android development, but which ones actually help when you're building apps day in and day out? Learn the critical development tools to have, and see some examples of how they’re used to build real apps.
In mobile/web applications, Geolocation is all the buzz right now. Providing users with customized results based on their currently location can enhance the experience of any service. Untappd is a social application surrounding around beer discovery and while many people would think that Geolocation doesn't have an important role within beer, it can provide an excellent service to users.
Since a majority of microbrewery beer isn only distributed to certain regions of the world, consumer want to know where they can find their favorite pint. In addition - if you are visiting a new area for the first time - users might want to know what's popular around them. All the data that Untappd generates can show the user a better view of what is being consumed around them and where they hot spots are around them.
This talk with provide a case study on how Untappd is using Geolocation to help enhance the experience for our users and how it's helped Untappd to grow. Adding location to an application allows results to be more personalized and creates a better user experience.
Topics to be discussed are:
Why Geolocation is important to social and non-social applications and services
How Untappd uses Geolocation Data to better serve their users
Why Geolocation can help with business decisions for both your service and customer
Among a sea of copy-cat look-alikes and apps that appear to be similar in function and appearance how, then, do you differentiate yourself effectively to a point of not just interest but also adoption? How do you make sure that your app gets the play time it so rightfully deserves?
You see, your community is one of your most powerful resources and assets and knowing that is not enough! You must build your application with them in mind so that they can become more than just users - you need them to be your passionate and fanatic digital evangelists that you can lead with authority and galvanize into profitable action.
You learn how I built a virtual army of enthusiasts hell-bent on supporting my app before it was even built.
I'll share my key strategies and methods of organizing community and communicating to them effectively.
You'll leave feeling encouraged that this is not just a real possibility but something that can be done today.
It’s hard to talk about Android these days without talking about fragmentation. It seems every article written about the platform finds a way to bring the issue of fragmentation front and center. But it’s time to stop being afraid of fragmentation and start learning about what fragmentation really means and how you can minimize its impact on the success of your apps.
This session will teach you the details about Android Fragmentation and the different ways in which it impacts your app, your audience and your development processes. You will learn about the different types of fragmentation present on the Android ecosystem and how each type affects different categories of apps in specific ways. We will also explore some of the tools used by most Android developers to effectively beat fragmentation and learn some best practices and strategies to leverage these tools in creating highly successful Android apps.
You will learn about Android Fragmentation, what it really means and how it affects your apps
We will explore the tools that will help you beat fragmentation and make sure your app reaches its broadest audience
We will discuss best practices and strategies to minimize the impact of fragmentation on your Android apps
Who Should Attend:
This session is mostly geared towards Android developers and people interested on Android development, but it would also be beneficial to people leading or managing a mobile team, involved with a company’s mobile strategy or entrepreneurs looking to expand their app to the Android platform.
QuickBooks Online for iPad, part of the new QuickBooks Online (QBO) ecosystem, reimagined the QuickBooks experience and launched in February 2013. Our goal was to help small business owners manage their business wherever they are, and empower them to feel more productive by simplifying and automating the accounting process. Our team was lean and agile, and our process was threefold: understand our audience, explore multiple design options, and experiment and iterate with customers.
Because QBO for iPad is part of a larger product ecosystem, we concentrated on creating a reusable design language made up of principles, guidelines, frameworks, patterns, and styles. We established design principles to keep us focused and help drive towards decisions, and we built modular elements that can be reused and changed easily across channels and devices… and now we’re taking this approach to the rest of our small business products.
Designers and developers, join us as we outline our journey to create a design-led awesome product experience. We'll share lessons learned and practical insights on:
Our design process
Collaborating with cross-functional teams
The value of design principles,
Decision-making across multiple teams and stakeholders
The Android app ecosystem is exploding. Developers need better tools now, more than ever, and the number of third-party SDKs is also growing to meet the developer's needs. Unfortunately, many of these SDKs are poorly developed and extremely difficult to use. In fact, at Crashlytics, we've detected a significant percentage of issues caused by third-party SDKs.
Crashlytics is well-known for its focus on SDK quality, and have been deployed on hundreds of millions of devices. In this session, attendees will learn best practices and advanced techniques for developing an SDK for Android. We'll explore how to design and build an SDK for stability, testability, overall footprint size, and, most importantly, exceptional ease of implementation. Over the course of the session, we'll develop a simple but well-architected SDK and uncover and explain many of the challenges we encountered when building the Crashlytics Android SDK. Topics include device feature detection, supporting multiple application types (from Widgets to Services to Foreground GUI applications), API design, privacy of end-user information, and coding patterns to support developer customization. We'll conclude with advanced topics, from less-known but very useful tricks to minimizing impact on application start-up time to reducing memory footprint and persistent CPU use.
Large companies, such as Vanguard, are really mature when it comes to traditional web development. We have years of experience, many talented developers, the requisite development environment and infrastructure, and know exactly what makes a great website. When it comes to Mobile, we're not there yet but have a plan on how to get there. Listen to the Vanguard Innovation team talk about how they established a Mobile Center of Excellence to identify the individual competencies needed provide a World Class Mobile Experience.
For all the joys of running an indie app business one of the challenges that can be hard to escape is handling technical support. Whether it's angry customers encountering bugs or people who just can't seem to understand the simplest instructions, it can be easy to get frustrated and want to take it out on the customer. In this talk Josh will discuss what it's like doing support for his own apps showing countless examples of situations funny and not so funny that have popped up over the years. Even if you don't do your own support there's a lot to learn from what it's like working the front lines.
Manoj Malhotra will offer attendees insight into the state of mobile advertising, addressing notable trends driving this growing marketplace and identifying the areas in which the publisher community can find potentially lucrative business opportunities. Specifically, Manoj’s presentation will discuss:
The ongoing battle of Apple vs. Android: why publishers should care about user adoption and device impression volume and revenue generation
Where the money is: which publisher categories consistently generate revenue, who are the up and comers
Appealing to the mobile user: identifying which mobile technologies are and solutions deliver rich user experiences and drive customer acquisition
The presentation will also reveal the findings from Opera Mediaworks’ latest State of Mobile Advertising Report, which highlights mobile monetization and advertising trends that unfolded during the 12-months. Attendees that will benefit from this session include mobile app publishers and software developers who want to monetize their products and succeed in the mobile marketplace.
It has become common for us to complain about a design by saying it has "bad UX", but what does that really mean? If we dislike the graphics, colors, icons, or typography we identify the design weaknesses, and we will call out grammar and spelling errors and poor content, but "bad UX" oftens means we are vaguely dissatisfied with how something works or makes us feel. Designing for people means that we need to understand how they feel (emotions), what drives them (motivation), and how they think (cognition) - their interactions (behavior) arise from all of these. Experiences need to be more than efficient and accurate, they also need to engage, please, and satisfy. In We'll discuss how we can create better experiences (and even "excellent UX") by designing for what drives people and how they think and feel.
Designers and Developers alike are in the business of User Experience Design using our own particular set of skills. There are critical design moments, especially late in the life of a project when developers are all that stand between a great user experience and failure. Everything done on a project from the time it’s a whisper in someone’s ear until well after it’s launched is in service to and on behalf of creating a great user experience.
In reality, most teams do not have a dedicated UX advocate either on the design or development teams, so it must be a cause that belongs to us all.
In this session we’ll discuss how developers can strengthen their design vocabulary to become stronger design advocates and how this will have a major impact not only on the success of the project, but on the career of the developer.
Topics to be covered:
What we mean by design and why a developer should care
The relationship between a developer and designer, and why it’s arguably the most important yet underrated relationship influencing your career path
Practical examples of implementation points where design succeeds or fails - design vocabulary for developers
In this session you will:
Learn some easy to remember performance enhancing techniques
Learn ways to measure the performance of your own app
Ubiquitous multi-device product design means modeling experiences that do not start and end on a single device but instead may move from device to device, from context to context, from software to the real world and back, and even from one's own software to that of others and back within a larger shared ecosystem.
This requires an approach to user experience design that must break out of the boundaries of a single particular device or even application and embrace users where they are and when they want access to the service inside the product.
Christian will describe a holistic UX design approach that starts with exploring and understanding user journeys in a larger ecosystem, and then works from back to the front, building a solid foundation in the platform layer before developing any user interface.
It's the user who's mobile, more so than the device, and users will turn to the best screen available when they want to get things done. Will your product work on that screen, whatever size, shape, or capabilities it offers? Can a single information architecture serve multiple device types? How do you design simultaneously for portrait and landscape orientations, and multiple device types, sizes, and screen resolutions? How are digital experiences like products and how are they like services?
For answers to these questions and more, come see Christian's talk.
Developing in our current mobile climate requires working with proprietary stacks, distribute through a single marketplace, and build for several platforms to reach an audience. With Firefox OS, developers can now use web technologies to create Open Web Apps (OWA) that can be purchased, installed and run on Firefox OS, Android, Windows, OSX, Linux, and any platform that supports the in-development OWA standard.
We'll learn what Open Web Apps are, the infrastructure to build an app, working with web activities for communication between apps, and developing, debugging and deploying with the Firefox OS Simulator.
Who Should Attend:
Mobile developers interested in checking out a new platform
Web application developers who want to turn their web app into a Firefox OS app
Color speaks to us in a thousand different ways. Have you ever wondered how colors are chosen for popular apps, or how to choose colors for yours? This session shows you how to choose a main branding color for your app's market and demographic, find colors that support it, and perform simple but powerful user tests -- all without expensive design tools. For developers, product managers, marketers, designers, entrepreneurs, or anyone with a mobile app.
To capitalize on the explosion of multi-device web access, companies need to unify their web-based properties for desktop, tablets and mobile and implement a holistic, One Web approach. When evaluating solutions that support One Web, it is important to select technologies that support single code-base, offer seamless device-based optimization and deliver fast load times.
Trilibis will discuss the shift from fragmented websites and the trend toward One Web, while sharing how server-side technology that offers benefits of Responsive Design with screen-based adaption across all devices while delivering additional benefits of server side processing for faster load time and ability to control UI for different devices. Server-side Optimization solutions can be used as standalone solution or as an augmentation to client-side tools.
Make websites device-aware from single code for mobile and desktop browsers
Add multi-device capability to existing website
Improve site load time and performance
Who Should Attend:
Front End Web Developers, CTOs, Online Marketing Managers
Writing CSS for Responsive Web Design can get out of control quickly. Write some media queries for your layouts, some more for your menus, and even more to catch all the little details in a well-crafted design and they really add up. Try and keep a content-first grid in your head, or worse, in classes, and feel your energy drain. Try and remember how to create full-width bleeds or fluid video embeds, and tables will be flipped. What if I told you the tables could be safe, and you could be sane?
Enter Sass+Compass, leave happy.
Key questions answered during this talk include:
How can Sass help me create and maintain media queries and grids?
What are content-first grids?
How can I make my YouTube and Vimeo embeds fluid with CSS only?
Being an effective software engineering manager is a tricky job. Whether you’re hiring the engineering manager, are already one or report to one, in this session you’ll learn what makes the best engineering managers and how to build, participate in and manage great engineering teams. I provide tips and advice in five areas of focus: staff, delivery, technology, process and product.
Topics include: hiring, building a team to complement your strengths, management style, effective communication, mentoring, virtual teams, career guidance, technical leadership, team size/structure, agile development, strategic roadmap building and delivering on-time.
Does an engineering manager have to be very technical?
How can you keep teams productive without micro-managing?
How do you manage teams of virtual employees?
Should you carry a big club or offer more rope?
How can an individual contribute to the team’s greatness?
Who Should Attend?
Engineering managers, any software developer or team member, hiring managers and the boss’ boss
Engagement metrics aside, how are you engaging your users at an emotional level? How much thinking goes into the personality and tone of your product? What about writing the error messages, alerts, calls-to-action, descriptions or release notes?
Whether you have a playful concept or big brand product yet to be built, or a product that's been out for a while, Jaimee wants to share some very important considerations in design thinking, on-boarding and copywriting to help your products become more fun, delightful and emotionally engaging experiences for your users.