Any digital artefact affords a user a certain performance. The interface is constructed from a set of specific actions, and the interactivity between user and interface creates a sense of purpose which is the key to a well designed user experience. By examining the desired performance you want to create, user experience is guided by crafting the interface to fit that vision, rather than trying to fit a mechanical function into the mind of a human being.
My story
A week into my first position as a fresh digital designer, Lasse Hillerøe Petersen told me the most important key on the keyboard for his job was DELETE. That kind of scared me.
To a graduate of Digital Design, DELETE is destructive, removing chunks of something that has been created, pointing aggressively at the code in front of your cursor, screaming at the developer before you that they were wrong and you are right. There is an enormous power in DELETE, and when forging solid, efficient, well-defined structures in code, you need some serious power.
I understand where he is coming from. Much of the digital work I have encountered was created through long stretches of time, adjusting and molding structured code to fit ever changing specifications. Unfortunately, most of our digital infrastructure is not built to the exact specifications they are used for, and it is common knowledge among developers that technical debt will grow, and code will start to smell.
My second job taught me how fast project management can move development, and how it feels when forget to slow down again. I love to create and generate results, but I know how to structure my own time and yours to allow reflexion and contemplation to guide your design.
My third job taught me how slow organisations move. I don’t want to change a culture in four months, and most initiatives need to be checked and balanced before you get anywhere. Even though we have an idea that could change everything, sometimes there is red tape and that’s ok. Prototypes are a great way to show progress quickly, but you need to bring along culture and organisation to build a solid foundation, and that takes time.
My fourth job taught me how slow I can go without feeling bored. In terms of projects, I need to complete something new every other week at a minimum. That is why I want to do prototypes, but for the projects that matter, I am a premium candidate for project management, of any size of team.
Quality
The most efficient solution to bloated projects is to write Good Code. A number of principles have been established from the early stages of developer culture, and as they have been evolving, modern developers are capable of structuring both solid and flexible digital architecture which does exactly what it is meant to do, while allowing changes to be made without breaking anything.
Good Code is beautiful and necessary for the evolving world of digital media, but unfortunately it is not practiced nearly as much as it should be. Most code today is haphazardly bundled libraries of features, which causes bloated code bases, cognitive disconnects in code structure from aligning differing designmodels and increasingly both developer dependency and constipation of maintenance. The solution is to DELETE all of the old stuff and start over, but as that is expensive and difficult, most people decide to keep digging themselves into the hole they have.
The reason Good Code isn’t practiced nearly as much, is because it requires discipline, deep knowledge, communication and a lot of time. Contemplating the correct solution and building the structure you need is a lengthy process, and while it is worth it in the long run, the short sighted gains of getting something that works right now is too often too good to pass on. On top of that, as Good Code requires a solid foundation to build upon, once the first functional solution is in place, you may start to realise a disconnect between the stated requirements and the actual needs of users or your business.
I want to change that. To me, bakspace is a solution which allows for quick feedback on simple solutions early in the process. Rather than removing chunks of what already was, I want to keep evaluating in the earliest stages of development and make subtle changes to the code as it is written.
This will create useful insights in the design of a concept, aligning business and the technical realities before moving towards a proper architecture. My code is not meant to be used in production, but to be easy to read, both functionally for the business, and technically for the developers.
My process
The first step of my process is to build an agile prototype. Your app idea is loosely defined, and you are not sure exactly how all the details should look. Maybe your idea is feasible, maybe it isn’t, but we need to have a look, so we build a small-scale digital mockup which describes everything we need to do, we narrow down the scope and scale of your design. You control the speed and direction of development, with hourly, daily or weekly updates, depending on your needs. My rates depends on how difficult you are to work with, but I will be very reasonable if it’s fun.
If at some point either of us decides the project needs to move beyond the scope of prototyping, we need to bring in some more talent and evaluate the prototype. We will tear down what works and what doesn’t in a design workshop, rebuilding the design from scratch.
Ownership and privacy
You get the final state of the source code of all prototypes, but I keep the only copy of my git repository. Collaborators will not have access to the source code. After the prototype, the team will be required to start from the beginning, but the prototype will be running and hosted for as long as you like. You pay the hosting company directly and may install it anywhere from the original builds and final sourcecode.
Included in prototype handover is a full step-by-step description of how to run the software in the current state. The prototype will not be maintained and any faults or breakdowns should only be analysed for reference in further development.
I will treat you with respect and honesty. Good design will emerge from understanding and patience.