AGENDA
• Quick review of class 1 – go over homework from last week
• Presentation on project ideas from CanAssist
• Discussion of project 1, IP agreements, etc
• Why do SEO?
• History of search engines
• The mechanics of current SEO practices
• Lab exercises
• Homework and discuss the upcoming project 1
CLASS 1 REVIEW
• Slideshare.net/derekja has the class slides
• Particularly if you missed last week, please review that material
• We looked in the homework at your laptop to make sure that you have enough hard disk space and
RAM to install the software we need
• You should also have installed git bash to get ready for today’s class. Anyone run into problems with
that?
CANASSIST
• Uvic-based organization to provide assistive technologies
• Invited them in to pitch some project ideas so that the thing you build can be more than an exercise!
PROJECT 1
• If you choose one of the CanAssist topics:
• You’ll need to sign an IP agreement so that they can use it
• You’ll form a group with those others that are interested in that topic, or if larger than 3-4 people break into
smaller groups. More than one group on the same topic is fine since you’ll come up with different designs.
• Presentation on Jan 25th will be graded (out of 15) as
• 3 points for analysis of users and showing fit to the proposal requirements (does it match the requirements?)
• 5 points for presentation of compelling user stories (will people want to use it?)
• 5 points for website design and usability (will they be able to use it?)
• 2 points for presenting a scoped-down subset of the full design that is achievable for projects 2 and 3 (will you be able to
build it?)
PROJECT 1
• If you choose a project of your own rather than a CanAssist project
• No IP agreement, obviously. The work is yours, but do be aware of disclosure.
• Groups should be 3-4 people. 2 in a pinch, 5 if necessary. No 1 person projects will be allowed.
• Grading (out of 15) for the Jan 25th presentation:
• 3 points for a compelling idea, supported by market analysis (will it be viable?)
• 5 points for compelling user stories (will people want to use it?)
• 5 points for website design and usability (will they be able to use it?)
• 2 points for a scoped-down subset for projects 2 and 3 (will you be able to build it?)
FINDING CUSTOMERS
• At one point, finding customers was a non-
issue
• Towns were small, customers were local
• If you sold something people wanted, they’d
find you
• But with such a small customer base you
need to sell only things everyone wants
• “If we don’t have it, you don’t need it!”
SALES OUTSIDE YOUR IMMEDIATE NETWORK
• If people don’t find you, you have to find them
• Outbound sales
• Cold Calling
• This is not fun!!!
PAID ADS AS OUTBOUND SALES
• Today’s topic is organic search results, also known as natural search results
• But automated outbound methods are still important
• Next week we’ll talk all about paid advertising and pay-per-click
• It’s all about “qualifying” the customer. Making sure that they are a good target for your ads before you
spend money on reaching them
INBOUND IS BETTER
• When your customers find you, they do the work
• By the time they reach your site they have qualified themselves
THE LONG TAIL
• The book is getting a little bit dated
• It was one of the first systematic analyses of why the
web enables specialty products to dominate
• Since a website has very little marginal cost to add a
new product, and storage of that product is in a
warehouse not an expensive storefront, consumers
can suddenly get exactly what they want
GOOGLE KNOWS!
• They know what people are searching for
• They know what kind of content people want
• It’s in their interest to tell you
• But they also know when you’re cheating!
• So since you eventually want a page that searches well and has the content you users are looking for,
it’s just easier to start with SEO
• http://searchengineland.com/seotable
ON THE PAGE
• Content quality
• Is there enough content? Is it relevant?
• Site architecture
• Crawlable? Robots.txt? Sitemap?
• HTML
• Tags well-formed? Titles relevant? Keywords?
• http://blog.halfabubbleout.com/blog/bid/263765/SEO-Basics-How-to-Add-Keywords-to-a-Website
OFF THE PAGE
• Trust
• Reputable site, not brand new, well=known
• Links
• Particularly from trusted sites
• Personal
• Location, browsing history
• Social
• Social media. Youtube is huge.
ANALYTICS
• Let’s look at the test account for some interesting examples
• Instructions are at https://support.google.com/analytics/answer/6367342
ANALYTICS EXERCISE
• Using the demo account explore google analytics and report back to the group on a surprising thing you
found
GOOD VERSUS BAD WEBSITES
• Huge field. This is just scratching the surface, we’ll go into more detail later
• Essence is that the website is tuned to the intended user
• But there are some general principles:
• Make it simple (but not too simple)
• Know your user
• More detail at https://www.interaction-design.org/literature/article/bad-design-vs-good-design-5-
examples-we-can-learn-frombad-design-vs-good-design-5-examples-we-can-learn-from-130706 (and
many other places, of course)
GITHUB AND GITHUB PAGES
• Source code control is the essence of modern website development
• Never develop anything that is not in a repository
• Safer – can track changes and prevent accidental loss
• Portable – can develop on multiple machines
• Workflow – can share development with other people
• Portfolio – employers look at github
INSTALLING GIT AND GIT BASH
• Windows
• Download from https://git-scm.com/download/win
• Run to install
• Open the “git bash” desktop app
• Mac
• Might already be there ($ git –version)
• If not, you can get an installed from https://sourceforge.net/projects/git-osx-installer/files/
• Or use homebrew, “brew install git” then check the version
SOURCE CODE CONTROL
• Github, Gitlab, SVN +many, many proprietary solutions that you’ll never use (if you’re lucky!)
• We will focus on github
• Gitlab is very similar, based on GIT
• “Global Information Tracker”? Other less savory acronyms
• May not stand for anything other than not having a UNIX command named git previously and kind of
sounding like “get”
• Written by Linus Torvalds (of Linux fame) to manage linux sources
USING GIT
• Avoid most of the GUI tools!
• They may be easier initially but they will eventually get in your way
• Technically called a “BASH” terminal in the version I’ll be having you install
THE GIT BASH TERMINAL
• Demo of git in a bash terminal (https://www.youtube.com/watch?v=DQUcmNO4diQ we’ll
probably do this live, but if you want a refresher later this video is decent. Longer one at
https://www.youtube.com/watch?v=HVsySz-h9r4 is even better)
ESSENTIAL GIT COMMANDS
• In a bash shell, create a new directory (mkdir untangling)
• Create a new repository in the github.com website (or use git init if you want to do it locally)
• Clone that repository to your local machine (git clone $projectpath)
• Edit or add a file using an editor (I like visual studio code - http://code.visualstudio.com/)
• Make sure git picked up the change (git status)
• Add the file (git add $filename)
• Commit the add (git commit –m “message”)
• Push the commit to github (git push origin master)
SHORT GIT TUTORIAL WALKTHROUGH
• May or may not have time to walk through this in class
• https://www.atlassian.com/git/tutorials/using-branches
GITHUB PAGES
• Just an easy way to use a webserver for free!
• That is driven from a source-code controlled environment
• https://www.youtube.com/watch?v=FiOgz3nKpgk (again, we’ll probably go through this live, but this if
you don’t remember what we did here’s a run-through)
• Personal and project pages, we’ll mostly use project pages
• Use by cloning or forking a project and then turning on github pages. Whatever is in index.html will get
served up!
• Few extra steps for a custom URL
HOMEWORK
• Paul Graham, the founder of Y Combinator, was lambasted for poor website design
http://www.webpagesthatsuck.com/worst-websites-of-2014.html
• Find the 5 most important things that could be improved about Paul Graham’s website at
http://paulgraham.com/
• Base your suggestions on https://www.interaction-design.org/literature/article/bad-design-vs-good-
design-5-examples-we-can-learn-frombad-design-vs-good-design-5-examples-we-can-learn-from-
130706 and the SEO periodic table
• Create a github project, from the command line put a newly edited text file into it, and send me a link
• Submit homeworks to me by email at derekja@gmail.com by the start of next week’s class
GETTING READY FOR NEXT WEEK
• Main topic for next week is advertising. We have a guest as well to expand on SEO.
• But getting ready for the html classes is going to take a bit of time.
• You already have a github account, so try making your first page on github pages
https://pages.github.com/
• If you like, start editing html. There are lots of editors, but a nice graphical site is https://html-
online.com/
• Finally, not all of you are on the slack channel. Send me email at derekja@gmail.com to be added.
• Slack is the main place to ask questions and start discussions. You’ll also want to be on there to start
finding group members for the project.