BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Design Guideline Content on InfoQ

  • Google Introduces Material Design at Google I/O

    Google is introducing Material Design, a visual language incorporating design principles for user interfaces spanning a multitude of devices from wearables to smartphones, tablets, desktops and TVs. Material Design attempts to provide fluid motion on tactile surfaces, but mouse and keyboard-based devices are also considered.

  • Google Web Fundamentals and Web Starter Kit

    Google has published a number of guidelines and boilerplate code for cross-platform responsive website design.

  • Guidelines for Responsive Website Design

    This article includes several guidelines for creating websites that scale for different screen sizes and form factors.

  • Becoming SOLID in C#

    Brannon B. King, a software developer working for Autonomous Solutions Inc., has published an article entitled Dangers of Violating SOLID Principles in C# in MSDN Magazine, May 2014. The author outlines some of the mistakes developers can make in their C# code, breaking the SOLID principles and leading to code that is more difficult to extend or maintain.

  • Dependency Principles for SOA

    Earlier this year Ganesh Prasad discussed the concept of thinking of SOA as "Dependency-Oriented Thinking". Based upon further interactions and involvement with real-world use cases, Ganesh has come up with a dozen principles which he believes can help successful SOA.

  • Open-Closed Principle in SOLID Object Orientation Rules Challenged

    The Open-Closed Principle, OCP, part of the object-orientation SOLID principles, was recently criticised by Jon Skeet and Robert Ashton who both believes the principle is doing more harm than good. Robert C. Martin, who identified the principles in the early 2000s, however, defends the principle, arguing that you have to look at the full description, not just the short definition.

  • Will Tschumy on Microsoft Design Principles

    Will Tschumy outlined five design principles at the recently held //build/ with a series of screenshots to showcase the user interface enhancements of various products released over the last few years.

  • New Books on Software Architecture

    Software Architecture is one of the important topics for software engineers, because many failures of software development projects are caused by inadequate design. Thus, it is essential to learn more about architectural issues in theory and practice. Interesting new books that have been published recently or in the near future could be very helpful

  • Joshua Kerievsky Introduces "Sufficient Design" To The Craftsmanship Discussion

    Software Craftsmanship has been a hot topic as of late. Joshua Kerievsky posits a possible counter-perspective to the underlying "code must always be clean!" ethos of the craftsmanship movement; something he calls "Sufficient Design". Learn about what Joshua means, and hear thoughts also from Bob Martin and Ron Jeffries on Kerievsky's ideas.

  • Agile Architecture - Oxymoron or Sensible Partnership?

    A number of commentators have been talking about the perceived dichotomy between Agile techniques and architectural thinking. This post investigates some of the tensions between Big Up Front Design (BDUF) and You Aint Gonna Need It (YAGNI) thinking and looks at how the two approaches can in fact work together in complimentary ways.

  • Should We Define SOA Non-Principles?

    In addition to well established principles and anti-principles, Steve Jones’ new post introduces the notion of non-principles of an SOA implementation and explains why they are important.

  • Should We Rely on Language Constraints or Responsibility?

    Bruce Eckel, Michael Feathers, Niclas Nilsson, Keith Braithwaite, and others on the question: should languages be fully flexible, allowing the developers to tweak them as they like, and trusting they will be responsible in their work, or should there be clear constraints set in the language from its design phase to avoid mistakes that create bad code, hard to maintain or to read?

  • Presentation: Kent Beck on Responsive Design

    Purpose and intent are just as important as skill in effective software development. Skill allows you to deliver value in difficult technical circumstances. Clear purpose and positive intent allow you to deliver value in difficult social and business circumstances. Kent Beck shares his design technique which involves both intent and a small set of strategies he uses when designing.

  • Presentation: Meeting the Challenge of Simplicity

    This session addresses the abstract notion of simplicity, looks at why it is critical in modern UI design and answers questions: Why does simplicity matter? Is there a meaningful definition of simplicity? Why do design processes and good intentions undermine simplicity? What processes and techniques can software developers use to achieve simplicity?

  • An Agile Approach to Code Reuse

    A recent discussion on the Extreme Programming Yahoo Group explored the apparent conflict between making software reusable and the XP practice of not writing code until it is needed. Ron Jeffries and others shared insights about the costs and benefits of code reuse, as well as how and when to do it in an agile environment.

BT