Creative

So then I built an oil lamp

A few months ago I was walking in the park near my university and stumbled across a rather warped but stylish fallen branch. Immediately I knew that this branch was destined to become an oil lamp. A couple months later of on-and-off work, I had finished.

enter image description here

The lamp itself was made out of laminated rings of wood, which encased a copper oil container. A sculpted nozzle allows the wick to raise out of the wooden container and light up. The container is hinged and can be refilled whilst the lamp is burning. The nozzle was made out of laminated ply, whereas the alternating colours of the container were various hardwoods. The heat distributors were zinc (if I recall right), and the glass was cut out of an old soya bean milk bottle.

enter image description here

The branch itself didn’t become the lamp, but rather the stand for the lamp. The slight uneven and rustic look makes it suited more for the outdoors, placed on top of lawn.

enter image description here

The wick passes through a wick raising mechanism. The design for the mechanism, built from steel and aluminum, was actually taken by a patent advertised by the International Guild of Lamp Researchers (yes, you read that right).

It consists of two cogs, one with pointed teeth, and another indented so that they mesh together. These are encased inside a block with a two channels – one for the cogs to fit into, and one for the wick to pass between them. Turning the cog with teeth catches the wick, and allows you to raise and lower the wick. This feeds in extra wick when existing wick burns out, and allows you to “dim” and “brighten” the lamp.

Each cog spins on an axle, but the indented cog’s axle has a extended slot, and by twisting a screw outside, you can push the cogs closer to one another. This allows the wick mechanism to accommodate for differently sized wicks.

enter image description here

This entire project was built from scratch (with exception of the wick and metal fastener at the top with the ugly blue plastic which was bought), with thanks to the helpful folks over at the university workshop.

enter image description here

All in all, I call this project a success. I’ve learned a ton about woodwork and metalwork, and got myself a rather unique lamp in the process. I hope you all enjoyed taking a peek too :)

Life & much, much more

The one and only IBM Model M Keyboard

Any computer enthusiast will tell you that whereas computers in general have been getting better over the years, keyboards have been steadily degrading in their preference for design rather than build quality. Simply put, all keyboards nowadays (characterised by mushy rubber dome chicklet keys) are terrible. If all of this sounds like a weird geek fetish to you, stop reading now. Otherwise, read this series of posts which will give you a good general knowledge of the subject.

I had been debating for a while now whether or not to invest in a proper mechanical keyboard. Given that I am mostly mobile on a laptop, lugging around another keyboard would be a pain. But recently I stumbled across an IBM Model M back from 1991 (there is a birth certificate on its back).

IBM Model M Keyboard

After giving it a thorough cleaning, I have been using this for a month now and it is a beauty to type on — I doubt I’ll ever go back to using a regular keyboard again.

A few gotchas for the uninitiated:

  • It’s loud. Loud loud loud. Fine for your bedroom, but can be annoying in the office (you will bring it into work, won’t you?). However it’ll make everyone aware that you’re definitely hard at work.
  • It’s big. So big that it won’t neatly fit into any bag. You may want to consider a “Spacesaver” edition without the numpad.
  • There is no super (windows) key. Annoying if you rely on it for shortcuts, but ultimately a small price to pay for angels tapdancing on your fingers.
  • It’s not hard to press. Although the keys are bigger, it’s easier to type on this than on other keyboards.
  • It uses a PS/2 cable. You will likely need to buy a PS/2 to USB adapter to use it.

For those who have had the same dilemma as I did, make the switch. You won’t regret it.

Creative

Free major and minor scales for piano sheet music

Two months have gone by without blogging. In that time, I’ve been wrapping up the first half of my uni year. There are plenty of stories to tell, but I’ll delay that just a little bit longer.

In the meantime, I wanted to share some basic scores I produced for piano. I teach piano in my spare time, and I find it quite irksome that there aren’t any nicely-engraved free scores for download online for basic exercises such as major and minor (both harmonic and melodic) scales. These are also great if you’re trying to learn piano on takelessons.com or a similar site.

The score is 5 pages long. The first two covers major scales, and the final three cover the minor scales, which alternate between harmonic and melodic. Fingering is included when there are fingering changes. The sheet has no copyright or attribution text that might get in the way of professionalism when presenting to students. The sheet is created using LilyPond, which is quite possibly the world’s best music engraving software.

Free piano major and minor scales sheet music

Click here to download (Edit: now goes to learnmusicsheets.com)

The document is licensed under CC-BY. You are required to attribute (by linking to this page) should anyone ask or if you want to share this on your own website.

Technical

VTemplate: a web project boilerplate which combines various industry standards

You’re about to start setting up the delivery mechanism for a web-based project. What do you do?

First, let’s fetch ourselves a framework. Not just any framework, but one which supports PSR-0 and encourages freedom in our domain code architecture. Kohana fits the bill nicely.

Let’s set up our infrastructure now: add Composer and Phing. After setting them up, let’s configure Composer to pull in PHPSpec2 and Behat along with Mink so we can do BDD. Oh yes, and Swiftmailer too, because what web-app nowadays doesn’t need a mailing library?

Still not yet done, let’s pull in Mustache so that we can do sane frontend development, and merge it in with KOstache. Now we can pull the latest HTML5BoilerPlate and shift its files to the appropriate template directories.

Finally, let’s set up some basic view auto loading and rendering for rapid frontend development convenience, and various drivers to hook up to our domain logic. As a finishing touch let’s convert those pesky CSS files into Stylus.

Phew! Wouldn’t it be great if all this was done already for us? Here’s where I introduce vtemplate – a web project boilerplate which combines various industry standards. You can check it out on GitHub.

It’s a little setup I use myself and is project agnostic enough that I can safely use it as a starting point for any of my current projects. Fully open-source, guaranteed by 100s of frontend designers, and by good PHP developers – so go ahead and check it out!

Life & much, much more

Architecture’s existential crisis

Four posts ago, I took a break from the usual technical and on-going project posts, and instead went on a four part spree talking about Architecture. In particular, I tackled the question of Architecture’s existential crisis. It talks about issues about discipline and professionalism (actually inspired by Bob Martin’s similar talks in the software industry), the philosophies that architecture idolises, and overarching goals of the profession and the world in general.

The reason I spent so much time on this is because I believe that it is wrong to treat architecture as superficially as an art form. It is not a commodified object of entertainment like a book or movie. It isn’t something where people are given the choice to consume it. Instead, it is inherently part of our day to day lives and affects everyone. This means architects have a responsibility to others.

I’ve converted the rather long post into a LaTeX-compiled PDF, so those who haven’t read it due to the sheer size can enjoy it. Download it here.

Will resume to the usual topics after this.

Life & much, much more

Architecture’s existential crisis pt 4: Timeless frameworks, and where do we go from here?

In part 1: Architecture is not a Profession, I outlined architecture’s distraction with competitive theories rather than acting as a professional discipline and serving society.

In part 2: The Foundations of Architecture, I talked about what architecture is currently based upon, and how to unify these into a governing framework that encompasses all architectural ideologies based off Vitruvius.

In part 3: Goals, ethics, and the people element, I placed the framework within society and introduced aspects of a professional ethical responsibility to serve other people.

In this final conclusion, I talk about future proofing the efforts of an architectural profession, and hint at what where we go from here. What did this (very long) series conclude? Now what have we learned? What can we now set out to tackle?

The final element: Resolving timelessness

The architectural framework has addressed a need for a foundation as well as the need for professional goals. There is still one thing missing: the ability to solve these goals.

The world is complex. As architecture is a justified solution to a predefined problem using the world as its medium, many of architecture’s goals will also be complex.

Complex goals take time to solve. There isn’t much use in introducing a framework to solve larger issues if we don’t have time to solve these issues past a certain number of years or generations. We need time to understand the nuances of the world, test our solutions, and figure out where we went wrong.

This does not suggest that time is all that is needed to work the world out, if that is possible at all. It merely suggests that prolonged effort may be a good thing towards achieving goals.

To support complex goals that may bridge theories and allow us to carefully consider when we choose to advance a theory, I propose a final element to bind the first four. I propose time.

The word time refers not to itself, but its effects. This may be impermanence, permanence, change, conditions and their propagation.

  • It is encompassing. It is based upon time, the flip-side of built form, which is equally a universal constant for all built forms.
  • It is descriptive. It does not dictate an effect of time or a belief of how time works, but simply an awareness of its existence.
  • It is agnostic. As people and built forms all are part of physical phenomena, they are all subject to time, regardless of psychological belief.

Again, many theories have already considered time, such as metabolism, who felt the urgency to adapt, Nazism, who modeled a 100-year Reich after Roman’s “eternal classical architecture”, and sustainable architecture, who thought about future effects. Theories which are neo, post or somehow reactionary or a revival towards an older theory or even future-looking are all addressing issues of time. All consider that time happens.

The reason time binds the first four is because it helps us frame the era where theories are valid. It makes us state exactly how universal our proposals are trying to be. This influences theories to be seen not as standalone items but as part of an ongoing process. This awareness of a larger process helps share traits across theories that tackle the same goals, giving us a little push towards spending longer on a goal before giving up.

Nature of a framework

The final framework: firmness, commodity, delight, ethic and time is nothing new. By definition it has to have existed, been practised and seem blindingly obvious to the profession in order to work. This is the final proof of its validity as a binding force to the profession and to its three outlined characteristics.

Although the framework is presented rather dogmatically, it is designed to be extended and interpreted by its users. The only restriction is in the way it is extended: in the form of theories which state their position on each of the considered elements before elaborating into detail.

If extensions of the five elements are considered, they should be considered being well aware of their goals. For example, this framework differs from the original intentions of Vitruvius, and the later famous extensions by Alberti. Whilst Vitruvius tells how buildings are built, and Alberti tells how buildings are to be built[1], this framework’s goals falls somewhere in between. It is created neither to establish a new discipline or open a new epoch, as Alberti did, nor to be a custodian of tradition, as Vitruvius did. It is a guide between the two to solve an existential crisis.

As a guide, the framework is designed into architectural education. Instead of assuming a guidance of inspiration and genius, a framework provides a rational base. This ensures not only that architects are theorising and building, but join the two in a way that they are in full intellectual command of what they are designing[2].

Current architectural mentality - a timeline of ideologies

The current mentality. A time-focused view with each theory dominating. This model creates periods of existential crises.

A new view based on a framework, where ideologies are linked to society and seen as assets - strategic tools to use.

Architecture’s foundation – a framework to achieve goals. Theories are no longer marked as irrelevant after a certain time period, but may be reapplied depending on the society. Existential crises can no longer exist as long as everything is described against the framework.

Architectural discipline is its true value: as a tool and indicator to help define architectural goals that are larger than individual theories. It converts theoretical argument into a greater synergy across the profession.

A framework is also a declaration. It declares an understanding that we cannot predict the world, but can’t ignore it either. Even if we choose to ignore elements in the framework, it will have to be a conscious decision.

Finally, perhaps the most important nature of a framework is its communicability. Its simplicity allows it to be understood by those outside the profession and quickly empathised by those entering it. This concreteness helps form the basis of any abstractions used in the industry and distils it to useful, beneficial applications. Because we can once again connect to society on disciplined, measured and focused foundation, we can once again serve it as a profession.

Where to from here?

With an army of theories at our command, hundreds of tested implementations, and a framework to generate new ones should we need to, the only thing left is to actually define goals.

The question is, does architecture have a political meaning? The answer is, self-evidently yes. Should architects, like Le Corbusier or anyone else, today, try and change the world? The answer is also yes. Should architects have a blindness to who the client is? The answer is no.

Ricky Burdett, London School of Economics[3]

While the framework cannot prescribe goals, I can propose some as an individual. But what long-term, with high ethical standards, widely recognised, measurable, focused, disciplined, world changing goals are appropriate for the needs of society and the interests of others?

[The eight Millennium Development Goals] form a blueprint agreed to by all the world’s countries and all the world’s leading development institutions.

United Nations[4]

Is it possible? Certainly not at the current state of the industry. Not with focus on theory and undisciplined schisms. Not without foundation. Not without society oriented goals and time to solve them. But perhaps it could be, just perhaps, if we became professionals.

  • [1] Alberti, L. B., Rywert, J, 1988, On the Art of Building in Ten Books, typeset Asco Typsetting, Hong Kong, printed USA.
  • [2] Breitschmid, M, Architecture \& Philosophy: Thoughts on Building, Blacksburg, Virginia, USA
  • [3] Barbican Five Points for An Ethical Architecture, Architecture Foundation London, viewed 4 October 2012, http://vimeo.com/29281095
  • [4] Background, United Nations Millennium Development Goals, viewed 20 October 2012, http://www.un.org/millenniumgoals/bkgd.shtml
Life & much, much more

Architecture’s existential crisis pt 3: Goals, ethics, and the people element

In part 1: Architecture is not a Profession, I outlined architecture’s distraction with competitive theories rather than acting as a professional discipline and serving society.

In part 2: The Foundations of Architecture, I talked about what architecture is currently based upon, and how to unify these into a governing framework that encompasses all architectural ideologies based off Vitruvius.

In this part, I will extend the framework to hint at the goals and responsibilities of a professional discipline.

The role of a framework in determining goals

Whilst outlining the framework gives us a foundation as a profession, it says nothing about the precedence of welfare, health and safety of the community as needed in a profession. To do this, we need to refine the architectural framework to pinpoint goals in society.

I use the phrase “pinpoint in society” because a framework does not prescribe goals. It is descriptive. It doesn’t claim that the profession knows everything about the world and is authorised to make decisions for it. However, by outlining elemental considerations when people decide on a goal, it is able to influence these goals (This is still the case even if an element is marked as unimportant.).

The current framework has three elements: structure/firmness, commodity/function, and delight/design/beauty. The first tackles built form itself whereas the latter two tackles community reactions towards built form. Whilst these latter two elements may tackle some aspects of the welfare, health and safety of the community, I believe the addition (Unlike previous attempts to extend Vitruvius’ statement[1], this adds a new element rather than providing detail about existing elements. This is because providing detail converts the framework into a theory.) of a fourth community element may pinpoint this.

A new element: People are as important as built form

Architecture is a discipline where it is impossible to escape values. It’s radically value-laden. I think it’s possible that you can become an architect and see it as somewhat autonomous and not as a political act, which is incredibly naive. I try to make students aware of the radical, political, cultural, social nature of our work and how it’s impossible to escape those responsibilities.

-Thom Mayne, Morphosis

The element outlined above comes in the form of values and responsibilities. What governs our values and how to respond to these responsibilities are ethics (Ethics, morality and ethos (original Greek) can be used interchangeably.). As ethics also fits the requirements of a framework, I propose for ethics to be added as a fourth element:

  • It is encompassing. It is based upon people, which is a universal constant for all built forms. Whilst Vitruvius already targets the aesthetic judgement (when people react to firmness), the moral judgement (when people react to commodity) is left unconsidered. Whether or not we are consciously making decisions based on ethics, it will have effects nonetheless.
  • It is descriptive. It does not dictate the alignment of the moral compass but instead just highlights its presence as a quality of an architecture.
  • It is agnostic. All cultures have a moral compass, and as such, applies to all cultures. Ethics also covers the relation between groups and individuals, which won’t exclude individualistic cultures or the third architectural body who does what they please.

To further prove ethics as an element, we can list some theories who highlight their consideration to ethics: sustainability, where the primary value is that our decisions should not inhibit the opportunities of the future, modernism, where the moral value of truth was translated into an aesthetic quality, and then post-modernism, where the populist ethic was rejected[2]. As for older examples of theories, any theory governed by religious or political ideas has by definition shown consideration of ethics.

Ethics is also a useful addition as it fills a gap left by the original three elements (Vitruvius did mention aspects of ethics[3], such as relationships between men, politics, and precepts, but treats it in the form of a prescribed theory, not a framework). The original three elements either consider the built form itself or the relations between people and built form. Noticeably missing is people themselves. A recognition of people themselves is needed to highlight the distinction between the roles buildings play and the roles people play. Ethics covers both people themselves and the relationships to built form.

This coverage of people themselves and relationships to architecture cover societal aspects: aspects such as politics, environment / sustainability, humanitarian needs, urban planning, right down to individual clients. Including ethics as an element clearly strengthens the link to the welfare, health and safety of the community – one step closer to an architectural profession.

All architects have two clients whenever they work – one is the person that actually pays the bills, and the other is society in general. I think an architect that doesn’t see they are working for society in general doesn’t know his job.

-Joseph Rykwert, Architectural Historian[4]

Understanding of the interests of society is a prerequisite for ethics to be considered. This means that adding ethics as an element helps encourage consideration of our actions in the interests of others.

Although it is not the job of a framework to govern the application of its elements, it’s important to make sure that it can be applied in the first place. ie. to ensure that ethics is not “good in theory but not in practice”. This allows the element to be carried into architectural theories, and then implemented in architectural styles. We can prove this by citing religion, as well as agnostic hierarchies of ethical systems[5]. This practical side of the element means not only can it seed theories, it can fulfil the frameworks goals as a measurement tool.

Ethics is also complex. The inability to create a set of non-conflicting simple rules to govern ethics[5] over humanity’s history suggests a NP-complete nature. This means not only can it be applied in practice, it can also take many different forms that will continue to change over time.

This consideration of the interests of others, nature, welfare, health, and safety changes Vitruvius’ framework into a professional framework, ie. a framework pinpointed in society. We now have a framework consisting of firmness, commodity, delight, and ethics.

  • [1] Watkin, D, 2005, A History of Western Architecture, Laurence King Publishing, London, UK
  • [2] Boje, D. M., Toward a Narrative Ethics for Modern and Postmodern Organization Science, viewed 10 October 2012, http://business.nmsu.edu/~dboje/papers/toward_a_narrative_ethics_for_mo.htm
  • [3] Wotton, H, 1651, The elements of architecture (translated from De Architectura, Vitruvius), Thomas Maxey, London, UK
  • [4] Barbican Five Points for An Ethical Architecture, Architecture Foundation London, viewed 4 October 2012, http://vimeo.com/29281095
  • [5] Singer, P, 2011, Practical Ethics, Cambridge University Press, New York, USA
Life & much, much more

Architecture’s existential crisis pt 2: The foundations of architecture

In part 1, I outlined architecture’s distraction with competitive theories rather than acting as a professional discipline and serving society. In this part, I will talk a bit about the categories of architectural theories and styles, and how we can unify these.

Why theories and styles are inappropriate

Goals and foundation are equally important to a functioning profession. However, although we have plenty of candidates for goals as offered by theories over the years, we only have a few candidates for architecture’s foundation. As of now, we seem to mainly compete over architectural theories and architectural styles. These become our two initial foundational candidates.

An architectural style describes the physical characteristics of an era. This may be as specific as pointed arches in Gothic architecture, or as vague as chaotic forms in Deconstructivist architecture.

An architectural theory is a set of ideas that outline an approach towards architecture. These ideas are non-arbitrary, which may be implemented in one or more architectural styles. For example, modernism’s “form follows function” is a theoretical approach towards architecture, and one stylistic implementation is by removing ornamentation from a building.

Creating this distinction between style and theory is important as it reveals that styles are insignificant. They are merely a single manifestation of an idea that people copied. They are fleeting, superficial, and aesthetically subjective–but more importantly, they represent a lack of understanding of the discipline behind a building (This has been identified in the second group of the architectural schism.). These are not hallmarks of a good foundation to base the architectural profession upon.

In contrast, an architectural theory is normally based on the religious, political, social, technological and ethical ideas of the time. This encompasses more aspects of our total experience of the world and thus makes it a better candidate for an architectural foundation.

Theories have been described as that which identifies the practices, production and related challenges of architecture. They re-evaluate architecture’s intentions and relevance\cite{newagenda_. Although it shares the same intentions as a foundation, the fact remains that theories die and have a short-lived existence compared to architecture’s full lifespan.

If theories and styles are both inappropriate, a third route is to consider that theories are simply strategies executed underneath a global and timeless architectural framework. The theory is not the foundation of architecture, but an instance which tackles the issues that the framework proposes. This is in the same way that a style is an instance which tackles the issues that a theory proposes. Identifying this global and timeless architectural framework, and in turn, foundation, is the first step to resolving architecture’s crisis.

Characteristics of a framework

A framework is a basic structure underlying a system or concept. Rather than attempt to elaborate on this phrase, I will instead immediately present an architectural framework:

[in Architecture, an operative art] the end must direct the operation. The end is to build well.

Well [an ideal] building hath three conditions: firmness [sturdy], commodity [useful], and delight [beautiful].

-Vitruvius[1]

For a quote which has survived more than 2000 years, it seems to remain relevant and encompasses all architectural theories. No matter how different each theory is, each theory first prioritises these three elements, and then prescribes a strategy to showcase their prioritisation. For example, Gothic architecture may be seen as prioritising firmness and delight, or Modernism may prioritise firmness (technology) and commodity. Some believe all are equal (Vitruvius), but all theories form a stance in relation to these three.

We also notice that the framework’s elements are neither prescriptive, proscriptive, affirmative or critical of anything. It is a listing of attributes which must be considered for a building, but offers no more guidance. It is a description, not an arguing point.

These elements are also agnostic. They do not rely on a culture, religion or belief. All physical forms have an element of structure (firmness). All living beings all have an intent (commodity). And when living beings are put together with structure, we give an aesthetic judgement (delight). This characteristic has given it a timeless nature.

These three characteristics (encompassing, descriptive, and agnostic) upheld by three elements (firmness, commodity, and delight) form an unquestionable architectural framework. Architects are now free to juggle different theories as strategies governed by the framework, but must consider all elements of the framework. They are also still free to implement a theory as an architectural style. Each style considers a theory, and each theory considers the framework.

A new hierarchy of Framework > Theory > Style shifts the focus of architecture away from the details of theories towards a set of commonalities. This allows us to treat theories as just another item in our toolkit towards solving bigger problems. It’s no longer about getting caught up in the details and their changing natures, it’s about selecting the right tool for the job.

This means that theories can be marketed as what they truly are: an approach towards a defined society, not a law unto itself. This helps prevent arguments about details and encourages speculation over the elements in the architectural framework as a root for theoretical strategies.

A resulting increased emphasis on society as a specific audience per theory allows us to be more aware of society’s needs. This allows us to tackle multiple types of societies simultaneously with each theoretical solution tailored towards their interests. This satisfies the professional requirement of working for the benefit of society.

Because of the framework’s characteristics, it may always be applied in all situations at all times without prescribing goals–a simple, agreeable outline that has always affected what we had done in the past, without restricting what we do in the future.

In part 3, I will explain how this architectural framework is incomplete without a compass to guide its application, and introduce the question of architectural ethics.

  • [1] Wotton, H, 1651, The elements of architecture (translated from De Architectura, Vitruvius), Thomas Maxey, London, UK
Life & much, much more

Architecture’s existential crisis pt 1: Architecture is not a profession

A while back (half a year ago), I planned to attempt to solve architecture’s long-lasting “existential crisis”. I thought of creating a framework where people could understand what a theory was and how to generate new ones. The more overarching goal was to look at architectural theories in a positive and constructive light, rather than as points of debate. However in this first part, I just want to highlight the symptoms of the problem.

In architecture’s 8,000 years or more years of existence, it has had about 112 distinct architectural styles (not counting regional differences)[1]. Each style represents a theory or a subset of one. More than half of these theories were formed in the past 250 years – a mere 3% of architecture’s lifespan. At this rate you will encounter 10 more architectural theories during your average career. Simply put, architecture has an existential crisis.

But what is an existential crisis? It’s a stage of development at which an individual questions the very foundations of his or her life: whether their life has any meaning, purpose or value.

An existential crises creates two problems. The first is that we are unable to define goals unanimously as an profession. Without goals, our efforts become divided and ineffective towards serving society.

Uncertainty has spilled over into our schools of architecture. Thirty years ago Christian Norberg-Schulz charged that “the schools have shown themselves incapable of bringing forth architects able to solve the actual tasks.” Things are no different today although we are more likely to meet with challenges to the very notion of “the actual tasks”. Do we know what these tasks are?
– Karsten Harries[2]

The second problem is that we lose a professional foundation. We are unable to be disciplined in our actions, measure standards of success, and focus on the needs of society. These are all professional traits that a foundation provides.

[A profession is] A disciplined group of individuals who adhere to high ethical standards and uphold themselves to, and are accepted by, the public as possessing special knowledge and skills in a widely recognised, organised body of learning derived from education and training at a high level, and who are prepared to exercise this knowledge and these skills in the interest of others.

Inherent in this definition is the concept that the responsibility for the welfare, health and safety of the community shall take precedence over other considerations.
– Australian Council of Professions[3]

As a result of undefined goals and non-existent foundation, we get lots of theories vying for the industry’s attention. However, at any one time only a few theories are marketed as relevant, each describing a certain type of society. Not only does this mean we are limited in our ability to serve types of society, but we get a schism in the architectural body into:

  • Those who apply theory as a discipline to the relevant group in society with shared interests. ie. part of a profession.
  • Those who apply theory as a discipline without understanding which society it was meant for. Exercising knowledge without considering the interests of others is not part of a profession.
  • Those who disregard theory and do what they please. This lack of discipline is also not part of a profession.

With architectural fame dominated by theoreticians who build, it is encouraged to critically observe the previous generation’s philosophy and debunk it with your own[4]. This is childish bickering–creating a dog-eat-dog industry where we aggressively defend our individuality and treat it as a good thing.

This lack of discipline and resulting schism is why I propose that either the state of architectural profession is a short-lived movement waiting to be debunked, or we do not have one. Extending this movement into something that is timeless and bound by the definition of a profession is how we can solve the existential crisis.

Some might argue that continuously questioning our approach is a sign of dedication towards relevancy in society and see it as a good thing. This, however, is missing the point: it isn’t about the details of each theory or how they are formed. It is about how theories are marketed.

Architectural theories are marketed as the be-all and end-all of architectural approach. Although hindsight continuously proves this to be wrong, our impression of current theory renders past theories outdated and somehow irrelevant. Our resistance to change then fixates our attention on the theoretical details between past and present, leading to arguments. This hinders our ability to see larger goals.

Additionally, we are still unable to outline goals or foundation despite increasingly and continuously questioning our foundations. If we continue generating theories at a rate of every 3-4 years without being able to highlight any one of these theories as being correct or still relevant today, then perhaps we are searching in the wrong place.

Coming in part 2: What are the foundations of architecture and why are they inappropriate?

  • [1] Timeline of architectural styles, Wikipedia, viewed 11 September 2012, http://en.wikipedia.org/wiki/Timeline_of_architectural_styles
  • [2] Harries, K, 2000, The Ethical Function of Architecture, Massachusetts Institute of Technology, USA
  • [3] Definition of a Profession, Australian Council of Professions, viewed 4 October 2012, http://www.accc.gov.au/content/index.phtml/itemId/277772
  • [4] Breitschmid, M, Architecture & Philosophy: Thoughts on Building, Blacksburg, Virginia, USA
Life & much, much more

Architecture and what makes good design

Given that my third year in architecture is about to begin, I wanted to talk a bit about what I judge to be “Good Architecture”. I’ve talked a bit about selfish architecture before and I want to expand on this.

Good architecture cares about other people and disregards our own subjective wants. I was first introduced to this idea back in the 2011 Flux Student Architecture Congress in Adelaide during a presentation by a New Zealander named Andrew Maynard. He switched to a new slide – split into two pictures. The left showing a picture of a typical Zaha Hadid shelter in her signature style, and the right showed the ubiquitous German bus stop.

Zaha Hadid vs the German Bus Stop

Andrew points out each picture and asks which is the better design? The winner, of course, is the bus stop. Why? Because of the following news headline: “Fake bus stop keeps Alzheimer’s patients from wandering off” ([source]/source).

These fake bus stops were put outside Alzheimer clinics. Previously, when patients were distressed, they would try to escape the building. The staff would then have to alert the police to track them down and bring the back. Now, they would see the bus stop, and sit there – waiting for the bus that would never come to bring them home. The staff would leave them to calm down, and after a while approach them and say kindly, “It looks like the bus is running late. Would you like to come inside for a cup of tea until it comes?” To which they would agree, calm down over some tea and biscuits, and forget that they were trying to leave.

This understanding of human needs and care for all parties (staff, patients, and society) is the hallmark of good design. It is in contrast to designing a prison to keep the patients inside, and in even greater contrast to Zaha Hadid’s socially-devoid self-indulgent form manipulations.

Unfortunately, folks like Zaha Hadid are worshipped and highlighted in our education, yet I can’t even find a name to attribute the bus stop to. You just need to look at the names of architecture firms to see the egotism – just notice how many are named after the architects themselves or their initials.

Become a better architect. Don’t be selfish.

Technical

PHP CMSes done right: how to enable clients to edit content appropriately

In the previous post, I talked about how CMSes harm websites. I debunked the oft used selling points of faster, cheaper and client empowerment over websites and explained how CMSes butcher semantic markup, code decoupling, tasteful style, speed optimisations, maintenance ease and code freedom.

Now I want to mention a few ways how a CMS can be appropriately used to build a website. There are two scenarios I want to cover: using pre-built scripts and prioritising custom code first.

Pre-built scripts

By pre-built, I mean all you really want is an off-the-shelf setup and don’t care for customisations. So grab an out-of-the-box CMS (Joomla, Drupal, WordPress, etc), install an associated theme and several modules from the CMS’s ecosystem and glue them together. With this sort of set-up, you could have yourself a complex website system such as an e-commerce or blog site running within a day, looking good, and costing zilch if you have the know-how.

In this scenario, a CMS should be your top choice. The benefit of speed and set-up far outweighs the extremely costly alternative of custom coding such a complex system. It is for this reason that thinkMoult runs on WordPress: I just wanted a blog to run on the side with minimal fuss.

As the complexity of the system grows this benefit also grows. It would be rare to recommend to the average client to build a blog from scratch, an ecommerce system, a forum, or even ticketing system.

However once you plan on doing lots of customisations, you’re stuck.

Did that really solve anything?

Not yet, we’ve simply outlined a scenario where the cost benefit far outweighs the effort required to invest in a custom product. Unfortunately, all the issues still exist.

So how do we build a CMS for products which don’t fit those requirements – either small tailored “static poster” where first impressions are key or customised systems?

Sceptics might question why building a CMS now is any different from the CMS giants of the past. My answer is that the PHP ecosystem is maturing and the industry is standardising (see PSR-0, Composer, and latest PHP changelogs). Previously we relied mainly on CMSes as they defined a set of conventions we could live with, but now we have proper ones industry wide.

Place custom code first!

VTemplate CMS

The answer is simple. The CMS should not govern your code! Markup style generating, logic modifying systems should be at least completely decoupled if not thrown away completely. The trick to do this quickly is to isolate exactly what a CMS needs to do: and that is to allow the client to edit content.

That’s right: edit content. Not glue modules, not define routing, not to restyle the page, and never, ever, to touch anything to do with logic.

If they ever need anything more complex than editing content, make a module for it. Make that custom module on top of your existing code, and link it to a config repository – nothing else. All it should do is flick switches, not act as a heavyweight crane.

Now, for editing content – I have five strategies to fix the “butchering” aspect of CMSes:

  1. Start by ensuring your frontend code is completely decoupled from all logic. I like to do this by using Mustache as a templating language. It’s simple by design. If your frontend developers can’t break the site’s logic, your client can’t either.

  2. Write your markup and styles perfectly. Writing perfect markup and styles means your editor won’t have to care about whether that extra <div id=”does_things” class=”active wrapper_l12″> was actually vital to the page operating properly. Everything is simple and only uses standard markup tags.

  3. Use a semantic editor. A semantic editor preserves the goodness of point 2. I use WYMEditor, which has bee around for a while. Not only does it stick to the basic tags, it reads extra styles from documented CSS. This way you won’t have clients with no taste inventing new styles and layouts, but only using what you’ve provided.

  4. Beautify the code! PHP Tidy is built-in and can produce well indented, cleanly styled code markup. Don’t have faith in automatic beautifiers? With your perfect markup and complete style/markup separation in points 2 and 3, all your beautifier deals with is the most basic of markup – which probably only needs indenting before it’s called classy code (no pun intended)!

  5. Whitelist editable elements, not blacklist. The default state for whether content should be editable should be off. Don’t give them more than they ask. Because otherwise they will touch it, and inevitably break it. This means you’re custom isolating segments of editable content for the client (I move it into a Mustache partial), and testing it before handing the baton to the client. It also means you can monitor it much more easily- such as inserting an update notifier so that you can run git diff and verify they didn’t somehow still bork things over due to Murphy’s Law.

Et voila! Your client now can edit the content, not break the logic, keep it semantic, keep the code beautiful, and only touches what we wants. He also has a series of switches for the more complex areas of the site. You’re also keeping watch via that update notifier I mentioned (with a monthly fee, of course).

Back-end wise, you’ve lost nothing of the modular ecosystem that CMSes also advertise, because now we’re coding to the PSR-0 standard, and can see the various items that people offer.

What did we lose? Upfront development speed. What did we gain? Everything.

Note: the picture of the CMS is from a custom solution I developed for Omni Studios. Underneath it’s powered by Mustache, PHP Tidy, and WYMEditor, and good markup/styles, all mentioned in this post. So by custom, I mean rebranding a series of industry tools.

Technical

Content Management Systems harm websites

Yes, you read that right! Customers looking to build a web application are often wooed by the many ‘benefits’ of using a Content Management System. But before we begin: What is a content management system (abbreviated CMS)?

When a web site is built, complicated code is written to allow it to function. Some of this code builds what we see on the surface on each page. For example: the design of the site, the layout, and its content.

Content management systems harm websites

(Oh dear, we’ll explain that screenshot later!)

Web developers have built systems which now allows clients to edit the content themselves and have instantly updated content without having to go through experienced web developers. These systems are called Content Management Systems and supposedly pose these benefits:

  • Site content changes are seen instantly as the client thinks it up
  • Clients feel more ‘in control’ of the site
  • No need to pay web developers to make small and frequent edits

Sounds excellent, right? Cheaper, faster, and you’re in control. Well, unfortunately, it’s not the entire story.

What most clients don’t realise is that editing a website is not like editing a word document. CMSes create a rather similar interface which is easy to use, but causes serious side effects:

  1. The CMS editors don’t know how to cleanly separate content and style. This is the difference between what is being displayed, and how it should look like. This cruft builds up over time, making your page load slower and making it increasingly hard to make changes in the future.
  2. The CMS editors only allow you to change what things look like on the surface. Although you might not notice the difference, search engines are less likely to be able to understand your pages, and this will negatively affect your search engine rankings.
  3. They don’t discipline against bad media practice. These editors will let you upload any type of media without any considerations of how to optimise them for the web. Unoptimised images and videos mean slower website loading, more server loads (and thus server costs), and often ugly looking content.
  4. They add a lot of unnecessary code. This is another invisible side effect which leads to slower page loads and poorer search rankings.
  5. The editors don’t refer to the underlying engine when linking pages. This means that should you want to rename pages for SEO, or move site, your links are almost guaranteed to break.
  6. There is no version control. It becomes much harder to track series of changes to a single page and undo edits when problems occur.
  7. It gives you the illusion that you are an interface designer. Experienced interface designers pay attention to details such as padding, ratios, consistency, and usability that clients simply cannot match. A well designed site will slowly degrade in usability and aesthetics until it has to be redone from scratch.
  8. It lets anybody change anything. It doesn’t stop you if you’re changing a vital system page, butchering crafted copy that has undergone hours of SEO, or even edit the text of something you don’t have authority to. It becomes a human single point of failure.
  9. It exposes you to system internals. If you’re a client, all you really want to do is edit some text on your page. Modifying forms and dealing with modules is out of your league, and likely out of your contract scope. You’ll have to learn how to use a complex system just to change what is often just a simple site.
  10. You’re stuck with it. CMSes are walled gardens. They lock you into the system you’ve chosen and when you want something customised in the future, don’t be surprised when you get billed extra.

With the site almost fully in the client’s hands, clients can unknowingly break the system internals, or worse, install 3rd-party low-grade modules which can compromise the site’s security. With the power to edit now fully in the hands of clients, these system changes do not pass through the developers eyes. Over time, these accumulate and you end up with a broken site.

It isn’t all cheaper – to attempt to prevent some of these effects, developers have to spend extra time to develop custom modules for you to manage sections of the site. These costs, of course, have to be passed to you.

CMSes are also rapidly changing and constantly targeted by hackers. Not only does this mean you’re open to security breaches, the server will likely be under extra load by hackers and bots attempting to crack your site. You’re then pushed into a maintenance race to constantly update modules and your system that quickly gets forgotten: until you’re left with an outdated, unable-to-upgrade system that’s a sitting duck for hackers, even if you’ve never needed to make a single change to your content.

Did you receive training for how to use a CMS to edit your site? Bad news. You’re the only one who knows how, and probably not for long. CMSes change very rapidly – so your training will become outdated. There also isn’t much of a standard when it comes to CMSes, so you’re restricted to development firms who specialise in your CMS should you ever need professional help in the future.

Funnily enough, using a CMS is no picnic for developers, either. All CMSes cause developers to build things not the way they should be built, but the way the CMS forces them to build it. This may save time in the short-term, but often leads to costly maintenance nightmares in the long-term.

Together, using a CMS turns the craftsmanship of your site from the costly investment you poured into experienced developers into a cheap, ineffective website. You’re practically throwing away the money you spent going through detailed design revisions, search engine optimisation, training, website optimisation, responsive design, and even choosing the firm you hired to begin with. And given the accumulative nature of these adverse effects, you can be guaranteed that any changes you need done in the future will become much, much more costly.

These aren’t one-off improbable horror stories. These are things I have witnessed again and again with CMS-run sites. It is practically guaranteed to happen: the only question is when. The industry knows this, too – it’s just that CMSes are good at the short term and the prospect of self-editing content is alluring as a selling point. But it’s time to spend your money properly: get an expert craftsman to manufacture it right the first time, and keep the quality you paid for.

… coming up next: CMSes done right.

Technical

Separating the core application from the delivery framework with Kohana

This post is about developing web applications that don’t depend on the web.

Kohana MVC - A separated delivery mechanism architecture

MVC is probably the most popular architecture for web applications. But what’s interesting about MVC is that it’s not actually an architecture meant for your core application. It is merely a delivery mechanism.

With this in mind – a well developed application treats the delivery mechanism as a plugin and cleanly separates the core application from the web. It should be possible to remove the internet with all of its methods of interaction (eg: its HTTP Request/Response interface), and still have a working “core” application which you can use elsewhere. Say for example to make a desktop or mobile device application.

In short: your business logic doesn’t rely on the internet to exist.

With Kohana, or really any modern MVC framework which supports the PSR-0 standard, this is surprisingly easy to do. I’d like to share the convention I use.

In Kohana, all logic goes in application/classes/ (or equivalent in its CFS). This directory will contain all your delivery logic. This includes Controllers, Views, and any Models, and perhaps some Factories to DI your app.

Your actual core logic is kept in a separate repository to force yourself to remove all dependencies. When combined, I like to store the core logic in application/vendor/. With Git this can be done with a submodule. This way MVC and insert-your-architecture-here is cleanly separated.

You can then add your core application to Kohana’s autoloader (in application/bootstrap.php for convenience via spl_autoload_register(function($class) { Kohana::auto_load($class, 'vendor/Path/To/App/src'); });

And that’s it! With a little discipline we suddenly get a massive benefit of future flexibility.

If you are interested in a project which uses this separation, please see my WIPUP project. (Disclaimer: WIPUP is a side-project and is still in progress). More reading by Bob Martin here.

Life & much, much more

End of 2012

Aha, it’s the end of 2012. Here’s a recap of the highlights of the year.

  • Firstly, I’ve finished my second year of architectural education at the University of Sydney. This has led to me forming some more baked opinions about the architecture industry.
  • I am now searching for architecture jobs and will likely begin work early 2013.
  • My design for of a museum of pacific art was selected as part of the 2012 university architecture catalogue.
  • There was the very excellent “Game of Homes” architecture revue, at which I acted as musical director and were reviewed as best revue band.
  • I am now a Gentoo developer
  • I have had much fun modeling and 3D printing various forest animals
  • I have developed a foundation to build web applications out of: a mix between HTML5 boilerplate, Kohana, Mustache, various drivers, and a skeleton DCI setup.
  • I have begun WIPUP2013: rebuilding WIPUP from the ground up with an improved and more maintainable backend, improved interface, and multiple device support.
  • A lot of fun work setting up a training scheme, dev infrastructure and QA standards with a web development company.
  • Early in the year: a couple months learning conversational Mandarin in Shanghai
  • A couple months enjoying Malaysia
  • Learning to cook a series of Malaysian dishes :) Yum!

Merry Christmas and a Happy new year, everyone!

Creative

Zygomatic Studios design: an experiment in one-page animated layouts

Recently I did a front-end proposal for Zygomatic Studios. They’re an animation company started up by Erik Kylen and I’ll be maintaining their website.

Given that I knew them, I had some freedom to experiment. For an animation firm, the website itself had to be showy graphically somehow. I ended up making the entire page animated on page-load: to present itself in a showy way but not interrupt the user whilst actually using the page. “Slick” was what I was going for.

Another idea I wanted to play with was the one-page site concept, which displayed the highlights of each “sub page”, which could then be expanded if interested.

You can check it out in my alpha playground.

Zygomatic

Designed with GIMP, with a little help from Blender. Personally quite happy with the experiment.