SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Build your own Instagram Filters
with Javascript
May 2017
http://bit.ly/tf-filters
Please download Sublime Text & Firefox
Note
Sublime Text is the text editor we’ll be using. We’ll be
opening our HTML files in Firefox. Please make sure you
have both downloaded and installed.
About me
• Ivy Rueb
• Thinkful Community Manager
• Thinkful Graduate
The Assistance
• London Baker
• Thinkful Student
Now Tell Us About you
Your Name?
What brought you to the workshop tonight?
What programming languages have you used?
About us
Thinkful prepares students for web development & data
science jobs with 1-on-1 mentorship programs
Goals
• Set up static web page using Javascript
• HTML + Javascript basics
• Access third-party library in Javascript
• Build v1 of Instagram app
• Advanced challenges
The Starter Code
Download and unzip the starter files into a folder on
your desktop (four files in total). Open index.html and
index.js in Sublime Text.
http://bit.ly/tf-instagram-starter
Demo
Double-click on the index.html file and open it in Firefox
Demo
Click “Apply Filter” and the picture should change
Demo
Click “Revert Filter” to change the picture back
HTML overview
HTML is the content and structure of a webpage
It’s the skeleton of your website.
HTML tags
Every tag starts with a “less than” sign and ends with a
“greater than” sign
<html> #this is an HTML opening tag
<body> #this is a body opening tag
<h1>Hello world!</h1> #this is set of
H1 tags
</body> #this is a body closing tag
</html> #this is an HTML closing tag
More about tags
• There are opening tags and closing tags — closing tags
have a backslash before the tag name (</html> versus
<html>)
• Tags instruct a browser about the structure of our
website
• There are hundreds of built-in tags though you’ll use
the same few a lot
HTML attributes
HTML attributes set properties on an element — the are
attached in the opening tag
<a href=“https://somewhere.com">This is a
link</a>
href is an attribute that sets the destination of a link
<h1 id=“headline”>This is a headline</h1>
id is another attribute that identifies element (for CSS &
Javascript)
Basic functions
A function lets you separate your code into bite-sized
pieces which you can use over again.
When you write a function to use later, you are
“declaring” it. When you use (or run) that function you
are “calling” it.
Example
Declaring a function
function doSomething() {
alert(“Done!”);
}
Calling a function
doSomething();
More about basic functions
• Functions can save us time because we can use them
over and over code. They are like building blocks.
• Make your code more organized and easier to read
• Javascript has many built-in functions
• You’ll write many, many functions in your programs
Lets work through the rest of the HTML
Javascript overview
If HTML is the skeleton of a website, Javascript is the
brains. Javascript controls the behavior of our app We’ll
write our Javascript in the index.js file. We’ll then
import that file using a similar syntax.
Adding our functions to index.js
What is a third-party “library”?
In JavaScript, we can use third-party libraries to do
cool things. A third-party library is a JavaScript file that
contains a bunch of functions that someone else wrote
for us. There are a ton of these in every language.
The CamanJS Library
We’ll be using the CamanJS library (camanjs.com)
Importing the CamanJS library
The CamanJS library is included in your starter code.
You’ll import it with this syntax at the top of your
index.html file.
Documentation
How do we know what functions we can use? We could
look at the JavaScript file, if it's short, or better, we could
look at the documentation.
All common libraries will have documentation with a list
of available functions and/or real-world examples.
Note
A core part of being a developer is constantly learning
new languages, tools, libraries, and frameworks. They
will all be documented and you should get used to
finding answers through these resources.
Here’s an example
http://camanjs.com/guides/#BasicUsage
Our two functions
The right function is “called” when a button is clicked
Challenge #1
• Change out the example image with your own image
• Adjust the filter values in the example code to update
the filter.
• Make your own filter with at least one new property
(hint: look in built-in functionality)
Challenge #2
Instead of making your own filter, try using a built-in filter
Here’s a full list: vintage, lomo, clarity,
sinCity, sunrise, crossProcess, orangePeel,
love, grungy, barques, pinhole, oldBoot,
glowingSun, hazyDays, herMajest, nostalgia,
hemingway, concentrate
Challenge #3 (Advanced)
• Add more buttons, each one should add only one filter
• Try cropping your pictures to different sized frames
Instagram filters (8 24)
Instagram filters (8 24)
Instagram filters (8 24)
Instagram filters (8 24)
Instagram filters (8 24)
Instagram filters (8 24)

Más contenido relacionado

La actualidad más candente

Building a Simple Theme Framework
Building a Simple Theme FrameworkBuilding a Simple Theme Framework
Building a Simple Theme FrameworkJoe Casabona
 
Build a game with javascript (may 21 atlanta)
Build a game with javascript (may 21 atlanta)Build a game with javascript (may 21 atlanta)
Build a game with javascript (may 21 atlanta)Thinkful
 
Wordcamp Toronto Presentation
Wordcamp Toronto PresentationWordcamp Toronto Presentation
Wordcamp Toronto PresentationRoy Sivan
 
WordPress plugin development
WordPress plugin developmentWordPress plugin development
WordPress plugin developmentarryaas
 
Building reusable websites on Drupal 8: lessons learned from transforming red...
Building reusable websites on Drupal 8: lessons learned from transforming red...Building reusable websites on Drupal 8: lessons learned from transforming red...
Building reusable websites on Drupal 8: lessons learned from transforming red...Peter Vanhee
 
JavaScript Introduction
JavaScript IntroductionJavaScript Introduction
JavaScript IntroductionJainul Musani
 
Managing SharePoint Anywhere with Windows PowerShell
Managing SharePoint Anywhere with Windows PowerShellManaging SharePoint Anywhere with Windows PowerShell
Managing SharePoint Anywhere with Windows PowerShellRyan Dennis
 
A Beginner's Guide to Ember
A Beginner's Guide to EmberA Beginner's Guide to Ember
A Beginner's Guide to EmberRichard Martin
 
How I Learned to Stop Worrying and Backup WordPress
How I Learned to Stop Worrying and Backup WordPressHow I Learned to Stop Worrying and Backup WordPress
How I Learned to Stop Worrying and Backup WordPressChris Jean
 
Moving from PHP to a nodejs full stack CMS
Moving from PHP to a nodejs full stack CMSMoving from PHP to a nodejs full stack CMS
Moving from PHP to a nodejs full stack CMSMake & Build
 
WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016Octavio Andrés Cifuentes
 
WP 201 Custom Post Types - Custom Fields - WordCamp Columbus 2015
WP 201   Custom Post Types - Custom Fields - WordCamp Columbus 2015WP 201   Custom Post Types - Custom Fields - WordCamp Columbus 2015
WP 201 Custom Post Types - Custom Fields - WordCamp Columbus 2015Joe Querin
 
Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8Peter Vanhee
 
Cakefest higher education
Cakefest higher educationCakefest higher education
Cakefest higher educationtherealphpdiddy
 
Cool Tools for Customizing (Websites) - Ver1
Cool Tools for Customizing (Websites) - Ver1Cool Tools for Customizing (Websites) - Ver1
Cool Tools for Customizing (Websites) - Ver1Kristina McInerny
 
WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a ServiceAndrew Bauer
 

La actualidad más candente (20)

Building a Simple Theme Framework
Building a Simple Theme FrameworkBuilding a Simple Theme Framework
Building a Simple Theme Framework
 
Build a game with javascript (may 21 atlanta)
Build a game with javascript (may 21 atlanta)Build a game with javascript (may 21 atlanta)
Build a game with javascript (may 21 atlanta)
 
SASS for WordPress Workshop
SASS for WordPress WorkshopSASS for WordPress Workshop
SASS for WordPress Workshop
 
Wordcamp Toronto Presentation
Wordcamp Toronto PresentationWordcamp Toronto Presentation
Wordcamp Toronto Presentation
 
WordPress plugin development
WordPress plugin developmentWordPress plugin development
WordPress plugin development
 
Building reusable websites on Drupal 8: lessons learned from transforming red...
Building reusable websites on Drupal 8: lessons learned from transforming red...Building reusable websites on Drupal 8: lessons learned from transforming red...
Building reusable websites on Drupal 8: lessons learned from transforming red...
 
JavaScript Introduction
JavaScript IntroductionJavaScript Introduction
JavaScript Introduction
 
Managing SharePoint Anywhere with Windows PowerShell
Managing SharePoint Anywhere with Windows PowerShellManaging SharePoint Anywhere with Windows PowerShell
Managing SharePoint Anywhere with Windows PowerShell
 
A Beginner's Guide to Ember
A Beginner's Guide to EmberA Beginner's Guide to Ember
A Beginner's Guide to Ember
 
How I Learned to Stop Worrying and Backup WordPress
How I Learned to Stop Worrying and Backup WordPressHow I Learned to Stop Worrying and Backup WordPress
How I Learned to Stop Worrying and Backup WordPress
 
ITT Flisol 2013
ITT Flisol 2013ITT Flisol 2013
ITT Flisol 2013
 
Moving from PHP to a nodejs full stack CMS
Moving from PHP to a nodejs full stack CMSMoving from PHP to a nodejs full stack CMS
Moving from PHP to a nodejs full stack CMS
 
WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016WordPress Multilingual: WordCamp Antwerp 2016
WordPress Multilingual: WordCamp Antwerp 2016
 
Keystone.js 101
Keystone.js 101Keystone.js 101
Keystone.js 101
 
WP 201 Custom Post Types - Custom Fields - WordCamp Columbus 2015
WP 201   Custom Post Types - Custom Fields - WordCamp Columbus 2015WP 201   Custom Post Types - Custom Fields - WordCamp Columbus 2015
WP 201 Custom Post Types - Custom Fields - WordCamp Columbus 2015
 
Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8
 
Tf ffccjs
Tf ffccjsTf ffccjs
Tf ffccjs
 
Cakefest higher education
Cakefest higher educationCakefest higher education
Cakefest higher education
 
Cool Tools for Customizing (Websites) - Ver1
Cool Tools for Customizing (Websites) - Ver1Cool Tools for Customizing (Websites) - Ver1
Cool Tools for Customizing (Websites) - Ver1
 
WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a Service
 

Similar a Instagram filters (8 24)

Build Your Own Instagram Filters
Build Your Own Instagram FiltersBuild Your Own Instagram Filters
Build Your Own Instagram FiltersTJ Stalcup
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentEvan Mullins
 
Intro javascript build a scraper (3:22)
Intro javascript   build a scraper (3:22)Intro javascript   build a scraper (3:22)
Intro javascript build a scraper (3:22)Thinkful
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!Evan Mullins
 
Basics java scripts
Basics java scriptsBasics java scripts
Basics java scriptsch samaram
 
Build a game with javascript (april 2017)
Build a game with javascript (april 2017)Build a game with javascript (april 2017)
Build a game with javascript (april 2017)Thinkful
 
Web component driven development
Web component driven developmentWeb component driven development
Web component driven developmentGil Fink
 
Java script tutorial
Java script tutorialJava script tutorial
Java script tutorialSon Nguyen
 
JavaScript - Getting Started.pptx
JavaScript - Getting Started.pptxJavaScript - Getting Started.pptx
JavaScript - Getting Started.pptxJonnJorellPunto
 
JS BASICS JAVA SCRIPT SCRIPTING
JS BASICS JAVA SCRIPT SCRIPTINGJS BASICS JAVA SCRIPT SCRIPTING
JS BASICS JAVA SCRIPT SCRIPTINGArulkumar
 
How to create your own WordPress plugin
How to create your own WordPress pluginHow to create your own WordPress plugin
How to create your own WordPress pluginJohn Tighe
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
Dita for the web: Make Adaptive Content Simple for Writers and Developer
Dita for the web: Make Adaptive Content Simple for Writers and DeveloperDita for the web: Make Adaptive Content Simple for Writers and Developer
Dita for the web: Make Adaptive Content Simple for Writers and DeveloperDon Day
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application developmentzonathen
 
Presentation 1 Web--dev
Presentation 1 Web--devPresentation 1 Web--dev
Presentation 1 Web--devaltsav
 

Similar a Instagram filters (8 24) (20)

Welcome to React.pptx
Welcome to React.pptxWelcome to React.pptx
Welcome to React.pptx
 
Build Your Own Instagram Filters
Build Your Own Instagram FiltersBuild Your Own Instagram Filters
Build Your Own Instagram Filters
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
 
Intro javascript build a scraper (3:22)
Intro javascript   build a scraper (3:22)Intro javascript   build a scraper (3:22)
Intro javascript build a scraper (3:22)
 
Javascript best practices
Javascript best practicesJavascript best practices
Javascript best practices
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
 
Basics java scripts
Basics java scriptsBasics java scripts
Basics java scripts
 
Build a game with javascript (april 2017)
Build a game with javascript (april 2017)Build a game with javascript (april 2017)
Build a game with javascript (april 2017)
 
Web component driven development
Web component driven developmentWeb component driven development
Web component driven development
 
Java script tutorial
Java script tutorialJava script tutorial
Java script tutorial
 
Joomla tempates talk
Joomla tempates talkJoomla tempates talk
Joomla tempates talk
 
JavaScript - Getting Started.pptx
JavaScript - Getting Started.pptxJavaScript - Getting Started.pptx
JavaScript - Getting Started.pptx
 
JS BASICS JAVA SCRIPT SCRIPTING
JS BASICS JAVA SCRIPT SCRIPTINGJS BASICS JAVA SCRIPT SCRIPTING
JS BASICS JAVA SCRIPT SCRIPTING
 
How to create your own WordPress plugin
How to create your own WordPress pluginHow to create your own WordPress plugin
How to create your own WordPress plugin
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
Javascript mynotes
Javascript mynotesJavascript mynotes
Javascript mynotes
 
Dita for the web: Make Adaptive Content Simple for Writers and Developer
Dita for the web: Make Adaptive Content Simple for Writers and DeveloperDita for the web: Make Adaptive Content Simple for Writers and Developer
Dita for the web: Make Adaptive Content Simple for Writers and Developer
 
Overview of PHP and MYSQL
Overview of PHP and MYSQLOverview of PHP and MYSQL
Overview of PHP and MYSQL
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
 
Presentation 1 Web--dev
Presentation 1 Web--devPresentation 1 Web--dev
Presentation 1 Web--dev
 

Más de Ivy Rueb

Getting Started in Tech
Getting Started in TechGetting Started in Tech
Getting Started in TechIvy Rueb
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-33-82-317
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-33-82-317Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-33-82-317
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-33-82-317Ivy Rueb
 
Build your Own Twitter bot 09/20
Build your Own Twitter bot 09/20Build your Own Twitter bot 09/20
Build your Own Twitter bot 09/20Ivy Rueb
 
Intro To JavaScript
Intro To JavaScriptIntro To JavaScript
Intro To JavaScriptIvy Rueb
 
Instagram filters (10-5)
Instagram filters (10-5)Instagram filters (10-5)
Instagram filters (10-5)Ivy Rueb
 
Build Own Website
Build Own WebsiteBuild Own Website
Build Own WebsiteIvy Rueb
 
Build a Game with Javascript
Build a Game with Javascript Build a Game with Javascript
Build a Game with Javascript Ivy Rueb
 
Frontend Crash Coarse 09/28
Frontend Crash Coarse 09/28Frontend Crash Coarse 09/28
Frontend Crash Coarse 09/28Ivy Rueb
 
Intro To JavaScript
Intro To JavaScriptIntro To JavaScript
Intro To JavaScriptIvy Rueb
 
Build a Virtual Pet with Javascript
Build a Virtual Pet with JavascriptBuild a Virtual Pet with Javascript
Build a Virtual Pet with JavascriptIvy Rueb
 
Build a Web App with Javascript and Jquery 09/19
Build a Web App with Javascript and Jquery 09/19Build a Web App with Javascript and Jquery 09/19
Build a Web App with Javascript and Jquery 09/19Ivy Rueb
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-81
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-81Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-81
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-81Ivy Rueb
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74Ivy Rueb
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74Ivy Rueb
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72 (1)
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72 (1)Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72 (1)
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72 (1)Ivy Rueb
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72Ivy Rueb
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66Ivy Rueb
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-57 (2)
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-57 (2)Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-57 (2)
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-57 (2)Ivy Rueb
 

Más de Ivy Rueb (20)

Getting Started in Tech
Getting Started in TechGetting Started in Tech
Getting Started in Tech
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-33-82-317
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-33-82-317Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-33-82-317
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-33-82-317
 
Build your Own Twitter bot 09/20
Build your Own Twitter bot 09/20Build your Own Twitter bot 09/20
Build your Own Twitter bot 09/20
 
Intro To JavaScript
Intro To JavaScriptIntro To JavaScript
Intro To JavaScript
 
Instagram filters (10-5)
Instagram filters (10-5)Instagram filters (10-5)
Instagram filters (10-5)
 
Build Own Website
Build Own WebsiteBuild Own Website
Build Own Website
 
Build a Game with Javascript
Build a Game with Javascript Build a Game with Javascript
Build a Game with Javascript
 
Frontend Crash Coarse 09/28
Frontend Crash Coarse 09/28Frontend Crash Coarse 09/28
Frontend Crash Coarse 09/28
 
Intro To JavaScript
Intro To JavaScriptIntro To JavaScript
Intro To JavaScript
 
Build a Virtual Pet with Javascript
Build a Virtual Pet with JavascriptBuild a Virtual Pet with Javascript
Build a Virtual Pet with Javascript
 
Build a Web App with Javascript and Jquery 09/19
Build a Web App with Javascript and Jquery 09/19Build a Web App with Javascript and Jquery 09/19
Build a Web App with Javascript and Jquery 09/19
 
Deck 6-80
Deck 6-80Deck 6-80
Deck 6-80
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-81
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-81Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-81
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-81
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72 (1)
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72 (1)Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72 (1)
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72 (1)
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-25-72
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-13-66
 
Deck 4-67
Deck 4-67Deck 4-67
Deck 4-67
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-57 (2)
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-57 (2)Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-57 (2)
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-57 (2)
 

Último

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Instagram filters (8 24)

  • 1. Build your own Instagram Filters with Javascript May 2017 http://bit.ly/tf-filters Please download Sublime Text & Firefox
  • 2. Note Sublime Text is the text editor we’ll be using. We’ll be opening our HTML files in Firefox. Please make sure you have both downloaded and installed.
  • 3. About me • Ivy Rueb • Thinkful Community Manager • Thinkful Graduate
  • 4. The Assistance • London Baker • Thinkful Student
  • 5. Now Tell Us About you Your Name? What brought you to the workshop tonight? What programming languages have you used?
  • 6. About us Thinkful prepares students for web development & data science jobs with 1-on-1 mentorship programs
  • 7. Goals • Set up static web page using Javascript • HTML + Javascript basics • Access third-party library in Javascript • Build v1 of Instagram app • Advanced challenges
  • 8. The Starter Code Download and unzip the starter files into a folder on your desktop (four files in total). Open index.html and index.js in Sublime Text. http://bit.ly/tf-instagram-starter
  • 9. Demo Double-click on the index.html file and open it in Firefox
  • 10. Demo Click “Apply Filter” and the picture should change
  • 11. Demo Click “Revert Filter” to change the picture back
  • 12. HTML overview HTML is the content and structure of a webpage It’s the skeleton of your website.
  • 13. HTML tags Every tag starts with a “less than” sign and ends with a “greater than” sign <html> #this is an HTML opening tag <body> #this is a body opening tag <h1>Hello world!</h1> #this is set of H1 tags </body> #this is a body closing tag </html> #this is an HTML closing tag
  • 14. More about tags • There are opening tags and closing tags — closing tags have a backslash before the tag name (</html> versus <html>) • Tags instruct a browser about the structure of our website • There are hundreds of built-in tags though you’ll use the same few a lot
  • 15. HTML attributes HTML attributes set properties on an element — the are attached in the opening tag <a href=“https://somewhere.com">This is a link</a> href is an attribute that sets the destination of a link <h1 id=“headline”>This is a headline</h1> id is another attribute that identifies element (for CSS & Javascript)
  • 16. Basic functions A function lets you separate your code into bite-sized pieces which you can use over again. When you write a function to use later, you are “declaring” it. When you use (or run) that function you are “calling” it.
  • 17. Example Declaring a function function doSomething() { alert(“Done!”); } Calling a function doSomething();
  • 18. More about basic functions • Functions can save us time because we can use them over and over code. They are like building blocks. • Make your code more organized and easier to read • Javascript has many built-in functions • You’ll write many, many functions in your programs
  • 19. Lets work through the rest of the HTML
  • 20. Javascript overview If HTML is the skeleton of a website, Javascript is the brains. Javascript controls the behavior of our app We’ll write our Javascript in the index.js file. We’ll then import that file using a similar syntax.
  • 21. Adding our functions to index.js
  • 22. What is a third-party “library”? In JavaScript, we can use third-party libraries to do cool things. A third-party library is a JavaScript file that contains a bunch of functions that someone else wrote for us. There are a ton of these in every language.
  • 23. The CamanJS Library We’ll be using the CamanJS library (camanjs.com)
  • 24. Importing the CamanJS library The CamanJS library is included in your starter code. You’ll import it with this syntax at the top of your index.html file.
  • 25. Documentation How do we know what functions we can use? We could look at the JavaScript file, if it's short, or better, we could look at the documentation. All common libraries will have documentation with a list of available functions and/or real-world examples.
  • 26. Note A core part of being a developer is constantly learning new languages, tools, libraries, and frameworks. They will all be documented and you should get used to finding answers through these resources.
  • 28. Our two functions The right function is “called” when a button is clicked
  • 29. Challenge #1 • Change out the example image with your own image • Adjust the filter values in the example code to update the filter. • Make your own filter with at least one new property (hint: look in built-in functionality)
  • 30. Challenge #2 Instead of making your own filter, try using a built-in filter Here’s a full list: vintage, lomo, clarity, sinCity, sunrise, crossProcess, orangePeel, love, grungy, barques, pinhole, oldBoot, glowingSun, hazyDays, herMajest, nostalgia, hemingway, concentrate
  • 31. Challenge #3 (Advanced) • Add more buttons, each one should add only one filter • Try cropping your pictures to different sized frames