PM BIM - Pin the problem
As my first side project at Conject, I was responsible for designing a ‘pinning issues’ feature for the BIM (Building Information Modeling) module. BIM is allowing constructional professionals to collaborate between disciplines, analyze project on the design phase (clash detection), maintain it during the lifecycle and provides access to the all assets and information based on visual 3D models.
Role in a project
UX UI designer, Interaction Designer
As the designer, my task included wireframing, user interface design, and interactive prototyping.
Tools and processes
Photoshop and Illustrator
User story mapping
Unpack: I'm not a user
As a great kick starter, we’ve got incredibly valuable insights data from the research team which allowed us to better understand how people define issue today, how they wish to capture them, their tracking issues experience & current use of technology they have access to.
The feature should allow the user to highlight the problems directly on a 3D model, assign it to a specialist responsible for solving it and track the progress. When the problem will be solved system should inform about it.
Understand the problem
Different construction disciplines have different 3Dmodels. As soon they are imported into the platform it’s possible to federate models and check whether some gaps occur. E.g. during the gap-analysis Model controller might find that pipe is sticking out of the ceiling in the middle of the room which is obviously wrong (I've seen this on one of the client photos, just believe me, it happened indeed).
Architects work in their own environment to fix the issues and send the updated model to the BIM manager. When all the models received, BIM manager uploads all the models to a system, combine them together and starting clash detection process. When the problem is solved he is changing the status to 'Fixed'. When the number of open issues is reducing it indicates the progress of the project. By using third-party apps BIM manager filters by different statuses of issues in order to understand what is fixed, where are the open issues and what is the progress of the project.
What the problems users have with the current state of the product?
Who are our target users?
What are the problems we were trying to solve?
Intuitively point the issues
Display progress / result most clearly
Support process of tracking issues
Save time to add and get information
Access to all issues related to the model
What Does Success Look Like To User?
Ideally, a project doesn't have open problems. By showing results only: "everything is ok" vs "here is a problem, please have a look" user can easily see the success of the project.
Efficiency, convenient, quick and accurate
Our main goal was hide complex tasks from the user. Colate all data in one place, plus ability to respond and contribute.
Sketch and brainstorming session
Based on the user story mapping and research insights, we realized that the ideas around this issue is to allow users to interact directly with the model and add refferences to the issues using selected part of the model.
We conducted a brainstorm meeting where we sketched up possible features which could potentially improve the current workflow. We defined possible improvements which customers might request us as we introduce them our ideas. We focused on solving the problem they have rather than give them just a tool.
What would be the real activity of people if they DON’T HAVE TECHNOLOGY to use? How would they indicate the problem in a room for another person who should find it later?
The problem was that on a model might be huge numbers of issues with different statuses. As an idea, we wanted to scale it similar to Google maps, where a user can see the numbers of located elements from the distance and by zooming in showing exactly where the place is located.
One location might contain more than one problem. Number indicates the most relevant information for the user - number of problems related to the particular place and it has the color of the most critical one.
Based on use cases and user needs we defined common work flows for the key users.
We defined patterns of how users solve the problems today, we grouped all the requirements into meaningful groups, and collated ideas how to help them track the progress.
User story mapping
Using 'User story mapping' approach we defined basic user flow based on use cases and real user scenarios. I moved it later to a Mural app which we are using to maintain and share progress across the whole global UX team.
'User story mapping' approach helps to define basic user flow based on use cases and real user scenarios.
How is our solution human-centered?
Driven by our users needs and desires, we decided to build a way to allow people to freely interact with the model so they would pin and share problems with others. Even from the first glance, it should be clear where the most problems are located and where is the critical ones. The connection between model and data helps the user to navigate directly to the problem and understand where it’s located faster. It can also help the user to indicate the importance of the problem and more critical issues could be solved first
Narrowing down ideas, define priorities
We focused on two main user roles: BIM Manager and Architect.
Collaboration process between Architects and BIM Managers. I designed this process loop to show how our product can solve the collaboration problem.
Prototype and test
I made first prototype using Invision App. It wasn't possible to navigate like in natural environment (3D viewer) but it gave the user an idea of how he can pin the problem on a model, add a description, setup status and priority and assign it to the responsible specialist. Based on the prototype we conducted series of interview with the key customers and validated how out idea is solving their issue and what was missing.
As a next step, I used WebFlow to make high fidelity prototype. I defined all the styles which later were used by development team.
Make pixel perfect
Most of my time I'm working closely with the team. We are discussing problems, understanding our users problems and I'm trying to 'walk in my user's shoes' to understand them better. When everything is defined and ideas are ready to be implemented I'm focusing on UI part. This feature required new icons design and new components which are not defined in our Style Guide (I was working on the Conject Style guide to enhance productivity and maintain consistency across the whole platform.) we use.
Pinning issues became part of the platform and was improved during couple of iteration. We've got positive feedback from the key customers as well as newcomers also loved it and found it quite intuitive.
User selects an object which he want to report about
'Add new comment', provide required information and assign to a responsible person
When the issue got pinned it easy to find it
By clicking on pin a user get more detailed information. On the top left corner we placed a number of issues overall. User can show and hide pins using toggle button in the toolbar.
Later we've implemented filter feature so user can find what he is interesting in faster
User can federates models and see all the issues in one place. We also found that some of the issues could be not related to the particular element. We added 'not pinned' issue related to the model on the bottom right corner.
User also can check all the issues in the list mode. Click on the preview will get a user directly to the 3D view point.
Later we added new widget for the dashboard based on successfully implemented 'pinning' story.