of Design, successor to Bauhaus Architect & interior designer by training, 1954. Began work as an architect and interior designer, eventually ending up at Braun. Became chief design officer at Braun from 1961 until 1995. German industrial designer, born 1932, and associated with the functionalist school of industrial design. Gave all Braun products a “new face” in the 50s
designer by training, 1954. Began work as an architect and interior designer, eventually ending up at Braun. Became chief design officer at Braun from 1961 until 1995. German industrial designer, born 1932, and associated with the functionalist school of industrial design. DIETER RAMS BRAUN CHIEF DESIGN OFFICER , 1961-1995 Braun was a company that existed in relative obscurity in Germany in the 1950s. By 1960, the “new faces” Rams gave to products had made Braun an internationally renown brand for small electronics.
be. Something that looks very simple is somehow very desirable even though it might contain very complex technology or complex engineering.” – Deyan Sudjic, Vitsœ of Dieter Rams,
if you analyze the functions and the object carefully enough, you can come up with the optimum set of operating controls. You can make the perfect face for a machine, you give it a form which will outlives fashion. Whole categories of products have been abolished, and yet his machines still have a timelessness.” of Dieter Rams, – Deyan Sudjic, Vitsœ
have a functional purpose and it was designed to pioneer a new contemporary language of design. Braun became the epitome for honest, functional products and the principles set then are still foundational to helping us (as in designers) fathom what good design truly is.
was designed to pioneer a new contemporary language of design. Braun became the epitome for honest, functional products and the principles set then are still foundational to helping us (as in designers) fathom what good design truly is. The controls of the SK55 are all about clarity. Ornamentation is nowhere to be found and everything is designed for ease of use. APPLYING THAT TO THE BRAUN SK4
of Species. It's the foundation of everything we believe today as creators of objects and experiences.” – Andrew Kim, product designer at Microsoft the 10 principles of good design has become the bible of today’s industrial designers 20 years later, after countless more of his designs continued to hit the market, Dieter Rams founded the 10 principles of good design.
simplicity that comes from conquering complexities, not ignoring them. “It takes a lot of hard work, to make something simple, to truly understand the underlying challenges and come up with elegant solutions.” For Jobs it was not about cheap fashion effects. “Fashion is what seems beautiful now but looks ugly later. Art can be ugly at first but it becomes beautiful later.”
aesthetic quality of a product is integral to its usefulness because products are used every day and have an effect on people and their well-being. Only well-executed objects can be beautiful. HAMS’S WORDS DESIGN → PROGRAMMING: SOME CODE WE WORK WITH EVERY DAY. “It has an effect on people and their well-being”
goal is that students who complete this subject should have a good feel for the elements of style and the aesthetics of programming. They should have command of the major techniques for controlling complexity in a large system. They should be capable of reading a 50-page-long program, if it is wri en in an exemplary style. They should know what not to read, and what they need not understand at any moment. They should feel secure about modifying a program, retaining the spirit and style of the original author.”
EXAMPLE. Taken from Lutz Prechelt, "An Empirical Comparison of Seven Programming Languages" (2000) •Tested with Tcl, Python, Perl, Rexx, Java, C, C++ •About 100 LOC for scripting languages, 200-300 for others (including Java) •Can we do be er with Scala?
EXAMPLE. Taken from Lutz Prechelt, "An Empirical Comparison of Seven Programming Languages" (2000) •Tested with Tcl, Python, Perl, Rexx, Java, C, C++ •About 100 LOC for scripting languages, 200-300 for others (including Java) •Can we do be er with Scala? RESULT: 61 LOC including comments, code aesthetically pleasing
4 It clarifies the product’s structure. Be er still, it can make the product clearly express its function by making use of the user's intuition. At best, it is self- explanatory. HAMS’S WORDS DESIGN → PROGRAMMING: Focus: seek to express the clearest intent of a module or API. Clear interfaces, higher-order functions often succinct and clear. Static types clarify the structure of code Reducing or eliminating side effects makes it easier to understand the widreaching affects of invoking a function.
clarifies the product’s structure. Be er still, it can make the product clearly express its function by making use of the user's intuition. At best, it is self- explanatory. HAMS’S WORDS DESIGN → PROGRAMMING: GOOD FP IS UNOBTRUSIVE: Don’t introduce a new datatype if a regular function type would do Restrained designs are favored, since they are typically more composable Libraries should have neutral types that room for the user's self-expression"
If one of my tiny modules is a simple function then I can pass it to a higher-order function like map, unchanged. If it is not a simple function, but an instance of a more complicated class, then I might not be able to do that. Or I will have to make the class more complex by explicitly also extending a function type.
CONT’D A simple function avoids both complexities and is usually favored. The same holds true for datatypes: reuse existing types of the standard library (in Scala: Option, Try, ...)
does not make a product appear more innovative, powerful or valuable than it really is. It does not a empt to manipulate the consumer with promises that cannot be kept. HAMS’S WORDS DESIGN → PROGRAMMING: If you work in a statically typed language, then you can leverage static types to keep your design honest. Usually, the type signature of a function already specifies a lot of the functionality "Well-typed programs can’t be blamed” Wadler & Findler
directly applied to software. This talk just scratches the surface. Just an – oh hey, this looks similar! Good design is thorough to the last detail Good design is long-lasting FP especially seems to be a good fit for Ram’s design principles Awareness of design principles and some intuition of how they map to code could improve the process of building software. Others: