SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
J E N K R A M E R
H A R VA R D U N I V E R S I T Y E X T E N S I O N S C H O O L
@ J E N 4 W E B
@ J E N 4 W E B
Who is an Accidental Web Designer (AWD)?
What are the Four Stages of Competence, and what is
a mental model?
How does that impact resources for AWD’s?
What is the #1 resource AWD’s need more than any
other?
@ J E N 4 W E B
Accidental Web Designer:
Someone who never intended to be in this business
but is now part of it.
@ J E N 4 W E BC H E F, B Y M I C H E L A S I M O N C I N IP E R S O N A L F I N A N C E , B Y A L A N C L E AV E R
@ J E N 4 W E B
How hard could it be to make a website?
@ J E N 4 W E B
<script src=“js/hotstuff.min.js”></script>
<script>
alert('Hello, World!’);
</script>
@ J E N 4 W E B
A S I M P L E E X A M P L E
const Util = {
TRANSITION_END: 'bsTransitionEnd',
getUID(prefix) {
do {
// eslint-disable-next-line no-bitwise
prefix += ~~(Math.random() * MAX_UID) // "~~" acts like a faster Math.floor() here
} while (document.getElementById(prefix))
return prefix
},
getSelectorFromElement(element) {
let selector = element.getAttribute('data-target')
if (!selector) {
selector = element.getAttribute('href') || ''
selector = /^#[a-z]/i.test(selector) ? selector : null
}
return selector
},
reflow(element) {
return element.offsetHeight
},
triggerTransitionEnd(element) {
$(element).trigger(transition.end)
},
supportsTransitionEnd() {
return Boolean(transition)
},
typeCheckConfig(componentName, config, configTypes) {
for (const property in configTypes) {
if (configTypes.hasOwnProperty(property)) {
const expectedTypes = configTypes[property]
const value = config[property]
const valueType = value && isElement(value) ?
'element' : toType(value)
if (!new RegExp(expectedTypes).test(valueType)) {
throw new Error(
`${componentName.toUpperCase()}: ` +
`Option "${property}" provided type "${valueType}" ` +
`but expected type "${expectedTypes}".`)
}
}
}
@ J E N 4 W E B
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||
1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been
initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a
function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e)
{if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof
Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),
Object.defineProperty(t,i.key,i)}} return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){function e(t){return{}.toString.call(t).match(/s([a-zA-Z]+)/)[1].toLowerCase()}function n(t)
{return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var
t=document.createElement("bootstrap");for(var e in l)if(void 0!==t.style[e])return{end:l[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(h.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||
h.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,h.supportsTransitionEnd()&&(t.event.special[h.TRANSITION_END]=i())}var a=!
1,l={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},h={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do
t+=~~(1e6*Math.random());while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)?
e:null),e},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in
o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+': Option "'+r+'" provided type "'+l+'" but expected type "'+s+'".')}}};return s(),h}
(jQuery),s=(function(t){var e="alert",i=t.fn[e],s={DISMISS:'[data-dismiss="alert"]'},a={CLOSE:"close.bs.alert",CLOSED:"closed.bs.alert",CLICK_DATA_API:"click.bs.alert.data-
api"},l={ALERT:"alert",FADE:"fade",SHOW:"show"},h=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var
e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function()
{t.removeData(this._element,"bs.alert"),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+l.ALERT)
[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(a.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;if(t(e).removeClass(l.SHOW),!r.supportsTransitionEnd()||!
t(e).hasClass(l.FADE))return void this._destroyElement(e);t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(150)},e.prototype._destroyElement=function(e)
{t(e).detach().trigger(a.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data("bs.alert");o||(o=new e(this),i.data("bs.alert",o)),"close"===n&&o[n]
(this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();return
t(document).on(a.CLICK_DATA_API,s.DISMISS,h._handleDismiss(new h)),t.fn[e]=h._jQueryInterface,t.fn[e].Constructor=h,t.fn[e].noConflict=function(){return t.fn[e]=i,h._jQueryInterface},h}(jQuery),function(t){var
e="button",i=t.fn[e],r={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},s={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-
toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},a={CLICK_DATA_API:"click.bs.button.data-api",FOCUS_BLUR_DATA_API:"focus.bs.button.data-api blur.bs.button.data-api"},l=function(){function e(t)
{n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(s.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(s.INPUT)[0];if(i)
{if("radio"===i.type)if(i.checked&&t(this._element).hasClass(r.ACTIVE))e=!1;else{var o=t(n).find(s.ACTIVE)[0];o&&t(o).removeClass(r.ACTIVE)}e&&(i.checked=!
t(this._element).hasClass(r.ACTIVE),t(i).trigger("change")),i.focus()}}this._element.setAttribute("aria-pressed",!
t(this._element).hasClass(r.ACTIVE)),e&&t(this._element).toggleClass(r.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,"bs.button"),this._element=null},e._jQueryInterface=function(n){return
this.each(function(){var i=t(this).data("bs.button");i||(i=new e(this),t(this).data("bs.button",i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();return
t(document).on(a.CLICK_DATA_API,s.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(r.BUTTON)||
(n=t(n).closest(s.BUTTON)),l._jQueryInterface.call(t(n),"toggle")}).on(a.FOCUS_BLUR_DATA_API,s.DATA_TOGGLE_CARROT,function(e){t(t(e.target).closest(s.BUTTON)[0]).toggleClass(r.FOCUS,/^focus(in)?
$/.test(e.type))}),t.fn[e]=l._jQueryInterface,t.fn[e].Constructor=l,t.fn[e].noConflict=function(){return t.fn[e]=i,l._jQueryInterface},l}(jQuery),function(t){var
e="carousel",s="bs.carousel",a="."+s,l=t.fn[e],h={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},c={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|
boolean)",wrap:"boolean"},u={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},d={SLIDE:"slide"+a,SLID:"slid"+a,KEYDOWN:"keydown"+a,MOUSEENTER:"mouseenter"+a,MOUSELEAVE:"mouseleave"+a,LOAD_DATA_API:"load.bs.carousel.da
ta-api",CLICK_DATA_API:"click.bs.carousel.data-api"},f={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-
prev",ITEM:"carousel-item"},_={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide],
[data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},g=function(){function l(e,i){n(this,l),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!
1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(_.INDICATORS)[0],this._addEventListeners()}return l.prototype.next=function(){if(this._isSliding)throw new
Error("Carousel is sliding");this._slide(u.NEXT)},l.prototype.nextWhenVisible=function(){document.hidden||this.next()},l.prototype.prev=function(){if(this._isSliding)throw new Error("Carousel is
sliding");this._slide(u.PREV)},l.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(_.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!
0)),clearInterval(this._interval),this._interval=null},l.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!
this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},l.prototype.to=function(e){var
n=this;this._activeElement=t(this._element).find(_.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(d.SLID,function()
{return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?u.NEXT:u.PREV;this._slide(o,this._items[e])}},l.prototype.dispose=function()
{t(this._element).off(a),t.removeData(this._element,s),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=
null},l.prototype._getConfig=function(n){return n=t.extend({},h,n),r.typeCheckConfig(e,n,c),n},l.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return
e._keydown(t)}),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return
e.cycle(t)})},l.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case
39:t.preventDefault(),this.next();break;default:return}},l.prototype._getItemIndex=function(e){return
this._items=t.makeArray(t(e).parent().find(_.ITEM)),this._items.indexOf(e)},l.prototype._getItemByDirection=function(t,e){var n=t===u.NEXT,i=t===u.PREV,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||
n&&o===r)&&!this._config.wrap)return e;var s=t===u.PREV?-1:1,a=(o+s)%this._items.length;return a===-1?this._items[this._items.length-1]:this._items[a]},l.prototype._triggerSlideEvent=function(e,n){var i=t.Event(d.SLIDE,
{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},l.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(_.ACTIVE).removeClass(f.ACTIVE);var
n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(f.ACTIVE)}},l.prototype._slide=function(e,n){var i=this,o=t(this._element).find(_.ACTIVE_ITEM)[0],s=n||
o&&this._getItemByDirection(e,o),a=Boolean(this._interval),l=void 0,h=void 0,c=void 0;if(e===u.NEXT?(l=f.LEFT,h=f.NEXT,c=u.LEFT):(l=f.RIGHT,h=f.PREV,c=u.RIGHT),s&&t(s).hasClass(f.ACTIVE))return void(this._isSliding=!
1);if(!this._triggerSlideEvent(s,c).isDefaultPrevented()&&o&&s){this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(s);var g=t.Event(d.SLID,
{relatedTarget:s,direction:c});r.supportsTransitionEnd()&&t(this._element).hasClass(f.SLIDE)?(t(s).addClass(h),r.reflow(s),t(o).addClass(l),t(s).addClass(l),t(o).one(r.TRANSITION_END,function(){t(s).removeClass(l+"
"+h).addClass(f.ACTIVE),t(o).removeClass(f.ACTIVE+" "+h+" "+l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(g)},0)}).emulateTransitionEnd(600)):
(t(o).removeClass(f.ACTIVE),t(s).addClass(f.ACTIVE),this._isSliding=!1,t(this._element).trigger(g)),a&&this.cycle()}},l._jQueryInterface=function(e){return this.each(function(){var
n=t(this).data(s),o=t.extend({},h,t(this).data());"object"===(void 0===e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new l(this,o),t(this).data(s,n)),"number"==typeof e)n.to(e);else
@ J E N 4 W E B
How do you feel?
@ J E N 4 W E B
This is going to
be harder than I
thought
I have to
concentrate but
I can do this
How hard could
it be?
This is easy and
I’m good at it
Conscious
Unconscious
Incompetence Competence
@ J E N 4 W E B
Why did you think it was easy to make a website
the first time you tried?
@ J E N 4 W E B
– J A K O B N I E L S E N
A mental model is what the user believes about
the system at hand.
@ J E N 4 W E B
@ J E N 4 W E B
– J A K O B N I E L S E N
 Further, one of usability's big dilemmas is the
common gap between designers' and users'
mental models.
@ J E N 4 W E B
@ J E N 4 W E B
What is the mental model for an accidental web
designer, building a website for the first time?
@ J E N 4 W E B
AT T R I B U T I O N
@ J E N 4 W E B
M S W O R D T E M P L AT E
@ J E N 4 W E B
	
NOVEMBER 15
FLU SHOT FEST
Don't	delay	--	get	your	flu	shot	today!	
To	get	started	right	away,	just	tap	any	placeholder	text	(such	as	
this)	and	start	typing	to	replace	it	with	your	own.	Want	to	insert	a	
picture	from	your	files	or	add	a	shape,	text	box,	or	table?	You	got	it!	
On	the	Insert	tab	of	the	ribbon,	just	tap	the	option	you	need.	
	
	
	
FREE LOLLIPOPS!
	
TAKES 5 MINUTES!
	
A SEASON OF
PROTECTION!
	
$20 COPAY
	
9 AM - 5 PM
OR UNTIL WE RUN
OUT
Or	
orOr	
	
YOUR COMPANY
	
6th	floor,	follow	the	signs	
flu.example.com	
	
	
P H O T O C R E D I T
@ J E N 4 W E B
@ J E N 4 W E B
Choosing a theme is a crippling moment for many
accidental web designers.
In part, this is because they should not start with a theme.
@ J E N 4 W E B
S T O RY T E L L I N G
• Identification of hero, villain,
and guide/helper
• Writing clear and scannable
content
• Choosing the right medium
for the message
• Creating clear calls to action
• This is the user experience
(UX) phase of site building
@ J E N 4 W E B
T E C H N O L O G Y
• Technology supports the
story
• Fill-in-the-blank websites
• Less jargon
• Terminology should reflect
user’s mental model
I M A G E C R E D I T
@ J E N 4 W E B
@ J E N 4 W E B
- M E R R I A M W E B S T E R
Framework: a basic conceptual structure
(as of ideas)
@ J E N 4 W E B
D AV E R A M S E Y ’ S
B A B Y S T E P S
@ J E N 4 W E B
T H E E L E M E N T S O F
U S E R E X P E R I E N C E
J E S S E J A M E S
G A R R E T T
1 S T E D 2 0 0 2
2 N D E D 2 0 1 0
R E A D C H A P T E R 2
@ J E N 4 W E B
Strategy
What do we want to get out of the site?
What do our users want?
What is the best way to serve site owner and users?
How do we measure success?
@ J E N 4 W E B
Scope
What features and functionality do we need?
What might we need in the future?
@ J E N 4 W E B
Structure
What pages will our site include?
What written content do we have, and what do we need
to generate?
What photos and/or video will we include?
@ J E N 4 W E B
I M A G E C R E D I T
Skeleton
Wireframe software:
Balsamiq
Moqups
Invision
Sketch
Adobe XD
@ J E N 4 W E B
I M A G E C R E D I T
Draw in PowerPoint
or Word
or Google Docs
@ J E N 4 W E BI M A G E C R E D I T
I M A G E C R E D I T
Draw on paper or whiteboard
@ J E N 4 W E B
Surface
Now that you have a picture in your head and
content defined…
Now pick your theme.
@ J E N 4 W E B
T H E E L E M E N T S O F
U S E R E X P E R I E N C E
J E S S E J A M E S
G A R R E T T
1 S T E D 2 0 0 2
2 N D E D 2 0 1 0
R E A D C H A P T E R 2
@ J E N 4 W E B
D O N A L D M I L L E R S T O RY B R A N D B R A N D S C R I P T
@ J E N 4 W E B
• Villain
• Hero
• Guide/helper
• What role does your
organization play?
@ J E N 4 W E B
Let’s talk about dog and cat food.
What are discerning pet owners concerned about
when buying food?
@ J E N 4 W E B
• Compare two sites:
• https://www.castorpolluxpet.com/
• https://kohapet.com/
• Which would you buy pet food from, based on the
home page only? And why?
@ J E N 4 W E B
W W W. C A S T O R P O L L U X P E T. C O M
@ J E N 4 W E B
W W W. C A S T O R P O L L U X P E T. C O M
@ J E N 4 W E B
W W W. K O H A P E T. C O M
@ J E N 4 W E B
W W W. K O H A P E T. C O M
@ J E N 4 W E B
W W W. K O H A P E T. C O M
@ J E N 4 W E B
We’re just beginning to develop effective no-code tools.
But great websites are more than code.
We need more storytelling frameworks and education.
@ J E N 4 W E BS T O RY B R A N D
Jen Kramer
Watertown, MA
Phone: 802-257-2657
jen@jenkramer.org
www.jenkramer.org
Twitter: @jen4web
Facebook: facebook.com/webdesignjen
S L I D E S AVA I L A B L E AT
W W W. S L I D E S H A R E . N E T / J E N 4 W E B

Contenu connexe

Similaire à The accidental web designer - No Code Conf 2019 Workshop

Cakefest 2010: API Development
Cakefest 2010: API DevelopmentCakefest 2010: API Development
Cakefest 2010: API DevelopmentAndrew Curioso
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applicationselliando dias
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applicationselliando dias
 
Javascript & jQuery: A pragmatic introduction
Javascript & jQuery: A pragmatic introductionJavascript & jQuery: A pragmatic introduction
Javascript & jQuery: A pragmatic introductionIban Martinez
 
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...Flink Forward
 
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!Guilherme Carreiro
 
Ditching JQuery
Ditching JQueryDitching JQuery
Ditching JQueryhowlowck
 
How to test complex SaaS applications - The family july 2014
How to test complex SaaS applications - The family july 2014How to test complex SaaS applications - The family july 2014
How to test complex SaaS applications - The family july 2014Guillaume POTIER
 
Client-side Transformations
Client-side TransformationsClient-side Transformations
Client-side TransformationsJohn Boxall
 
Building Evented Single Page Applications
Building Evented Single Page ApplicationsBuilding Evented Single Page Applications
Building Evented Single Page ApplicationsSteve Smith
 
Building evented single page applications
Building evented single page applicationsBuilding evented single page applications
Building evented single page applicationsSteve Smith
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsJeff Durta
 
jQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and PerformancejQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and PerformanceJonas De Smet
 
WordPress Realtime - WordCamp São Paulo 2015
WordPress Realtime - WordCamp São Paulo 2015WordPress Realtime - WordCamp São Paulo 2015
WordPress Realtime - WordCamp São Paulo 2015Fernando Daciuk
 
Cheap frontend tricks
Cheap frontend tricksCheap frontend tricks
Cheap frontend tricksambiescent
 
JavaScript on Rails 튜토리얼
JavaScript on Rails 튜토리얼JavaScript on Rails 튜토리얼
JavaScript on Rails 튜토리얼Sukjoon Kim
 
Dutch PHP Conference - PHPSpec 2 - The only Design Tool you need
Dutch PHP Conference - PHPSpec 2 - The only Design Tool you needDutch PHP Conference - PHPSpec 2 - The only Design Tool you need
Dutch PHP Conference - PHPSpec 2 - The only Design Tool you needKacper Gunia
 
The battle of Protractor and Cypress - RunIT Conference 2019
The battle of Protractor and Cypress - RunIT Conference 2019The battle of Protractor and Cypress - RunIT Conference 2019
The battle of Protractor and Cypress - RunIT Conference 2019Ludmila Nesvitiy
 

Similaire à The accidental web designer - No Code Conf 2019 Workshop (20)

Cakefest 2010: API Development
Cakefest 2010: API DevelopmentCakefest 2010: API Development
Cakefest 2010: API Development
 
BVJS
BVJSBVJS
BVJS
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applications
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applications
 
Javascript & jQuery: A pragmatic introduction
Javascript & jQuery: A pragmatic introductionJavascript & jQuery: A pragmatic introduction
Javascript & jQuery: A pragmatic introduction
 
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...
Flink Forward Berlin 2018: Jared Stehler - "Streaming ETL with Flink and Elas...
 
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!
 
jQuery, CSS3 and ColdFusion
jQuery, CSS3 and ColdFusionjQuery, CSS3 and ColdFusion
jQuery, CSS3 and ColdFusion
 
Ditching JQuery
Ditching JQueryDitching JQuery
Ditching JQuery
 
How to test complex SaaS applications - The family july 2014
How to test complex SaaS applications - The family july 2014How to test complex SaaS applications - The family july 2014
How to test complex SaaS applications - The family july 2014
 
Client-side Transformations
Client-side TransformationsClient-side Transformations
Client-side Transformations
 
Building Evented Single Page Applications
Building Evented Single Page ApplicationsBuilding Evented Single Page Applications
Building Evented Single Page Applications
 
Building evented single page applications
Building evented single page applicationsBuilding evented single page applications
Building evented single page applications
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applications
 
jQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and PerformancejQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and Performance
 
WordPress Realtime - WordCamp São Paulo 2015
WordPress Realtime - WordCamp São Paulo 2015WordPress Realtime - WordCamp São Paulo 2015
WordPress Realtime - WordCamp São Paulo 2015
 
Cheap frontend tricks
Cheap frontend tricksCheap frontend tricks
Cheap frontend tricks
 
JavaScript on Rails 튜토리얼
JavaScript on Rails 튜토리얼JavaScript on Rails 튜토리얼
JavaScript on Rails 튜토리얼
 
Dutch PHP Conference - PHPSpec 2 - The only Design Tool you need
Dutch PHP Conference - PHPSpec 2 - The only Design Tool you needDutch PHP Conference - PHPSpec 2 - The only Design Tool you need
Dutch PHP Conference - PHPSpec 2 - The only Design Tool you need
 
The battle of Protractor and Cypress - RunIT Conference 2019
The battle of Protractor and Cypress - RunIT Conference 2019The battle of Protractor and Cypress - RunIT Conference 2019
The battle of Protractor and Cypress - RunIT Conference 2019
 

Plus de Webflow

I built & sold 12 no -ode apps in 12 weeks - here's everything I learned - No...
I built & sold 12 no -ode apps in 12 weeks - here's everything I learned - No...I built & sold 12 no -ode apps in 12 weeks - here's everything I learned - No...
I built & sold 12 no -ode apps in 12 weeks - here's everything I learned - No...Webflow
 
After Effects & Lottie in Webflow - No Code Conf 2019 Demo Theater
After Effects & Lottie in Webflow - No Code Conf 2019 Demo TheaterAfter Effects & Lottie in Webflow - No Code Conf 2019 Demo Theater
After Effects & Lottie in Webflow - No Code Conf 2019 Demo TheaterWebflow
 
How we Webflow at Webflow - No Code Conf 2019 Demo Theater
How we Webflow at Webflow - No Code Conf 2019 Demo TheaterHow we Webflow at Webflow - No Code Conf 2019 Demo Theater
How we Webflow at Webflow - No Code Conf 2019 Demo TheaterWebflow
 
Forms + Zaps = No Code Apps - No Code Conf 2019 Demo Theater
Forms + Zaps = No Code Apps - No Code Conf 2019 Demo TheaterForms + Zaps = No Code Apps - No Code Conf 2019 Demo Theater
Forms + Zaps = No Code Apps - No Code Conf 2019 Demo TheaterWebflow
 
How HelloSign rebuilt their site without code - No Code Conf 2019 Demo Theater
How HelloSign rebuilt their site without code - No Code Conf 2019 Demo TheaterHow HelloSign rebuilt their site without code - No Code Conf 2019 Demo Theater
How HelloSign rebuilt their site without code - No Code Conf 2019 Demo TheaterWebflow
 
Empower your local community to join the No Code revolution - No Code Conf 20...
Empower your local community to join the No Code revolution - No Code Conf 20...Empower your local community to join the No Code revolution - No Code Conf 20...
Empower your local community to join the No Code revolution - No Code Conf 20...Webflow
 
How to end youth homelessness - No Code Conf 2019 Demo Theater
How to end youth homelessness - No Code Conf 2019 Demo TheaterHow to end youth homelessness - No Code Conf 2019 Demo Theater
How to end youth homelessness - No Code Conf 2019 Demo TheaterWebflow
 
What happens when anyone can make an app? - No Code Conf 2019 Demo Theater
What happens when anyone can make an app? - No Code Conf 2019 Demo TheaterWhat happens when anyone can make an app? - No Code Conf 2019 Demo Theater
What happens when anyone can make an app? - No Code Conf 2019 Demo TheaterWebflow
 
No code stewardship - No Code Conf 2019 Demo Theater
No code stewardship - No Code Conf 2019 Demo TheaterNo code stewardship - No Code Conf 2019 Demo Theater
No code stewardship - No Code Conf 2019 Demo TheaterWebflow
 
Working with APIs as a no-coder - No Code Conf 2019 Demo Theater
Working with APIs as a no-coder - No Code Conf 2019 Demo TheaterWorking with APIs as a no-coder - No Code Conf 2019 Demo Theater
Working with APIs as a no-coder - No Code Conf 2019 Demo TheaterWebflow
 
Typeform: Duct tape for entrepreneurs - No Code Conf 2019 Demo Theater
Typeform: Duct tape for entrepreneurs - No Code Conf 2019 Demo TheaterTypeform: Duct tape for entrepreneurs - No Code Conf 2019 Demo Theater
Typeform: Duct tape for entrepreneurs - No Code Conf 2019 Demo TheaterWebflow
 
Everything you ever wanted to know about Webflow Interactions - No Code Conf ...
Everything you ever wanted to know about Webflow Interactions - No Code Conf ...Everything you ever wanted to know about Webflow Interactions - No Code Conf ...
Everything you ever wanted to know about Webflow Interactions - No Code Conf ...Webflow
 
Ship your product with zero code - No Code Conf 2019 Workshop
Ship your product with zero code - No Code Conf 2019 WorkshopShip your product with zero code - No Code Conf 2019 Workshop
Ship your product with zero code - No Code Conf 2019 WorkshopWebflow
 
How to work faster by building your design systems with Webflow - No Code Con...
How to work faster by building your design systems with Webflow - No Code Con...How to work faster by building your design systems with Webflow - No Code Con...
How to work faster by building your design systems with Webflow - No Code Con...Webflow
 
Building 50+ products without code - No Code Conf 2019 Workshop
Building 50+ products without code - No Code Conf 2019 WorkshopBuilding 50+ products without code - No Code Conf 2019 Workshop
Building 50+ products without code - No Code Conf 2019 WorkshopWebflow
 
How to build a marketplace without code - No Code Conf 2019 Workshop
How to build a marketplace without code - No Code Conf 2019 WorkshopHow to build a marketplace without code - No Code Conf 2019 Workshop
How to build a marketplace without code - No Code Conf 2019 WorkshopWebflow
 
Life is not static - your designs shouldn't be either - No Code Conf 2019 Wor...
Life is not static - your designs shouldn't be either - No Code Conf 2019 Wor...Life is not static - your designs shouldn't be either - No Code Conf 2019 Wor...
Life is not static - your designs shouldn't be either - No Code Conf 2019 Wor...Webflow
 
The no-code tech stack: how to build a tech company with no-code tools and so...
The no-code tech stack: how to build a tech company with no-code tools and so...The no-code tech stack: how to build a tech company with no-code tools and so...
The no-code tech stack: how to build a tech company with no-code tools and so...Webflow
 
no code ≠ no development: development workflow for non-developers - No Code C...
no code ≠ no development: development workflow for non-developers - No Code C...no code ≠ no development: development workflow for non-developers - No Code C...
no code ≠ no development: development workflow for non-developers - No Code C...Webflow
 
Making automation feel more human - No Code Conf 2019
Making automation feel more human - No Code Conf 2019Making automation feel more human - No Code Conf 2019
Making automation feel more human - No Code Conf 2019Webflow
 

Plus de Webflow (20)

I built & sold 12 no -ode apps in 12 weeks - here's everything I learned - No...
I built & sold 12 no -ode apps in 12 weeks - here's everything I learned - No...I built & sold 12 no -ode apps in 12 weeks - here's everything I learned - No...
I built & sold 12 no -ode apps in 12 weeks - here's everything I learned - No...
 
After Effects & Lottie in Webflow - No Code Conf 2019 Demo Theater
After Effects & Lottie in Webflow - No Code Conf 2019 Demo TheaterAfter Effects & Lottie in Webflow - No Code Conf 2019 Demo Theater
After Effects & Lottie in Webflow - No Code Conf 2019 Demo Theater
 
How we Webflow at Webflow - No Code Conf 2019 Demo Theater
How we Webflow at Webflow - No Code Conf 2019 Demo TheaterHow we Webflow at Webflow - No Code Conf 2019 Demo Theater
How we Webflow at Webflow - No Code Conf 2019 Demo Theater
 
Forms + Zaps = No Code Apps - No Code Conf 2019 Demo Theater
Forms + Zaps = No Code Apps - No Code Conf 2019 Demo TheaterForms + Zaps = No Code Apps - No Code Conf 2019 Demo Theater
Forms + Zaps = No Code Apps - No Code Conf 2019 Demo Theater
 
How HelloSign rebuilt their site without code - No Code Conf 2019 Demo Theater
How HelloSign rebuilt their site without code - No Code Conf 2019 Demo TheaterHow HelloSign rebuilt their site without code - No Code Conf 2019 Demo Theater
How HelloSign rebuilt their site without code - No Code Conf 2019 Demo Theater
 
Empower your local community to join the No Code revolution - No Code Conf 20...
Empower your local community to join the No Code revolution - No Code Conf 20...Empower your local community to join the No Code revolution - No Code Conf 20...
Empower your local community to join the No Code revolution - No Code Conf 20...
 
How to end youth homelessness - No Code Conf 2019 Demo Theater
How to end youth homelessness - No Code Conf 2019 Demo TheaterHow to end youth homelessness - No Code Conf 2019 Demo Theater
How to end youth homelessness - No Code Conf 2019 Demo Theater
 
What happens when anyone can make an app? - No Code Conf 2019 Demo Theater
What happens when anyone can make an app? - No Code Conf 2019 Demo TheaterWhat happens when anyone can make an app? - No Code Conf 2019 Demo Theater
What happens when anyone can make an app? - No Code Conf 2019 Demo Theater
 
No code stewardship - No Code Conf 2019 Demo Theater
No code stewardship - No Code Conf 2019 Demo TheaterNo code stewardship - No Code Conf 2019 Demo Theater
No code stewardship - No Code Conf 2019 Demo Theater
 
Working with APIs as a no-coder - No Code Conf 2019 Demo Theater
Working with APIs as a no-coder - No Code Conf 2019 Demo TheaterWorking with APIs as a no-coder - No Code Conf 2019 Demo Theater
Working with APIs as a no-coder - No Code Conf 2019 Demo Theater
 
Typeform: Duct tape for entrepreneurs - No Code Conf 2019 Demo Theater
Typeform: Duct tape for entrepreneurs - No Code Conf 2019 Demo TheaterTypeform: Duct tape for entrepreneurs - No Code Conf 2019 Demo Theater
Typeform: Duct tape for entrepreneurs - No Code Conf 2019 Demo Theater
 
Everything you ever wanted to know about Webflow Interactions - No Code Conf ...
Everything you ever wanted to know about Webflow Interactions - No Code Conf ...Everything you ever wanted to know about Webflow Interactions - No Code Conf ...
Everything you ever wanted to know about Webflow Interactions - No Code Conf ...
 
Ship your product with zero code - No Code Conf 2019 Workshop
Ship your product with zero code - No Code Conf 2019 WorkshopShip your product with zero code - No Code Conf 2019 Workshop
Ship your product with zero code - No Code Conf 2019 Workshop
 
How to work faster by building your design systems with Webflow - No Code Con...
How to work faster by building your design systems with Webflow - No Code Con...How to work faster by building your design systems with Webflow - No Code Con...
How to work faster by building your design systems with Webflow - No Code Con...
 
Building 50+ products without code - No Code Conf 2019 Workshop
Building 50+ products without code - No Code Conf 2019 WorkshopBuilding 50+ products without code - No Code Conf 2019 Workshop
Building 50+ products without code - No Code Conf 2019 Workshop
 
How to build a marketplace without code - No Code Conf 2019 Workshop
How to build a marketplace without code - No Code Conf 2019 WorkshopHow to build a marketplace without code - No Code Conf 2019 Workshop
How to build a marketplace without code - No Code Conf 2019 Workshop
 
Life is not static - your designs shouldn't be either - No Code Conf 2019 Wor...
Life is not static - your designs shouldn't be either - No Code Conf 2019 Wor...Life is not static - your designs shouldn't be either - No Code Conf 2019 Wor...
Life is not static - your designs shouldn't be either - No Code Conf 2019 Wor...
 
The no-code tech stack: how to build a tech company with no-code tools and so...
The no-code tech stack: how to build a tech company with no-code tools and so...The no-code tech stack: how to build a tech company with no-code tools and so...
The no-code tech stack: how to build a tech company with no-code tools and so...
 
no code ≠ no development: development workflow for non-developers - No Code C...
no code ≠ no development: development workflow for non-developers - No Code C...no code ≠ no development: development workflow for non-developers - No Code C...
no code ≠ no development: development workflow for non-developers - No Code C...
 
Making automation feel more human - No Code Conf 2019
Making automation feel more human - No Code Conf 2019Making automation feel more human - No Code Conf 2019
Making automation feel more human - No Code Conf 2019
 

Dernier

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 

Dernier (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 

The accidental web designer - No Code Conf 2019 Workshop

  • 1. J E N K R A M E R H A R VA R D U N I V E R S I T Y E X T E N S I O N S C H O O L @ J E N 4 W E B
  • 2. @ J E N 4 W E B Who is an Accidental Web Designer (AWD)? What are the Four Stages of Competence, and what is a mental model? How does that impact resources for AWD’s? What is the #1 resource AWD’s need more than any other?
  • 3. @ J E N 4 W E B Accidental Web Designer: Someone who never intended to be in this business but is now part of it.
  • 4. @ J E N 4 W E BC H E F, B Y M I C H E L A S I M O N C I N IP E R S O N A L F I N A N C E , B Y A L A N C L E AV E R
  • 5. @ J E N 4 W E B How hard could it be to make a website?
  • 6. @ J E N 4 W E B <script src=“js/hotstuff.min.js”></script> <script> alert('Hello, World!’); </script>
  • 7. @ J E N 4 W E B A S I M P L E E X A M P L E const Util = { TRANSITION_END: 'bsTransitionEnd', getUID(prefix) { do { // eslint-disable-next-line no-bitwise prefix += ~~(Math.random() * MAX_UID) // "~~" acts like a faster Math.floor() here } while (document.getElementById(prefix)) return prefix }, getSelectorFromElement(element) { let selector = element.getAttribute('data-target') if (!selector) { selector = element.getAttribute('href') || '' selector = /^#[a-z]/i.test(selector) ? selector : null } return selector }, reflow(element) { return element.offsetHeight }, triggerTransitionEnd(element) { $(element).trigger(transition.end) }, supportsTransitionEnd() { return Boolean(transition) }, typeCheckConfig(componentName, config, configTypes) { for (const property in configTypes) { if (configTypes.hasOwnProperty(property)) { const expectedTypes = configTypes[property] const value = config[property] const valueType = value && isElement(value) ? 'element' : toType(value) if (!new RegExp(expectedTypes).test(valueType)) { throw new Error( `${componentName.toUpperCase()}: ` + `Option "${property}" provided type "${valueType}" ` + `but expected type "${expectedTypes}".`) } } }
  • 8. @ J E N 4 W E B if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9|| 1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e) {if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0), Object.defineProperty(t,i.key,i)}} return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){function e(t){return{}.toString.call(t).match(/s([a-zA-Z]+)/)[1].toLowerCase()}function n(t) {return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in l)if(void 0!==t.style[e])return{end:l[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(h.TRANSITION_END,function(){i=!0}),setTimeout(function(){i|| h.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,h.supportsTransitionEnd()&&(t.event.special[h.TRANSITION_END]=i())}var a=! 1,l={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},h={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)? e:null),e},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+': Option "'+r+'" provided type "'+l+'" but expected type "'+s+'".')}}};return s(),h} (jQuery),s=(function(t){var e="alert",i=t.fn[e],s={DISMISS:'[data-dismiss="alert"]'},a={CLOSE:"close.bs.alert",CLOSED:"closed.bs.alert",CLICK_DATA_API:"click.bs.alert.data- api"},l={ALERT:"alert",FADE:"fade",SHOW:"show"},h=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function() {t.removeData(this._element,"bs.alert"),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+l.ALERT) [0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(a.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;if(t(e).removeClass(l.SHOW),!r.supportsTransitionEnd()||! t(e).hasClass(l.FADE))return void this._destroyElement(e);t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(150)},e.prototype._destroyElement=function(e) {t(e).detach().trigger(a.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data("bs.alert");o||(o=new e(this),i.data("bs.alert",o)),"close"===n&&o[n] (this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();return t(document).on(a.CLICK_DATA_API,s.DISMISS,h._handleDismiss(new h)),t.fn[e]=h._jQueryInterface,t.fn[e].Constructor=h,t.fn[e].noConflict=function(){return t.fn[e]=i,h._jQueryInterface},h}(jQuery),function(t){var e="button",i=t.fn[e],r={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},s={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data- toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},a={CLICK_DATA_API:"click.bs.button.data-api",FOCUS_BLUR_DATA_API:"focus.bs.button.data-api blur.bs.button.data-api"},l=function(){function e(t) {n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(s.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(s.INPUT)[0];if(i) {if("radio"===i.type)if(i.checked&&t(this._element).hasClass(r.ACTIVE))e=!1;else{var o=t(n).find(s.ACTIVE)[0];o&&t(o).removeClass(r.ACTIVE)}e&&(i.checked=! t(this._element).hasClass(r.ACTIVE),t(i).trigger("change")),i.focus()}}this._element.setAttribute("aria-pressed",! t(this._element).hasClass(r.ACTIVE)),e&&t(this._element).toggleClass(r.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,"bs.button"),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data("bs.button");i||(i=new e(this),t(this).data("bs.button",i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();return t(document).on(a.CLICK_DATA_API,s.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(r.BUTTON)|| (n=t(n).closest(s.BUTTON)),l._jQueryInterface.call(t(n),"toggle")}).on(a.FOCUS_BLUR_DATA_API,s.DATA_TOGGLE_CARROT,function(e){t(t(e.target).closest(s.BUTTON)[0]).toggleClass(r.FOCUS,/^focus(in)? $/.test(e.type))}),t.fn[e]=l._jQueryInterface,t.fn[e].Constructor=l,t.fn[e].noConflict=function(){return t.fn[e]=i,l._jQueryInterface},l}(jQuery),function(t){var e="carousel",s="bs.carousel",a="."+s,l=t.fn[e],h={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},c={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string| boolean)",wrap:"boolean"},u={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},d={SLIDE:"slide"+a,SLID:"slid"+a,KEYDOWN:"keydown"+a,MOUSEENTER:"mouseenter"+a,MOUSELEAVE:"mouseleave"+a,LOAD_DATA_API:"load.bs.carousel.da ta-api",CLICK_DATA_API:"click.bs.carousel.data-api"},f={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item- prev",ITEM:"carousel-item"},_={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},g=function(){function l(e,i){n(this,l),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=! 1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(_.INDICATORS)[0],this._addEventListeners()}return l.prototype.next=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(u.NEXT)},l.prototype.nextWhenVisible=function(){document.hidden||this.next()},l.prototype.prev=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(u.PREV)},l.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(_.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(! 0)),clearInterval(this._interval),this._interval=null},l.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&! this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},l.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(_.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(d.SLID,function() {return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?u.NEXT:u.PREV;this._slide(o,this._items[e])}},l.prototype.dispose=function() {t(this._element).off(a),t.removeData(this._element,s),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement= null},l.prototype._getConfig=function(n){return n=t.extend({},h,n),r.typeCheckConfig(e,n,c),n},l.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)})},l.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next();break;default:return}},l.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(_.ITEM)),this._items.indexOf(e)},l.prototype._getItemByDirection=function(t,e){var n=t===u.NEXT,i=t===u.PREV,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o|| n&&o===r)&&!this._config.wrap)return e;var s=t===u.PREV?-1:1,a=(o+s)%this._items.length;return a===-1?this._items[this._items.length-1]:this._items[a]},l.prototype._triggerSlideEvent=function(e,n){var i=t.Event(d.SLIDE, {relatedTarget:e,direction:n});return t(this._element).trigger(i),i},l.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(_.ACTIVE).removeClass(f.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(f.ACTIVE)}},l.prototype._slide=function(e,n){var i=this,o=t(this._element).find(_.ACTIVE_ITEM)[0],s=n|| o&&this._getItemByDirection(e,o),a=Boolean(this._interval),l=void 0,h=void 0,c=void 0;if(e===u.NEXT?(l=f.LEFT,h=f.NEXT,c=u.LEFT):(l=f.RIGHT,h=f.PREV,c=u.RIGHT),s&&t(s).hasClass(f.ACTIVE))return void(this._isSliding=! 1);if(!this._triggerSlideEvent(s,c).isDefaultPrevented()&&o&&s){this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(s);var g=t.Event(d.SLID, {relatedTarget:s,direction:c});r.supportsTransitionEnd()&&t(this._element).hasClass(f.SLIDE)?(t(s).addClass(h),r.reflow(s),t(o).addClass(l),t(s).addClass(l),t(o).one(r.TRANSITION_END,function(){t(s).removeClass(l+" "+h).addClass(f.ACTIVE),t(o).removeClass(f.ACTIVE+" "+h+" "+l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(g)},0)}).emulateTransitionEnd(600)): (t(o).removeClass(f.ACTIVE),t(s).addClass(f.ACTIVE),this._isSliding=!1,t(this._element).trigger(g)),a&&this.cycle()}},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(s),o=t.extend({},h,t(this).data());"object"===(void 0===e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new l(this,o),t(this).data(s,n)),"number"==typeof e)n.to(e);else
  • 9. @ J E N 4 W E B How do you feel?
  • 10. @ J E N 4 W E B This is going to be harder than I thought I have to concentrate but I can do this How hard could it be? This is easy and I’m good at it Conscious Unconscious Incompetence Competence
  • 11. @ J E N 4 W E B Why did you think it was easy to make a website the first time you tried?
  • 12. @ J E N 4 W E B – J A K O B N I E L S E N A mental model is what the user believes about the system at hand.
  • 13. @ J E N 4 W E B
  • 14. @ J E N 4 W E B – J A K O B N I E L S E N  Further, one of usability's big dilemmas is the common gap between designers' and users' mental models.
  • 15. @ J E N 4 W E B
  • 16. @ J E N 4 W E B What is the mental model for an accidental web designer, building a website for the first time?
  • 17. @ J E N 4 W E B AT T R I B U T I O N
  • 18. @ J E N 4 W E B M S W O R D T E M P L AT E
  • 19. @ J E N 4 W E B NOVEMBER 15 FLU SHOT FEST Don't delay -- get your flu shot today! To get started right away, just tap any placeholder text (such as this) and start typing to replace it with your own. Want to insert a picture from your files or add a shape, text box, or table? You got it! On the Insert tab of the ribbon, just tap the option you need. FREE LOLLIPOPS! TAKES 5 MINUTES! A SEASON OF PROTECTION! $20 COPAY 9 AM - 5 PM OR UNTIL WE RUN OUT Or orOr YOUR COMPANY 6th floor, follow the signs flu.example.com P H O T O C R E D I T
  • 20. @ J E N 4 W E B
  • 21. @ J E N 4 W E B Choosing a theme is a crippling moment for many accidental web designers. In part, this is because they should not start with a theme.
  • 22. @ J E N 4 W E B S T O RY T E L L I N G • Identification of hero, villain, and guide/helper • Writing clear and scannable content • Choosing the right medium for the message • Creating clear calls to action • This is the user experience (UX) phase of site building
  • 23. @ J E N 4 W E B T E C H N O L O G Y • Technology supports the story • Fill-in-the-blank websites • Less jargon • Terminology should reflect user’s mental model I M A G E C R E D I T
  • 24. @ J E N 4 W E B
  • 25. @ J E N 4 W E B - M E R R I A M W E B S T E R Framework: a basic conceptual structure (as of ideas)
  • 26. @ J E N 4 W E B D AV E R A M S E Y ’ S B A B Y S T E P S
  • 27. @ J E N 4 W E B T H E E L E M E N T S O F U S E R E X P E R I E N C E J E S S E J A M E S G A R R E T T 1 S T E D 2 0 0 2 2 N D E D 2 0 1 0 R E A D C H A P T E R 2
  • 28. @ J E N 4 W E B Strategy What do we want to get out of the site? What do our users want? What is the best way to serve site owner and users? How do we measure success?
  • 29. @ J E N 4 W E B Scope What features and functionality do we need? What might we need in the future?
  • 30. @ J E N 4 W E B Structure What pages will our site include? What written content do we have, and what do we need to generate? What photos and/or video will we include?
  • 31. @ J E N 4 W E B I M A G E C R E D I T Skeleton Wireframe software: Balsamiq Moqups Invision Sketch Adobe XD
  • 32. @ J E N 4 W E B I M A G E C R E D I T Draw in PowerPoint or Word or Google Docs
  • 33. @ J E N 4 W E BI M A G E C R E D I T I M A G E C R E D I T Draw on paper or whiteboard
  • 34. @ J E N 4 W E B Surface Now that you have a picture in your head and content defined… Now pick your theme.
  • 35. @ J E N 4 W E B T H E E L E M E N T S O F U S E R E X P E R I E N C E J E S S E J A M E S G A R R E T T 1 S T E D 2 0 0 2 2 N D E D 2 0 1 0 R E A D C H A P T E R 2
  • 36. @ J E N 4 W E B D O N A L D M I L L E R S T O RY B R A N D B R A N D S C R I P T
  • 37. @ J E N 4 W E B • Villain • Hero • Guide/helper • What role does your organization play?
  • 38. @ J E N 4 W E B Let’s talk about dog and cat food. What are discerning pet owners concerned about when buying food?
  • 39. @ J E N 4 W E B • Compare two sites: • https://www.castorpolluxpet.com/ • https://kohapet.com/ • Which would you buy pet food from, based on the home page only? And why?
  • 40. @ J E N 4 W E B W W W. C A S T O R P O L L U X P E T. C O M
  • 41. @ J E N 4 W E B W W W. C A S T O R P O L L U X P E T. C O M
  • 42. @ J E N 4 W E B W W W. K O H A P E T. C O M
  • 43. @ J E N 4 W E B W W W. K O H A P E T. C O M
  • 44. @ J E N 4 W E B W W W. K O H A P E T. C O M
  • 45. @ J E N 4 W E B We’re just beginning to develop effective no-code tools. But great websites are more than code. We need more storytelling frameworks and education.
  • 46. @ J E N 4 W E BS T O RY B R A N D
  • 47. Jen Kramer Watertown, MA Phone: 802-257-2657 jen@jenkramer.org www.jenkramer.org Twitter: @jen4web Facebook: facebook.com/webdesignjen S L I D E S AVA I L A B L E AT W W W. S L I D E S H A R E . N E T / J E N 4 W E B