UI/UX

DesOps – The Next Wave in Design

DesOps, aka. DesignOps, refers to an approach to design that is inspired by the culture of DevOps. In this and the following posts, we will explore, the practical approaches for

  • How to prepare for the next wave in design that compliments the DevOps concepts of a cultural shift, collaboration, and automation.
  • We will also see what solutions are available today that contribute to bringing the full circle of design in the context of the software development lifecycle.

Today, design as a discipline is getting more and more recognition across the entrepreneur world and many industry efforts, such as IBM‘s Enterprise Design Thinking framework, RedHat‘s Open Studio and similar ones, are at a large scale, trying to create a synergy between the Agile approach to the software development lifecycle and the Design Thinking.  It is an interesting crossroad where the next big thing in product delivery is to bring scalability as well as automation to the creative process.

In the context of the software industry, I always see “design” as an intersection between creativity and technology where both shape each other—with help from user needs—and blend the results into successful products.

Any typical software product that is delivered involves many complex as well as divergent technologies, processes, people, and visions. Though software delivery mostly happens with team members segmented into two major groups—developers and designers—ultimately, the best outcome always depends on how the two teams communicate with each other and how efficiently their thoughts and ideas are shared, propagated, and translated.

Continue reading “DesOps – The Next Wave in Design”

Share

5 Pillars of a Successful Java Web Application (Part 3/3)

In this series of posts, we’ll detail our talk presented at Java One San Francisco 2017: “5 Pillars of a Successful Java Web Application”, where we shared our cumulative experience over the years building the workbench and the web tooling for Drools and jBPM platform. If you didn’t read the first ones, take a chance to get in touch with the pillars [link for the first].

Continue reading “5 Pillars of a Successful Java Web Application (Part 3/3)”

Share

5 Pillars of a Successful Java Web Application (Part 2/3)

In this series of posts, we’ll detail our talk presented at Java One San Francisco 2017: “5 Pillars of a Successful Java Web Application”, where we shared our cumulative experience over the years building the workbench and the web tooling for the Drools and jBPM platform. If you didn’t read the first post, take a moment to read the first pillar.

Continue reading “5 Pillars of a Successful Java Web Application (Part 2/3)”

Share

5 Pillars of a Successful Java Web Application (Part 1/3)

There are many challenges related to building and architecting a web application, especially if you want to keep your codebase updated with modern techniques without throwing away a lot of your code every two years in favor of the latest trendy JS framework.

In our team, we can successfully keep a 7+ year-old Java application up-to-date, combining modern techniques with a legacy codebase of more than 1 million LOC, with an agile, sustainable, and evolutionary web approach.

More than just choosing and applying any web framework as the foundation of our web application, we based our web application architecture on 5 architectural pillars that proved crucial for our platform’s success. This post is a first in a series, that will discuss exactly that.

In the first week of October, Alex Porcelli and I had the opportunity to present at JavaOne San Francisco 2017, the two sessions we held related to our work: 5 Pillars of a Successful Java Web Application and The Hidden Secret of Java Open Source Projects.

It was great to share our cumulative experience over the years building the workbench and the web tooling for the Drools and jBPM platform and both sessions had great attendance (250+ people in the room).

In this series of posts, we’ll detail our “5 Pillars of a Successful Java Web Application”, trying to give you an overview of our research and a taste of participating in a great event like Java One. Let’s talk about them:

Continue reading “5 Pillars of a Successful Java Web Application (Part 1/3)”

Share

Creating A Better Responsive Design in Web Development

A better responsive design nowadays becoming a challenge. To become a good competitor in the market, one should make their website UI design such that:

  • It should be eye-catching for the users on the first-time visit to the website.
  • Rather than having complex UI features, it should be easy to use with simple UI features. 

Continue reading “Creating A Better Responsive Design in Web Development”

Share

Testing your Android App’s UI with Espresso

Android is one of the most used mobile operating systems in the market with an estimated market share of approximately 84.82%. Millions of apps loom in the Android OS, for various tasks and it’s a shame that only a small percentage of the apps have a well-developed user interface (UI), which is flexible and adaptable to various mobile sizes. For an average user, they want their apps to look good and do well. However, if you are an app developer there will be a monstrous problem for you, Android is open source and it comes in all sorts of mobile phones with all sorts of screen sizes. Android developers have taught of this problem and have introduced a new automated testing framework to test the UI of your app called Espresso.

Continue reading “Testing your Android App’s UI with Espresso”

Share

Upgrading to Vaadin Framework 8 (Part 2 of 2)

In the previous part of this blog, I talked about the most important steps to get your project to compile with the latest Framework version.

The migration has been done through the first three steps mentioned here, and in this post, I will go over the least complicated steps of migration. Steps 4 and 5 cover the modernization of your project with the latest Framework 8 features. If you are in a hurry, you can do this later on as well, and use the new APIs only for new Vaadin code.

  1. Upgrade dependencies in the POM file
  2. Run Maven goal vaadin:upgrade8
  3. Upgrade Add-ons
  4. Upgrade non-data components
  5. Upgrade data components
  6. Back to the future

Continue reading “Upgrading to Vaadin Framework 8 (Part 2 of 2)”

Share

The Evolution of Technology in the Context of Software Development & Design Process: Take-away from PatternFly Conference

Last Sunday, I returned home, India, after attending a series of collaborative sessions in Raleigh, NC, with many designers and developers across Red Hat and the open-source community, at the UX Summit and the PatternFly Conference. The whole experience was inspiring, informative and at the same time thought provoking with many takeaways, out of which the most interesting for me was that cumulatively all the inspiring talks from the speakers of the conference were implicitly hinting towards a clue. How our attempt to solve the existing technical solutions also impact the existing work process and thereby demand a rethink on the process blocks we use.

Continue reading “The Evolution of Technology in the Context of Software Development & Design Process: Take-away from PatternFly Conference”

Share

Improving user experience for mobile APIs using the cloud

For your end users, one of the most important aspects of your API is the perceived response time — if your mobile application takes an excessive amount of time to load data, users will get frustrated.  

In this series of blog posts, we’ll cover three ways to approach building a RESTful API that leads to better user experience by minimizing perceived response time. These strategies include: processing requests quickly, reducing payload sizes, and eliminating requests entirely, or only downloading data that has changed. And, we’ll show you how to do each by providing sample node.js code that can be deployed ‘as is’ on Red Hat Mobile Application Platform to build a better mobile API.  

But, before getting into each strategy, why are these important? The user interface (UI) and user experience (UX) are extremely important to the success of mobile applications.

Continue reading “Improving user experience for mobile APIs using the cloud”

Share

Are “Web Components” in the future for PatternFly?

Web development has become increasingly complicated in recent years.  The questions of which framework to use often can eat up much time at the start of a project.  I can’t remember the number of times people have asked me while working on a Knockout project if I’ve heard of Durandal, or when considering Angular 2 – what about React/Flux or Aurelia?

Patternfly is a community project that promotes design commonality and improved user experience. Its offerings include open source code, patterns, style guides and an active community that helps support it all. But, this complexity, choosing web frameworks, also affects PatternFly.  Our goal is “to build a UI framework for enterprise web applications”.  That requires that we remain outside of the discussion of which framework is best and provide a solid set of patterns and designs for developers to rely on.

How can you build a UI framework when there are so many choices and so many strong feelings about the different choices?  In my opinion, it’s important for developers to choose the framework that is best for the project and fits their skill set.  There isn’t one choice that works for everybody and it’s important that we support all developers that want the benefit of well-designed components that can be used in enterprise applications.

Continue reading “Are “Web Components” in the future for PatternFly?”

Share