Designer to Developer: Building Ask Anything App—Part 1

Fifth Tribe Labs, started in 2015, is an initiative aimed to encourage and support all Fifth Tribe employees to pursue a side project outside of client works as a way to hone their skills and broaden their horizons. Many exciting ideas were born from the labs. Ask Anything is one of those ideas. This series of articles takes you through the process of how this app evolved in multiple aspects including product features, UX and visual design.


In the book “Delivering Happiness”, Tony Hsieh mentioned one of his company activities in the effort of promoting transparency in their culture.


“The feedback from the culture book led us to launch a monthly employee newsletter called Ask Anything, which is literally just that: Employees are encouraged to send an e-mail and ask any question they want. The anonymous questions and answers are compiled each month and e-mailed to the entire company.” — Tony Hsieh, Delivering Happiness.


As a result, I thought about if there were a way for us to do it on the web and not via email. That’s how the Ask Anything web app, or some may call it a portal, was born.



Since this is a side project, I decided to go with what’s available in my tool box. I went with Angular JS for front-end and used FireBase to take care of the data. It sounds a lot like I know what I am doing but I’m actually only fluent with HTML/CSS and still a newbie to JavaScript/Angular JS. I’ve only heard of FireBase from another source and know that it’s currently the best BaaS out there so I think it’s worth a learning curve. So here is what is behind my app:




What exactly does Ask Anything do? From a coding perspective, Ask Anything is a web app. From a product perspective, Ask Anything is a live Q&A, knowledge base web portal. Any Fifth Tribe staff can log in and ask any question about the company. They can choose to show their names or ask anonymously. The questions can then be answered by anyone (again we’re a small team so we have the privilege to do that). So that’s the core functionality, we will get more into the logic shortly.

To build an app, a few lines of description won’t encompass what it should do. So I made a development plan like this:


With this side project, I decided to take an irrational route that I wouldn’t take when working on a client project. I did not start with a design file in Photoshop or Illustrator. My HTML/CSS is also my design file which means I design as I code.

Ask Anything 1.0

The core functionality of this app is asking questions, so the question input has to be the most dominant element. I envisioned something simple and focused like the Google search page. But I wanted to add some fun to it so I created an icon-filled background to set the tone for Ask Anything.


Since Fifth Tribe works in a non-hierarchal structure with a small team, it makes sense for us to allow everyone to give answer to a question/issue. With that being said there needs to be a logic for how questions are being submitted and answered. How do we tackle this?


Users are able to post questions under their name or anonymously. The same rule applies to giving an answer. To evaluate accuracy, I added the “like” or thumbs up feature. The answer with most likes is assumed to be the correct one, similar to how Stack Overflow works. However, some specified users with an Admin role can post as “Fifth Tribe”. Any question/answer posted under Fifth Tribe is deemed to be official.


At the end of the 1.0 version, here is what Ask Anything looks like:


After everyone in the company gave this a test drive, here was some critical feedback:


  1. There needs to be a way to categorize or tag questions for easy search and archive.
  2. With the vote option, this can be used as a tool to send out a quick survey or poll but at the moment it’s not intuitive enough to do that. If I want to ask more than 1 question in a survey, submitting each of them separately does not feel right. The question is do we consider the survey feature at all and make a tweak for that purpose, or stay MVP and think about that later?
  3. The way content is being displayed at the moment works for the test but the minute this app has a large amount of Q&As, th current scrolling layout becomes weak.


With all of this feedback added to the agenda, I will proceed with the 2.0 prototype of the app. Stay tuned for my next post.

Asif Khan