UI/UX

Contract-first development: Create a mock back end for realistic data interactions with React

Contract-first development: Create a mock back end for realistic data interactions with React

Many front-end developers are discovering the benefits of contract-first development. With this approach, front- and back-end developers use OpenAPI to collaboratively design an API specification. Once the initial specification is done, front-end developers can use API definitions and sample data to develop discrete user interface (UI) components. Defining a single OpenAPI spec improves cross-team collaboration, and API definitions empower front-end developers to design our initial workflows without relying on the back end.

Continue reading Contract-first development: Create a mock back end for realistic data interactions with React

Share
Getting started with JavaScript application development

Getting started with JavaScript application development

For many developers who have never built a JavaScript web application before, the first steps can be daunting. Our development team has the opportunity to interact with both students that are just getting started and developers with lengthy experience building out complex applications. Even seasoned back-end developers often ask where they can get started with JavaScript. Our response is invariably, “Don’t just read. You need to start building things, play with the language to see what it can do.”

JavaScript frameworks

Many times they also ask, “Which framework should I learn?” JavaScript frameworks like Angular, Vue, or React generate a lot of excitement, but they confuse the picture of where to start. At this stage, many developers might not want to choose a framework at all, so that they don’t lock themselves into a specific technology. If you wonder about these same things, you’re not alone. Fortunately, there are plenty of free resources to help you get started with learning how to build enterprise-quality JavaScript applications.

Continue reading “Getting started with JavaScript application development”

Share
Click-through learning with VS Code and Didact

Click-through learning with VS Code and Didact

The Didact project is designed to fill a void in Visual Studio Code, but what exactly is it? And more importantly, why should you care?

Didact started as a “What if?” VS Code doesn’t provide a great way to walk users through a step-wise tutorial. “What if” we could meet that need by combining the following:

  • A simple markup language (such as Markdown or AsciiDoc).
  • The ability to render the markup as HTML using the VS Code webview.
  • A way to invoke the commands we create for each VS Code extension.

And over the course of a day or so of coding, I had a working prototype.

Continue reading “Click-through learning with VS Code and Didact”

Share
DesOps is “DevOps 2.0”

DesOps is “DevOps 2.0”

As we discussed in the last post, most of DevOps today focuses on the process blocks that mostly impact engineering or technical aspects of a product rather than the design aspect. Even though  DesOps was primarily born out of the primary need of how to design at scale, the factors that shaped it are of a similar nature to the factors that shaped DevOps.

With recent software delivery processes, for example, the Agile process and Continuous Integration (CI) and Continuous Deployment (CD)of code, the DevOps approach provided a faster highway to ensure faster delivery with low risks. So the earlier SDLC model got redefined over time with Agile and then with DevOps to its current shape.

However, because design is an integral part of any product delivered, there is a need to ensure that gaps are bridged between the traditional design lifecycle and the fast track of the DevOps development lifecycle. DesOps and DevOps both are complementary to each other. The design delivery process improvements try to optimize the overall delivery process and thereby contribute to DevOps, for example, in aspects such as testing of the product that involves design aspects, usability, accessibility, etc.

The need for tighter integration between the design team and the engineering team became a necessity to ensure to design at scale. During the past two to three years, the top five big companies have made heavy investments in this area that have paved the way for other organizations and design communities to be more explorative in this area.

Continue reading “DesOps is “DevOps 2.0””

Share
DesOps – The Next Wave in Design

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, Red Hat‘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)

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)

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)

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

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

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