Are you looking for some design books to read this summer? Well, to my surprise I found a huge assortment online, completely FREE. Wow, I was rather surprised as there are quite a lot of famous books in here. Why not check it out yourself?
First I have to mention this site called freeuxbooks, sounds kinda shady though right? I mean these can’t really all be legit free? Well, I was able to download a few books off it without any real issue. They all are linked to this website called Academia which is for research papers. I’m not exactly sure how that works with copyright though, but considering some of these books were made from blogs, I think they may have something… Though, it still is a little fishy, correct me in the comments if I’m wrong!
There are also a variety of resources outside of that. UXplanet posted a variety of free resources here. I posted some below that look interesting they are fully web-based so enjoy and meant to be shared. This page really promotes sharing too.
Not sure if it’s legit either… But it seems most design books are now available…
I’ve decided to cover the basics of project management here. I did not get into any big technical tools but just covered the 3 things you should know before committing to a project.
The 3 things would be defining your goals, understanding your resources, and understanding why projects fail.
1. What are your goals? (Why & Who)
I think this is something honestly most people don’t want to think about. It’s far more exciting to just start building out some project and seeing where it takes you then to stop and ask Why you are building. I’m guilty of skipping this step often because just starting a project can be a lot of fun. Figuring out Who you are building for will help you focus a project. I’m going to just for the sake of simplicity break this down into three parts.
Do you want to sell this project? Then focus on what people want to buy. Look at your competition and see why they are successful and why they failed. Tools like SWOT (Strength, Weakness, Opportunities, Threats) can be a quick way to do this, alongside Competitor Analysis.
Is this just a showcase piece? Then focus on what types of strengths this brings to your portfolio. Think about why these pieces are important and who you want to see them. Showcase pieces are really the middle ground between a product for sell (yourself/team/tool/whatever) and doing something to learn. Getting feedback on showcase pieces is a good way to grow.
Are you doing this to learn/have fun? Sometimes being willing to play and learn is the best way to grow. There are two approaches to this I see. One is to followtutorials, and learn how to think about a project, the other is to try and built it yourself and learn to how to do creative problem-solving. There are benefits to both methods and realizing the value of both methods helps keep you from getting burnt out or stuck.
2. What are your resources & scope? (How, What & When)
I think the how is something we often assume, or at least I do. I think being able to take a step back and look over the scope of what I want to achieve is important. Do I want to spend a weekend doing this or the next 5 years? What will I need to get this done? What am I willing to give up to make this happen is also something to consider, if you don’t have a lot of time either scope or cost will have to increase to try and maintain quality for example.
As someone who has hired contractors to work under me before, I can tell you, that triangle is a pain. Balancing my budget, my time and scope can be a huge headache.
How to approach project management
Some ways people approach scoping projects is with different mindsets such as Minimum Viable Product (MVP) – a way to create the most basic product necessary for feedback.
Another method becoming more common is creating products with the Minimum Marketable Feature (MMF) mindset, the idea is what is the minimum I need to sell this product.
The difference between MVP and MMF is one (MVP) is focused on prototyping (often for shareholders), the other is focused on being just good enough quality to sell (directly to consumers), so it’s beyond a basic prototype.
These two tools – MVP and MMF are based off of the Agile mindset.
Agile is a project management style of separating tasks and working on them in short sprints then getting feedback. Often these short bursts of work are around 1-4 weeks long but they can be longer or shorter depending on needs. Agile is great for projects with independent components such as one person changing the menus art and another person programming them. Agile doesn’t very work for dependent components though, Waterfall is used then.
Waterfall is very common in art-focused fields where you have to go step by step. If you don’t have a script you can’t design a character, if you don’t have a character you can’t create animations, and every step is dependent on the step before it. It becomes VERY hard to change directions with Waterfall systems, with Agile it is much easier. Neither is wrong, they just serve two different purposes.
In a nutshell if you have a set vision the waterfall method is very likely what you need, if you want feedback from outsiders then agile is better suited.
Because waterfall methods are so vision focused they have a very high failure rate compared to agile projects. Movies flop all the time and it’s important to understand why.
3. Where do projects fail? Back-up’s, design and technical debt
When it comes to creating products design is key. With Waterfall, product design is done in preproduction and does not really change, so the design needs to be really really strong. Agile products can have some weaker designs in the beginning but they have to build up a reasonable design early or else they may suffer technical debt long term.
Technical debt can lead to redoing work, throwing away work and/or poor quality with unfixable bugs or designs. You can avoid or manage technical debt by working on good design practices, such as having good documentation, testing designs (through prototyping and other forms of testing), strong collaboration and refactoring & cleaning up the project as you go.
Some systems that can help with this is source/ version control. Good source control makes it easy to roll back changes if they cause issues which allows for more experimenting & cleaning, it makes collaboration easier, and most have built-in ways to leave documentation of what you have done. Don’t mistake this documentation for proper project design though.
Another tool that really helps is design documents. There are a lot of types of design docs such as Game Design Docs (GDD), Developer style guides, Visual/brand style guides, Model Sheets, business plans among other forms of technical design. These documents help explain what the product is and define the requirements for the product, though in many cases they may be guidelines they are very important if you want to explain (or remember) what makes your product what it is.
Anyway to sum it up..
Think about who your audience is
Think about why you are building the project
Think about what resources you have
Think about how you will scope the project & when you plan to finish
Think about where you struggle and what tools/outside resources you can use to overcome that.
For those looking for a brief UI overview for small projects, a UI Stylesheet works alright. It’s not as fancy as a full on style guide but for smaller projects it may be what you need as you work out different UI ideas. If you are working on anything longer then 2 weeks, I recommend building a style guide or else you will very likely suffer.
Having a style guide gives you a clear vision of why you made these decisions, this reduces debate.
It’s nice to have a document to refer back to 6 months later when you aren’t sure what size this box was or what color you used on an icon..
You have guidelines ready for if you add new teammates!
I personally think the history of the design is an important aspect to add to the guide unless you can expect the specs and requirements to never change on the project.
Creating a guide alongside with UX reasoning also helps you understand why your UI is laid in the way it is.
While working on Roguecraft Squadron (An RTS computer game) I went through many many many many different versions of UI. It was hard for me to see the big picture or what direction we should go in because the gameplay was not fleshed out all the way. Another issue was the speed of development. Originally this game was built in 3 days so the UI was choppy and very light. I didn’t know back then about better ways to think about development.
I did not know how to design for long term projects and that made designing UI very challenging.
I was thinking after the 3 day game jam, since we were so successful, we should continue development on the game. We continued to do so and did user testing at a local game meetup’s among other places. We would have people play and we would try to figure out ways to improve the game and make it more fun. While our user testing with formal experience was limited, we made the best of it. We would basically sit a user down and watch them play and ask them questions were they struggled.
I was still learning how to create UI during this process, and things such as 9 slicing. Since this was built in the LÖVE Framework it was much more restricted then something like as the Unity Game Engine that has a interface I can work with. While I could build designs, the feasibility of designs was limited because of time constricts and limits within the framework.
Now as I worked on changing UI throughout the process I realized had we just decided on a style and covered constraints early on it would have saved a lot of frustration in the process. Towards the end we ended up stripping out any fancy effects I had in mind and keeping it very basic so we could finish the project.
Now you might ask yourself what is a stylesheet?
A stylesheet is a way to glance over all your visual elements so you can see if they work together. I can’t remember the original creator of the this PS stylesheet template but I liked the idea. It was a way to quickly compare elements and see if they worked together. A quick mock-up so to speak. The idea is to test colors, patterns, fonts and other styles together to see if they work together. You can then create different styles and compare them.
Well near the end as we decided to overhaul the UI to a simple version then I went about trying to make sense of the UI. At that point colors were random and did not work well together and things were becoming hard to understand, the other problem was we introduced new artists that didn’t understand our UI guidelines (Maybe because we didn’t have any then??) so the art we received was completely in the wrong style. If you work on a project for a few years without proper planning – original designs and plans get muddled. Sometimes the worse thing you can do is continue to try and improve something in your current direction.
What I would recommend if I were to fix this – Ask 3 important questions
First separate out the elements, compare them to one another. Do the UI elements feel like they fit together? Do they all share similar styles, sizes and color schemes? What doesn’t fit? What does fit? Does spacing and size feel right? I feel that spacing and sizing of our UI could have used work. As the art we received from two new artists did not fit but I couldn’t argue that out of the project as it was already commissioned for and we didn’t want people to feel bad.
Second, can you tell what the theme is from the color scheme? Why are the colors chosen? What is the meaning behind the colors? I think overall our UI colors worked but could have been more focused.
Third – do the elements themselves feel like they belong with the rest of the content? (The game in this case). In the last version of our UI I would say no. The rest of the game is detailed, but the UI is strangely not. It doesn’t feel connected to the world in my opinion.
Using this process I believe we could have worked out a UI that felt better connected to the game.
There were numerous time constricts with the design and what the programmers could do so sometimes you just have to let it go and just find doable fixes the programmer will okay for your deadline.
If you want to see behind the scenes on some of the ideas for the UI why not look at the notes on GitHub?
Here you can see the crazy design process on RCS. Design is messy, frustrating, and getting a win like getting the programmer to add a UI back button can really feel like a victory (I mean I really fought for a back button on all the main screens, it was like not until we were going to release 2 years later we added one).
Here you can see my journey of learning how to write better tickets, create better designs, and figure out better project management. Lots & lots of mistakes but I slowly learned how to improve. Not everything is here but here are a few examples of stuff I’ve worked on.
I never claimed to be a good designer and I sure learned a lot over a few years working with designing screens. What I learned most of all is…
Use a style guide next time!
A part of me would like to write a guide on a style guide for RCS sometime when I have more free time. Considering this has been a pet project for so many years, it’s nice to work on in my free time but I always have so many other projects going on, we’ll see when it happens.