User Interface and User Experience are some of the most important aspects of developing a product. No matter how many amazing features something has, a user must be able to access them in order to reap the full benefits of the product. For example, in the Apache Ambari Web UI, add-on apps called Views have, so far, only been accessible through an inconspicuous drop-down menu in the top navigation bar, which requires users to open the View in a separate iframe. This takes away from the seamless user experience that we’re striving to achieve, and that’s where my intern project comes in.
My project this summer consisted of making Ambari Web features more accessible for users by embedding Views into various parts of the UI, primarily using Ember.js, AngularJS, Java, and XML. Instead of being placed behind a drop-down menu in the corner and opening in a separate page, Views are coming out into the spotlight and becoming a more fundamental part of the Ambari Web experience. When creating instances of Views, the admin will have control of where best to embed the views into the page, whether as tabs on the corresponding service page, or in another part of the UI. This allows for an excellent user experience, providing them with both convenience and control over functionality.
By embedding Views, accessing them becomes much more intuitive, allowing more users to take full advantage of the resources that Ambari Web offers. Rather than having to train people on how to access these helpful features, they’ll be able to use them immediately and with fewer clicks. Even more importantly, the UI will cater to each user by allowing them to control the best place for Views, according to what they use the most. My favorite part of working on this project– surprisingly even more than the satisfaction of making a meaningful impact on the company– was experiencing the collaborative environment of Hortonworks. The helpfulness of my team has allowed me to both develop as a coder and start viewing things from the user perspective. I look forward to working further on the integration of coding, user requirements, and functional design to come up with solutions to solve real-world problems.