Quantcast
Channel: Infragistics Community
Viewing all 2223 articles
Browse latest View live

Creating Your First Dashboard from Scratch with ReportPlus

$
0
0

If you are not familiar with creating dashboards, it can be a little overwhelming trying to figure out how to bring all your data together to build a full 360-degree view of your business.

ReportPlus is a self-service data visualization, business intelligence software that enables you to visualize your significant business metrics, like marketing performance, monitoring operational trends, visualizing KPIs, and optimizing customer portfolios, in one centralized location. To show you how we are going to walk you through the creation of the email marketing campaign dashboard below using data from a sample excel file. 

When you first come into the application you are present with a screen directing you where to go to begin creating your first dashboard:

After selecting empty dashboard you able to pick the data source that you want to start with. ReportPlus offers connections to a number of data sources like Excel, SharePoint, CRM, Salesforce, Microsoft Analysis Services and many more:

Once you select your data source you will be brought into the widget editor. Our excel file pulls in fields surrounding the marketing campaign:

After you select your data source you can begin to drag and drop your populated fields into your pivot panel to create visualizations. In our first visualization, we want to show the number of emails received vs the number of emails that were then opened. So, we drag the dates field to rows, the recipients and the opened fields to the values and then select your visualization type. In this case, comparing them in a bar chart gives you an insight how the emails are performing.

Once you complete your first visualization click done and you will be brought back out to the dashboard view. Here you can press and hold your visualization (on iOS) or left click (on desktop) and adjust the size and when there is more than one visualization can move them around. 

Next step is to add a new visualization, by clicking the blue plus button on in the bottom right corner. This is when you can choose to add more visualizations from the existing data source or choose a new one. There is great value in being able to bring multiple data sources into one location provide deeper insights into the full story of your business! For quick easy access to the data that you have been working with already we provide you with a quick “data in dashboard” section, that we will use for the purpose of this example:

We will continue to with the same email marketing campaign data we will create our next visualization. We want to show the percentage of opened emails by category. We will use a pie chart to show this so we want to drag the category to be our rows (our values that will become our variable in the legend) and opened to the rows.

Showing bounce rate progression by month can be done similarly to the bar chart we created, but instead we are going to use a line chart. By clicking on the date field after you bring it over you can click on that field to bring up different options for displaying your data. You can filter by rule (that include this year, this month, custom date range, etc.), aggregation by day, month or year, etc. 

Next to show the number of unsubscribed emails by categories we again have a similar process dragging the category to rows and unsubscribed to values. This time we are going to bring the date over to filters so that when we expand the visualization in dashboard mode we have a quick easy way to filter by date.  

Creating the average bounce rate gauges requires you to drag over the value field you would like to show. It automatically populates the sum of the values, but you have the choice to change that to the max, average, min, and more, by clicking on the field.

To create the last two gauges we can simply duplicate the current one and then edit it inside the editor to change out the bounce rate for open rate

After you exchange the bounce rate for click right we need to select the value column to read the new field on the right:

These gauges are designed to be fully customized so that you can present your data in the appropriate colors. Since a low click-through is bad we would want lowers numbers to be presented with red instead of green by clicking on the bounds field in the Gauge Settings 

Inside each band configuration allows us to choose a color for representation, a symbol, and the values between they get set. For the click-through rate we will design gauge bounds to be the following:

After you click done on your final visualization one of the last steps in finishing your dashboards is choosing which, if any, themes you would like to pick for your dashboard: 

This dashboard is now ready to be analyzed or shared with other members of your team to collaborate together! 

Interested in building your own dashboards? Download a free trial of any of our ReportPlus platforms now, or contact us to see the wonders it can do for your team’s productivity!


WPF 17.1 - 17.2 Service Release Notes - March 2018

$
0
0

With every release comes a set of release notes that reflects the state of resolved bugs and new additions from the previous release. You’ll find these notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

You can download release notes for Infragistics WPF 2017 Volume 1 - Build 17.1.20171.2153 from:

You can download release notes for Infragistics WPF 2017 Volume 2 - Build 17.2.20172.2077 from:

UXify 2018 – What Do Design Skills Look Like in the Age of AI?

$
0
0

What skills will designers need in the future, when working with technologies such as artificial intelligence? David Fisher, Product Lead at ustwo, will answer this question in his UXify presentation, "What do Design Skills Look Like in the Age of AI?

UXify 2018: The Future of User Experience, our sixth annual, free UX conference, takes place on Friday, April 27 from 11 am – 5:00 pm, with networking from 5:00 - 7:00 pm. Lunch, snacks, and beer and wine during the networking are included. 

Check out the UXify 2018 agenda and speaker list, and register for FREE.

David Fisher

 What Do Design Skills Look Like in the Age of AI?
By David Fisher, Product Lead at ustwo 

As machines start to do more production work, the meaning of being a designer is changing. But what skills will designers need, and how should designers navigate this evolving landscape? 

This talk will examine how skills and knowledge from diverse fields including data analytics, systems, and narrative design will give designers the mental models needed to adapt and work with this transformational technology. 

David Fisher
David Fisher is a Product Lead at ustwo - a digital product studio that forges best in class digital experiences in partnership with the world’s leading brands. Over the course of the last ten years, David has led projects across a spectrum of industries and top-tier brands including Facebook, Foursquare, Credit Suisse, JP Morgan, UBS, Barclays, Saxo Bank, Tesco, American Express, Worldpay, Toyota, and Google, amongst many others. Alongside client work, David writes and speaks about how digital design practice is evolving alongside the bleeding edge of technology, with a focus on the fields of AI and Cryptocurrency.

Register for UXify

Infragistics Ultimate UI for Windows Forms: 17.1 - 17.2 Service Release Notes - March 2018

$
0
0

With every release comes a set of release notes that reflects the state of resolved bugs and new additions from the previous release. You’ll find these notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

You can download release notes for Windows Forms 2017 Volume 1 - Build 17.1.20171.2074 from:

You can download release notes for Windows Forms 2017 Volume 2 - Build 17.2.20172.2039 from:

Ignite UI Release Notes - March 2018: 17.1, 17.2 Service Release

$
0
0

With every release comes a set of release notes that reflects the state of resolved bugs and new additions from the previous release. You’ll find the notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

Download the Release Notes

Ignite UI 2017 Volume 1

Ignite UI 2017 Volume 2

A Brief Rundown of the 2018 Stack Overflow Developer Survey Results

$
0
0

After the large-scale effort from Stack Overflow to survey and to collect data from developers around the world, the results bring expected and thoughtful conversation to the tables of those who are looking to understand some of the issues, ideas, and opinions primarily surrounding back-end, full-stack, and front-end developers. To highlight a few of the outcomes of the 2018 Stack Overflow Developer Survey Results, it was noted that:

  • With little surprise, JavaScript is still one of the most commonly used programming languages, just eking out the use of HTML. It should be noted, however, that Python has climbed the ranks to surpass languages like C#, PHP, and C+ to settle in just below Bash. It's likely that with the surge in machine learning positions and development, as also noted in the survey and further down in this article, developers are preferring the wide gamut of Python's libraries to tackle big data solutions and aspects within the data science field.  
  • There are a range of robust opinions on the ramifications and the considerations that developers will encounter when dealing with artificial intelligence and critical decision-making skills being left to algorithms. A few sections had large divergences in thought, pointing out that while developers have concerns over AI use, there's overwhelming excitement at the possibilities AI offers and how it will impact future technology. And, while there was some gray area as to whom should be responsible for the AI, the developers came into agreement that those creating the algorithms should be held responsible with governmental bodies stepping in as a next resort.  
  • After discussion of AI, it correlates to the survey data where it can be noted that the need for data scientists and machine learning specialists is on the rise. With the machine learning specialists, they are now commanding a higher salary, coming in around $60,000 USD, with DevOps specialists and engineering managers at the salary forefront.  
  • In the vein of ethical responsibility, it appears that developers were reticent to write unethical code. Most respondents declared that they would refuse to write code if it were unethical with 58.5% in favor of that decision. Notably, the survey had about a third, 35.7%, of the developers respond that they would consider writing unethical code depending on what it was and assuming it fit into their own sense of ethics.  

Overall, the survey underscored some of the obvious static trends within the developing world but also revealed shifts that are undoubtedly going to become more prominent within the coming years. While here at Infragistics, we continually pride ourselves on foresight and forward-thinking, as we have aligned to the larger coding trends and have worked to craft experiences that will encourage incoming developers and those looking for better business solutions. Take some time to look at our impact with Ignite UI for JavaScript which currently boasts the fastest jQuery grid on the market, and be sure to check our pages periodically for news and updates on our products and pieces from our thought-leaders.  

How to deploy an Angular application to GitHub

$
0
0

In this article, we will follow a step-by-step approach to deploy an Angular application to a GitHub. We will create a project using Angular CLI  and then deploy that to GitHub. Let us get started.

Step 1

To create a project using Angular CLI. Run the command:

ng new demo

 You need to make sure that Angular CLI is installed globally on your machine.

Step 2

Change directory to demo and open project in VS Code or any other IDE of your choice.  Modify AppComponent to add, subtract, multiply, and divide two numbers as shown in the below listing:

export class AppComponent {
    title = 'Calculator App';
    num1: number;
    num2: number;
    result: number;
    add() {
        this.result = this.num1 + this.num2;
    }
    substract() {
        this.result = this.num1 - this.num2;
    }
    multiply() {
        this.result = this.num1 * this.num2;
    }
    divide() {
        this.result = this.num1 % this.num2;
    }
 
}

As you can see, that AppComponent is very simple and it contains code to perform basic calculator operations.

Next, modify the AppComponent template

<div class="container">    <br />    <div class="row">        <h1>            Welcome to {{ title }}!
        </h1>    </div>    <br />    <div class="row">        <div class="col-md-6">            <input type="number" [(ngModel)]="num1" placeholder="Enter Number 1" class="form-control" />        </div>        <div class="col-md-6">            <input type="number" [(ngModel)]="num2" placeholder="Enter Number 2" class="form-control" />        </div>    </div>    <br />    <div class="row text-center">        <div class="col-md-3">            <button class="btn btn-info" (click)='add()'>Add</button>        </div>        <div class="col-md-3">            <button class="btn btn-info" (click)='substract()'>Substract</button>        </div>        <div class="col-md-3">            <button class="btn btn-info" (click)='multiply()'>Multiply</button>        </div>        <div class="col-md-3">            <button class="btn btn-info" (click)='divide()'>Divide</button>        </div>    </div>    <br />    <div class="row">        <div class="col-md-5 col-md-offset-4">            <h2>Result = {{result}} </h2>        </div>    </div></div>

Like the component class template, it is also very simple. It uses:

  • ngModel for two way data binding between input controls and properties
  • event binding to call a function on click of the button
  • interpolation to display the result

Step 3

 Before we publish this application to GitHub, let us run it locally. To run it locally, run the command

ng serve

Your application should run on default port 4200 of localhost as shown in the image below:

Step 4

To deploy Angular application first create a repository on GitHub. To do that navigate to https://github.com/ and click on New Repository.  I am creating a repository named  “demo9“.  

 After the repository is created, use git command to add this repository as remote to the local project. For that run command as below :

git remote add origin https://github.com/USERNAME/PROJECT_NAME.git

Do not forget to change username and project name. Once the remote repository is added, you can verify that using the command

git remote -v

As output, you should get repository listed as below:

Step 5

To deploy the Angular application to GitHub, you need to first install the angular-cli-ghpages globally:

 npm install -g angular-cli-ghpages

 After installing that ghpages, use Angular CLI to build the project. For that run command as shown below:

ng build --prod --base-href https://debugmodedotnet.github.io/demo9/

Make sure that you are using your GitHub user name and repository name.  After successful execution of the command, you should get bundle.js created as shown in the image below: 

As the last step, run command ngh –no-silent to publish the application as shown in the image below:

After successful publish navigate to  https://<username>.github.io/<reponame>/ to navigate to the application.  This is all you need to do to deploy the Angular application to GitHub.

Like this post?

If you like this post, please share it. In addition, if you haven’t checked out Infragistics Ignite UI for Angular Components, be sure to do so! They’ve got 30+ material based Angular components to help you code speedy web apps faster

Infragistics ASP.NET Release Notes - March 2018: 17.1, 17.2 Service Release

$
0
0

With every release comes a set of release notes that reflects the state of resolved bugs and new additions from the previous release. You’ll find the notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

Download the Release Notes

ASP.NET 2017 Volume 1

ASP.NET 2017 Volume 2


UXify 2018 – How to Design Complex Stuff You Don’t Entirely Understand

$
0
0

What do you do when you’re asked to design something very complex, in a domain that you know nothing about? How can you get up to speed quickly, in order to make the right design decisions? At UXify 2018, Rick Winslow, Head of Digital Innovation at Capital One Commercial Banking, will provide advice on “How to Design Complex Stuff You Don’t Entirely Understand.” 

UXify 2018: The Future of User Experience, our sixth annual, free UX conference, takes place on Friday, April 27 from 11 am – 5:30 pm, with networking from 5:30 - 7:00 pm. Lunch, snacks, and beer and wine during the networking are included.

Check out the UXify 2018 agenda and speaker list, and register for FREE.

How to Design Complex Stuff You Don’t Entirely Understand
By Rick Winslow, Head of Digital Innovation at Capital One Commercial Banking

Have you ever been asked to design something you can’t even begin to get your head around? Or to design something for expert users who speak a language of their own? Are the standard-issue tools of UX design, like personas, journey maps, and usability testing just not working? Do you find it impossible to explain to your parents and friends what you do?

Many industries — like finance, healthcare, and telecommunications — operate on complex and idiosyncratic systems. And the people who use those systems are often highly specialized experts. As demand for design spreads throughout these industries, designers are more and more likely to work on complex systems used by specialized experts. 

If you face these challenges, take heart! You are not alone. Learn some useful, practical coping strategies that can help you “fake it till you make it”.

Rick Winslow
Rick Winslow leads the digital innovation team for Capital One’s Commercial Banking business. He has spent about 20 years designing weird, obscure and complex software for both startups and large enterprises. He is a vocal proponent of agile, lean, human-centered-design, cross-functional collaboration and data science. He holds a BA from Columbia University and an MBA from Rutgers Business School. He also teaches in the Columbia University Applied Analytics program.

Register for UXify

Four simple steps to work with Ignite UI for Angular Navigation Drawer and Angular Routing

$
0
0

Ignite UI for Angular is a material-based library to speed up the development process of Angular web apps. There are more than 30 components available in Ignite UI for Angular, which help you to write high performance application faster.  You can learn more about Ignite UI for Angular here

In this article, we will follow a step-by-step approach to work with Ignite UI Navigation Drawer and Angular Routings.  The Ignite UI for Angular Navigation Drawer component is a side navigation container. It can rest on content and slide in/out of view or be pinned to expand/collapse within the content.

Learn official documentation of Ignite UI Navigation Drawer here

 This article will help you in adding Ignite UI for Angular Navigation Drawer in your existing project. However, if you are starting with a new project, you do not have to follow all these steps and using Ignite UI CLI, you can achieve all this in 3 simple commands. Before we go into step by step explanation, let us see how we can work with Ignite UI Navigation Drawer and Angular Routing using Ignite UI CLI.

Using Ignite UI CLI

To use Ignite UI CLI, install Ignite UI CLI and run the command ig on the command prompt. After that Ignite UI CLI will ask you options such as:

  1. Name of the project
  2. Framework : choose Angular
  3. Type of project: choose Ignite UI for Angular to work with native Ignite UI for Angular components. Another option is Ignite UI for Angular wrappers which is a jQuery based library.

 Refer the image below:

After the project is created, let us add an Angular component to the project.  To add use the arrow key. There are three type options for the component, choose any. In last select option Complete and Run using the arrow key.  After this step, Ignite UI will install dependencies using the npm. Once all dependencies are installed, change directory and run command ng serve to run the application created using Ignite UI CLI. You should get an application running as shown in the image below:

This application has following components

  1. Ignite UI for Angular navigation drawer
  2. Ignite UI for Angular Carousel.

 

So creating an application like above is as easy as this using Ignite UI CLI.  If you are working with existing project and wish to add Ignite UI for Angular navigation drawer read further. 

Using Ignite UI for Angular Navigation drawer in an existing project

To conclude this article, we will have an application using Angular Routing and Ignite UI for Angular Navigation Drawer as shown in the image below,

Step 1: Project Setup

Let us create an Angular project using Angular CLI.  In the application, add few Components to navigate.  We have added three components for routing. They are as follows:

  1. Home Component
  2. About Component
  3. Product Component

Additionally, there is a file called app-routing.module.ts file in the project for routing module.  

I have kept these components very simple. They all have one property title and that is displayed in the template. For your reference, components are as follows:

product.component.ts

import { Component } from '@angular/core';
 
@Component({
    selector: 'app-product',
    templateUrl: './products/product.component.html'
})
export class ProductComponent {
    title = 'Product View';
}

product.component.html

<h1 class='text-center'>{{title}}</h1>

Other components are the same as ProductComponent.

Step 2: Create Routes

In this step, we will create routing to navigate from one component to other component in our application.  It is a simple Angular route with path, component, and data properties set to some values.

app-routing.module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AboutComponent } from './about/about.component';
import { ProductComponent } from './products/product.component';
import { HomeComponent } from './home/home.component';
 
export const routes: Routes = [
    { path: '', redirectTo: '/home', pathMatch: 'full' },
    { path: 'home', component: HomeComponent, data: { text: 'Home ' } },
    { path: 'banking', component: ProductComponent, data: { text: 'Products Details' } },
    { path: 'about', component: AboutComponent, data: { text: 'About' } }
 
];
@NgModule({
    imports: [RouterModule.forRoot(routes)],
    exports: [RouterModule]
})
export class AppRoutingModule {
}

 

I would like to draw your attention to data text property of the route. We will use this as the value of the navigation links in Ignite UI for Angular drawer.

Step 3: Importing Routes and Components

We have created routes and components. In this step, add those in main application module. For that import route module and components. Pass routes module as one of the value of imports array and components as one of the values of declaration array.

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppRoutingModule } from './app-routing.module';
 
import { AppComponent } from './app.component';
import { AboutComponent } from './about/about.component';
import { ProductComponent } from './products/product.component';
import { HomeComponent } from './home/home.component';
 
@NgModule({
    declarations: [
        AppComponent, AboutComponent, ProductComponent, HomeComponent
    ],
    imports: [
        BrowserModule, AppRoutingModule, BrowserAnimationsModule
    ],
    providers: [],
    bootstrap: [AppComponent]
})
export class AppModule { }

I have also imported BrowserAnimationModule. You need it to work with Ignite UI for Angular components and directives.

Step 3: Add Ignite UI for Angular to project

Let us start with adding Ignite UI for Angular library in the project. We can use npm to do this. So run the command shown below to install Ignite UI for Angular

npm install igniteui-angular

After installing Ignite UI for Angular, we need to install hammerjs. To install hammerjs run command as below:

npm install hammerjs

After installing Ignite UI for Angular, let’s make sure that the project references the Ignite UI for Angular styles and the hammerjs library in the angular-cli.json. Modify angular-cli.json as shown below:

angular-cli.json

"prefix""app",
    "styles": [
        "styles.css",
        "../node_modules/igniteui-angular/styles/igniteui-angular.css"    ],
        "scripts": ["../node_modules/hammerjs/hammer.min.js"],
            "environmentSource""environments/environment.ts",

Ignite UI for Angular styles uses the Material Icons. Let us import those in the styles.css as shown below:

@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

After that import hammerjs in main.ts as shown below:

import 'hammerjs';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';

Step 4: Configure Ignite UI Navigation Drawer

In this step, we will configure Ignite UI Navigation Drawer to use Angular Routes we created in step 2.  Let us start with importing following in the AppComponent.

import { Component, OnInit, ViewChild } from '@angular/core';
import { NavigationStart, Router } from '@angular/router';
import 'rxjs/add/operator/filter';
import { routes } from './app-routing.module';
import { IgxNavigationDrawerComponent } from 'igniteui-angular/navigation-drawer';

We have imported NavigationStart and Router from router module to iterate through the routes and push navigation link.  In addition, we have imported ViewChild such that we can read IgxNavigationDrawerComponent as ViewChild and call its’ events, methods, and properties in the component class.

 Let us create two properties in AppComponent class,

  1. A property to hold navigation links
  2. A ViewChild property for Ignite UI navigation drawer

You can create these two properties as listed below:

public topNavLinks: Array < {
    path: string,
    name: string
} > = [];
@ViewChild(IgxNavigationDrawerComponent) public navdrawer: IgxNavigationDrawerComponent;

Next, in the constructor, we need to create navigation links from routes. That can be done as shown in the listing below:

constructor(private router: Router) {
    for (const route of routes) {
        if (route.path && route.data && route.path.indexOf('*') === -1) {
            this.topNavLinks.push({
                name: route.data.text,
                path: '/' + route.path
            });
        }
    }
}

We also need to make sure that drawer is closed when viewing on the mobile. This can be done in ngOnInit() life cycle hook as shown in the listing below :

ngOnInit() {
    this.router.events
        .filter((x) => x instanceof NavigationStart)
        .subscribe((event: NavigationStart) => {
            if (event.url !== '/' && !this.navdrawer.pin) {
                // Close drawer when selecting a view on mobile (unpinned)
                this.navdrawer.close();
            }
        });

Putting everything together, AppComponent class with Ignite UI navigation drawer configuration will look like below:

app.component.ts

import { Component, OnInit, ViewChild } from '@angular/core';
import { NavigationStart, Router } from '@angular/router';
import 'rxjs/add/operator/filter';
import { routes } from './app-routing.module';
import { IgxNavigationDrawerComponent } from 'igniteui-angular/navigation-drawer';
 
@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
    public topNavLinks: Array<{
        path: string,
        name: string,
        icon: string    }> = [];
    @ViewChild(IgxNavigationDrawerComponent) public navdrawer: IgxNavigationDrawerComponent;
 
    constructor(private router: Router) {
        for (const route of routes) {
            if (route.path && route.data && route.path.indexOf('*') === -1) {
                this.topNavLinks.push({
                    name: route.data.text,
                    path: '/' + route.path,
                    icon: route.data.icon
                });
            }
        }
    }
 
    public ngOnInit(): void {
        this.router.events
            .filter((x) => x instanceof NavigationStart)
            .subscribe((event: NavigationStart) => {
                if (event.url !== '/' && !this.navdrawer.pin) {
                    // Close drawer when selecting a view on mobile (unpinned)
                    this.navdrawer.close();
                }
            });
    }
}

Step 5: Configure Ignite UI Navigation Drawer

Next, in the template of AppComponent, we will use ig-nav-drawer and set various properties such as

  • Header
  • igxFlex
  • navbar
  • content area which would be router-outlet

We are using various directives such as igxLayout, igxDrawerItem, igxRipple to create the drawer. Besides directives, we are using components such as igx-nav-drawer and igx-navbar.  You can read more about them on official documentation here.

Putting everything together, the AppComponent template will look like the below listing:

app.component.html

<div class="main" igxLayout>    <igx-nav-drawer #nav id="project-menu" isOpen="false" [enableGestures]='true' width="280px">        <ng-template igxDrawer>            <header igxDrawerItem isHeader="true">Views</header>            <span *ngFor="let route of topNavLinks" igxDrawerItem igxRipple routerLinkActive="igx-nav-drawer__item--active" routerLink="{{route.path}}">                {{route.name}}            </span>        </ng-template>    </igx-nav-drawer>    <div igxFlex>        <igx-navbar title="IgniteUI for Angular Grid Sampler" actionButtonIcon="menu" (onAction)="nav.toggle()" igxFlex>        </igx-navbar>        <div class="content" igxLayout igxLayoutJustify="center">            <router-outlet></router-outlet>        </div>    </div></div>

You can see that we are iterating routes and then adding the router link and router name to the drawer.

Step 6: Run application

On running the application, you will see Ignite UI for Angular navigation drawer in action working with Angular Routing as shown in the image below:

You can navigate between components by clicking on header items in the drawer.

Conclusion

In this post, we learned about using Ignite UI for Angular Navigation drawer in existing Angular project. We also saw how easy it is to create applications using use Ignite UI CLI.  If you like this post, please share it. In addition, if you haven’t checked out Infragistics Ignite UI for Angular Components, be sure to do so! They’ve got 30+ material based Angular components to help you code speedy web apps faster

UXify 2018 – Is it Time to Switch to Conversational UI?

$
0
0

What advantages do conversational user interfaces have over traditional, graphic user interfaces? Michael Eydman, Senior Consultant at ABME Corporation, will discuss these issues and present case studies in his presentation, “Is it Time to Switch to Conversational UI?” at UXify 2018. 

UXify 2018: The Future of User Experience, our sixth annual, free UX conference, takes place on Friday, April 27 from 11 am – 5:30 pm, with networking from 5:30 - 7:00 pm. Lunch, snacks, and beer and wine during the networking are included.

Check out the UXify 2018 agenda and speaker list, and register for FREE.

Michael Eydman

Is it Time to Switch to Conversational UI?
By Michael Eydman, Senior Consultant at ABME Corporation

There is a new UI paradigm on the rise. Commonly used graphical interfaces have limitations. Fixed screen real estate and resolution constraints present a constant challenge for creating intuitive and easily navigable interfaces on commonly used devices like phones and tablets. With recent improvements in speech recognition and text synthesis technologies, conversational user interfaces have become a viable option. Conversational UI uses natural language processing to expose much more complex and feature-rich interfaces, which would be difficult to accomplish through traditional graphical UI. It can also be distributed through more channels, which includes traditional on-site chatbots, as well as those available on instant messaging platforms and home virtual assistants, like Amazon’s Alexa. In this presentation, I would like to cover a few use cases, where cross-channel conversational UI can help drive more conversions for a retail enterprise. I will also cover more prominent frameworks and platforms which can be used to create chatbots used in Conversational UI.

Michael Eydman
Michael is a Senior Consultant at ABME Corporation, a management consulting firm. He has over two decades of professional experience consulting companies of various sizes in areas which include Digital Transformation, Innovation, and Process Improvement. He works at the crossroads of business and technology, taking raw ideas and developing capabilities necessary to enable them. Michael keeps up to date with current trends in emerging technologies and provides thought leadership to major retail and manufacturing companies, including L’Oreal and Heineken. He has set up a number of successful programs adopting new products and services in areas of machine learning, AI, and data science.

Register for UXify

 

Have You Checked Out Our Award Winning BI Software?

$
0
0

As you may have seen last month, we recently earned a bunch of awards, but one stands out, in that our ReportPlus customers are a part of how we received the recognition. Infragistics earned the prestigious Expert’s Choice Award for 2018 from FinancesOnline, a popular B2B software review platform. This recognition is given out annually to products that provide outstanding solutions for B2B companies across a number of categories, including the leaders in the Business Intelligence Software market.

With an overall review score of 9.4 out of 10, and a user satisfaction score of 100% at the time of this writing, ReportPlus was also included in the Top 3 in FinancesOnline’s latest list of the Best Business Intelligence Software and received the Great User Experience Certificate, and Supreme Software Award.

    

In evaluating ReportPlus for the 2018 Expert’s Choice Award, FinancesOnline’s team of software experts examined and compared us with competitors like Sisense, Zoho Reports, and Looker, in various scenarios.

If you are a current ReportPlus customer, please visit FinancesOnline.com to post your own review of ReportPlus and thanks for your support!

If you haven’t had a chance to see why FinancesOnline thinks we’re great, sign up to learn how you can start your company’s digital transformation by unlocking data insights with a free trial or learn about our exclusive workshops to help you get a running start.

How to Count the Number of Properties of the JavaScript Object

$
0
0

While working with JavaScript, I come across a requirement to count a number of properties in a JavaScript object.  I found two ways to find the number of properties in an object. They are as follows:

  1. Using for loop
  2. Using Object.keys

Consider an object, “cat”, as demonstrated below:

var cat = {
 
    name: 'foo',
    age: 9
}

You can find a number of properties by iterating in a for loop and update counter, as shown in the below listing:

let count = 0;
for (var c in cat) {
 
    count = count + 1;
}
console.log(count);// 2

Above code will print “2” as output.  

The above approach not only prints the object’s own enumerable properties, but it also prints properties of objects to chich it is linked.  To further understand it, let us consider listing:

var animal = {
 
    canRun: true
}
 
var cat = {
 
    name: 'foo',
    age: 9
}
 
cat.__proto__ = animal;

There are two objects, cat and animal, and the cat object is linked to an animal object using __proto__ property.  Now, when you use for loop to iterate and count a number of properties, it will also count enumerable properties of the animal object. Therefore, the code listing below will print “3”.

var animal = {
 
    canRun: true
}
 
var cat = {
 
    name: 'foo',
    age: 9
}
 
cat.__proto__ = animal;
 
let count = 0;
for (var c in cat) {
 
    count = count + 1;
}
console.log(count);// 3

JavaScript for loop will iterate all linked properties of the object.

To count the object’s own enumerable properties, you may consider using another approach, Object.keys(), which only enumerates the object’s own enumerable properties. It does not enumerate the object’s linked properties.

Moving forward, let us again consider cat object which is linked to animal object and count number of properties using Object.keys:

var animal = {
 
    canRun: true
}
 
var cat = {
 
    name: 'foo',
    age: 9
}
 
cat.__proto__ = animal;
 
var count = Object.keys(cat).length;
console.log(count);

Now you will get “2” printed as output.

Object.keys only enumerates the object’s own enumerable properties.

If the object’s property enumerable is set to false, then it is not a member of Object.keys array.  Let us again consider cat object and set its name property enumerable to false.

var cat = {
 
    name: 'foo',
    age: 9
}
 
Object.defineProperty(cat, 'name', { enumerable: false });

 

Now, when you use Object.keys to find a number of properties, it will count only one.

var count = Object.keys(cat).length;
console.log(count);  // print 1

In closing, these are the two ways that you can use to find a number of properties in a JavaScript object.  

If you like this post, please share it. In addition, if you haven’t checked out Infragistics Ignite UI for Angular components, be sure to do so! We’ve got 30+ material based Angular components to help you code speedy web apps faster.

UXify 2018 – Building Great User Experiences using Infragistics Ignite UI

$
0
0

At UXify 2018, Infragistics’ Todd Snyder will demonstrate how to use Ignite UI’s rich developer tools to build great user experiences. UXify 2018: The Future of User Experience, our sixth annual, free UX conference, takes place on Friday, April 27 from 11 am – 5:30 pm, with networking from 5:30 - 7:00 pm. Lunch, snacks, and beer and wine during the networking are included. 

Check out the UXify 2018 agenda and speaker list, and register for FREE.

Todd Snyder

Building Great User Experiences using Infragistics Ignite UI
By Todd Snyder, Product Architect at Infragistics

This session will explore how to harness the power of Infragistics rich developer tools for Web (JavaScript) to build great user experiences. Whether you need to build dashboards for your sales force, need to provide rich experiences to your corporate end users or want to build the next great mobile web experiences this session will provide you with the knowledge of how to utilize Infragistics Ignite UI to amaze and delight your customers.

Todd Snyder
Todd Snyder has been a software developer/architect for over 23 years. During that time, he has focused on providing technical guidance and leadership for the development of enterprise-class systems on the Microsoft and Web Platforms. At Infragistics, he is a Product Architect on ReportPlus Web and Server Teams. Todd is the co-leader for the New Jersey .NET User Group and is a frequent speaker, book author, and co-host of the Static Void Podcast.

Register for UXify

Getting to Know the Widget Editor

$
0
0

If you have been using ReportPlus, you know how easy it is to create dashboards with any number of data sources. ReportPlus is built by user experience experts and made for business users. It has a familiar drag and drop experience, it is simple to create or edit your visualizations to tell your story within minutes. However, data can be a little overwhelming to some, and visualizations are a big help. Today we are going to walk through the widget editor step by step.  

When you come into the editor you will see three panels. The left side panel is where you will find all the available fields for the data source you are working with. Depending on which data source that is you will either have a flat list of fields or one broken up into metrics and dimensions.

                                

Flat fields from Excel                           Metrics & Dimensions from Cube

All of these fields are available for you to be dragging and dropping into the pivot panel to start creating your visualization. In this panel, you will find a section for filters, columns, rows, and values.

Using a sample set of marketing data from an excel file you can see in the image below that dragging the Date that emails were sent in field into the rows columns will populate the dates down the first line, the category of those fields become columns, the values populated are the sum of opened emails, and there is a local filter about the grid that allows you to quickly filter while in view mode.

Clicking on any of the fields that you bring over to the pivot panel unlocks additional options for these fields such as whether you want:

  • Your dates displayed as days, months or years
  • To filer by a rule (Year to date, Month to date, Last 7 Days, etc.)
  • To change the label of the field as it appears in your visualization
  • Change the sorting of the fields
  • To change the formatting of your values to have commas, decimals, and more

                                                              

Moving over to the left-hand panel is where you will choose from over 30 different visualization types to visualize your data how you like.

After you have your visualization you can change a number of different chart aspects in the chart settings. You are able to change styles of your table, bounds to your gauges, the color of your variables, add Trendlines, configure your axis, and so much more. The additional tabs on the bottom of the visualization panel will also unlock a number of additional features.

Parameters allow you to manually select the parameters of your data from the source. For example, you may not want to pull in an entire excel sheet and only pull in two columns.

                         

 

Binding widget data to a dashboard filter can be done in two ways: either as part of the Dashboard Filter configuration or in the Dashboard Filters Binding section. The binding is defined by adding rules that link a field in the dashboard filter data set with a corresponding field in the widget’s data set.

For more information on the dashboard, filtering visit the dashboard filters and binding section of our documentation.

                         

 

The actions tab of the editor allows you to link visualizations to other dashboards or a URL by events such as maximizing a widget, clicking on a grid, or clicking on a chart/column bar. This feature takes the concept of drill-down navigation to a new level; for instance, if you want to provide more detail on the information displayed, you can use a whole new dashboard.

For more information on dashboard linking visit the Navigation between Dashboards section of our documentation

                         

 

The general tab of this panel allows you to rename the title of the visualization, decided whether you want to show a title or not and gives you the data source and path to that source.

                         

 

Interested in building your own dashboards? Download a free trial of any of our ReportPlus platforms now, or contact us to see the wonders it can do for your team’s productivity!


UXify 2018 – The Next Generation of Project Management: Getting Results without Formal Authority

$
0
0

How does a millennial project manager successfully manage UX projects composed of team members and clients from older generations, sometimes even older than his parents?!! Justin Fraser will describe his experience as a young project manager, and how he successfully worked with people from other generations, in his UXify presentation, “The Next Generation of Project Management: Getting Results without Formal Authority.” 

UXify 2018: The Future of User Experience, our sixth annual, free UX conference, takes place on Friday, April 27 from 11 am – 5:30 pm, with networking from 5:30 - 7:00 pm. Lunch, snacks, and beer and wine during the networking are included. 

Check out the UXify 2018 agenda and speaker list, and register for FREE.

Justin Fraser

The Next Generation of Project Management: Getting Results without Formal Authority
By Justin Fraser, Senior Project Manager at Infragistics 

This session will provide real-life solutions for Millennials to connect with and successfully manage team members of different generations, some of whom may have been in their roles since before the Millennial was born. The talk will include actionable, appropriate responses for challenges Millennials in management positions may face, including building productive relationships with senior team members, dealing with insecurities, gaining authority, and resolving conflicts. 

The speaker, while in college at age 20, was an Associate Project Manager on a Client Services team responsible for managing internal staff and clients who were older than his parents. This talk will cover his real-life experiences, both positive and negative. He’ll discuss how he gained the team’s trust and respect to have the authority to manage projects the way a Senior Project Manager would.  

Justin Fraser
Justin has been managing User Experience Design and Development Projects for more than 9 years and has been at Infragistics for 5 years. He holds the PMP certification from the Project Management Institute and was a speaker at their PMI Global Congress. He has experience working with clients of all sizes, located around the globe; managing the design and development of business applications of various size and scope for financial, healthcare, pharmaceutical, and technology companies. 

Register for UXify

UXify 2018 – Detoxifying Your Prototyping Process for Better Results

$
0
0

At UXify 2018, George Abraham will provide practical advice on how to avoid wasting time and effort in prototyping, by focusing on gathering meaningful user insights quickly, using the cheapest means possible, rather than trying to impress stakeholders with beautiful designs and animated transitions too early in the design process. 

UXify 2018: The Future of User Experience, our sixth annual, free UX conference, takes place on Friday, April 27 from 11 am – 5:30 pm, with networking from 5:30 - 7:00 pm. Lunch, snacks, and beer and wine during the networking are included. 

Check out the UXify 2018 agenda and speaker list, and register for FREE.

George Abraham

Detoxifying Your Prototyping Process for Better Results
By George Abraham, Senior Product Owner and Design Principal at Infragistics

The popularity of UX has generated a flurry of how-to blogs, UI kits, and new jargon. What has not changed, but obscured, is the fundamental practice of research - design - learn. If research represents problem-synthesis (what and why), prototyping is about solution-synthesis (how). 

We, however, seem focused on impressing other designers or stakeholders, with beautiful pixels and animated transitions, more than empowering people who will use what we create. And this happens at the cost of gathering meaningful insights quickly using the cheapest means possible. All our design work is moot if we don’t engage with those who are affected by this design. This is where learning happens, and how we converge on the right UX. 

In this presentation, I will share guidelines to reduce waste in prototyping by making the best use of research, managing fidelity, and making trade-offs for remote unmoderated usability testing. I will be using Indigo Studio, a prototyping solution by Infragistics Inc., to illustrate the process of design and evaluation. However, the ideas discussed are generalizable.

George Abraham
George Abraham is a Sr. product owner and design principal at Infragistics Inc. He is a prototyping maven who believes that design is the art and science of discovering the right trade-offs. He splits his time between delighting customers and figuring out what they will pay for. George also holds a Ph.D. from Drexel University’s College of Computing & Informatics.

Register for UXify

Infragistics Gives Keynote Address at UX Russia

$
0
0

Infragistics' UX Director Kevin Richardson was honored to give the keynote address at ProfsoUX, the #1 conference for User Experience professionals in Russia, on 14 April. The conference, held yearly in St. Petersburg Russia, was attended by over 100 Russian UX professionals and contained talks on topics that ranged from Neurophysiological Research in the Development of Games to Cross-Platform Unification.

   

The slides from Kevin's talk, Architecting Speed | Making Data Useful, is available on the conference website and demonstrated how the design process applies to the problem of making large data sets found in motorsports racing useful to the racers and engineers of this unique business. Through the creation of innovative racing software, Kevin's keynote demonstrated how design bridges the gap between the technical challenge of data collection and the human challenge of data interpretation. Kevin has a unique perspective on speed and UX, learned hands-on in his other role, as Infragistics Racing.

Kevin leads our award-winning UX consulting services team, and if you happen to be available for the UX Amsterdam meetup in May or at UX Scotland Edinburgh in June, you can see him speak in person. Learn more about how Infragistics Consulting can help your company by contacting us at services@infragistics.com

UXify 2018 – The Future is Today

$
0
0

At UXify 2018, Tobias Komischke will describe his work in setting up the global UX practice at Honeywell over the past few years. 

UXify 2018: The Future of User Experience, our sixth annual, free UX conference, takes place on Friday, April 27 from 11 am – 5:30 pm, with networking from 5:30 - 7:00 pm. Lunch, snacks, and beer and wine during the networking are included.

 Check out the UXify 2018 agenda and speaker list, and register for FREE.

Tobias Komischke

The Future is Today
By Tobias Komischke, Ph.D., Global Head of UX, Honeywell IT

Sometimes as a UX professional, you’re too early, envisioning and concepting user experiences that technology cannot yet back up. Sometimes you’re behind with your design thinking because technology has already been shaped without much (or any) UX consideration. In today’s world, plans have a short half-life. Tobias advocates for UX Design happening in the moment, in every moment. UX Design draws from the past and tries to shape the future, but the blood, sweat, and tears happen in the present. 

Tobias reviews how he’s been setting up the global UX practice at Honeywell IT and what the day-to-day living in the moment looks like. He will touch on org structure, culture, skill differentiation, the epic quest to balance demand and capacity, evangelism channels, innovation, measuring performance, and other facets of practice.

Tobias Komischke
Tobias Komischke has been working in the area of UX for over 15 years. During that time, he has led projects and teams in research, development and consulting to create user experiences of superior usability and compelling appeal. Tobias is Director and Global Leader of User Experience at Honeywell IT and Adjunct Professor at Rutgers State University of New Jersey. An acknowledged evangelist for user-centered design strategy, methods, and processes, Tobias is a frequent speaker at conferences and author for technical journals, magazines, and blogs.

Register for UXify

Ignite CLI as Your Home Away From Home

$
0
0

When I first started learning snippets of programming and the basics of application building, I found myself enmeshed in a world where instructional texts supremely reigned and adjectives cowered in the corners of the room, shunned and useless. Of course, I frequently struggled when learning, as I felt that I had little to visualize in my head outside of the camel-cased text and a staccato cursor. As we cut to more recently, I've been carving a quaint path through the vast, ever-changing undergrowth of technical and technology-based writing and still yearning from time to time for story-book imaginings. With significant changes rolling through our product lines, I've found myself flitting in and out of documentation, learning, hopefully, the ins-and-outs of our updates and overall vision. So, while sitting down and listening to our manager of product development in web tools, Konstantin Dinev, I was delighted to hear him describe the update to the Ignite UI CLI, as it thoroughly encompassed a visual that was easy to understand: a house.

Ignite CLI Wizard in Visual Studio

Ignite UI CLI as Your Home Away from Home (and Likely a lot Neater)

To establish grounds, Ignite UI for the Command-Line Interface is functioning as the framework for your newly renovated home. At this point, it's likely that you've been looking to move for some time, or you're looking to update from an older model. Its impetus is to help you build with ease by bringing along the building materials and necessary tools. Quite literally, Ignite UI CLI is a tool used to quickly automate application-building, to construct the framework within which you'll be working, to generate industry-standard scaffolding within your new application, and to allow the swift addition of modules and components into your freshly conceived program.

So, let's dive into the framework and parse out some highlights:

  • Since there isn't large-scale instrumentation to use the framework to collect extensive data, the framework still ships at a smaller size and allows for speedier performance.
  • Its build directly targets web developers, particularly those who may be unfamiliar with or don’t tend to use Visual Studio. It enables a familiar environment and mimics a command-line version of VS's Toolbox.
  • The command-line interface is truly cross-platform, as any machine will use Bash or Shell scripting with operating system specific coding being left to the developer's specific project goals.
  • It is built on Node.js for cross-platform appeal, as Node.js is lightweight and the npm package manager is the largest amongst open-source libraries.
  • It installs all of the necessary dependencies to make your projects run, which is particularly helpful to those just starting out (and unsure of what dependencies might even be needed).

At first, glances, Ignite UI CLI is extremely helpful. Since it supports jQuery, Angular, and React, you can pull components from both Ignite UI for Angular and Ignite UI for JavaScript to save time on project-building. So, if you wanted to add a grid, chart, or carousel for data viewing, you’d have the ability to do so in seconds. On top of various views, you can also access different templates that can be adjusted to your specific scenario, essentially putting together multiple components to create a comprehensive dashboard.

As you can see, this tool is offering ease and compatibility to the bug-hardened developer, to the fresh-faced junior developer, and everyone in between. From mentioning before, it’s best to understand Ignite UI for CLI as a sturdy home. It provides structure, one with familiar and navigable elements that are inherent to its design. As I move through this series on the CLI features, I'll be showing you a variety of ways that you can make the CLI wizard work for you and best practices for beginning to set up your new home.

If you'd like to get a start on using Ignite UI for CLI, please take a look at the GitHub page and try it out with samples from our wiki. It's by far one of the quickest command line tools that you'll have encountered.

Viewing all 2223 articles
Browse latest View live