Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Crafthouse 002 - Designers Can Code
Search
Simon Rand
November 20, 2012
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Crafthouse 002 - Designers Can Code
..and coders can design.
Simon Rand
November 20, 2012
More Decks by Simon Rand
See All by Simon Rand
Ruby Ireland - Titanium
simonrand
2
89
Designing your app
simonrand
4
370
Other Decks in Programming
See All in Programming
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3.2k
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
200
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
450
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
7
4.9k
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
430
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
160
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
210
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.2k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
150
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
360
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
230
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
570
Technical Leadership for Architectural Decision Making
baasie
3
580
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Thoughts on Productivity
jonyablonski
76
5.4k
Tell your own story through comics
letsgokoyo
1
1.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
410
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Transcript
DESIGNERS CAN CODE ...AND CODERS CAN DESIGN @simonrand
DISCLAIMER
BACKGROUND
I STARTED WHEN I WAS 7
[INSERT GRAINY 1990s PICTURE OF ME AT MY COMPUTER]
I GOT INTERNET IN 1992
I MADE WEBSITES (TERRIBLE ONES) Face saved by the terrible
harddrive loss of 2007
I GOT BETTER AT DESIGN I GOT WORSE AT CODE
I WENT TO ART COLLEGE I DIDN’T DO ART
I GOT WORSE AT DESIGN I GOT BETTER AT CODE*
* or my other talk: How Ruby on Rails got me back coding
I WAS OK AT DESIGN AND OK WITH CODE
STARTED IORUM 2006
WE ARE WEB & MOBILE DEVELOPERS* * or whatever else
we want to work on
None
None
None
None
None
CLIENTS INCLUDE Breaking Tunes/FMC, Brown Bag Films, Climote, Irish Film
Board, Matchbook, uSwitch.ie
define([ 'date', 'helpers', 'base/module', 'users/module' ], function(date, helpers, base, user)
{ 'use strict'; var Model = base.Model.extend({ initialize: function() { base.Model.prototype.initialize.call(this); this.set('user', new user.Model()); }, parse: function(response, xhr) { response['event-filters'] = new OptionsCollection(response['event-filters']); response['site-menus'] = new OptionsCollection(response['site-menus']); response['event-filters'].get('event_start_filter').get('options').each(function(option) { var after = Date.parse(option.attributes.criteria.after); var afterIsToday = after.toDateString() == (new Date()).toDateString(); option.attributes.attributes.title = afterIsToday ? 'Today': after.toLocaleDateString(); option.attributes.text = afterIsToday ? 'Today': after.toLocaleDateString(); option.attributes.criteria.after = after.getTime() / 1000; option.attributes.criteria.before = Date.parse(option.attributes.criteria.before).getTime() / 1000; }); return response; }, url: function() { return helpers.urlFor('/application/', { mock: true }); } }); var OptionsCollection = base.Collection.extend({ model: base.Model.extend({ relations: [{ key: 'options', relatedModel: base.Model.extend({}), type: Backbone.HasMany }] }) }); return Model; }); —
None
YOU SHOULD TOO (ENOUGH ABOUT ME)
NOT JUST FOR OPPORTUNITIES MONEY GIRLS/BOYS
TO BE BETTER AT WHAT YOU ALREADY DO
MAKING THINGS FOR THE WEB
THE OTHER SIDE DESIGNERS & CODE
WHAT DO YOU WANT TO DO? FETCH DATA FROM A
DB MAKE SOMETHING MOVE OUTPUT SOMETHING BUILD YOUR DESIGN MAKE SOMETHING FASTER MANIPULATE USER INPUT CREATE SOMETHING YOURSELF
YOU WANT TO BUILD YOUR IDEAS
BUT HOW?
TO UNDERSTAND A CODER YOU MUST BECOME A CODER
LOOK AT YOURSELF, YOU KNOW YOU’RE NOT A CODER
JUST LIKE YOU KNOW YOU’RE NOT A DESIGNER* * some
of you actually are
CODERS HAVE SKILLS* * add nun chuck skills and you’re
set
CODERS HAVE FOCUS
CODERS HAVE CONFIDENCE
CONFIDENCE TO SAY YES
CONFIDENCE TO SAY NO
YOU SHOULD BE JEALOUS BUT SO ARE THEY* * possibly
because they want rid of you, but can’t do without you
BEING ABLE TO UNDERSTAND THEM WILL MAKE THEM LIKE YOU*
* not guaranteed, and probably only a little bit
WHERE DO YOU START?
LANGUAGE WILL DEFINE YOU
LANGUAGE IS NOT EVERYTHING
TOOLS ARE YOUR FRIENDS* * try saying that about Creative
Suite
TOOLS TERMINAL VERSION CONTROL EDITOR
THE TERMINAL OR “YES, YOU TYPE THE COMMANDS IN”
None
THE TERMINAL CONTROL AUTOMATE INSTALL INVESTIGATE WHATEVER YOU LIKE
THE TERMINAL IS BRILLIANT, DON’T BE AFRAID
VERSION CONTROL “OH CRAP”
VERSION CONTROL GIT* * not Github
GIT LET’S YOU COMMIT BRANCH MERGE PULL TRACK COLLABORATE
None
DESIGNERS SHOULD USE GIT DEATH TO crap_rev2.psd
KNOWING GIT OPENS A WORLD OF POSSIBILITIES
None
EDITORS CUSTOMISABLE AUTOMATABLE .. ARE AN OBSESSION
EDITORS TEXTMATE SUBLIME TEXT
None
None
REAL EDITORS* VIM EMACS * I strongly disagree
None
None
“USE WHAT YOU LIKE”
LANGUAGE
TOO MUCH TO COVER
YOU MIGHT ALREADY KNOW SOMETHING USEFUL
JAVASCRIPT (NOT JQUERY!)
JAVASCRIPT IS POSSIBLY THE FUTURE
JAVASCRIPT MOBILE (TITANIUM) NODE.JS
None
None
None
THE LANGUAGE ISN’T JUST WHAT YOU TYPE
PROGRAMMER HAPPINESS RUBY! (PYTHON, CLOJURE, etc.)
I HAVEN’T MENTIONED PHP (I HAVE TO BE CAREFUL)
PHP IS PROVEN THERE’S A LANGUAGE FOR EVERYONE
“USE WHAT YOU LIKE”
BEING A CODER IS MORE THAN WRITING CODE
THE OTHER SIDE CODERS & DESIGN
NOT A DIRECT OPPOSITE
CODERS JUST WANT TO MAKE THINGS LOOK BETTER
THEY HAVE THE CONFIDENCE TO BE HAPPY WITH WHAT THEY
DO
WHERE WOULD THEY START? GRIDS TYPOGRAPHY COLOUR
WE CAN DEAL WITH THAT ANOTHER TIME
SO.. AN IDEA
2-3 DAY WORKSHOP WON’T TEACH YOU TO CODE
WILL HELP YOU TO BECOME A CODER
THOUGHTS?
@simonrand