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

14.2 Sneak Peek & Product Changes

0
0

With an exciting 14.2 shipping in about a month, I wanted to give you a preview of what to expect, as well as some changes in the product lineup. In my previous posts around the 14.1 launch in the spring, I talked about 3 main areas of focus for this year:

  • Touch Everywhere, Office-Inspired Apps on Every Platform
  • Deliver Stunning with Awesome Branding & Styling
  • Developer Productivity across Every Device, Every Platform

 

You’ll see these three themes carry into 14.2, and when we talk about 2015 later this year, we’ll evolve these themes even further. Coming releases will continue our laser focus on delivering you the best UI toolsets and developer productivity tools for every platform, which means Desktop, Web, Native Mobile and Hybrid Mobile.

Before we get into the 14.2 features, there are two product changes you need to know about.

Product Status Change Notifications

Effective immediately, we are officially changing the status of the following products:

  • Infragistics SharePoint Web Parts (previously NetAdvantage for SharePoint)
  • Quince Pro
  • WinJS Controls (HTML controls for Windows UI)

 

While these products had amazing innovation and served many customers well, they have run their course.

Infragistics SharePoint Web Parts - We are officially retiring this product.  The overall story for how enterprises use SharePoint has evolved over the past few years, our focus (and more importantly our customer's) has fundamentally changed. The focus has turned from customizing dashboards with Web Parts to mobilizing the enterprise and building custom launch pads for richer SharePoint experiences using SharePlus on native iPad, iPhone & Android tablets.  An immediate alternative to using our Web Parts in HTML pages is to use our Ignite UI controls in your SharePoint environment, or to use SharePlus in your enterprise mobility solution.

Quince Pro - We are officially retiring this product.  We did a ton of great innovation on UX pattern discovery, cataloging & sharing, creating storyboards, screen flows and even storing annotated digital assets in the cloud. This innovation will not be lost, we’ve moved some of the features into Indigo Studio, and will continue to evolve the ability of an enterprise to share & enforce common UI patterns and brand requirements in their wireframes and interactive prototypes.

WinJS (Windows UI HTML Controls) - We are putting this product on HOLD.   WinJS, the HTML UI controls for Windows Store apps, has not evolved as a commercial market, and at this time we’ve decided to stop any development on the product. This does not mean we won’t pick it back up, but we’ve seen the Windows UI XAML toolset become the leader in both our sales and what you see online in terms of what developers are using to deploy Store apps. To be fair to anyone using the product, I don’t want to set the expectation that we are continuing any development on it. Even though the WinJS controls were technically wrappers of our Ignite UI controls, the cost of testing, bug fixing and delivery is too high for the current maturity of the market.

Impact of Retiring a Product

As I’ve written in previous blogs, we take the retirement of a product seriously.

When we retire a product or control, we maintain our existing support policy:

  • Bug fixes / service releases for 12 months after the retirement announcement
  • 3 years of developer support on the product

 

The difference compared to a shipping control:

  • No new features
  • No potentially risky bug fixes
  • Controls / Product are removed from the installer & website immediately

 

This results in:

  • The final service release for retiring product / controls in 14.2 will be October 2015
  • Support will expire for retiring product / controls in 14.2 controls in October 2017

 

If you have any questions on the status of these products, or would like to understand any deeper details, please email me at jasonb@infragistics.com and I will give you what you need.

Product Packaging Change Notifications

In order to better align our offering, we've shifted the packaging between what was in Infragistics Ultimate in previous releases. 

  • Infragistics Icons are now available as part of Infragistics Professional - so starting with 14.2, anyone with a Professional subscription gains access to our massive library of icons.

 

The following table shows the current packaging for both Professional & Ultimate in 14.2. 

Infragistics 14.2 Packaging 

 

14.2 Preview & Sneak Peek

The 14.2 release continues with our focus this year on making you, the developer, more efficient and productive when building apps.  Our theme during the 14.1 release of giving you everything you need to build Modern, Office-Inspired, Touch-Ready& Style-able rich desktop, modern responsive web, native mobile & hybrid mobile apps is a thread in everything we've done in 14.2.  This post is a high-level view of what you can expect, when we ship in mid-October, there will be a few surprises, but more importantly much more detail on what I'm announcing here.  Here are some of what you can expect in the major platforms.

Windows Forms

Windows Forms continues to be the predominant platform used in enterprise software development.  Though WPF has gained significant ground, it is still not as widely used in enterprise-wide, mission-critical, line-of-business development.  In 14.2, our focus continues around designing & building enterprise-ready, modern, touch enabled Office-inspired applications in Windows Forms.  Here is what to expect:

  • Modern, High-Performance, Touch-Ready Data Visualization - We've upped our game in data visualization and charting for Windows Forms.  All of the great visualizations, interactivity & animations that you've grown to love in our XAML, HTML5, iOS & Android charting controls are now available in Windows Forms.  This includes all of the high-performance rendering, mouse & touch interactions for range selection, zooming, and even Motion Framework.  Expect 50+ chart types, Trend Lines, Financial Indicators, and more.
  • Modern UI Controls - Last release, we shipped our Windows Forms Pivot Grid.  In 14.2, we've added a new default look & feel, a new Flat Datasource control and more optimized views.  You'll also see a slick new Carousel control, which is similar to what we've done in XAML. 
  • Coded UI - Full support for Visual Studio 2012.

 

Windows Forms 14.2 

WPF

Our WPF offering gets more exciting with each release.  We are focused on ensuring you can design & build enterprise-ready, modern, touch enabled Office-inspired applications that can be styled easily and built using standard MVVM patterns.  This release shines in terms of new controls and updated features & capabilities to make you more productive.

  • Office Inspired, Touch-Friendly - We are officially releasing our brand new Excel Spreadsheet control, our Diagramming control, as well as a brand new Property Editor control.  With these controls rounding out our Office Ribbon with Backstage, Word / RTF Editing, Syntax Editor, Excel & Word libraries, you can truly build out an entire Office experience.  To help you achieve this, we are shipping two additional best-practices apps - Infragistics Word and Infragistics Excel.  In 14.1, we shipping Infragistics Outlook, so now you are covered with pretty much pixel-perfect examples of how to design & build apps with these new controls & features.
  • Simple Styling & Theming - The ThemeManager is a new component that lets you change the theme of a single control, or an entire application with a single line of code. The ThemeManager will change the theme of all Infragistics controls as well as the common Microsoft controls we support.  We've also made it possible for you extend our themes, or to your own themes. 

 

WPF 14.2 

Indigo Studio

Indigo Studio continues to lead the market in innovation and productivity for creating rapid, code-free interactive prototypes.  We are continuing to focus on enterprise features in Indigo Studio, as well as productivity enhancements that flow into other products, like the Ignite UI Page Designer.  Since Indigo releases on a more frequent cadence than Infragistics Ultimate, you get your hands on features as they become available.  Check this blog out to read about the most recent updates:  Releasing Update 3 for Indigo Studio.  For 14.2, here is what you can expect:

  • Responsive Page Design - When designing pages in Indigo, you have the option of choosing the type of page or device size of the target.  What we've done is mapped the device selection in the Indigo Designer to the Bootstrap grid system.  This means that the code you export is responsive, and can flow directly into the Ignite UI Page Designer for app-finishing.  This is the kind of workflow we are spending time on with the code-export feature - any great design needs to start with Indigo, so taking that effort and moving it into high-quality, modern-web ready HTML5 & JavaScript only makes sense.

Indigo Features 

HTML5 & jQuery

We are continuing to push the envelope in HTML5 & jQuery.  Our goal is to deliver the absolute best and most product experience to build standards-based, enterprise-ready and touch-enabled ASP.NET AJAX, ASP.NET MVC, HTML5 / jQuery experiences for desktop, tablet and mobile experiences.  With that in mind, we are continuing investment in the Page Designer that we previewed in 14.1, we've added new controls, and we are adding new features based on your continued feedback.

  • Drag & Drop App Building with Page Designer - Our WYSIWYG HTML5 page designer is getting better.  The toolbox is chock full of advanced Ignite UI controls, with full drag & drop support and property editor support.  We've improved the component editor, the Responsive Web Design support for Bootstrap, we've improved how clean the code is in the code editor and we've made it dead-easy to link data up to controls.  This is a one-of-a-kind tool in the market today, we are excited to get this into your hands to start making your page design better and faster.
  • Modern UI Controls - We are CTP'ing 2 new controls in 14.2 - a TreeGrid control which gives you an efficient way of visualizing flat data in a hierarchical view, and a new 100% JavaScript Excel library.  Based on the same Excel library we have in other platforms like Windows Forms, WPF, iOS, ASP.NET, we've translated this to JavaScript and plan on delivering the most robust Excel library on the market for client-side apps.
  • Simple Styling & Theming - in 13.2 we previewed a concept around mapping different theme engines to our controls.  With 14.2, you can easily use your favorite Bootstrap theme with Ignite UI components. This opens up the theme story for Ignite UI to pretty much anything you like now ... from ThemeRoller to Bootstrap to your favorite Bootswatch themes, your app can take on any brand or style you can imagine.  

 

Ignite UI 14.2 

Native Mobile

Our Android controls are still in CTP for 14.2, but there's a good reason for it.  We are working hard on a richer native developer experience for the Visual Studio developer.  Stay tuned as we get closer to the mid-October launch of 14.2 for exciting news around our native UI controls story.

Wrap Up

As you can see there is some great stuff happening, and even more to come.  Stay tuned for more details on 14.2 when we ship in mid-October, and for exciting new product announcements.  If you have any questions around the product retirement notices, packaging changes or new features, shoot me an email at jasonb@infragistics.com.  Also, make sure to keep using our product ideas site as the primary conduit to the product management teams & team leads for suggestions at http://ideas.infragistics.com

 

 


Adding igGrid in Durandal 2

0
0

This guide builds on Angel’s awesome article detailing how to add an igGrid in a Durandal SPA application:

http://www.infragistics.com/community/blogs/angel_todorov/archive/2013/08/02/we-ve-got-ignite-ui-grids-shining-in-a-durandal-spa-for-you.aspx

Here we will implement the same scenario in Durandal 2. This example assumes Durandal’s HTML Starter Kit is used.

To start with, the required scripts need to be organized in the project’s lib folder.

  1. Create a folder called infragistics and place the IgniteUI js and css folders containing all javascript and styling resources within it
  2. Create a folder called jqueryui and place the jQueryUI library (of your choosing) in it
  3. Create a folder called knockout-mapping and place the knockout-mapping.latest.js library in it.

Durandal 2 assumes no global libraries. Because of that the dependencies for the IgniteUI scripts need to be explicitly defined (special thanks to Johnny Ezzell for pointing this out in Angel’s blog). Therefore the core, lob and knockout datasource and grid extension scripts are to be wrapped in:

define(['knockout''jquery'], function (ko, $) {
    //--- IG code ---//
});

Note that this would be needed if other individual modules are used as well.

Next, the required scripts need to be added through RequireJS. The following paths and dependencies for the IgniteUI resources, knockout-mapping and jQuery UI need to be set:

requirejs.config({
    paths: {
        'text''../lib/require/text',
        'durandal''../lib/durandal/js',
        'plugins''../lib/durandal/js/plugins',
        'transitions''../lib/durandal/js/transitions',
        'knockout''../lib/knockout/knockout-3.1.0',
        'knockout.mapping''../lib/knockout-mapping/knockout.mapping-latest.debug',
        'bootstrap''../lib/bootstrap/js/bootstrap',
        'jquery''../lib/jquery/jquery-1.9.1',
        'jquery.ui''../lib/jqueryui/jquery-ui.min',
        'infragistics.core''../lib/infragistics/js/infragistics.core',
        'infragistics.lob''../lib/infragistics/js/infragistics.lob',
        'infragistics.ds.knockout''../lib/infragistics/js/extensions/infragistics.datasource.knockoutjs',
        'infragistics.grid.knockout''../lib/infragistics/js/extensions/infragistics.ui.grid.knockout-extensions',
    },
    shim: {
        'bootstrap': {
            deps: ['jquery'],
            exports: 'jQuery'
        },
        'knockout.mapping': {
            deps: ['knockout']
        },
        'infragistics.core': {
            deps: ['jquery''jquery.ui''knockout.mapping']
        },
        'infragistics.lob': {
            deps: ['infragistics.core']
        },
        'infragistics.ds.knockout': {
            deps: ['infragistics.core']
        },
        'infragistics.grid.knockout': {
            deps: ['knockout''infragistics.lob']
        }
    }
});

The IgniteUI CSS resources can be added in index.html:

<link href="http://cdn-na.infragistics.com/jquery/20141/latest/css/themes/infragistics/infragistics.theme.css"rel="stylesheet" type="text/css" /><link href="http://cdn-na.infragistics.com/jquery/20141/latest/css/structure/infragistics.css" 
rel="stylesheet" type="text/css" />

Next, the route to the igGrid view is set in the shell.js viewmodel:

activate: function () {
    router.map([
        { route: '', title:'Welcome', moduleId: 'viewmodels/welcome', nav: true },
        { route: 'flickr', moduleId: 'viewmodels/flickr', nav: true },
        { route: 'iggrid', moduleId: 'viewmodels/iggrid', nav: true },
    ]).buildNavigationModel();
 
    return router.activate();
}

We are now ready to add the igGrid view and viewmodel to the respective directories under the app folder. The view is the same as the one used in Angel’s sample:

<section><div class="row"><div class="span2">div><div class="span1" style="padding:10px;"><input type="button" data-bind="click: buttonClick, value: buttonText"/>div><div class="span4" style="padding:10px;"><span data-bind="text: labelText"/>div>div><table id="grid1" data-bind="igGrid: { dataSource: data, caption: 'Food from Heaven', primaryKey: 'id', height: 300, width: 800, features: [{ name: 'Sorting' }, { name: 'Updating' }] }">table>section>

The viewmodel is also mostly unchanged, with the exception of the needed resources being listed in the define statement:

define(['knockout''jquery''jquery.ui''knockout.mapping',  'infragistics.core''infragistics.lob''infragistics.ds.knockout''infragistics.grid.knockout' ], function (ko, $) {
    return {
        data: ko.observableArray([]),
        buttonText: "Update!",
        labelText: "Hit the button to update the model 'desc' value of the first record with the value of 'some custom description & watch out the grid!",
        buttonClick: function () {
            // update data (the model for the IGnite Grid)
            this.data()[0].desc("some custom description");
        },
        activate: function () {
            //the router's activator calls this function and waits for it to complete before proceding
            if (this.data().length > 0) {
                return;
            }
            function Item(id, desc, productName, createdDate) {
                return {
                    id: ko.observable(id),
                    desc: ko.observable(desc),
                    productName: ko.observable(productName),
                    createdDate: ko.observable(createdDate)
                };
            };
            var myData = [
                new Item(1, "Best Italian bread""Bread"new Date(2013, 10, 5, 1)),
                new Item(2, "Quaker oats for your taste""Old Fashioned Quaker Oats"new Date(2012, 10, 5, 2)),
                new Item(3, "peeled and processed""Canned tomatoes"new Date(2010, 10, 5, 2)),
                new Item(4, "The best tuna from Norway""Canned Tuna"new Date(1999, 10, 5, 5)),
                new Item(5, "Greek olive oil""Olive oil"new Date(2013, 10, 5, 5)),
                new Item(6, "heated beverage""Hot chocolate"new Date(2011, 10, 5, 8)),
                new Item(7, "black beans from Guatemala""Beans"new Date(2005, 10, 5, 6)),
                new Item(8, "Green Equador bananas""Bananas"new Date(2004, 10, 5, 5)),
                new Item(9, "raw avocado""Avocados"new Date(2004, 10, 5, 5)),
                new Item(10, "brown sugar from the Netherlands""Brown sugar"new Date(2013, 10, 5, 4)),
                new Item(11, "Peru 100% cocoa""Cocoa"new Date(2013, 10, 5, 4)),
                new Item(12, "Bulgarian natural honey""Honey"new Date(2012, 10, 5, 9)),
                new Item(13, "Brought to you by Heinz""Apple cider vinegar"new Date(1994, 10, 5, 7)),
                new Item(14, "grass-fed""Boneless chicken ***"new Date(1998, 10, 2, 7)),
                new Item(15, "Salmon from Scotland""Salmon"new Date(2013, 2, 5, 8)),
                new Item(16, "Uruguay's best ribeye steaks""Ribeye steaks"new Date(2013, 3, 5, 8)),
                new Item(17, "turkey lean meat""Ground turkey"new Date(2013, 4, 5, 11)),
                new Item(18, "fresh bio lettuce""Lettuce"new Date(2013, 7, 5, 11)),
                new Item(19, "Pami peanut butter""Peanut Butter"new Date(2014, 7, 3, 2)),
                new Item(20, "Fresh Asparagus""Asparagus"new Date(2013, 10, 2, 1)),
                new Item(21, "raw almonds, non salted""Almonds"new Date(2009, 8, 5, 1)),
                new Item(22, "White feta cheese""White cheese"new Date(2013, 10, 5, 3)),
                new Item(23, "hot peppers""Black peppers"new Date(2013, 10, 5, 6)),
                new Item(24, "baked and salted pumpkin seeds""Pumpkin seeds"new Date(2013, 10, 5, 5))
            ];
            return this.data(myData);
        },
        canDeactivate: function () {
            //the router's activator calls this function to see if it can leave the screen
            return app.showMessage('Are you sure you want to leave this page?''Navigate', ['Yes''No']);
        }
    };
});

You are all set. Run the index.html and navigate to the igGrid view. As in Angel’s sample, clicking on the Update button causes the “desc” value of the first row to change to “some custom description”.

Developer News - What's IN with the Infragistics Community? (9/8-9/14)

SQLSaturday #290 Kiev, Ukraine – Event Recap

0
0

Infragistics Inc. was a sponsor of SQLSaturday #290 Kiev, Ukraine. Company provided licenses for the event raffle.  

Infragistics also was presented at SQLSaturday Kiev by me by me as a speaker.

The event was held on Saturday, September 20th  at RUS Hotel, 4, Hospitalna Str., Kyiv 01601, Ukraine.

There was an additional event: PreConf , one-day trainings hold by international trainers, Sergey Olontsev and Tobiasz Koprowski on Friday 19-th of September.

 

Administrator of the conference was Denis Rezink

He organized a team of volunteers who did an awesome event.

This was the fifth event with Infragistics in Ukraine. Infragistics Inc. was the only one component vendor with a speaker at the conference. Participants gave a good feedback about the company presentations.  There was also an interest in the  Infragistics solutions, related to Development Tools,  Data Visualization and Business Solutions. Infragistics presentation inclided  samples  implemented with the company products like  Ignite UI and dev. tools for other platforms. Company is now well-known in the region and have more closer contacts with professionals, community  members and companies from this region.

Summary:

  • There were 21 presentations in 4 tracks.
  • The biggest SQLSaturday ever organized in Ukraine

 

SQLSaturday Kiev registration:

 

Some of the speakers just before the conference keynote:

 

SQLSaturday Kiev keynote:

 

A coffee break:

 

SQLSaturday Kiev raffle and closing ceremony:

 

Infragistics participation in the event:

 

 

If you want more information about the event and Infragistics community feel free to contact me at mmateev@infragistics.com or to contact community@infargistics.com

Follow this event on Twitter with hash tag  #sqlsatkiev.

You can learn more about the Infragistics events if you follow us on Twitter @mihailmateev  , @Infragistics and stay in touch on Facebook, Google+, LinkedIn and Infragistics Friends User Group !

 

 

Developer News - What's IN with the Infragistics Community? (9/15-9/21)

An HTML5 WYSIWYG Page Designer for Developers

0
0

We recently sat down with the HTML5 Page Designer product team to explore the benefits of using this great new tool. Currently available in beta (and looking for testers!), this page designer will be available in Infragistics Ultimate 14.2 and promises to revolutionize the way you build your next generation line of business Web apps. Read on to see how this tool was created with you in mind.

Developers who are used to native coding environments are probably familiar with the WYSIWYG interface. But what about it makes it so appealing – and why go that direction for the page designer?

Most developers are not HTML, CSS, and JavaScript experts, much less experts in advanced components like Infragistics offers with Ignite UI [our HTML5/jQuery tools]. Pretty much all of the existing tooling for modern Web development expects you to be an expert—you have to hand-code everything and there’s minimal support for statement completion (IntelliSense). Worst of all, you constantly have to refer to documentation, hand code, and run in a browser just to get things going.

By providing WYSIWYG support as we do in the Page Designer, we shorten this cycle so that you can almost immediately see the effects of your changes as they will appear at runtime. We guide you by exposing the available events and properties directly in context where you are developing, and even offer integrated API help—which means you don’t have to know what you want, what properties are there, what events are there, much less what they are for. You don’t have to swap back and forth into docs all the time. It’s all right there at your fingertips, in real time.

Why target modern web interfaces with this page designer?

As discussed in our recent Hybrid vs. Native Showdown, the Web provides the most flexible and most widely-supported UI platform. Because of this, enterprises can effectively provide software capabilities to far more devices with one developed app. “Modern Web” mostly means that we’re targeting support of current popular devices and recent major desktop browsers. It tends to assume more interactivity and thus JavaScript is a baseline, along with HTML5+ and CSS3+. And in the majority of cases, it still implies using jQuery.

This particular blend of technologies has no effective WYSIWYG designer for dealing with complex components. The state of the art for modern Web WYSIWYG tends to be plain HTML, CSS, and minimal JavaScript, which is great for informational Web sites, but not so great for line-of-business enterprise applications that need rich components like Infragistics’ Ignite UI data grid and chart. We are working towards filling that gap, and this Page Designer is the first step.

Why is responsive web design (RWD) so important? What are some of the challenges a developer will face when using RWD, and how does this page designer help developers deal with them?

Responsive web design is important because it is a relatively effective technique to address the proliferation of devices that can access Web applications and sites. It is an implementation of the fluid layout pattern, which allows for intelligently adapting layouts to different screen sizes. Technically, it can adapt based on more than just screen measurements, but that is by far the primary use case—particularly screen width.

But RWD does increase complexity. One key area where the Page Designer helps is with managing the additional complexity that RWD brings. For example, the designer allows developers to visualize breakpoints and name them. It also helps developers quickly switch between their breakpoints to see the changes, and helps them set breakpoint-specific styles in the context of viewing them (i.e., you select the breakpoint for emulation, and then if you add or edit a CSS class through the component editor, the designer adds it in the currently selected breakpoint).

This tool sounds like it’s going to be a game-changer. How will it affect the development of someone who is just starting out versus a well-seasoned developer?

No matter what your experience level, the Page Designer helps in a number of ways. One, it reduces the need to correctly know or remember all the various UI component options. Two, it reduces the time it takes to see the impact of development changes. And three, it helps you get to a working page quickly, using our advanced LOB and DV components in Ignite UI

See for yourself how our new Page Designer can kickstart your development and become a beta tester today!

The ASP.NET Video Authority

0
0

Have you subscribed to our YouTube channel lately? We’ve got a lot of new videos, from introductory how-to’s to advanced tutorials that cover every inch of our award-winning controls lineup, from Windows Forms to jQuery and beyond.

One area we’re really proud of is our ASP.NET Playlist. With more than 80 videos and a combined view count of over 12,000, these clips are your ticket to web-app mastery. The most powerful set of high-performance UX controls and components available anywhere, our ASP.NET controls are a snap to use when you follow along with our in-depth video walkthroughs.

Ready to code? Check out Getting Started with ASP.NET to get familiar with the controls, and then dive right in and explore the rest of our playlist, where you’ll learn how to do everything from creating templates for the data tree to customizing your data grid columns and more.

[youtube] width="640" height="360" src="http://www.youtube.com/embed/Ya2Yqf0mIfY" [/youtube]

And if you’ve got any ideas for other videos you’d like to see, we want to hear them! We’re always looking for new ways to help you make the most of your Infragistics controls, so let us hear it in the comments!

In the Community with Brian Lagunas

0
0

We recently had the opportunity to sit down with Infragistics Product Manager, Brian Lagunas, to pick his brain about the tech community, his favorite events, and what the next best thing is going to be. Read on!

Tell us a little bit about yourself.

I actually started my development career as a 3D animator.  I used to be really big into 3D modeling and animation.  I was going to make animated movies like “Finding Nemo” and “Shrek”.  I actually got a degree in multimedia application development to pursue this career, but not long after I graduated, I discovered writing code.  First was HTML/JavaScript/CSS with PHP. Then a little bit of Classic ASP, Coldfusion, and Flash.  I even wrote plugins for the Dreamweaver IDE way before Adobe owned it.  I decided to get another degree in software engineering where I got down and dirty with C++, Java, VB.NET, and then I finally found C#. Then I moved on to thick client apps with WinForms.  I mainly worked in the construction/engineering and manufacturing industry where I eventually became a software solutions architect for a large enterprise.  When WPF was created, I was hooked!  Then Silverlight was released and made my dev life complete; both thick client and web with one technology. 

XAML became my life.  It unlocked a passion in me that I had to share with my community.  I started speaking at local dev events.  I became a leader of my local Boise .NET Developers User Group (NETDUG).  I became involved in my local Boise Code Camp and eventually became a board member.  I went on to create the most popular WPF open source project on CodePlex called the Extended WPF Toolkit.  I soon became a Pluralsight author, creating courses on XAML, as well as the Microsoft Patterns & Practices Prism library.  Now, I am a Microsoft MVP, and a Microsoft Patterns & Practices Champion.  I am always speaking at some event, somewhere, talking about XAML, Prism, or game development.

A little known fact; before my days as a developer, I was an Infantryman in the United States Army.  Unfortunately, after 3 ½ years, I was injured in the line of duty and was medically discharged.  After my military days I was a Police Office for Canyon County in Caldwell Idaho.  That only lasted a year before I found code.

So what do you do now with Infragistics?

I have worked at Infragistics as the Product Manager for everything XAML for nearly 3 years.  I cover all the WPF, Silverlight, Windows Phone, and Windows 8 controls.  For those not familiar with what a Product Manager is or does; a Product Manager is just a fancy word for “customer’s voice”.  My job is to be my customer’s voice into the product.  If a customer needs a new control or feature in a product, they just let me know, and I make it happen.  So, if you have a feature request for one of our XAML products, I need to know about it.  Of course, there is much more to what I do, but that sums up the most important part of my job.

As a Product Manager, you get out to a lot of events in the developer community. What’s your favorite part about that?

What’s interesting, is that most Product Managers do not attend or speak at events, but rather stay in the office behind closed doors.  I’m not that kind of guy.  So, if I had to choose a favorite part, it would have to be the people.  I have to be involved in my community, interacting with my peers, sharing my knowledge and learning from others.  I get to meet people from all over the world, and get different perspectives on various technical topics, that not only helps me with my job as a Product Manager, but also helps me grow as a person.  Some of my best and closest friends were made at a developer event.

You’re presenting at a lot of events this fall. Tell us about that.

The week of October 6th I’ll be in Washington, DC speaking at VS Live – if you plan on attending, make sure to stop by and see me! While there, I’ll be presenting two talks that I’m really excited about. The first one, “Creating Cross-Platform Games with Unity”, is an introduction to game development.  This session is meant for those people who are new to game development and would like to know how to get started quickly.  In this session I cover all the basics of using the Unity game engine to get started writing cross-platform games. We look at how to navigate the Unity IDE, as well as how to create scenes, add objects to scenes, add sound effects and music, as well as add animated first person characters, and how to add scripting using your current C# or JavaScript skills.

In my second talk, I focus on Windows Presentation Foundation (WPF). My “WPF for the Real World” session is aimed at giving you the knowledge required to get started writing line of business WPF applications so that you can become a more important asset to your employer. There will be no spinning buttons, no rotating cubes, and no silly or impractical tricks.  The session will concentrate on the basic building blocks required to be a successful WPF developer. By the end of this session you will know what XAML is, how to manage layout in your application, define controls in your views, style and template your views, handle events, and manage data with data binding and the MVVM (Model-View-ViewModel) design pattern. This will be an interactive and fun learning experience where the attendees control the direction of the talk and emphasize what they are most interested in.

In addition to larger events like VS Live, you also work with smaller code camps and user groups. What do you like best about them?

There are a ton of great user groups and code camps around the nation.  I like these events because they are all about the local community; run by developers for developers.  At no cost to the attendees, these events are all supported by volunteers, and the sessions at these events are submitted by the local community.  These events aren’t influenced by corporate agendas or propaganda.  You don’t have to be an MVP, or a “rock star” speaker, or have some other nomenclature after your name to speak.  The people are there because they want to be.  They want to learn, and teach, and share their knowledge with their peers.  There are no egos, no elitism, no pressure, or sense of social status.  Sessions are informal, and they have a great sense of community.  These are by far my favorite events.  I actually prefer user groups and code camps over larger events any day!

Since you started coding, how has the developer community shifted in terms of popular technologies?

I can only speak about the .NET community, but I look at this from two different angles: what people are using versus what’s being presented to the community in the media.

In terms of what people are using, this really depends on a developer’s job.  Some of the most popular technologies being used to create new apps are ASP.NET Web Forms and MVC, Windows Forms, WPF, and for the people that didn’t get the memo, Silverlight.  Companies using Silverlight better start creating a transition plan to one of the other technologies sooner rather than later.  Now, these technologies have been around a while, and they are very mature.  A developer will rely on these technologies to maintain current apps, or create new apps at their place of work depending on the application’s needs.  The biggest shift in this space is around the web technologies; from ASP.NET Web Forms to MCV, and most recently HTML5/JavaScript/CSS3.  For public facing sites responsive is becoming a very big deal, and every web app has to have some form of it to be relevant in today’s market.  Unfortunately, most large enterprises are not even close to having browsers that support all the new HTML5/CSS3 features, so they are stuck using older technologies such as Web Forms, or MVC which is becoming the preferred web tech for enterprise devs.  As far as thick client, WinForms still has a slight edge on WPF, but WPF is quickly becoming the main player in the enterprise for desktop development.

But that’s different from what’s popular at events and in the media.  Lately everything out of Microsoft has been about Windows Store apps, and more recently Windows Universal apps (which share a common code base, and be built against both Windows Phone and Windows Store).  Unfortunately, currently the adoption here is dismal, but Microsoft isn’t backing down.  Now, the web has the biggest shift here.  Everything is about HTML5, JavaScript, CSS3, and all the different frameworks that can be used with these technologies.  Frameworks such as jQuery, AngularJS, Bootstrap, NodeJS, KnockOut, Backbone, Derby, Ember, and much more are headlining at just about every event today.  Of course, Azure is also on Microsoft’s list of things they are pushing heavily.  Lastly, you have a huge push, and interest, for building native cross platform apps using Xamarin, and building cross platform games with Unity.

The tech space is moving fast, and it can be overwhelming for anyone to try to keep up.  If you are in the enterprise, you are somewhat sheltered from this fast paced tech movement.


NUCLiOS IGGaugeView: Anatomy

0
0
I've had a few people ask me about what parts are which on the IGGaugeView. So today i'm putting together a diagram that breaks out each of the individual pieces of the gauge so that you can easily style it however you like. If you were to place a gauge in your app, without any additional code, this is what you'll see. So lets get rid of everything, and start from the Inside going Out. To do this, we'll use the following code, to create an empty gauge: _gaugeView . rangeOutlines ...(read more)

The UX of Working With You

0
0

The creative process can be an emotional roller coaster for both designers and clients alike.  Clients must trust the design team to conceive a solution that will meet the needs of their customers. The experience our client has throughout the design process is just as important as the design itself.  It can lead to a more successful project, better relationship and future work.

In the design world, we often use Jakob Nielsen’s 10 heuristics for interaction design to review the software we’re designing.  Let’s turn the lens inward and use these heuristics to reflect on our own process.  Think of yourself, the designer, as the software and the client as the user.

 

1. Visibility/Status

In the software world, this refers to the software providing timely status and feedback messages to a user. Communication is key.

When thinking about our process, we need to consider stakeholders and users as members of the design team. In this day in age, we can’t afford to be off in a corner making pretty layouts for hours on end, only to have our designs bomb during a “big reveal” moment. We need to allow clients and users to design with us. Including their ideas and feedback in your work often gives the client a sense of ownership in the design.

We should always be transparent about the challenges we’re facing throughout a project. Setting expectations early can mitigate disasters downstream.  

 

2. Match Between System and Real World

Software should use language relevant to users in its messaging, not language that was derived from system-oriented terms [1].

Our design lingo may confuse clients.  It is a foreign language to them. We should note how our clients and users describe their ideas and use similar language to describe our design work. They will be able to relate to it more easily.


3. User Control and Freedom

Software should always provide a way out. Users are going to make mistakes and should be able to get back on track easily [1].

The creative process may go in different directions. Design workshops are a great way to bring clients into the fold. Allow them to sketch workflows and screen layouts with you. It’s important to keep your ideas in a rough format so clients can quickly adapt to requirement changes throughout the process. Seeing an idea develop can lead to productive conversations, revisions or new ideas that are even better.

 

4. Consistency and Standards

Software should follow platform conventions. Users should not have to wonder whether different words, situations, or actions mean the same thing [1]. 

Since this process will be a new experience for most clients, it’s important to use consistent language when describing both the process and your design. This will reduce learning curves and result in more meaningful collaboration.

 

5. Error Prevention

Eliminate error-prone conditions, or create a careful design, which prevents a problem from occurring in the first place [1].

Having detailed conversations about each design recommendation is crucial, especially if you’re presenting low fidelity work. Show process work early and often. If you need to change your direction, you can do it with little effort and you won’t sacrifice time or budget.


6. Recognition Rather than Recall

Nielsen also recommends minimizing the user’s memory load by increasing visibility of the objects, actions, and options [1].  

This especially applies to design presentations. Always recap where you came from before showing new work. Don’t force clients to remember what you presented in the past. Show it. Explain where you’re going at the end of each presentation.

The presentation itself should be thorough. If you’re in the weeds of a screen-flow, outline each individual step and transition. That way there’s no question how you got from point A to point B.

 

7. Flexibility and Efficiency of Use

A good user interface will not only be intuitive for novice users, but it will have unseen features that will accelerate a power user’s experience [1].

We need to tailor our design process and practices to the clients’ level of experience. If they’ve been through the process before, we don’t need to spend as much time educating them. We can use that time for additional collaboration.


8. Aesthetics and Minimalist Design

Dialogues should not contain information that is irrelevant or rarely needed [1]. 

The same holds true when prioritizing milestones and artifacts to create within a design project. We should only create artifacts that best communicate our end vision. For instance, if a product map isn’t going to help you communicate your idea, then there’s no need to create one. Sometimes it’s best to choose artifacts as you learn more about the requirements and work through the process.


9. Help Users Recognize, Diagnose and Recover from Errors

Error messages should be expressed in plain language. They should help users pinpoint the problem and suggest solutions [1]. 

You will inevitably receive pushback from a client during some point in the process. When this happens, it’s important to understand the client’s perspective and adapt to their feedback. Together, you can work toward a solution with which everyone is happy. You need to be open to receiving and accepting feedback from non-designers.


10. Help and Documentation

No matter how well software is designed, it’s important that help and documentation is included [1].

We need to consider this when we’re documenting our designs. You never know when an engineer might be asked to create a new icon that matches the custom set you created.  Wouldn’t it be better if you could provide instructions and grids for building new icons?  Keep the documentation relevant to the audience. Get to know the development team and understand what information they need for the build. You will avoid spending unnecessary hours working on unnecessary documentation.

Next time you’re reflecting on your own design process. Consider applying these principles. You never know what you might learn about yourself. 

 

Reference

[1] Nielsen, Jakob. “10 Usability Heuristics for User Interface Design.” Nielsen Norman Group, January 1, 1995.

 

 

 

 

 

NUCLiOS IGGridView QuickTip: Dynamic Column Count Based on Screen Size

0
0
Today's iOS device landscape is much different than it was a year ago. As developers we need to start making our apps more dynamic. We can longer be content with having checks to see if a device is an iPhone vs an iPad and expect certain sizes based on that. I speak from experience as i've done the same in the past. So today, i'm going to show you one way in which you can make your apps more dynamic using the IGGridView. If you're not familiar, with it, we have a DataSourceHelper...(read more)

iOS Quick Tip: How to build your App at native resolutions for the iPhone 6 and iPhone 6+

0
0
I was one of apparently many people that waited up till 3am(i'm on the East coast) to pre-order the new iPhone 6+. I had trouble deciding which size to go with, but being a developer, i decided to go with the 6+ because it would offer me more opportunities to take advantage of the new screen size. So after a long week of waiting, my new iPhone was delivered by the UPS guy. And of course, after i got it all setup, the first thing i did was open up the Applications i've developed to see how...(read more)

NUCLiOS IGGaugeView: Place Custom Views at Specific Values

0
0
The IGGaugeView is one of our most customizable controls. You can control the placement of pretty much anything that it draws within it. However, you may want to display some custom content on top of the gauge, for specific values. Turns out, like everything else in this control, its super easy! You just need to use the following method: -( CGPoint )pointForValue:( CGFloat )value atExtent:( CGFloat )extent; The method takes 2 parameters: Value: This is the actual value within your gauge you'd...(read more)

UX and the Spaces In-Between

0
0

I don’t spend a lot of time on Twitter. I have nothing against it, I just usually have other things to do. Recently though, a designer friend of mine, @mattbartholomew, tweeted something that got me thinking.

tweet

In the field of Ecology, these sorts of boundaries are known as ecotones– areas of transition between two relatively homogeneous areas. Look it up – it’s pretty cool. Literally, the word means, “a place where ecologies are in tension.” It struck me that this is where we, as UX professionals, should be earning our keep - identifying, understanding and resolving areas of tension. I say “should” because I see this not being done far too often. There are, I think, two reasons why many UX professionals are unable to see beyond the immediate problem and allow rich boundary areas to drive their designs:

    1. It’s an advanced skill that’s difficult to master
    2. Clients are satisfied with much less

While neither of these reasons absolve us, as a profession, from blame (insert grumpy old man yelling, “Hey you kids! Get off my lawn!” here), neither is the subject of this article so let’s put that aside for the moment. Let’s also put aside Usability – heuristics, guidelines and testing. Usability is a required microcosm of user experience but it isn’t what drives the profession forward. It’s the professional equivalent of ensuring that a restaurant meal is edible before being brought to the table. Necessary, yes, but insufficient to guarantee the creation of a gourmet dish.

What UX Should Be

I’d like to focus on what User Experience Design should be – the process of uncovering, coordinating and creating innovative and useful solutions that go beyond what users are able to describe or request. With regard to business systems, this means focusing our research methods and observational skills on understanding the spaces “between.” It does not mean simply collecting requirements as if they were sea shells washed up on the beach waiting to be picked up. The true value of our work rests with our ability to understand the nuances that underlie areas of business tension…workplace ecotones.

Where are these boundary areas? Look beyond where User A meets Application B. Areas of business tension exist at almost every user-system-process-environment confluence. Spend some time examining the point at which Application B meets Business Process C. Or where User A meets Physical Work Environment D. Or even at how User A is being forced to play the role of information conduit and translator in order to provide an interface between Application B and Application E. This is where things get interesting. This is where UX makes a difference.

Typical UX project in which the focus is on the user, the application and the interface.

                  clip_image002

 

Rich UX project includes the interesting in-between bits that drive innovation and usefulness.

all_factors

A Recent Example

Not too long ago I finished a project for an energy company client. Their request was simply enough. Could I take their existing application, which was used by their client’s employees to manage the purchase, sale, transportation and delivery of energy products (e.g., natural gas, oil, kerosene, etc.), update it with some new features and make it easier to use. Easy, right? A simple walk-through of the application was enough to suggest certain improvements to layout, IA and usability. I could have made those changes and called it a day. Everyone would have been happy and the resulting system would have been “good enough”…maybe even “great” (the client had a pretty low bar). However, it’s not the client’s responsibility to determine when my design is great (or even good enough) – it’s mine. After conducting contextual inquiries with users, I noticed several other useful pieces of in-between information:

  1. Energy product schedulers sat directly across from sales and purchasing to support physical communication
  2. Use of the application in question did not occur in isolation but rather as an integral part of a larger process that included both upstream and downstream software
  3. Certain tasks were calendar-dependent, others occurred regularly and a few could happen at any time (including after-hours)

Each of these points could have been ignored. Neither the client nor the users were asking for a design that addressed these issues but by incorporating them I was able to take the resulting application design from usable and good enough to, “We never thought of doing it like that!”

My Soapbox

The goal of user experience should be to improve the human condition through innovative design. By looking beyond the immediate and including those interesting boundaries, we open ourselves, our clients and their users to possibilities that reframe the original question and suggest new and unifying solutions. Anything less and we’re just not doing our job.

Feel like talking or want to know more? Surf on over to KR's LinkedIn profile.

Releasing Update 4 for Indigo Studio (v3)

0
0

We are pretty busy working on the next major version of Indigo Studio, but that does not mean that we don’t release our regular update :).

Update 4 includes:

Creating and Editing Visual Guides using Rulers

Indigo Studio already had snapping guides and equal spacing hints ever since we shipped v1. For most design activities, that’s usually enough. We are enhancing this capability by adding the ability to create and edit permanent visual guides.

To add a guide, click on the add new guide invite (+) shown when you hover in the ruler area. You can either add guides visually by dragging and positioning them on the canvas, or click on the selected guide adorner to key in a precise value. You can delete guides by selecting and hitting the delete key or right click on the guide to see guide-related options. To hide all guides, use the CMD/CTRL + L shortcut or via the canvas properties.

Creating and Editing Guides

Rulers for the Canvas

Nothing much to say about this feature other than rulers and guides go hand in hand. And can be hidden using the same short cut for hiding guides (i.e., cmd/ctrl + L) or via canvas properties.

Disable Common Input UI elements

When prototyping, you may have the need to make certain UI elements appear disabled, for example, text fields and buttons. When you disable something, you will see a dotted selection adorner to identify the UI elements as disabled. Since Indigo Studio is all about interactive prototyping, disabling will also prevent any interaction from being triggered in the running prototype. It has no effect during design time.

Disabled Elements

More Icons

We are working out ways for you to include your own icons. In the mean time we have added a few more from FontAwesome.

Did you know Indigo Studio already ships with 350+ vector icons? Throw in the ability to resize them freely and adjust color/transparency, and the combinations are numerous. There are a lot of icon packs that do some bogus calculations to inflate the number of unique icons.

icons

The truth is that one can never have enough icons :). We can offer a million, and still be less useful to you because you were looking for that specific icon. We understand this need. Nothing would please us more than to offer more icons, and even better, let you include your own. You can still drag and drop external icons as a PNG to use in your design.

Keep an eye out for icons related announcements in future updates. Hope that does not prevent you for prototyping!

How to get this update?

Here's how you can update the version of Indigo Studio installed on your machine:

  • If you have the option to automatically check for updates on startup checked, you should see a dialog box pop up when you launch Indigo. Simply click update, and Indigo Studio will do the rest. This is the easier approach.
  • If for some reason you chose not to automatically check for updates, go to MENU > HELP & ABOUT and use the "CHECK FOR UPDATES" option.

Checking for Updates

About Indigo Studio for Interaction Prototyping

Don't have Indigo Studio? Download a free 30-day trial which will let you try all of the prototyping goodness.

Download Indigo Studio

Looking to suggest improvements and new ideas for Indigo Studio?

Submit a new idea

If for some reason you are having trouble with Indigo Studio, check out our help topics, forums or contact support.

Get Support

Follow us on Twitter @indigodesigned


NUCLIOS IGGridView: DataSourceHelpers

0
0
The IGGridView is really powerful. Like the native UITableView that comes standard in iOS, it has a datasource protocol, that allows you to specify how many rows and sections you're displaying along with the ability to actually create the cell that will be displayed for a particular path. However, it adds one more dimension, the number of columns. So, you can implement those 4 methods: - how many sections will you display - how many rows per section will you display - how many columns will you...(read more)

Developer News - What's IN with the Infragistics Community? (9/22-9/28)

Varna User Group Meeting–Event Recap

0
0

Varna .NET User Group organized a half day event on Saturday, 27 of September 2014 at Cherno More Hotel, Varna , Bulgaria. This event offered a good opportunity to see lectures on interesting trends in JS and Cloud / Mobile Development.

It was the biggest UG event in Varna this year. There were 3 sessions:

  • "Introduction to AngularJS", presented by Radoslav Stankov (http://bg.linkedin.com/pub/radoslav-stankov/7/7b7/554/), senior developer in Fidor TecS AG with deep experience in many of the popular web technology, and recently mainly focused on Ruby and AngularJS;
  • "Development of mobile applications with PhoneGap and Windows Azure Mobile Services" presented by me / Mihail Mateev (Infragistics)  and Ventsy Popov from Microsoft (http://bg.linkedin.com/in/ventsypopov/), who in the last few years work also in the field of cloud computing;
  • "Best Practices in JS from the perspective of Backend Developer" from Bobby Simandov (http://bg.linkedin.com/in/simandoff/), Product Manager at Chaos Group with extensive experience in building large software solutions and expertise in Web 2.0 technologies.

The main organizer and administrator of Varna User Group Meeting was Dimitar Georgiev – the lead of Varna .NET User Group .

Infragistics was presented by me as a speaker.

 

The beautiful port of Varna

 

Radoslav Stankov is talking about AngularJS

 

Dimitar Georgiev and Boris Simandoff are closing the half day event Varna

 

Participants of the event also expressed great interest in the products developed by Infragistics.

You can learn more about Community events in Sofia, Bulgaria and the whole CEE Region if you follow us on Twitter @mihailmateev  and @Infragistics and stay in touch on Facebook, Google+, LinkedIn and Infragistics Friends User Group !

Microsoft DevDay Kyiv–Event Recap

0
0

The event was held on Tuesday, September 30th at Golf Center, m. Kyiv Avenue, Heroes of Stalingrad 10-D (Obolonska naberezhna, 20) . Microsoft DevDay Kyiv is one of the biggest  Microsoft community events in Germany, organized from Microsoft Ukraine.  

Infragistics was presented at Microsoft DevDay Kyiv by me by me as a speaker.

This was the sixth event with Infragistics in Ukraine. Infragistics Inc. was the only one component vendor with a speaker at the conference. Participants gave a good feedback about the company presentations.  There was also an interest in the  Infragistics expertise, related to Development Tools,  Data Visualization and Business Solutions. Infragistics presentation included  samples  implemented with the company products like  Ignite UI and dev. tools for other platforms. Company is now well-known in the region and have more closer contacts with professionals, community  members and companies from this region.

Summary:

The conference venue early morning before the conference starts

 

David Chappell is doing the keynote

 

Microsoft DevDay Kyiv attendees

 

 

 

Infragistics sessions

 

 

If you want more information about the event and/or Infragistics community feel free to contact me atmmateev@infragistics.com or to contact community@infargistics.com

Follow this event on Twitter with hash tag  #devdayua.

You can learn more about the Infragistics events if you follow us on Twitter @mihailmateev  and @Infragistics and stay in touch on Facebook, Google+, LinkedIn and Infragistics Friends User Group !

SQLSaturday #335 Athens, Greece – Event Recap

0
0

Infragistics also was presented at SQLSaturday #335 Athens, Greece by me by me as a speaker. Company provided licenses for the event raffle.   

The event was held on Saturday, October 4th  at Microsoft Hellas , 221 Kifisias Ave, Marousi, Attica, 151 24, Greece

Administrator of the conference was Antonios Chatzipavlis.

 

He organized an awesome event, focused on Microsoft Data Platform.

This was the fourth event with Infragistics in Ukraine. Infragistics Inc. was the only one component vendor with a speaker at the conference. Participants gave a good feedback about the company presentation.  There was also an interest in the  Infragistics solutions, related to Development Tools,  Data Visualization and Business Solutions. Company is well-known in the region and it has good relations with professionals, community  members and companies from this region.

Summary:

 

Regitration:

 

 

Antonios  Chatzipavlis is presenting at SQL Saturday Greece

 

Kevin Boles is talking with attendees.

 

Infragistics session:

 

 

 

If you want more information about the event and Infragistics community feel free to contact me atmmateev@infragistics.com or to contact community@infargistics.com

Follow this event on Twitter with hash tag  #sqlsatAthens.

You can learn more about the Infragistics events if you follow us on Twitter @mihailmateev  , @Infragistics and stay in touch on Facebook, Google+, LinkedIn and Infragistics Friends User Group !

Viewing all 2363 articles
Browse latest View live




Latest Images