Skip to content

Instantly share code, notes, and snippets.

View SteveBarnett's full-sized avatar

Steve Barnett SteveBarnett

View GitHub Profile
@SteveBarnett
SteveBarnett / lists.md
Created May 18, 2015 08:50
Order list trickery

My ordered list:

  1. foo
  2. bar
  3. baz

My ordered list that keeps changing and I keep changing the numbers and arg what a pain:

  1. baz
  2. foo
@SteveBarnett
SteveBarnett / units example.css
Created June 10, 2015 07:19
Progressively Enhanced CSS
body {
font-size: 2em;
/* all browsers apply this */
font-size: 7vw;
/*
browsers that understand vw apply this rule.
browsers that don't understand vw ignore it (and get 2em)
*/
if('querySelector' in document
&& 'localStorage' in window
&& 'addEventListener' in window) {
// bootstrap the javascript application
}
@SteveBarnett
SteveBarnett / persona-process.md
Created July 1, 2015 14:08
A process for creating Personas

A process for creating Personas

Sketch

  • Should contain:
    • Picture
    • Name
    • Quote
    • Job title
  • Few short bullet points
@SteveBarnett
SteveBarnett / user-flow-process.md
Last active August 29, 2015 14:24
A process for creating User Flows

A process for creating User Flows

Sketch

  • High level overview of phases
  • Quick discussions
  • Revise

Research

@SteveBarnett
SteveBarnett / browser-support.md
Created July 2, 2015 05:03
Suggested Browser Support statement for Praekelt

Current Scopes of Work contain a list of supported browsers and versions. Here's my proposal for a more modern alternative.

It's meant as a partner to the front-end development process section of the Engineering Ways of Working.


Praekelt builds sites using Progressive Enhancement: that means that support is treated as a continuum rather than a list of what is and what isn't supported. Every device with a browser is supported, but the target audience will guide where most development time will be spent on optimisation. Different browsers will be served different experiences; they will be thematically consistent and may be quite similar, but will not be identical.

A basic, functional, experience is delivered to every browser. JavaScript is not required for any key functionality; it is used to test the capabilities of the browser and enhance the experience by loading in additional CSS and JavaS

diff --git a/README.rst b/README.rst
index 33228fe..b79cd87 100644
--- a/README.rst
+++ b/README.rst
@@ -9,7 +9,7 @@ Create and install environment packages by executing the following commands::
$ virtualenv ve
$ . ve/bin/activate
- $ pip install -r requirements.pip
+ $ pip install -r requirements.txt
@SteveBarnett
SteveBarnett / help.md
Created August 8, 2015 03:18
RailsBridge at UCT on Saturday 8th August 2015: lab computer Ubuntu installs

Hi!

Using a UCT lab computer for RailsBridge?

The steps to follow are a little bit different from the InstallFest docs because Craig has set up a script that installs a bunch of things for us. Thanks, Craig! :)

Start at rbcpt.org/install.

  1. InstallFest. Follow the docs.
  2. Choose your OS. Follow the docs.
@SteveBarnett
SteveBarnett / activities.md
Created August 8, 2015 04:55
RailsBridge at UCT 2015-08-08 activities

Warm-up exercise (email)

  • 3 facts you know about programming
  • What will you do with what you learn?

Warm-up survey (intro)

  • Find 3 people.
  • Write down 1 warm-up answer from each on a sticky note.
@SteveBarnett
SteveBarnett / fed.md
Last active August 29, 2015 14:27
My preferred Front-end development process

Front-end development process

I build web sites so that people can access them quickly and easily, regardless of the device they're using, the type of connection they are on, or any disabilities they have. That means I build things with Progressive Enhancement.

The PE TL;DR is: a basic, functional, experience is delivered to everyone. JavaScript is not required for any key functionality (because all your users are non-JS while they're downloading your JS).

Progressive Enhancement

PE is an approach to web development that aims to deliver the best possible experience to the widest possible audience, by putting the user first. It works by layering on the content (HTML), presentation (CSS), and behaviour (JavaScript) bit by bit. It means using feature detection rather than device detection.