Skip to content

Commit 7f75780

Browse files
committed
Add Raspberry Pi case study
1 parent df04669 commit 7f75780

5 files changed

Lines changed: 95 additions & 5 deletions

File tree

case-studies.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ permalink: /case-studies/
2525
</h2>
2626
</a>
2727
</li>
28+
-->
2829

2930
<li class="feature-list__item">
3031
<a href="raspberry-pi-code-club-workshop/" class="feature-list__link" style="background-image: linear-gradient(to bottom right, #c7053d 0%, #c7053d 50%, #393 50%, #393 100%);">
@@ -34,7 +35,6 @@ permalink: /case-studies/
3435
</h2>
3536
</a>
3637
</li>
37-
-->
3838

3939
<li class="feature-list__item">
4040
<a href="ocado-workshop/" class="feature-list__link" style="background-color: #a9ae00;">

case-studies/financial-times.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@ layout: post
33
title: "Financial Times: Workshop and Consultancy"
44
meta: "An intense day of workshop-style Q&A with the Financial Times"
55
permalink: /case-studies/financial-times/
6-
# next-case-study-title: "Helping one of the world’s biggest companies with their UI Toolkit"
7-
# next-case-study-url: /case-studies/general-electric-consultancy-workshops/
8-
next-case-study-title: "Two days of intensive CSS architecture and performance workshops"
9-
next-case-study-url: /case-studies/ocado-workshop/
6+
next-case-study-title: "Preparing Raspberry Pi for their upcoming changes"
7+
next-case-study-url: /case-studies/raspberry-pi-code-club-workshop/
108
hide-hire-me-link: true
119
---
1210

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
layout: post
3+
title: "Raspberry Pi and Code Club: Workshop"
4+
meta: "A full day workshop to help solve the Raspberry Pi’s upcoming CSS conundrums"
5+
permalink: /case-studies/raspberry-pi-code-club-workshop/
6+
next-case-study-title: "Two days of architecture and performance workshops with Ocado"
7+
next-case-study-url: /case-studies/ocado-workshop/
8+
hide-hire-me-link: true
9+
---
10+
11+
<img src="/img/content/case-studies/raspberry-pi/logo-pi.png" alt="" width="128" height="165"
12+
style="float: left;
13+
margin-right: 24px;
14+
shape-outside: url(/img/content/case-studies/raspberry-pi/logo-pi.png);
15+
shape-margin: 12px;" />
16+
17+
I was approached by my friend [Jonic](https://twitter.com/Jonic), Senior
18+
Developer at the Raspberry Pi Foundation, about running a workshop with him and
19+
a bunch of the team. Specifically, they wanted to focus on building out a UI
20+
toolkit that could underpin a number of different properties, including [Raspberry
21+
Pi](https://www.raspberrypi.org/) and [Code Club](https://www.codeclub.org.uk/).
22+
23+
I was particularly excited to work together for a number of reasons: firstly,
24+
Jonic is loads of fun, so working together was bound to be great, but
25+
secondly—mainly—I have a huge interest in education in tech. I never went to
26+
university because the offering at the time I was looking (around 2008) was so
27+
poor, and any IT education I had before that left a lot to be desired. I got to
28+
where I am through self-teaching, open source, and the knowledge of others. It’s
29+
because of this that I guest lecture at certain universities, and have a bit of
30+
a soft spot for non-traditional education resources: The Raspberry Pi Foundation
31+
is a great cause to get behind.
32+
33+
Our working engagement was to be a single day workshop, on-site at Raspberry
34+
Pi’s Cambridge offices. The ‘work’ started the night before, when four of us met
35+
up for dinner and a few drinks. We hung out, got to know each other a little
36+
better, and briefly discussed expectations for the day ahead.
37+
38+
- - -
39+
40+
We started the day with me doing a bit of an audit of the code, [looking for any
41+
potential issues or oddities](/2017/01/ack-for-css-developers/). This filled the
42+
first 45 minutes or so until everyone had arrived and was settled in for a day
43+
of workshopping.
44+
45+
Jonic and the team had a sound understanding of Sass and naming conventions, so
46+
we skipped past that and dove straight in to a crash course on
47+
[ITCSS](http://itcss.io/). Lots of scribbling on whiteboards, drawing diagrams,
48+
and discussing how ITCSS might fit their specific requirements (that’s a core
49+
part of the architecture’s design: it can be moulded to fit almost any project).
50+
51+
<img src="/img/content/case-studies/raspberry-pi/logo-cc.png" alt="" width="128" height="128"
52+
style="float: right;
53+
margin-left: 12px;
54+
shape-outside: circle();" />
55+
56+
Once we had an idea of what shape the codebase would take, we then began to look
57+
at how we would deploy and consume it into projects. More whiteboards, more
58+
scribbling, and some head scratching later, we settled on a number of separate
59+
repos and npm packages to consume smaller, more granular parts of the toolkit
60+
into projects that needed it. This granularity would make the toolkit more
61+
useful and more flexible.
62+
63+
After we got down a lot of architectural theory, we began to focus our
64+
attentions on theming and repurposing the toolkit so that it could be used on a
65+
variety of different sites and products. Theming is [a problem I’ve
66+
solved](https://speakerdeck.com/csswizardry/4half-methods-for-theming-in-s-css)
67+
for many different companies, in many different ways, many different times
68+
before, so we managed to settle on the correct approach very readily: this left
69+
us with a fun bit of code tennis where I mocked up a proof of concept in
70+
[Sassmeister](http://www.sassmeister.com/), and Jonic and the team added the
71+
next features, and so on, until we’d got a pretty comprehensive chunk of code
72+
that allowed us to generate and switch themes very quickly.
73+
74+
We rounded off the session by looking at some performance topics, mainly
75+
CSS/runtime/rendering performance: how to measure it, how to debug it, and how
76+
to improve it.
77+
78+
By the time the day wound down, heads were beginning to spin. In just a short
79+
amount of time, we covered a _lot_ of ground. We’d worked out the most suitable
80+
architecture for a multi-platform UI toolkit; we decided how best to package,
81+
deploy, and consume it; we coded up a way of completely reskinning and theming
82+
it, and then we began to touch on how to make things like animations silky
83+
smooth.
84+
85+
After that, it was time for the pub, and a couple of us made it to somewhere
86+
local to finish the day talking non-technical things with a beer in hand. I’m
87+
really pleased with the work we did together, and happy to have been a part of
88+
shaping the future of Raspberry Pi’s new UI toolkit. What a great client!
89+
90+
- - -
91+
92+
{% include promo-next.html %}
3.98 KB
Loading
7.3 KB
Loading

0 commit comments

Comments
 (0)