Mobile Programming Lecture 15. Web APIs and Mashups

Size: px
Start display at page:

Download "Mobile Programming Lecture 15. Web APIs and Mashups"

Transcription

1 Mobile Programming Lecture 15 Web APIs and Mashups

2 Agenda Web APIs Creating your own Web API Mashups programmableweb.com Gamification

3 Web APIs - What are they? Data, data, data, there's data somewhere and I want to use it Google data, Facebook data, Twitter data, ESPN data, music data, movie data, my own data I don't want to see the data graphically, I just want to use it for my app!

4 Creating your own Web API Let's say you have a server, which hosts a very valuable database That is, the community sees your data as a money-maker VeryValuableTable Server

5 Creating your own Web API e.g. VeryValuableDatabase VeryValuableTable id fname lname password 1 Martin Brown mbrown@cs.fsu.edu *(&^==*&^% 2 Abe Lincoln VeryValuableTable Server

6 Creating your own Web API 1.Create a file on your server, e.g. api.php 2.Construct a query from the arguments to api.php, e.g. a. HTTP GET b. SELECT fname, lname from VeryValuableTable WHERE id = 1 1.return the data in JSON format

7 Creating your own Web API That's the basic idea Your API may also allow HTTP POST/PUT/DELETE There's a lot more to creating a Web API to consider Security Developer registration/api keys Web API Architecture Documentation for your API users Service for your API users etc...

8 Creating your own Web API Creating a REST API with PHP REST APIs RESTful

9 Web API Consumer versus Provider Using an existing Web API No need for a server Don't have to write server-side code Quicker way to communicate over the Internet Platform independent because of XML/JSON Creating your own Web API Full control over the data (you write the SQL queries) You can use your existing relational database for other purposes Data integrity This may be the way to go if you already have a sophisticated relational DB up and running May be a money-maker

10 Web API Consumer versus Provider Using an existing Web API API may have bugs, which you cannot fix API may be discontinued o face.com o x-stream.ly o Imagine if you were using the MySpace API in 2004! Terms of service may change o Google Translate used to be free! Creating your own Web API Need for maintenance / bug fixes Time consuming Have to really consider the cost

11 Communicating via the Internet Send JSON Read JSON Client A Read JSON Database / Custom Server Send JSON Client B

12 API Management Services "When launching and managing your API, many companies choose to do all the work themselves, unaware that there are service providers available to help you plan, deploy, launch and manage your API infrastructure and ecosystem" Source

13 Mashups A web mashup is a web page or application that combines data from two or more external online sources

14 Mashups A mashup is an application that combines multiple APIs to create a new service

15 Mashups A mashup is an application that combines multiple APIs to create a new service +

16 Mashups A mashup is an application that combines multiple APIs to create a new service +

17 Mashups A mashup is an application that combines multiple APIs to create a new service + =

18 Mashups A mashup is an application that combines multiple APIs to create a new service + =?

19 Mashups A mashup is an application that combines multiple APIs to create a new service + =

20 Mashups geogreeting is pretty cool

21 Mashups Mashups as a whole weren't doing too well back in 2007 Mashups are making a comeback o Google Now o Zapier o Any others?

22 programmableweb.com API Directory Mashup Directory

23 Some other Interesting Web APIs Media Information o The Movie Database o The OMDB Api o TheTVDB Music Information o last.fm Sports o ESPN Government

24 The Volley Library We can make HTTP gets the old fashioned way (HttpClient) A better method is the Volley class Uses a queue to perform automatic scheduling Supports concurrent network connections Prioritize and cancel requests Add to build.gradle: compile 'com.android.volley:volley:1.1.0'

25 The Volley Library public void runquery(view v) { RequestQueue queue = Volley.newRequestQueue(this); JsonObjectRequest jsonobjectrequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() public void onresponse(jsonobject response) { handleresponse(response); } }, new Response.ErrorListener() { public void onerrorresponse(volleyerror error) { mtextresults.settext(getstring(r.string.error_search)); } }); // Add request to the RequestQueue queue.add(jsonobjectrequest);

26 Gamification Which one of these would you consider fun? Changing a baby's diaper Clipping someone else's toenails Planting crops Waiting tables

27 Gamification Which one of these would you consider fun? Diaper Dash Sally's Salon Farmville Diner Dash

28 Gamification - a definition "the use of game design elements in non-game contexts", Deterding, Sebastian, Dan Dixon, and Rilla Khaled. "Gamification: Toward a definition."chi 2011 (2011):

29 Gamification Google Tech Talk on Gamification by Sebastian Detering Why I Quit Playing FourSquare by Arsenio Santos

30 References The Mobile Lab at Florida State University

Android development. Outline. Android Studio. Setting up Android Studio. 1. Set up Android Studio. Tiberiu Vilcu. 2.

Android development. Outline. Android Studio. Setting up Android Studio. 1. Set up Android Studio. Tiberiu Vilcu. 2. Outline 1. Set up Android Studio Android development Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 15 September 2017 2. Create sample app 3. Add UI to see how the design interface works 4. Add some code

More information

Android Volley Tutorial

Android Volley Tutorial Android Volley Tutorial by Kapil - Monday, May 16, 2016 http://www.androidtutorialpoint.com/networking/android-volley-tutorial/ YouTube Video Volley is an HTTP library developed by Google to ease networking

More information

APIs - what are they, really? Web API, Programming libraries, third party APIs etc

APIs - what are they, really? Web API, Programming libraries, third party APIs etc APIs - what are they, really? Web API, Programming libraries, third party APIs etc Different kinds of APIs Let s consider a Java application. It uses Java interfaces and classes. Classes and interfaces

More information

Effective Use of. Scott Weber

Effective Use of. Scott Weber Effective Use of Volley Scott Weber What is(n t) Volley? Volley is a library intended to take care of many of the commonly used, but more advanced networking issues for you. Extensible Battle-tested Good

More information

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist IBM Podcast [ MUSIC ] Welcome to this IBM podcast, Realizing More Value from Your IMS Compiler Upgrade. I'm Kimberly Gist with IBM. System z compilers continue to deliver the latest programming interfaces

More information

Want to make $50+/day

Want to make $50+/day Want to make $50+/day from CPALead? In first of all what CPALead is? The Company. CPALead, LLC is a performance-based, online advertising network that develops technologies to promote incentive-based advertisements

More information

Why Choose MS Azure?

Why Choose MS Azure? Why Choose MS Azure? Bio Dave Williams Cloud Architect AWS and Azure Expertise Agenda How to choose a public cloud service provider Microsoft Azure Strengths: Identity & Azure Active Directory Infrastructure

More information

Movie Explorer. Group Members: Name: Chen Wang JHED: cwang107 Section: 415 Name: Yang Xi JHED: yxi5 Section: 415. Domain Description:

Movie Explorer. Group Members: Name: Chen Wang JHED: cwang107 Section: 415 Name: Yang Xi JHED: yxi5 Section: 415. Domain Description: Movie Explorer Database Project (Phase II) Group Members: Name: Chen Wang JHED: cwang107 Section: 415 Name: Yang Xi JHED: yxi5 Section: 415 Domain Description: We are trying to build a movie explorer system

More information

Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras

Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 08 Tutorial 2, Part 2, Facebook API (Refer Slide Time: 00:12)

More information

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/...

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/... PROCE55 Mobile: Web API App PROCE55 Mobile with Test Web API App Web API App Example This example shows how to access a typical Web API using your mobile phone via Internet. The returned data is in JSON

More information

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the I'm Andy Glover and this is the Java Technical Series of the developerworks podcasts. My guest is Brian Jakovich. He is the director of Elastic Operations for Stelligent. He and I are going to talk about

More information

Development Technologies. Agenda: phpmyadmin 2/20/2016. phpmyadmin MySQLi. Before you can put your data into a table, that table should exist.

Development Technologies. Agenda: phpmyadmin 2/20/2016. phpmyadmin MySQLi. Before you can put your data into a table, that table should exist. CIT 736: Internet and Web Development Technologies Lecture 10 Dr. Lupiana, DM FCIM, Institute of Finance Management Semester 1, 2016 Agenda: phpmyadmin MySQLi phpmyadmin Before you can put your data into

More information

Easy Video Blogging and Marketing on Youtube! by Leslie Truex

Easy Video Blogging and Marketing on Youtube! by Leslie Truex Easy Video Blogging and Marketing on Youtube! by Leslie Truex NOTICE: You Do NOT Have the Right to Reprint or Resell this Report! You Also MAY NOT Give Away, Sell or Share the Content Herein If you obtained

More information

Ur/Web: A Simple Model for Programming the Web. Adam Chlipala MIT CSAIL POPL 2015 January 15, 2015

Ur/Web: A Simple Model for Programming the Web. Adam Chlipala MIT CSAIL POPL 2015 January 15, 2015 Ur/Web: A Simple Model for Programming the Web Adam Chlipala MIT CSAIL POPL 2015 January 15, 2015 Ur / Web Ur A new general-purpose typed functional language λ Web Tools for implementing modern three-tier

More information

Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting

Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting Slide 1: Cover Welcome to lesson 3 of the db2 on Campus lecture series. Today we're going to talk about tools and scripting, and this is part 1 of 2

More information

Improve Web Application Performance with Zend Platform

Improve Web Application Performance with Zend Platform Improve Web Application Performance with Zend Platform Shahar Evron Zend Sr. PHP Specialist Copyright 2007, Zend Technologies Inc. Agenda Benchmark Setup Comprehensive Performance Multilayered Caching

More information

Android Programming in Bluetooth Cochlea Group

Android Programming in Bluetooth Cochlea Group Android Programming in Bluetooth Cochlea Group Zijian Zhao Abstract: My project is mainly android programming work in the Bluetooth Cochlea Group. In this report I will first introduce the background of

More information

Using Deep Links for Growth. Phillip Nelson Director of Product, Quixey

Using Deep Links for Growth. Phillip Nelson Director of Product, Quixey Using Deep Links for Growth Phillip Nelson Director of Product, Quixey Mobile Deep Linking What are deep links? Why are deep links useful for developers? For users? How do I implement deep linking? What

More information

Nick Terkay CSCI 7818 Web Services 11/16/2006

Nick Terkay CSCI 7818 Web Services 11/16/2006 Nick Terkay CSCI 7818 Web Services 11/16/2006 Ning? Start-up co-founded by Marc Andreeson, the co- founder of Netscape. October 2005 Ning is an online platform for painlessly creating web apps in a jiffy.

More information

Open Lecture Mobile Programming. Firebase Tools

Open Lecture Mobile Programming. Firebase Tools Open Lecture Mobile Programming Firebase Tools Agenda Setup Firebase Authentication Firebase Database Firebase Cloud Messaging Setting up a new Firebase project Navigate to https://console.firebase.google.com/

More information

Copyright 2014 Blue Net Corporation. All rights reserved

Copyright 2014 Blue Net Corporation. All rights reserved a) Abstract: REST is a framework built on the principle of today's World Wide Web. Yes it uses the principles of WWW in way it is a challenge to lay down a new architecture that is already widely deployed

More information

How Do I Sync My Iphone To Another Computer Without Losing Everything

How Do I Sync My Iphone To Another Computer Without Losing Everything How Do I Sync My Iphone To Another Computer Without Losing Everything to transfer content from your current iphone, ipad, or ipod touch to another device. You should connect the device to itunes to sync

More information

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Slide 1: Cover Welcome to the speech, The role of DB2 in Web 2.0 and in the Information on Demand World. This is the second speech

More information

Stable currents. Nick Veenstra. Developing against the Pure API

Stable currents. Nick Veenstra. Developing against the Pure API Stable currents Nick Veenstra Developing against the Pure API From public libraries into Library Information Systems Development (at INFOR and TU/e) Research Information Specialist at Eindhoven University

More information

web.py Tutorial Tom Kelliher, CS 317 This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment.

web.py Tutorial Tom Kelliher, CS 317 This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment. web.py Tutorial Tom Kelliher, CS 317 1 Acknowledgment This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment. 2 Starting So you know Python and want to make

More information

If you re a Facebook marketer, you re likely always looking for ways to

If you re a Facebook marketer, you re likely always looking for ways to Chapter 1: Custom Apps for Fan Page Timelines In This Chapter Using apps for Facebook marketing Extending the Facebook experience Discovering iframes, Application Pages, and Canvas Pages Finding out what

More information

SCALING LIKE TWITTER WITH APACHE MESOS

SCALING LIKE TWITTER WITH APACHE MESOS Philip Norman & Sunil Shah SCALING LIKE TWITTER WITH APACHE MESOS 1 MODERN INFRASTRUCTURE Dan the Datacenter Operator Alice the Application Developer Doesn t sleep very well Loves automation Wants to control

More information

An Introduction to Big Data Formats

An Introduction to Big Data Formats Introduction to Big Data Formats 1 An Introduction to Big Data Formats Understanding Avro, Parquet, and ORC WHITE PAPER Introduction to Big Data Formats 2 TABLE OF TABLE OF CONTENTS CONTENTS INTRODUCTION

More information

How To Add Songs From Itunes To Iphone 5. Without Syncing >>>CLICK HERE<<<

How To Add Songs From Itunes To Iphone 5. Without Syncing >>>CLICK HERE<<< How To Add Songs From Itunes To Iphone 5 Without Syncing How to get music on and off your iphone or ipad, without using itunes odd new song on your device, without going through a lengthy sync, or if you've

More information

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2016

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2016 DATABASE SYSTEMS Introduction to MySQL Database System Course, 2016 AGENDA FOR TODAY Administration Database Architecture on the web Database history in a brief Databases today MySQL What is it How to

More information

2. What is Google App Engine. Overview Google App Engine (GAE) is a Platform as a Service (PaaS) cloud computing platform for developing and hosting web applications in Google-managed data centers. Google

More information

Developing Solutions for Google Cloud Platform (CPD200) Course Agenda

Developing Solutions for Google Cloud Platform (CPD200) Course Agenda Developing Solutions for Google Cloud Platform (CPD200) Course Agenda Module 1: Developing Solutions for Google Cloud Platform Identify the advantages of Google Cloud Platform for solution development

More information

We are assuming you have node installed!

We are assuming you have node installed! Node.js Hosting We are assuming you have node installed! This lesson assumes you've installed and are a bit familiar with JavaScript and node.js. If you do not have node, you can download and install it

More information

BEGINNER PHP Table of Contents

BEGINNER PHP Table of Contents Table of Contents 4 5 6 7 8 9 0 Introduction Getting Setup Your first PHP webpage Working with text Talking to the user Comparison & If statements If & Else Cleaning up the game Remembering values Finishing

More information

CS193X: Web Programming Fundamentals

CS193X: Web Programming Fundamentals CS193X: Web Programming Fundamentals Spring 2017 Victoria Kirst (vrk@stanford.edu) CS193X schedule Today - Middleware and Routes - Single-page web app - More MongoDB examples - Authentication - Victoria

More information

Serverless and APIs: Rethinking Curriculum in Higher Education. Munir Mandviwalla and Jeremy Shafer Temple University

Serverless and APIs: Rethinking Curriculum in Higher Education. Munir Mandviwalla and Jeremy Shafer Temple University Serverless and APIs: Rethinking Curriculum in Higher Education Munir Mandviwalla and Jeremy Shafer Temple University Serverless Serverless computing refers to the concept of building and running applications

More information

Uploading and Embedding Your Digital Story (YouTube/Wordpress Version)

Uploading and Embedding Your Digital Story (YouTube/Wordpress Version) Uploading and Embedding Your Digital Story (YouTube/Wordpress Version) If you were using digital stories in your classroom, you wouldn't even need to upload the videos to the Internet; you could just watch

More information

Developing Enterprise Cloud Solutions with Azure

Developing Enterprise Cloud Solutions with Azure Developing Enterprise Cloud Solutions with Azure Java Focused 5 Day Course AUDIENCE FORMAT Developers and Software Architects Instructor-led with hands-on labs LEVEL 300 COURSE DESCRIPTION This course

More information

THE LAUNCHER. Patcher, updater, launcher for Unity. Documentation file. - assetstore.unity.com/publishers/19358

THE LAUNCHER. Patcher, updater, launcher for Unity. Documentation file. - assetstore.unity.com/publishers/19358 THE LAUNCHER Patcher, updater, launcher for Unity. Documentation file Index: 1.What does the Launcher do? 2.Workflow 3.How to upload a build? 4.How to configure the launcher client? 1.What does the Launcher

More information

Introduce. Introduce. Download. Convert. Burn GIF. Play. Edit. Cast. > Brief Introduction. o Brief Introduction. o Download Online Video

Introduce. Introduce. Download. Convert. Burn GIF. Play. Edit. Cast. > Brief Introduction. o Brief Introduction. o Download Online Video Introduce o Brief Introduction Download o Download Online Video Convert o Convert HD Video Burn o Make ISO GIF o Create GIF Play o Play HD Video Edit o Trim video length o Crop video size o Adjust video

More information

ITP 342 Mobile App Development. APIs

ITP 342 Mobile App Development. APIs ITP 342 Mobile App Development APIs API Application Programming Interface (API) A specification intended to be used as an interface by software components to communicate with each other An API is usually

More information

PHP. MIT 6.470, IAP 2010 Yafim Landa

PHP. MIT 6.470, IAP 2010 Yafim Landa PHP MIT 6.470, IAP 2010 Yafim Landa (landa@mit.edu) LAMP We ll use Linux, Apache, MySQL, and PHP for this course There are alternatives Windows with IIS and ASP Java with Tomcat Other database systems

More information

Text transcript of show #280. August 18, Microsoft Research: Trinity is a Graph Database and a Distributed Parallel Platform for Graph Data

Text transcript of show #280. August 18, Microsoft Research: Trinity is a Graph Database and a Distributed Parallel Platform for Graph Data Hanselminutes is a weekly audio talk show with noted web developer and technologist Scott Hanselman and hosted by Carl Franklin. Scott discusses utilities and tools, gives practical how-to advice, and

More information

Introduction to Database Systems CSE 444. Lecture #1 March 26, 2007

Introduction to Database Systems CSE 444. Lecture #1 March 26, 2007 Introduction to Database Systems CSE 444 Lecture #1 March 26, 2007 1 About Me Dan Suciu: Joined the department in 2000 Before that: Bell Labs, AT&T Labs Research: Past: XML and semi-structured data: Query

More information

FULL STACK FLEX PROGRAM

FULL STACK FLEX PROGRAM UNIVERSITY OF RICHMOND CODING BOOT CAMP FULL STACK FLEX PROGRAM CURRICULUM OVERVIEW The digital revolution has transformed virtually every area of human activity and you can be part of it as a web development

More information

5 System architecture

5 System architecture 5 System architecture This chapter provides an overview of the system architecture. The first section presents a superficial explanation of the entire systems architecture. In section two, architectural

More information

With Dimo MTS Converter, you can convert MTS, M2TS, M2T, TS, AVCHD file from Sony, Panasonic, Canon and other AVCHD

With Dimo MTS Converter, you can convert MTS, M2TS, M2T, TS, AVCHD file from Sony, Panasonic, Canon and other AVCHD Introduce o Brief Introduction Download o Download Online Video Convert o Convert MTS/M2TS/AVCHD Burn o Make ISO GIF o Create GIF Play o Play MTS Video Edit o Trim video length o Crop video size o Adjust

More information

Read & Download (PDF Kindle) Programming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (C++, Javascript, PHP, Python, Sql,

Read & Download (PDF Kindle) Programming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (C++, Javascript, PHP, Python, Sql, Read & Download (PDF Kindle) Programming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (C++, Javascript, PHP, Python, Sql, HTML, Swift) Start Learning to Program in the C++ Language

More information

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel.

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel. Hi. I'm Prateek Baheti. I'm a developer at ThoughtWorks. I'm currently the tech lead on Mingle, which is a project management tool that ThoughtWorks builds. I work in Balor, which is where India's best

More information

Mobile Programming Lecture 1. Getting Started

Mobile Programming Lecture 1. Getting Started Mobile Programming Lecture 1 Getting Started Today's Agenda About the Android Studio IDE Hello, World! Project Android Project Structure Introduction to Activities, Layouts, and Widgets Editing Files in

More information

Internet and Mini.K.G Senior Scientist, FRAD, CMFRI

Internet and  Mini.K.G Senior Scientist, FRAD, CMFRI Internet and E-Mail Mini.K.G Senior Scientist, FRAD, CMFRI Email: mini.anish02@gmail.com 28 Introduction to Internet Internet is a worldwide system of interconnected computer networks. It connects several

More information

Web services CSCI 470: Web Science Keith Vertanen Copyright 2014

Web services CSCI 470: Web Science Keith Vertanen Copyright 2014 Web services CSCI 470: Web Science Keith Vertanen Copyright 2014 Web services Overview What does that mean? Why are they useful? Examples! Major interaction types REST SOAP 2 3 W3C says 1.4 What is a Web

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016 DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.

More information

MySQL. The Right Database for GIS Sometimes

MySQL. The Right Database for GIS Sometimes MySQL The Right Database for GIS Sometimes Who am I? Web/GIS Software Engineer with Cimbura.com BS in IT, MGIS Michael Moore I like making and using tools (digital or physical) GIS Web Services I m most

More information

Web services. CSCI 470: Web Science Keith Vertanen

Web services. CSCI 470: Web Science Keith Vertanen Web services CSCI 470: Web Science Keith Vertanen Web services Overview What does that mean? Why are they useful? Examples! Major interaction types REST SOAP 2 thanks Wikipedia 3 W3C says 1.4 What is a

More information

Serverless in the Java ecosystem

Serverless in the Java ecosystem Serverless in the Java ecosystem Pratik Patel Pratik PateL CTO Triplingo Java Champion JavaScript Troublemaker Python Hacker Founder, PERL recovery group WHAT IS SERVERLESS? ARCHITECTURE ECOSYSTEM SERVERLESS

More information

Augmented Reality with Java Platform, Micro Edition (Java ME Platform) Devices

Augmented Reality with Java Platform, Micro Edition (Java ME Platform) Devices Augmented Reality with Java Platform, Micro Edition (Java ME Platform) Devices Kenneth Andersson and Erik Hellman Sony Ericsson Mobile Communications 1 We like Twitter! > Follow us on @SonyEricssonDev

More information

CSE 454 Final Report TasteCliq

CSE 454 Final Report TasteCliq CSE 454 Final Report TasteCliq Samrach Nouv, Andrew Hau, Soheil Danesh, and John-Paul Simonis Goals Your goals for the project Create an online service which allows people to discover new media based on

More information

Patterns Of Enterprise Application Architecture

Patterns Of Enterprise Application Architecture Patterns Of Enterprise Application Architecture Lecture 11-12 - Outlines Overview of patterns Web Presentation Patterns Base Patterns Putting It All Together References Domain Logic Patterns Domain Model

More information

This Week on developerworks Push for ios, XQuery, Spark, CoffeeScript, top Rational content Episode date:

This Week on developerworks Push for ios, XQuery, Spark, CoffeeScript, top Rational content Episode date: This Week on developerworks Push for ios, XQuery, Spark, CoffeeScript, top Rational content Episode date: 02-15-2012 [ MUSIC ] LANINGHAM: Welcome to this week on developerworks. I'm Scott Laningham in

More information

Deploying to the Edge CouchDB

Deploying to the Edge CouchDB Deploying to the Edge CouchDB Apache Relax Who s Talking? J Chris Anderson / jchris@apache.org / @jchris PHP -> Rails -> JSON -> CouchDB Director, couch.io And You? Web developers? JavaScript coders? CouchDB

More information

Introduction to MySQL. Database Systems

Introduction to MySQL. Database Systems Introduction to MySQL Database Systems 1 Agenda Bureaucracy Database architecture overview SSH Tunneling Intro to MySQL Comments on homework 2 Homework #1 Submission date is on the website.. (No late arrivals

More information

Welcome to CS120 Fall 2012

Welcome to CS120 Fall 2012 Welcome to CS120 Fall 2012 John Magee (jmagee@clarku.edu) 1 Welcome to CS120 Computing is ubiquitous Daily life, news, ecommerce Sciences and engineering fields Social sciences, humanity, Arts, music,

More information

4s Instead Of Voice Control

4s Instead Of Voice Control Instructions On How To Get Siri On Iphone 4s Instead Of Voice Control Everything you need to know about setting up and using Siri on your iphone, ipod touch, and It's basically voice control that talks

More information

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id XML Processing & Web Services Husni Husni.trunojoyo.ac.id Based on Randy Connolly and Ricardo Hoar Fundamentals of Web Development, Pearson Education, 2015 Objectives 1 XML Overview 2 XML Processing 3

More information

Dimo MXF Converter provides users the best solution play, edit MXF files and import MXF/P2 MXF recordings shot by camcorders to

Dimo MXF Converter provides users the best solution play, edit MXF files and import MXF/P2 MXF recordings shot by camcorders to Introduce o Brief Introduction Download o Download Online Video Convert o Convert MXF Burn o Make ISO GIF o Create GIF Play o Play MXF Video Edit o Trim video length o Crop video size o Adjust video effect

More information

App Configuration: Updating the app after major website changes

App Configuration: Updating the app after major website changes App Configuration: Updating the app after major website changes Introduction If your website has been re-organized or you have a new website provider, your Mobile Communication App will need updating.

More information

Scaling DreamFactory

Scaling DreamFactory Scaling DreamFactory This white paper is designed to provide information to enterprise customers about how to scale a DreamFactory Instance. The sections below talk about horizontal, vertical, and cloud

More information

Personal Internet Security Basics. Dan Ficker Twin Cities DrupalCamp 2018

Personal Internet Security Basics. Dan Ficker Twin Cities DrupalCamp 2018 Personal Internet Security Basics Dan Ficker Twin Cities DrupalCamp 2018 Overview Security is an aspiration, not a state. Encryption is your friend. Passwords are very important. Make a back-up plan. About

More information

A function is a named piece of code that performs a specific task. Sometimes functions are called methods, procedures, or subroutines (like in LC-3).

A function is a named piece of code that performs a specific task. Sometimes functions are called methods, procedures, or subroutines (like in LC-3). CIT Intro to Computer Systems Lecture # (//) Functions As you probably know from your other programming courses, a key part of any modern programming language is the ability to create separate functions

More information

MySQL: Access Via PHP

MySQL: Access Via PHP MySQL: Access Via PHP CISC 282 November 15, 2017 phpmyadmin: Login http://cisc282.caslab. queensu.ca/phpmyadmin/ Use your NetID and CISC 282 password to log in 2 phpmyadmin: Select DB Clicking on this

More information

PHP: Cookies, Sessions, Databases. CS174. Chris Pollett. Sep 24, 2008.

PHP: Cookies, Sessions, Databases. CS174. Chris Pollett. Sep 24, 2008. PHP: Cookies, Sessions, Databases. CS174. Chris Pollett. Sep 24, 2008. Outline. How cookies work. Cookies in PHP. Sessions. Databases. Cookies. Sometimes it is useful to remember a client when it comes

More information

#jenkinsconf. Jenkins user plugin. This time it's. Jenkins User Conference Israel. Shiran JFrog

#jenkinsconf. Jenkins user plugin. This time it's. Jenkins User Conference Israel. Shiran JFrog Jenkins user plugin This time it's Shiran Rubin @ShiranRU JFrog http://jfrog.com July 16, 2014 About me Groovy developer in JFrog. The home of We work with: But support many others. It's time to There's

More information

Eventually Consistent HTTP with Statebox and Riak

Eventually Consistent HTTP with Statebox and Riak Eventually Consistent HTTP with Statebox and Riak Author: Bob Ippolito (@etrepum) Date: November 2011 Venue: QCon San Francisco 2011 1/62 Introduction This talk isn't really about web. It's about how we

More information

Microservices. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Microservices. SWE 432, Fall 2017 Design and Implementation of Software for the Web Micros SWE 432, Fall 2017 Design and Implementation of Software for the Web Today How is a being a micro different than simply being ful? What are the advantages of a micro backend architecture over a

More information

Authentication CS 4720 Mobile Application Development

Authentication CS 4720 Mobile Application Development Authentication Mobile Application Development System Security Human: social engineering attacks Physical: steal the server itself Network: treat your server like a 2 year old Operating System: the war

More information

Vodafone One Net Manager Quick Start Guide For users

Vodafone One Net Manager Quick Start Guide For users Vodafone One Net Manager Quick Start Guide For users Contents What is One Net Manager? 1 Supported browsers 1 Accessing One Net Manager 2 Viewing your available services 2 Your Call services page 3 Finding

More information

Web Security: Vulnerabilities & Attacks

Web Security: Vulnerabilities & Attacks Computer Security Course. Song Dawn Web Security: Vulnerabilities & Attacks Cross-site Scripting What is Cross-site Scripting (XSS)? Vulnerability in web application that enables attackers to inject client-side

More information

A Welcome to Federated Identity Nate Klingenstein, Internet2, USA. Prepared for the Matsuyama University, December 2013

A Welcome to Federated Identity Nate Klingenstein, Internet2, USA. Prepared for the Matsuyama University, December 2013 A Welcome to Federated Identity Nate Klingenstein, Internet2, USA Prepared for the Matsuyama University, December 2013 www.incommon.org Welcome to the presentation and thanks to our hosts What is Federated

More information

Who am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration

Who am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration Who am I? I m a python developer who has been working on OpenStack since 2011. I currently work for Aptira, who do OpenStack, SDN, and orchestration consulting. I m here today to help you learn from my

More information

So, why not start making some recommendations that will earn you some cash?

So, why not start making some recommendations that will earn you some cash? 1 Welcome To Our Affiliate Program! Thank you for your interest in becoming an affiliate with The Selling Family! We love our affiliates and look forward to working with you to help you earn some passive

More information

Detection of methods (or missing methods): Cleaning up some details of our implementation. Better Method Convention (1) --self

Detection of methods (or missing methods): Cleaning up some details of our implementation. Better Method Convention (1) --self Cleaning up some details of our implementation Dealing with missing methods The need for self -reference Dealing with tags Detection of methods (or missing methods): Use (no-method) to indicate that there

More information

CLIENT SERVER ARCHITECTURE:

CLIENT SERVER ARCHITECTURE: CLIENT SERVER ARCHITECTURE: Client-Server architecture is an architectural deployment style that describe the separation of functionality into layers with each segment being a tier that can be located

More information

OFFLINE MODE OF ANDROID

OFFLINE MODE OF ANDROID OFFLINE MODE OF ANDROID APPS @Ajit5ingh ABOUT ME new Presenter( Ajit Singh, github.com/ajitsing, www.singhajit.com, @Ajit5ingh ) AGENDA Why offline mode? What it takes to build an offline mode Architecture

More information

How To Launch A Campaign On MediaTraffic

How To Launch A Campaign On MediaTraffic How To Launch A Campaign On MediaTraffic Introduction: Here's a quote from their website under their about us section: "Media Traffic delivers permission-based contextual advertisements to Vomba Network

More information

DreamFactory Security Guide

DreamFactory Security Guide DreamFactory Security Guide This white paper is designed to provide security information about DreamFactory. The sections below discuss the inherently secure characteristics of the platform and the explicit

More information

Haskell in the Software Industry

Haskell in the Software Industry Haskell in the Software Industry What is Haskell? Haskell in a nutshell Haskell is a pure, non-strict, statically typed, garbage collected, general purpose, functional programming language. Early history

More information

Data Collection, Simple Storage (SQLite) & Cleaning

Data Collection, Simple Storage (SQLite) & Cleaning Data Collection, Simple Storage (SQLite) & Cleaning Duen Horng (Polo) Chau Georgia Tech CSE 6242 A / CS 4803 DVA Jan 15, 2013 Partly based on materials by Professors Guy Lebanon, Jeffrey Heer, John Stasko,

More information

Harnessing Java with Scala

Harnessing Java with Scala Harnessing Java with Scala OSCON 2010 July 21, 2010 Thomas Lockney @tlockney or thomas@lockney.net Trenton Lipscomb trentonl@amazon.com Introduction Understand the capabilities of sbt and Scala Demonstrate

More information

CS Homework 11

CS Homework 11 CS 328 - Homework 11 p. 1 Deadline CS 328 - Homework 11 Problem 4 (presenting something operational from Problem 3) is due during lab on Friday, April 29; the remainder of this homework is due by 11:59

More information

Lecture 2: SML Basics

Lecture 2: SML Basics 15-150 Lecture 2: SML Basics Lecture by Dan Licata January 19, 2012 I d like to start off by talking about someone named Alfred North Whitehead. With someone named Bertrand Russell, Whitehead wrote Principia

More information

AUDIENCE PARTICIPATION PORTION OF PROGRAM

AUDIENCE PARTICIPATION PORTION OF PROGRAM AUDIENCE PARTICIPATION PORTION OF PROGRAM PLEASE SET YOUR PHONES TO AIRPLANE MODE NOW OR TURN OFF PHONE S WI-FI HANDS-ON DEMO WON T BE POSSIBLE WITHOUT SUFFICIENT BANDWIDTH, WHICH IS VERY LIMITED IN THE

More information

Announcements. PS 3 is out (see the usual place on the course web) Be sure to read my notes carefully Also read. Take a break around 10:15am

Announcements. PS 3 is out (see the usual place on the course web) Be sure to read my notes carefully Also read. Take a break around 10:15am Announcements PS 3 is out (see the usual place on the course web) Be sure to read my notes carefully Also read SQL tutorial: http://www.w3schools.com/sql/default.asp Take a break around 10:15am 1 Databases

More information

UTILIZING THE NEW ALDA WEBSITE (CHAPTER LEADERS GROUP) PRESENTER: BRIAN JENSEN SEPTEMBER 16, 2016

UTILIZING THE NEW ALDA WEBSITE (CHAPTER LEADERS GROUP) PRESENTER: BRIAN JENSEN SEPTEMBER 16, 2016 UTILIZING THE NEW ALDA WEBSITE (CHAPTER LEADERS GROUP) PRESENTER: BRIAN JENSEN SEPTEMBER 16, 2016 Today I will be explaining the issues involved in fixing and upgrading our website, and how we can use

More information

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web Persistence & State SWE 432, Fall 2016 Design and Implementation of Software for the Web Today What s state for our web apps? How do we store it, where do we store it, and why there? For further reading:

More information

CS50 Quiz Review. November 13, 2017

CS50 Quiz Review. November 13, 2017 CS50 Quiz Review November 13, 2017 Info http://docs.cs50.net/2017/fall/quiz/about.html 48-hour window in which to take the quiz. You should require much less than that; expect an appropriately-scaled down

More information

Attacks Against Websites 3 The OWASP Top 10. Tom Chothia Computer Security, Lecture 14

Attacks Against Websites 3 The OWASP Top 10. Tom Chothia Computer Security, Lecture 14 Attacks Against Websites 3 The OWASP Top 10 Tom Chothia Computer Security, Lecture 14 OWASP top 10. The Open Web Application Security Project Open public effort to improve web security: Many useful documents.

More information

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2016

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2016 DATABASE SYSTEMS Introduction to MySQL Database System Course, 2016 AGENDA FOR TODAY Administration Database Architecture on the web Database history in a brief Databases today MySQL What is it How to

More information

Assignment: Seminole Movie Connection

Assignment: Seminole Movie Connection Assignment: Seminole Movie Connection Assignment Objectives: Building an application using an Application Programming Interface (API) Parse JSON data from an HTTP response message Use Ajax methods and

More information