ad hoc wireless hot spots: Android devices 78–80; Apple OS X 71–2; iOS devices 76–8; Windows 73–6
analytics 18–19; big data 181; event tracking 179; fact-based decisions 181–2; Google Analytics 160, 163–80; reporting 18; value of 158–60
analytics-driven design 160; device brand/name 161; operating systems 161–2; project decision-making 162; screen sizes 161
Android devices: ad hoc wireless hot spots 78–80; operating system 62; testing 62; web browsers 61
Apache web server: advanced use 51–2; alternatives to 58–9; Apple OS X 34–9; beginning use 36, 47–8; bundled 58; designers 27–8; installing 34–6, 40–7, 58; intermediate use 37–9, 49–51; shared networks 62; stopping 54–6; upgrades 57; value of 31–3, 59; virtual hosting 85–94; Windows 39–47 see also localhost
API see application programming interface
Apple iOS Simulator 26
Apple OS X 31; ad hoc wireless hot spots 71–2; Apache web server 34–9; folder permissions 97–8; mobile devices 63–5; PhantomJS 186; Ruby 153; stopping Apache 55; text editors 54; upgrades 57; virtual hosts 86–9
application programming interface (API) 190
artists and designers 8; CSS and 137; programmers and 28
Assembla 114
Beyond Compare 205
binary files 53
Bitbucket 114
Bootstrap 156
bugs: detecting 6, 12, 17, 26, 84, 119; testing 68–9; types of 31; visual 205
cascading style sheets see CSS
CasperJS 206
Catmull, Ed 96
change: program optimization for 12–13; source code 13
Chapman, Gary 21
ChartBeat 180
Chrome see Google Chrome
Clicky 180
client-side code: artists and designers 27; web browsers 27
cloud-based hosting services 95; automatic backups 97; website files 96–7
cloud computing 34
CloudForge 114
code-inspection tools 6
CodePen 15
CodePlex 114
code slams 69
community-based websites 208–9
community tools 155
composition 157
configuration files 52
cookies 70
creative leaders 8; client demos 86; collaboration 160; libraries 152; team building 16–17, 19, 22; team delivery 24, 30
cross-platform scripting tools 211
CSS 53; client-facing experience 137; editing 129–30; errors 205; improving 137–8, 140; LESS 156; limitations of 140–1; preprocessors 137–8; Sass 137–8, 140–5, 149–57; Stylus 156; testing 33
customer-facing web servers 26, 33–4
CVS 114
data centers 34
debugging 5–7, 26, 118, 155, 179
DeMarco, Tom 82
Derby, Esther 17
designers see artists and designers
desktop computers: localhost 30; shared networks 68–9
developer tools: elements 128–9; geolocation coordinates 127–8; mobile emulation 119–22; network 123–5, 132–3; Sass 138; sources 130–1; styles 129–30
distributed systems 105
DNS servers see domain name system (DNS) servers
domain name system (DNS) servers 63, 89, 94
Dropbox 96
e-commerce transactions 180
employees: GitHub accounts 105; hiring 105
emulating production 6
encapsulation 157
Facebook, social coding 115
flow 29
functions 144
funnel conversions 180
gaug.es 180
Gecko 206
Git: apps 107–8; command line 105, 107; new files 108; public projects 109–10; source code revisions 104
GitHub 13–14, 100–1; alternatives to 114; client 106; cloning 107–8, 110, 112, 115; distributed system 105; new projects 111–12; social interface 106; stand-alone apps 106–7; tools 112–13; web interface 102–4
Google Analytics 160; adding 163; alternatives to 180; big data 164; custom reporting 166–78; dashboard 164–5; debugging 178–9; event tracking 179; filtered reporting 165; funnel conversions 180; mobile-specific 165; transactions 180
Google Analytics Debugger Chrome plugin 179
Google Chrome: collaboration 134; debuggers 118; developer tools 117–33, 136, 155; source map 155; touch events 120
Google Drive 96
Gothelf, Jeff 159
graphical user interfaces (GUIs) 105, 107, 155, 205 see also user interfaces
hardware 34
headless website testing 185
hierarchy 157
hosting companies: dedicated hardware 94; source code 114; virtual hosting 94–5
HTML 53; client-facing experience 137; editing 129; testing 33; web servers 27
HTTP 27
HTTPS 26
hypertext transfer protocol see HTTP
integrated development environment (IDE) 107
Internet Explorer: developer tools 135; testing 31
Internet Information Server (IIS) 59
iOS devices, ad hoc wireless hot spots 76–8
IP addresses 62–5, 71–2, 89, 94
iPads 27
Jasmine 185
JavaScript 27, 53, 206; client-facing experience 137; LESS 156; PhantomJS 185–7; testing 33; writing 131
JPEG files 202
Kaleidoscope 205
Kersley, Matt 101
Kissmetrics 180
LAMP 58
latency 123
leaders, creative see creative leaders
lean startup and user experience (UX) movement 181
libraries: benefits of 151–2; GitHub 113; jQuery 100, 131; Rails 153; Sass 151–2; software engineers 23; source code 15, 155; spawn library 199; thinking in 151
lighttpd 59
Linux 58
Lister, Timothy 82
localhost: mobile devices 61–2; personal web servers 25–32 see also Apache web server
McConnell, Steve 152
managed servers 34
Marcotte, Ethan 3
Martin, Robert C. 115
Mercurial 114
Microsoft 31
MIME file types 52
Mint 180
MixPanel 180
mobile devices: analytics 161; Android 61–2; connecting to Apple OS X 63–5; connecting to Windows 65–8; testing 62–9, 81; user view 81; web browsers 60–1; wi-fi networks 62–3
Mocha 185
modern comments 148
Mozilla Firefox 135
network monitoring 185
newsletters 208
Nginx 59
NodeJS 156
open-source community 15, 24, 209, 211–12
open-source technology 105, 116
Opera 135
operating systems: analytics 161–2; hosts file 89, 94
Oracle 26
OS X see Apple OS X
packaged installers 58
PasteBin 15
PhantomJS 183–4; advanced use 195–9; alternatives to 206; application programming interface 190; beginning use 186–90; brag book 201; history album 201; ImageMagick 201–3; installing 186; intermediate use 191–5; internal design critiques 200; network monitoring 185; screen shots 186, 200, 205; spawn library 199; usability testing handouts 200–1; website testing 185
Piwik 180
PNG images 202
Postgres 26
production servers 30, 33; cloud computing 34; hardware 34
programmer editors 53
programmers: artists and designers and 28; code conventions 153–4; command line 184; GitHub 104
programming language: communities for 15; CSS 140–1, 205; development 11; system level 112; web servers 52
program optimization, for change 12–13
Project Locker 114
QUnit 185
Rails 153
rapid iteration 6
representational state transfer (REST) 69–70
Responsive Design Testing 101–2
responsive web design 1; challenges for 7; community-based websites 208–9; defined 2–3; emulating production 6; newsletters 208; rapid iteration 6; resources for 208–12; single code base 14; teaching 210; testing 5–7, 68–9
revision control systems 101, 104–5, 114
revision history 13
Rothman, Johanna 17
Safari WebKit 135
Sass 137–40, 157; advanced use 150; alternatives to 156; beginning use 149; code conventions 153–4; community tools 155; compression 146–8; debugging 155; functions 144; importing/partials 141–2; installing 152–3; intermediate use 149–50; libraries 151–2; math 143–4; media queries 144–5; as a metalanguage 138; mixins 145–6; modern comments 148; nesting/hierarchy 142–3; Ruby 153; SCSS 154; syntaxes 154; variables 141
scaling 181
screen sizes: analytics 161; responsive web design 3–4; simulating 6; variety of 4
SCSS 154
security layers 26
Seiden, Josh 159
server-side code 27
shared networks: Apache web server 62; desktop computers 69; Ethernet 70–1; test servers 69
simulating user screen sizes 6
single code base 14
SlimerJS 206
SmartGit 105
sneaker net 104
social coding 115
software development: analytics 18–19, 181; collaboration 20–1; composition 157; encapsulation 157; fact-based decisions 181–2; hierarchy 157; scaling 181; teams 16–17, 19–20, 23–4, 30; tools 11–12, 22
software engineers: building libraries 15; CSS and 137; debugging 26; GitHub 104; happy path development 95–6; optimism 21–2; program optimization 12–13; revision history 13; sharing 16–17; testing 17–18; tools 11
source code: common repositories 29; open source code 14–15; single code base 14; tools 13
source control 13
source map 155
SourceTree 105
StackOverflow 15
Subversion 114
sudo 35
syntaxes 154
testing 5–7; automated 17; bugs 31; manual 17; mobile devices 61–8; personal web servers 30–1; production servers 30
text editors 52–3; Apple OS X 54; Windows 54
tools: building 111; command line 150, 184; cross-platform scripting 211; developer 119–33, 155; GitHub 100–1, 112–14; Google Analytics 160, 163–5, 181–2; ImageMagick 201–3; PhantomJS 183–4, 199–201; software development 11–12, 22; teaching 210; visual differencing 203–5; web browsers 117–18, 135–6
Tower 105
UNIX 184
unmanaged servers 34
usability testing handouts 200–1
user agents 122
user experience: analytics 159; improving 81, 123, 181, 189, 194, 200; real-time 165; reporting 18–19; web browsers 61, 125; websites 28
user interfaces 5, 18, 20, 28, 54, 159, 181, 184 see also graphical user interfaces (GUIs)
variables 141
video game industry: teams 23; web browsers 61
virtual hosts: Apple OS X 86–9; cloud-based 95; configuration files 85, 94; custom URLs 86; demos 28; shared environments 95; Windows 89–94
virtualization 94
virtual machines 31
virtual private networks (VPNs) 97
WAMP 58
waterfall document delivery 20
web browsers: client-side code 27; developer tools 117–18, 135–6; Google Chrome 117–22; latency 123; mobile devices 60–1; PhantomJS 183–5
WebKit 206
web servers: artists and designers 26–8; attaching devices 60–71; customer-facing 26, 33–4; debugging software 26; expanding 26; flow 29; personal 25–34; representational state transfer (REST) 69–70; server-side code 27; software 33; testing 30; types of 57–8
websites: advances in 28; headless website testing 185; network monitoring 185
wi-fi networks see wireless networks
Windows: ad hoc wireless hot spots 73–6; Apache web server 39–47; mobile devices 65–8; PhantomJS 186; stopping Apache 56; text editors 54; virtual hosts 89–94
wireless networks: ad hoc 71–80; mobile devices 62–3, 76–80
XAMPP 58