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
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
120
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
490
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
390
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
1.8k
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
210
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
120
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
460
App Intentsのビルドプロセスを支える技術
kntkymt
0
360
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
0
270
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
780
アクセシビリティから考える情報設計
high_g_engineer
0
370
AIエージェント時代のコードレビューを設計する
nogu66
6
2.7k
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
310
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
Technical Leadership for Architectural Decision Making
baasie
3
570
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
230
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
690
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
520
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