Where Should the Brain of Your Mobile Application Live?

Size: px
Start display at page:

Download "Where Should the Brain of Your Mobile Application Live?"

Transcription

1 Where Should the Brain of Your Mobile Application Live? Or, how Gilt architected its ios apps so compiled binaries released years ago can keep up with evolving server data models

2 First, an introduction

3 >9 million active members Ships 22,000 packages/day to over 100 countries Works with >6,000 brands and >4,500 local vendors Once sold a $60,000 round-trip private charter of an entire Virgin America plane in 11 seconds with over 1,100 people signing up for a waitlist in case we ever re-ran the sale!

4

5 Mobile >50% of Gilt s revenue comes through Mobile channels, which includes native apps on ios and Android, and mobile web >10 million app downloads Fastest checkout was 0.2 seconds (a Volkswagen Jetta sold through the iphone app) Most expensive item: $29,603 for the 2014 Acura MDX with an L.A. travel package (via iphone app)

6

7 Evan Maloney Distinguished Engineer Engineer on Mobile team since 2010; responsible for ios core platform Prior to Gilt, created first versions of the Reuters News Pro ios apps Steve Jobs had at least one of my apps installed on his iphone Despite title, my job does not involve wearing a top hat and monacle

8 What we ll discuss

9 I. The Legacy App Version Problem App versions released years ago are still in use, and you want to support those users. But you also need to evolve your server environment. You can t force those users to update, what do you do?

10 II. Strategies for Addressing the Problem (A) Through an Ever-Growing Proliferation of Service Versions Every incompatible service change results in one of the following: Forking the codebase and maintaining legacy versions of the affected services Operating a single service with an increasingly complex nest of client capability checks in the code

11 II. Strategies for Addressing the Problem (B) By Adopting Web-style UI in your application This strategy involves building a native app where some or all of the user interface is presented in web views: The UI is served to the app just like regular web pages, so it is always up-to-date In extreme cases, the entire app is just a native shell around a mobile website

12 III. How We Thought About This at Gilt We realized the root of the problem involved how app developers assigned responsibility between the client and the server: For example, standard app architecture requires both the client and the server to have code that understands the format of the data used between the two But what if it didn t have to be that way? What if the server could tell the client how to extract meaningful information from the data models it serves? Services could evolve without breaking compatibility with existing apps

13 I. The Legacy App Version Problem

14 The only constant is change Gilt s backend web services support sales via desktop web, mobile web, and iphone, ipad & Android apps Software for these channels are all under active development by different teams Over time, various technical and business requirements have resulted in breaking changes needing to be made to the backend services

15 The Root of the Problem The client app and the server must always agree on the structure of the data On the client side, this knowledge has to be compiled in to the application binary Once an app binary has been installed on a device, it can t be modified by the vendor

16 How are others addressing this?

17 Multiple Service Versions Running multiple service versions is a common strategy, but that comes with some costs: The existence of multiple versions increases maintenance costs, and makes it harder to evolve the server stack Sometimes, you need to retire an old service because it costs too much to operate, so needing to maintain a legacy version defeats the purpose

18 Web-Based UI A more extreme solution is to move some or all of your app s UI to web views that frame your mobile website Write-once, run-everywhere has always been the unattainable holy grail of software development, but there s a reason people write native apps just ask Facebook! Can be a useful technique when used judiciously at Gilt, we use it for the privacy policy and terms & conditions copy

19 Mul$ple service versions Adop$ng a web- based UI Pros Don t need to do any work for already- released apps; they ll just con$nue to work Immediate release, no app review Exis$ng versions are updated without requiring a new binary to be downloaded & installed Not much na$ve development, which can be expensive Cons High long- term maintenance costs Ties you to an old so@ware stack; hinders evolu$on of your systems Doesn t address case where a business needs to re$re a service A lowest- common- denominator user experience that doesn t quite feel right on any plamorm Lack of control over memory management & concurrency means that a complex UI with lots of assets won t perform well at scale No direct access to hardware

20 Implications Server- side Client- side Mul+ple service versions Increased complexity and maintenance costs None Client can be freely updated over 3me Adop+ng a web- based UI None A free- ride off your exis3ng mobile website An inferior user experience, client- side performance doesn t scale

21 For some use-cases, these are acceptable trade-offs

22 but they weren t for Gilt.

23 So, how did we address it?

24 How most server-driven apps are built 1. The server maintains knowledge of the data necessary to drive the app 2. The app requests data, and receives a data structure in response 3. Because the app needs to ask questions of the data, developers usually hard-code knowledge of that data structure into the app

25 How server-driven apps could be built 1. The server maintains knowledge of the data necessary to drive the app 2. The app requests data, and receives in response: The data itself Instructions for how to extract relevant values from that data 3. The app will still ask questions of the data to do its work, but it will use server-provided instructions to do so

26 TA-DA! The client no longer needs advance knowledge of the server s data model!

27 We call this model/query decoupling, but it s really just a different way of thinking about where you hard-code knowledge.

28 Model/query decoupling is achieved when: The ability to query a set of data does not require direct knowledge of that data s structure

29 Typical knowledge responsibility breakdown The Client App needs to know: 1. The exact structure of the data The Server needs to know: 1. The exact structure of the data 2. What ques$ons it needs answered from the data 3. How to translate those ques$ons into procedures for extrac$ng answers from the data

30 Breakdown with model/query decoupling The Client App needs to know: 1. What ques$ons it needs answered from the data The Server needs to know: 1. The exact structure of the data 2. The set of ques$ons each app version needs answered from the data 3. How to translate those ques$ons into procedures for extrac$ng answers from the data

31 Breakdown with model/query decoupling The Client App needs to know: 1. What ques$ons it needs answered from the data The Server needs to know: 1. The exact structure of the data 2. The set of ques$ons each app version needs answered from the data 3. How to translate those ques+ons into procedures for extrac+ng answers from the data

32 How do we do this at Gilt? 1. We created an ios framework called the Mockingbird Data Environment that allows us to construct plaintext expressions that can be used to navigate, transform and extract data from arbitrary data models 2. In addition to sending data, our servers send expressions that allow our apps to extract meaningful information from that data 3. When we change our data model, our servers send an updated set of expressions, which legacy versions can then use to extract information from the new data model

33 How do we do this at Gilt? 4. Our app asks our data questions like, What sales are there today? and How many items of this SKU are available? 5. For each such question, a corresponding Mockingbird expression can be created to return an answer in whatever format is expected by the app 6. When the app needs to know, say, What products are in this sale?, it uses the most recent version of the Mockingbird expression associated with that question, and evaluates it, yielding the result in a format the app understands

34 How does it work? Once the app is released, the format of the data that it needs to populate the user interface can no longer be changed However, the underlying server data model can be changed because the app never interacts with it directly The app uses Mockingbird expressions to translate between the server model and the data format expected by the compiled UI Because we can update the expressions, we can change the data model

35 The result Allows for fully native user interface Total flexibility over changing backend whenever you need Legacy app versions will still work Don t need to wait for app review or the user s upgrade cycle Users who can t upgrade to your latest version due to hardware or OS requirements will still be supported

36 The underlying philosophy

37 Let the server dictate the terms of server-y things Let the client dictate the terms of client-y things

38 One more thing

39 You can use the same code Gilt uses to do this, and add it to your own ios apps for free. Gilt has open-sourced the Mockingbird Data Environment: Available under the MIT license, fully documented & ready to use!

40 Where Should the Brain of Your Mobile Application Live? Evan Maloney Distinguished Engineer Gilt Mobile

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives,

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives, Virtualization Q&A with an industry leader Virtualization is rapidly becoming a fact of life for agency executives, as the basis for data center consolidation and cloud computing and, increasingly, as

More information

Crash Course in Modernization. A whitepaper from mrc

Crash Course in Modernization. A whitepaper from mrc Crash Course in Modernization A whitepaper from mrc Introduction Modernization is a confusing subject for one main reason: It isn t the same across the board. Different vendors sell different forms of

More information

Considerations for Mobilizing your Lotus Notes Applications

Considerations for Mobilizing your Lotus Notes Applications Considerations for Mobilizing your Lotus Notes Applications John Kingsley Teamstudio Technical Director Why Mobilize? It all started with email. Not any one email in particular, just the fact that you

More information

Responsive Web Design Discover, Consider, Decide

Responsive Web Design Discover, Consider, Decide Responsive Web Design Discover, Consider, Decide Responsive Web Design. Discover, Consider, Decide Q. What is Responsive Design? A. Responsive design is a general mindset where you are designing a website,

More information

Oracle Applications in a Changing Business World. Legacy Oracle Applications Won't Be Around Forever. Will You?

Oracle Applications in a Changing Business World. Legacy Oracle Applications Won't Be Around Forever. Will You? Oracle Applications in a Changing Business World Legacy Oracle Applications Won't Be Around Forever. Will You? Ross Smith Chief Architect July 7, 2017 2 Oracle Applications in a Changing Business World

More information

Your Data Demands More NETAPP ENABLES YOU TO LEVERAGE YOUR DATA & COMPUTE FROM ANYWHERE

Your Data Demands More NETAPP ENABLES YOU TO LEVERAGE YOUR DATA & COMPUTE FROM ANYWHERE Your Data Demands More NETAPP ENABLES YOU TO LEVERAGE YOUR DATA & COMPUTE FROM ANYWHERE IN ITS EARLY DAYS, NetApp s (www.netapp.com) primary goal was to build a market for network-attached storage and

More information

E-Guide WHAT WINDOWS 10 ADOPTION MEANS FOR IT

E-Guide WHAT WINDOWS 10 ADOPTION MEANS FOR IT E-Guide WHAT WINDOWS 10 ADOPTION MEANS FOR IT E nterprise adoption of Windows 10 isn t likely to follow the same pattern as for Windows 7, and that s a good thing, writes columnist Brian Madden. And even

More information

Think like an Elm developer

Think like an Elm developer Think like an Elm developer Piper Niehaus Denver, CO, USA Backpacker / skier Nonprofit board chair Software Engineer at Pivotal Pivotal Tracker team Elm in Production since 2016 Internal Products and Services

More information

Sencha Paris Meetup Switching from Titanium to Sencha Touch: a real life example

Sencha Paris Meetup Switching from Titanium to Sencha Touch: a real life example Sencha Paris Meetup Switching from Titanium to Sencha Touch: a real life example Laurent Jolia Ferrier 12 June 2014 Foreword: I have always favoured development tools targeting several OSs with "one" code

More information

GOING MOBILE: Setting The Scene for RTOs.

GOING MOBILE: Setting The Scene for RTOs. GOING MOBILE: Setting The Scene for RTOs. 29 November, 4:00 pm 4:45 pm, General Session Presented by Lawrence Smith & Chris Adams WHERE: Usage of Mobile Devices Source: State of American Traveler Research

More information

If you like this guide and you want to support the community, you can sign up as a Founding Member here:

If you like this guide and you want to support the community, you can sign up as a Founding Member here: Introduction Hey Sam here. Thanks for getting access to Vid Invision Enterprise. I m super excited that you ve come on board This guide is to help you to understand how to navigate the Vid Invision Enterprise

More information

Implementing Your BYOD Mobility Strategy An IT Checklist and Guide

Implementing Your BYOD Mobility Strategy An IT Checklist and Guide Implementing Your BYOD Mobility Strategy An IT Checklist and Guide 2012 Enterproid IBYOD: 120221 Content 1. Overview... 1 2. The BYOD Checklist... 1 2.1 Application Choice... 1 2.2 Installation and Configuration...

More information

IMPORTANT WORDS AND WHAT THEY MEAN

IMPORTANT WORDS AND WHAT THEY MEAN MOBILE PHONES WHAT IS DATA Data is Internet. It can let you do lots of different things on your phone or tablet. You can send or receive texts, emails or photos, listen to music, watch TV shows, movies

More information

What Mobile Development Model is Right for You?

What Mobile Development Model is Right for You? What Mobile Development Model is Right for You? An analysis of the pros and cons of Responsive Web App, Hybrid App I - Hybrid Web App, Hybrid App II - Hybrid Mixed App and Native App Contents Mobile Development

More information

Mastering Mobile Web with 8 Key Rules. Mastering Mobile Web with 8 Key Rules

Mastering Mobile Web with 8 Key Rules. Mastering Mobile Web with 8 Key Rules Mastering Mobile Web with 8 Key Rules 1 Introduction When it comes to mobile web design and testing, mobility plays by a far different set of rules than the desktops of years past. Today we are challenged

More information

Bases de Dades: introduction and organization

Bases de Dades: introduction and organization Andrew D. Bagdanov bagdanov@cvc.uab.es Departamento de Ciencias de la Computación Universidad Autónoma de Barcelona Fall, 2010 Outline 1 2 3 4 5 Contact information Professor Database systems Important

More information

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)...

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)... Remembering numbers (and other stuff)... Let s talk about one of the most important things in any programming language. It s called a variable. Don t let the name scare you. What it does is really simple.

More information

Migration With Duda.

Migration With Duda. Migration With Duda A Comprehensive Guide to the Opportunities and Considerations that Come with Website Migration for DIY and DIFM Solutions Providers. www.dudamobile.com Table of Contents Introduction

More information

CS354 gdb Tutorial Written by Chris Feilbach

CS354 gdb Tutorial Written by Chris Feilbach CS354 gdb Tutorial Written by Chris Feilbach Purpose This tutorial aims to show you the basics of using gdb to debug C programs. gdb is the GNU debugger, and is provided on systems that

More information

Free Facetime Video Call Chat Review: What Happens in Apple Stays in Apple

Free Facetime Video Call Chat Review: What Happens in Apple Stays in Apple Free Facetime Video Call Chat Review: What Happens in Apple Stays in Apple What do you know about millennials or Generation Y? According to Urban Dictionary, millennials are people born between 1981-1991.

More information

How To Present Progressive Web Apps To Your Clients

How To Present Progressive Web Apps To Your Clients How To Present Progressive Web Apps To Your Clients AND HELP THEM WIN THE MOBILE WEB TABLE OF CONTENTS 01 And Then There Were Three PAGE 03 05 The Major Benefits of PWAs PAGE 07 02 Introducing PWAs PAGE

More information

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE. CUSTOMER PAIN POINTS 1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.NET FRAMEORK. THAT S TAKING UP SPACE ON MY HARDDRIVE

More information

Mobile & More: Preparing for the Latest Design Trends

Mobile & More: Preparing for the Latest Design Trends February 26, 2015 Mobile & More: Preparing for the Latest Design Trends LATEST TRENDS Responsive Takes Over Material Is the New Flat Hero Images Getting Bigger Interactions Are Micro Video in the Background

More information

THE ONLINER A VIP FOR MARKETERS. Slovenia

THE ONLINER A VIP FOR MARKETERS. Slovenia I THE ONLINER A VIP FOR MARKETERS Slovenia I INTERNET USAGE Internet usage is still growing slightly and is now close to the saturation point. Underlying developments such as a higher daily reach are stemming

More information

You Can t Move Forward Unless You Can Roll Back. By: Michael Black

You Can t Move Forward Unless You Can Roll Back. By: Michael Black You Can t Move Forward Unless You Can Roll Back By: Michael Black The VP of Sales walks in and tells you that your largest and oldest client wants to pay for a custom modification. But here s the clincher,

More information

(THE) ULTIMATE CONTACT STRATEGY HOW TO USE PHONE AND FOR CONTACT AND CONVERSION SUCCESS SALES OPTIMIZATION STUDY

(THE) ULTIMATE CONTACT STRATEGY HOW TO USE PHONE AND  FOR CONTACT AND CONVERSION SUCCESS SALES OPTIMIZATION STUDY (THE) ULTIMATE CONTACT STRATEGY HOW TO USE PHONE AND EMAIL FOR CONTACT AND CONVERSION SUCCESS EXECUTIVE SUMMARY This study, derived from the data of nearly 3.5 million leads, breaks new ground, revealing

More information

A computer is an electronic device, operating under the control of instructions stored in its own memory unit.

A computer is an electronic device, operating under the control of instructions stored in its own memory unit. Computers I 1. Operating Systems In order to grasp the concept of Operating Systems and understand the different types of windows available we first need to cover some basic definitions. 1.1 Computer Concepts

More information

Photos, Photos. What to do with All Those Photos? Presented by Phil Goff Area 16 Computers and Technology August 17, 2017

Photos, Photos. What to do with All Those Photos? Presented by Phil Goff Area 16 Computers and Technology August 17, 2017 Photos, Photos. What to do with All Those Photos? Presented by Phil Goff Area 16 Computers and Technology August 17, 2017 1 Photos Have a Different Value Today With film cameras, pictures were taken and

More information

State of Mobile Commerce. Q

State of Mobile Commerce. Q State of Mobile Commerce. Q4 2014. JANUARY 2015 Executive Summary. Mobile commerce adoption is far ahead of expectations. Globally, mobile now accounts for 30% of ecommerce transactions. It is expected

More information

Virtual vs Physical ADC

Virtual vs Physical ADC WHITEPAPER What are the primary differences and the pros and cons of virtual vs physical application delivery controllers? Snapt Technical Team sales@snapt.net pg. 1 Forward-thinking organizations are

More information

How APEXBlogs was built

How APEXBlogs was built How APEXBlogs was built By Dimitri Gielis, APEX Evangelists Copyright 2011 Apex Evangelists apex-evangelists.com How APEXBlogs was built By Dimitri Gielis This article describes how and why APEXBlogs was

More information

Viewports. Peter-Paul Koch DevReach, 13 November 2017

Viewports. Peter-Paul Koch   DevReach, 13 November 2017 Viewports Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk DevReach, 13 November 2017 or: Why responsive design works Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk DevReach,

More information

Viewports. Peter-Paul Koch CSS Day, 4 June 2014

Viewports. Peter-Paul Koch   CSS Day, 4 June 2014 Viewports Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk CSS Day, 4 June 2014 or: Why responsive design works Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk CSS Day, 4 June

More information

What You Need to Know When Buying a New Computer JackaboutComputers.com

What You Need to Know When Buying a New Computer JackaboutComputers.com If it s been a while since you bought your last computer, you could probably use a quick refresher on what you need to know to make a good purchase. Computers today are a much larger part of our life than

More information

PUTING SOAP TO REST. Internet APIs. In fact, REST currently represents about 69% of

PUTING SOAP TO REST. Internet APIs. In fact, REST currently represents about 69% of PUTING SOAP TO REST What Google, Amazon, Yahoo!, Oracle and other tech giants know that You don t: web services are better delivered via REST than SOAP. Here s why. Law enforcement demands access to accurate

More information

Determining the Best Approach

Determining the Best Approach 2 Determining the Best Approach The remaining chapters of this book cover the capabilities of the BlackBerry application platform and then dig into each application development option in detail. Before

More information

Enterprise Architecture Building a Mobile Vision. David Hunt DCH Technology Services Gill Windall University of Greenwich

Enterprise Architecture Building a Mobile Vision. David Hunt DCH Technology Services Gill Windall University of Greenwich Enterprise Architecture Building a Mobile Vision David Hunt DCH Technology Services Gill Windall University of Greenwich What is Enterprise Architecture? Definition Enterprise Architecture is the practice

More information

Head-to-head: Which will win for your business?

Head-to-head: Which will win for your business? Head-to-head: Which will win for your business? When it comes to mobile operating systems (OS), chances are you re already pretty familiar with the big two Apple and Android. There s probably a device

More information

SUCCESS STORY THE POLYCLINIC THE POLYCLINIC SPEEDS UP ITS VDI ENVIRONMENT WITH NVIDIA GRID

SUCCESS STORY THE POLYCLINIC THE POLYCLINIC SPEEDS UP ITS VDI ENVIRONMENT WITH NVIDIA GRID THE POLYCLINIC SPEEDS UP ITS VDI ENVIRONMENT WITH NVIDIA GRID Updated VDI with NVIDIA GRID wins over staff and increases user density across the organization. was founded in 1917 by a handful of doctors.

More information

KACE GO Mobile App 4.0. Release Notes

KACE GO Mobile App 4.0. Release Notes KACE GO Mobile App 4.0 Release Notes Table of Contents Quest KACE GO 4.0 Mobile App Release Notes...3 About the KACE GO Mobile App... 3 Capabilities for KACE Systems Management Appliance administrators...

More information

Top 10 Data Center Network Switch Considerations

Top 10 Data Center Network Switch Considerations Top 10 Data Center Network Switch Considerations 1 Price/Performance More for Less How will you choose a network solution for your data center to deliver the right blend of performance and cost efficiency?

More information

BUILDING the VIRtUAL enterprise

BUILDING the VIRtUAL enterprise BUILDING the VIRTUAL ENTERPRISE A Red Hat WHITEPAPER www.redhat.com As an IT shop or business owner, your ability to meet the fluctuating needs of your business while balancing changing priorities, schedules,

More information

When, Where & Why to Use NoSQL?

When, Where & Why to Use NoSQL? When, Where & Why to Use NoSQL? 1 Big data is becoming a big challenge for enterprises. Many organizations have built environments for transactional data with Relational Database Management Systems (RDBMS),

More information

An overview of. Mobile Testing. By André Jacobs. A Jacobs

An overview of. Mobile Testing. By André Jacobs. A Jacobs An overview of Mobile Testing By André Jacobs THE RISE AND RISE OF MOBILE 3 The Apple Story A look at the company that arguably has sparked the explosive growth in smart devices and mobile applications

More information

Embedded in 2010: An End to the Entropy? Matt Asay COO, Canonical

Embedded in 2010: An End to the Entropy? Matt Asay COO, Canonical Embedded in 2010: An End to the Entropy? Matt Asay COO, Canonical 1 ...and where smart meets bankruptcy 2 Remember these? 3 The Past ARMv1 ARMv3 ARMv4 Obsolete: Not powerful enough to run Linux. Some very

More information

google SEO UpdatE the RiSE Of NOt provided and hummingbird october 2013

google SEO UpdatE the RiSE Of NOt provided and hummingbird october 2013 google SEO Update The Rise of Not Provided and Hummingbird October 2013 Lead contributors David Freeman Head of SEO Havas Media UK david.freeman@havasmedia.com Winston Burton VP, Director of SEO Havas

More information

Apple Device Management

Apple Device Management A COMPREHENSIVE GUIDE Apple Device Management FOR SMALL AND MEDIUM BUSINESSES With a renewed focus on mobile devices in the work environment, Apple has become the device of choice in small and medium businesses.

More information

As my memory continues to degrade, I rely on technology to remember things for me. They say, everything has its place and everything in its place.

As my memory continues to degrade, I rely on technology to remember things for me. They say, everything has its place and everything in its place. As my memory continues to degrade, I rely on technology to remember things for me. They say, everything has its place and everything in its place. I use Microsoft s OneNote program to write down everything

More information

Outline Key Management CS 239 Computer Security February 9, 2004

Outline Key Management CS 239 Computer Security February 9, 2004 Outline Key Management CS 239 Computer Security February 9, 2004 Properties of keys Key management Key servers Certificates Page 1 Page 2 Introduction Properties of Keys It doesn t matter how strong your

More information

Modula-2 Legacy Code: Problems and Solutions. Excelsior, LLC

Modula-2 Legacy Code: Problems and Solutions. Excelsior, LLC Modula-2 Legacy Code: Problems and Solutions Excelsior, LLC April 28, 2000 Chapter 1 Introduction Back in 1980s, shortly after Modula-2 was introduced, is was called the programming language of the future.

More information

INTRODUCTION TO CLOUD STORAGE

INTRODUCTION TO CLOUD STORAGE INTRODUCTION TO CLOUD STORAGE GETTING STARTED PAGE 02 Class Overview What You Will Learn WHAT IS THE CLOUD? PAGE 03 Basic Vocabulary Advantages of the Cloud Disadvantages of the Cloud CLOUD STORAGE SERVICES

More information

Reactive Programming with RxJS 5

Reactive Programming with RxJS 5 Extracted from: Reactive Programming with RxJS 5 Untangle Your Asynchronous JavaScript Code This PDF file contains pages extracted from Reactive Programming with RxJS 5, published by the Pragmatic Bookshelf.

More information

BYOD Success Kit. Table of Contents. Current state of BYOD in enterprise Checklist for BYOD Success Helpful Pilot Tips

BYOD Success Kit. Table of Contents. Current state of BYOD in enterprise Checklist for BYOD Success Helpful Pilot Tips Table of Contents Current state of BYOD in enterprise Checklist for BYOD Success Helpful Pilot Tips 2 Current State of BYOD in the Enterprise Defining BYOD Bring-Your-Own-Device (BYOD): a business practice

More information

Testing NodeJS, REST APIs and MongoDB with UFT January 19, 2016

Testing NodeJS, REST APIs and MongoDB with UFT January 19, 2016 Testing NodeJS, REST APIs and MongoDB with UFT January 19, 2016 Brought to you by Hosted By Bernard P. Szymczak Ohio Chapter Leader HP Software Education SIG Leader TQA SIG Leader Today s Speakers Ori

More information

Presented By Jason Pinshower Indian Trails Public Library District

Presented By Jason Pinshower Indian Trails Public Library District Presented By Jason Pinshower Indian Trails Public Library District jpinshower@indiantrailslibrary.org WHY AM I HERE? Choosing between a PC or a Mac can be a tough decision - especially if you don t know

More information

Choices when it comes to your communications infrastructure A BUYER S GUIDE TO IP-BASED SOLUTIONS

Choices when it comes to your communications infrastructure A BUYER S GUIDE TO IP-BASED SOLUTIONS Choices when it comes to your communications infrastructure A BUYER S GUIDE TO IP-BASED SOLUTIONS Introduction A small business has many priorities. With so much on your mind, your phone system might be

More information

COPYRIGHTED MATERIAL. Getting Started with Google Analytics. P a r t

COPYRIGHTED MATERIAL. Getting Started with Google Analytics. P a r t P a r t I Getting Started with Google Analytics As analytics applications go, Google Analytics is probably the easiest (or at least one of the easiest) available in the market today. But don t let the

More information

_APP A_541_10/31/06. Appendix A. Backing Up Your Project Files

_APP A_541_10/31/06. Appendix A. Backing Up Your Project Files 1-59863-307-4_APP A_541_10/31/06 Appendix A Backing Up Your Project Files At the end of every recording session, I back up my project files. It doesn t matter whether I m running late or whether I m so

More information

Media-Ready Network Transcript

Media-Ready Network Transcript Media-Ready Network Transcript Hello and welcome to this Cisco on Cisco Seminar. I m Bob Scarbrough, Cisco IT manager on the Cisco on Cisco team. With me today are Sheila Jordan, Vice President of the

More information

Setting Up Your ios Development Environment. For Mac OS X (Mountain Lion) v1.0. By GoNorthWest. 5 February 2013

Setting Up Your ios Development Environment. For Mac OS X (Mountain Lion) v1.0. By GoNorthWest. 5 February 2013 Setting Up Your ios Development Environment For Mac OS X (Mountain Lion) v1.0 By GoNorthWest 5 February 2013 Setting up the Apple ios development environment, which consists of Xcode and the ios SDK (Software

More information

Data Management CS 4720 Mobile Application Development

Data Management CS 4720 Mobile Application Development Data Management Mobile Application Development Desktop Applications What are some common applications you use day-to-day? Browser (Chrome, Firefox, Safari, etc.) Music Player (Spotify, itunes, etc.) Office

More information

Versioned APIs with Phoenix. Elvio Vicosa

Versioned APIs with Phoenix. Elvio Vicosa Versioned APIs with Phoenix Elvio Vicosa About the author My name is Elvio Vicosa and I am a software developer based in Berlin, Germany. I've been working with software for over 10 years and throughout

More information

There And Back Again

There And Back Again There And Back Again Databases At Uber Evan Klitzke October 4, 2016 Outline Background MySQL To Postgres Connection Scalability Write Amplification/Replication Miscellaneous Other Things Databases at Uber

More information

MAKING MONEY ON OPENSTACK. Boris

MAKING MONEY ON OPENSTACK. Boris MAKING MONEY ON OPENSTACK Boris Renski b@renski.com @zer0tweets China and Russia are alike! 2 We love gymnastics! 3 We love chess! 4 and we love money! 5 6 When most people think of OpenSt ack, they imagine

More information

Expert Reference Series of White Papers. Virtualization for Newbies

Expert Reference Series of White Papers. Virtualization for Newbies Expert Reference Series of White Papers Virtualization for Newbies 1-800-COURSES www.globalknowledge.com Virtualization for Newbies Steve Baca VCP, VCI, VCAP, Global Knowledge Instructor Introduction Virtualization

More information

The C-Suite Guide to Mobile Technologies for mhealth Development. Medical Web ExpertsTM

The C-Suite Guide to Mobile Technologies for mhealth Development. Medical Web ExpertsTM The C-Suite Guide to Mobile Technologies for mhealth Development Medical Web ExpertsTM January 2017 Executive Summary mhealth technologies are forming a more integral part of many healthcare organizations

More information

Mobile Technologies. Types of Apps

Mobile Technologies. Types of Apps Mobile Technologies Types of Apps What is mobile? Devices and their capabilities It s about people Fundamentally, mobile refers to the user, and not the device or the application. Barbara Ballard, Designing

More information

CSE 438: Mobile Application Development Lab 2: Virtual Pet App

CSE 438: Mobile Application Development Lab 2: Virtual Pet App CSE 438: Mobile Application Development Lab 2: Virtual Pet App Overview In this lab, you will create an app to take care of your very own virtual pets! The app will only have one screen and simple logic,

More information

THE IMPACT OF MOBILE DEVICES ON INFORMATION SECURITY:

THE IMPACT OF MOBILE DEVICES ON INFORMATION SECURITY: June 2013 Sponsored by Introduction Mobile devices cause ongoing concern for IT teams responsible for information security. Sensitive corporate information can be easily transported and lost, while the

More information

How Cisco IT Is Accelerating Adoption of IPv6

How Cisco IT Is Accelerating Adoption of IPv6 Cisco IT Case Study How Cisco IT Is Accelerating Adoption of IPv6 Priority projects are IPv6-based public website and end-to-end reference implementation. Cisco IT Case Study / Borderless Networks / IPv6:

More information

KACE GO Mobile App 3.1. Release Notes

KACE GO Mobile App 3.1. Release Notes KACE GO Mobile App 3.1 Release Notes Table of Contents Quest KACE GO 3.1 Mobile App Release Notes...3 About the KACE GO Mobile App... 3 Capabilities for KACE Systems Management Appliance (K1000) administrators...

More information

How Real Time Are Your Analytics?

How Real Time Are Your Analytics? How Real Time Are Your Analytics? Min Xiao Solutions Architect, VoltDB Table of Contents Your Big Data Analytics.... 1 Turning Analytics into Real Time Decisions....2 Bridging the Gap...3 How VoltDB Helps....4

More information

CONSUMERS USE MESSAGING

CONSUMERS USE MESSAGING Every night, President Obama reads 10 letters that were sent to him by UNDERSTAND HOW ordinary citizens. This is a Presidential tradition going back to Thomas Jefferson. Recently, the White House announced

More information

Extreme Java Productivity with Spring Roo and Spring 3.0

Extreme Java Productivity with Spring Roo and Spring 3.0 Extreme Java Productivity with Spring Roo and Spring 3.0 Rod Johnson Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Agenda Motivation

More information

Excerpt from. Internet Basics. Jennie L. Phipps

Excerpt from. Internet Basics. Jennie L. Phipps Excerpt from Internet Basics By Jennie L. Phipps Author Acknowledgment Jennie L. Phipps is an independent writer and editor. She writes frequently about the Internet and topics related to publishing both

More information

UXD. using the elements: structure

UXD. using the elements: structure using the elements: structure defining structure you are here structure essentially defines how users get to a given screen and where they can go when they re done. structure also defines categories of

More information

Introduction to Intel Boot Loader Development Kit (Intel BLDK) Intel SSG/SSD/UEFI

Introduction to Intel Boot Loader Development Kit (Intel BLDK) Intel SSG/SSD/UEFI Introduction to Intel Boot Loader Development Kit (Intel BLDK) Intel SSG/SSD/UEFI Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED,

More information

SD-WAN. Enabling the Enterprise to Overcome Barriers to Digital Transformation. An IDC InfoBrief Sponsored by Comcast

SD-WAN. Enabling the Enterprise to Overcome Barriers to Digital Transformation. An IDC InfoBrief Sponsored by Comcast SD-WAN Enabling the Enterprise to Overcome Barriers to Digital Transformation An IDC InfoBrief Sponsored by Comcast SD-WAN Is Emerging as an Important Driver of Business Results The increasing need for

More information

Grow Assistant Ver 4.X

Grow Assistant Ver 4.X Grow Assistant Ver 4.X Instruction Manual GeekyGrower Products Updated Nov - 2013 Table of Contents Logging in for the first time. 3 Introduction 3 Initial Setup 4 Plant IDs 4 Strains 4 Getting Started

More information

Breakdown of Some Common Website Components and Their Costs.

Breakdown of Some Common Website Components and Their Costs. Breakdown of Some Common Website Components and Their Costs. Breakdown of Some Common Website Components and Their Costs. The cost of a website can vary dramatically based on the specific components included.

More information

In-class activities: Sep 25, 2017

In-class activities: Sep 25, 2017 In-class activities: Sep 25, 2017 Activities and group work this week function the same way as our previous activity. We recommend that you continue working with the same 3-person group. We suggest that

More information

We used to talk about whether or not we were in the year of mobile but we are actually in the Age of Mobile.

We used to talk about whether or not we were in the year of mobile but we are actually in the Age of Mobile. We used to talk about whether or not we were in the year of mobile but we are actually in the Age of Mobile. where we ve come from... 2000-2012: 12x total internet usage vs mobile data usage Source 2013

More information

Day in the Life of an SAP Consultant using IntelliCorp s LiveCompare Software

Day in the Life of an SAP Consultant using IntelliCorp s LiveCompare Software Day in the Life of an SAP Consultant using IntelliCorp s LiveCompare Software Introduction Consultants use LiveCompare on a daily basis to help them deliver results to their clients more effectively and

More information

I Shopping on mobile / RU

I Shopping on mobile / RU I Shopping on mobile / RU Exploring how people use their smartphones for shopping activities Q3 2016 I About this study Background: Objective: Mobile apps and sites are a vital channel for advertisers

More information

trevor.bramwell.net Documentation

trevor.bramwell.net Documentation trevor.bramwell.net Documentation Release Trevor Bramwell April 20, 2015 Contents 1 About Me 1 2 Posts 3 2.1 Field - extract fields from a file..................................... 3 2.2 Distribute Native

More information

MacMost.com (hosted by Gary Rosenzweig)

MacMost.com (hosted by Gary Rosenzweig) Note: This discussion is based on MacOS, 10.14.1 (Mojave). Some illustrations may differ when using other versions of macos or OS X. Illustrations are from screenshots on my imac. In this presentation

More information

Manual Iphone 5 Unlocked Usa Buy Uk >>>CLICK HERE<<<

Manual Iphone 5 Unlocked Usa Buy Uk >>>CLICK HERE<<< Manual Iphone 5 Unlocked Usa Buy Uk Below is a breakdown of the iphone pricing if you buy from Apple. There are a few other retailers that you can buy a new, unlocked or SIM-free iphone from, including

More information

CS 370 The Pseudocode Programming Process D R. M I C H A E L J. R E A L E F A L L

CS 370 The Pseudocode Programming Process D R. M I C H A E L J. R E A L E F A L L CS 370 The Pseudocode Programming Process D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Introduction At this point, you are ready to beginning programming at a lower level How do you actually write your

More information

We know how much time and energy goes into creating a reliable ADS-B feed and very much appreciate the contributions of all who share with us.

We know how much time and energy goes into creating a reliable ADS-B feed and very much appreciate the contributions of all who share with us. Welcome Thank you for sharing your ADS-B data with Plane Finder. We know how much time and energy goes into creating a reliable ADS-B feed and very much appreciate the contributions of all who share with

More information

There exists a long-running platform rivalry

There exists a long-running platform rivalry 2.1 Deciding between platforms: ios or Android There exists a long-running platform rivalry between Android and ios. There is an argument that Apple exerts excessive control over the App Store. There is

More information

The Emerging Data Lake IT Strategy

The Emerging Data Lake IT Strategy The Emerging Data Lake IT Strategy An Evolving Approach for Dealing with Big Data & Changing Environments bit.ly/datalake SPEAKERS: Thomas Kelly, Practice Director Cognizant Technology Solutions Sean Martin,

More information

Launch Store. University

Launch Store. University Launch Store University Store Settings In this lesson, you will learn about: Completing your Store Profile Down for maintenance, physical dimensions and SEO settings Display and image settings Time zone,

More information

Atomic Object Grand Rapids, Michigan, USA.

Atomic Object Grand Rapids, Michigan, USA. Atomic Object Grand Rapids, Michigan, USA atomicobject.com @atomicobject I m Carl Erickson, co-founder and President of Atomic Object I thought it might be good to give you a little context about my company

More information

RAIFFEISENBANK BULGARIA

RAIFFEISENBANK BULGARIA RAIFFEISENBANK BULGARIA IT thought leader chooses EMC XtremIO and VMware for groundbreaking VDI project OVERVIEW ESSENTIALS Industry Financial services Company Size Over 3,000 employees, assets of approximately

More information

Application parallelization for multi-core Android devices

Application parallelization for multi-core Android devices SOFTWARE & SYSTEMS DESIGN Application parallelization for multi-core Android devices Jos van Eijndhoven Vector Fabrics BV The Netherlands http://www.vectorfabrics.com MULTI-CORE PROCESSORS: HERE TO STAY

More information

I Shopping on mobile / KSA

I Shopping on mobile / KSA I Shopping on mobile / KSA Exploring how people use their smartphones for shopping activities Q3 2016 I About this study Background: Objective: Mobile apps and sites are a vital channel for advertisers

More information

CUSTOMER SUCCESS STORY GRIMME GRIMME IMPROVES WORKFLOWS AND REDUCES COSTS BY MORE THAN 40% WITH NVIDIA VIRTUAL GPU

CUSTOMER SUCCESS STORY GRIMME GRIMME IMPROVES WORKFLOWS AND REDUCES COSTS BY MORE THAN 40% WITH NVIDIA VIRTUAL GPU GRIMME IMPROVES WORKFLOWS AND REDUCES COSTS BY MORE THAN 40% WITH NVIDIA VIRTUAL GPU Cost efficiences inspire expanded rollout of virtualized workstations and desktops. ABOUT GRIMME FIVE REASONS FOR NVIDIA

More information

Your . A setup guide. Last updated March 7, Kingsford Avenue, Glasgow G44 3EU

Your  . A setup guide. Last updated March 7, Kingsford Avenue, Glasgow G44 3EU fuzzylime WE KNOW DESIGN WEB DESIGN AND CONTENT MANAGEMENT 19 Kingsford Avenue, Glasgow G44 3EU 0141 416 1040 hello@fuzzylime.co.uk www.fuzzylime.co.uk Your email A setup guide Last updated March 7, 2017

More information

Outline. Operating System Security CS 239 Computer Security February 23, Introduction. Server Machines Vs. General Purpose Machines

Outline. Operating System Security CS 239 Computer Security February 23, Introduction. Server Machines Vs. General Purpose Machines Outline Operating System Security CS 239 Computer Security February 23, 2004 Introduction Memory protection Interprocess communications protection File protection Page 1 Page 2 Introduction Why Is OS Security

More information

Case study on PhoneGap / Apache Cordova

Case study on PhoneGap / Apache Cordova Chapter 1 Case study on PhoneGap / Apache Cordova 1.1 Introduction to PhoneGap / Apache Cordova PhoneGap is a free and open source framework that allows you to create mobile applications in a cross platform

More information