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

Microsoft launches Visual Studio 2013 Update 2

$
0
0

Since the Microsoft BUILD developer conference in April, there have been a raft of announcements and product updates concerning the company's developer tools and services. The official release of Update 2 for Visual Studio 2013 is the latest of these, and will be particularly welcome news to those building desktop and mobile apps for the Windows ecosystem.

Microsoft Visual StudioNew features and improvements

Update 2 brings with it a host of improvements and bug fixes, including support for some very key tools that Microsoft is pushing to bolster its support for web and mobile development.

These include:

Universal apps
Since the launch of Windows 8.1 and Windows Phone 8.1, Microsoft has really been pushing the concept of universal apps. The idea is that developers can now create and build a single application and then deploy it across both operating systems (and thus across desktop, laptop, tablet, and smartphone devices). Update 2 makes the development practicalities much simpler.

A universal app in Visual Studio is made up of three components; a Windows Store project (which becomes the application package for Windows 8.1 devices), a Windows Phone project (for Windows Phone 8.1 devices) and a Shared project. The Shared project contains all assets for use by both platforms (including files like cs, xaml, xml, png, resw).

Universal apps are designed to share as much of the same code as is practical, written in C#, C++, or JS. Platform specific code can be included in the Shared project if required, using #if and #endif directives and conditional statements.

Update 2 includes a number of interface tweaks to make developing these sorts of applications a little easier. Intellisense can easily be switched between each of the two platforms, depending which one is being worked on at the time. Switching startup projects, between platforms, has also been improved.

TypeScript
TypeScript is a new programming language developed by Microsoft. First appearing in 2012, it is designed as a superset of JavaScript and offers a number of improvements including type annotations, classes and interfaces. Visual Studio 2013 Update 2 fully supports TypeScript, including features like Intellisense and statement completion.

Web development tool updates
Update 2 includes a raft of updates which those developing web apps will find very useful. The existing LESS editor has been improved and support added for SASS (including IntelliSense, comments, syntax validation, colorization).

A new URL picker is now included for HTML, Razor, CSS, LESS, and SASS editors. Also included is a new JSON project item and editor, which includes all of the formatting and syntax controls you would expect.

You can find out more about the various web development tools on the Microsoft MSDN blog.

Other new features in Update 2 include:

  1. Updates to Team Foundation Server 2013, including cloud load testing application analytics, and improved tagging and charting.
  2. Support for Apache Cordova, a platform for building native applications using HTML, JavaScript, and CSS.
  3. Improved diagnostic tools, including better support for performance events and SQL data queries.
  4. A new slipstream install package which includes both Visual Studio 2013 RTM and Update 2.

 

Get the update today

You can download Update 2, along with the full Visual Studio RTM, as an ISO from the Microsoft website. You can find all Visual Studio downloads here.

If you are serious about making better Windows and Web applications you might also want to check out the Infragistics developer tools here, including our Ultimate and Professional packs.

Infragistics Ultimate


iOS - Objective-C - Advanced: Creating a Class at Runtime

$
0
0
Yes, this may be an edge case, but it is a problem that you may run into one day. For example, say you're writing an App that requires you to accept any sort of random json or xml. While you could just consume them in dictionary format, it maybe not actually feasible for you to work with data in that format. And thus i present you with a way to create a class dynamically at runtime. So the way this will work, is we'll have one method you call into that will generate a class based of a list...(read more)

Three HTML5 features developers should embrace

$
0
0

HTML5, in one form or another, has been with us since 2004. In 2009 the Web Hypertext Application Technology Working Group (WHATWG) and the World Wide Web Consortium (W3C) joined forces to work on the standard, with WHATWG focusing on the ‘living standard’ (something that is never complete, and constantly improved) and W3C responsible for the formal HTML5 specification (effectively the reference standard).

W3C plans to issue a stable release of the HTML5 specification by the end of 2014, with an updated 5.1 release coming by the end of 2016.

The vast majority of HTML5 features are supported by all major browsers, and a whole host of leading websites use it to deliver improved experiences to their users (Google often use HTML5 to showcase advanced functionality on the web). In this post we look at three specific areas of HTML5 that every developer should embrace.

Video and audio tags

Both of these tags (<video> and<audio>) attempt to provide standard browser support for in page video and audio elements, without the need for third party plugins (typically something like Adobe Flash).

Unfortunately using either tag isn’t quite as simple as it should be. Whilst all modern browsers understand the elements, they each support different codecs (the actual format of the video or audio content).

For <video>:

  1. Internet Explorer supports just MP4 format
  2. Chrome supports all three available formats - MP4, WebM, and Ogg
  3. The latest versions of Firefox now support all available formats
  4. Safari just supports MP4
  5. Opera supports WebM and Ogg

 

For <audio>:

  1. IE only supports MP3
  2. Chrome supports all three available formats - MP3, Wav, and Ogg
  3. The latest versions of Firefox now support all available formats
  4. Safari just supports MP3
  5. Opera supports WebM and Ogg

Both tags allow multiple sources to be specified, and a browser will simply play the first compatible one. So coding up the right codec for selection is simply, but you do need to provide the full set of formats to account for all browsers.

Why is this good for developers?
The web has long moved on from being static medium. Video and audio are now big parts of web content. These tags, even with slightly misaligned support for codecs, break the dependency on third party tools like Flash and provide a universal cross platform (and mobile) solution.

The Canvas element

The Canvas element is used to draw graphics directly onto a webpage. Graphics are built up using geometric shapes, text, and color. The element works on a grid system, with lines and shapes plotted accordingly. The Canvas element itself is a container for drawings, with something like JavaScript required to create the actual shapes.

Anyone who has used vector drawing software, as opposed to bitmaps, will quickly get to grips with the implementation.

Why is this good for developers?
Including native drawing support in HTML, as opposed to requiring bitmap images or SVG files, makes many design, UI, and layout tasks much easier to accomplish. Vectors easily scale with screen resolution, and have a (comparatively) tiny memory footprint.

Web storage

Web storage started off as part of the HTML5 standard, but has now been moved to its own specification. However we have included it, as it is a really important tool for those building cutting edge web applications. Supported by all major browsers, it offers two ways to store data in a web browser - session storage and local storage.

Session storage is limited to the scope and to the lifetime of a particular web page. It is designed to allow separate instances of applications to run independently from each other (a bit like two Word documents being open at the same time). Local storage persists after a browser window is closed, and is intended to act as more of a client offline storage mechanism.

Both methods expand on the principles of traditional cookie storage, but greatly increase the amount of data that can be stored (upto 25mb depending on the browser).

Why is this feature good for developers?
Web storage allows browser based applications to act more like their desktop counterparts. Not only can they access a much greater volume of data than has been possible in previous versions of HTML, but they can use this storage to implement true ‘offline’ application and data access.

If you are looking to create hybrid mobile apps that look native on every mobile device and the desktop try IgniteUI today! Clcik Here to Get Your 30 Day Free Trial of Ignite UI jQuery / HTML5 Controls.

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

$
0
0

If you missed last week's social media postings from Infragistics, here's what was hot in the community!

5. 6 Tips for a Better Understanding of the User Experience (Medium.com)

4. F# Discount Code for C# Developers (jaywayco - Lost in IT Reverie)

3. When Should I Write a Property? (Fabulous Adventures in Coding)

2. Real Stories of How Estimates Destroy Value in Software Development (Software Development Today)

1. A Mathematical Proof that the Universe Could Have Formed Spontaneously From Nothing (Adafruit)

Until next time... :)

UXify Bulgaria – Event Recap

$
0
0

 

For the first time in Bulgaria UXify Bulgaria was held on June 7, 2014.  The conference was hosted at the Sofia Event Center.  UXify is the biggest UX community event in Bulgaria and the whole region. The event includes various levels of sessions with different target groups and featuring some of the experts in the field on designing and developing great UX.

 

What us UXify Bulgaria

  • The whole event is dedicated to User Experience. User Experience is the envisioned, expected, or actual experience of a user interacting with a technical product. A user will always have an experience whether you design for it or not. First impressions can determine if your product is a success or a failure. Good UX is about creating software products that are useful, usable, and desirable. It’s a key technology enabler and market differentiator.
  • One day conference with training from some of the best UX experts  on the previous day to help hundreds of people get
    knowledge about User Experience

 

Some statistics:

  • One-day event in Sofia, Bulgaria
  • 650 registrations
  • more than 400 attendees from 7 countries.
  • 15 sessions,
  • 3 Tracks
  • 13 speakers from three countries ( USA,  Ukraine and Bulgaria)

 

Infragistics participation:

  • Infragistics was the event organizer and main sponsor
  • Four  speakers from Infragistics – Jason Beres, Tobias Komischke , Kevin Richardson and Angel Todorov
  • Keynote speakers - Jason Beres  and Kevin Richardson


UXify Bulgaria Keynote

 

 

Sponsorship presentations

 

Tobias and Kevin are ready for their presentations

 

During the breaks…

 

 

Sessions…

 

 

Closing ceremony

 

If you want more information about the event feel free to contact the Event Admins at mmateev@infragistics.com

Follow @uxifyconf event on Twitter with hash tag   and get news on all our events with #uxify  .  Additional information can be found at the conference website - www.uxify.org

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

 

Warm Regards,
Team UXify Bulgaria

HTML5 Game Development Workshop–Event Recap

$
0
0

Infragistics Friends group with the help of Infragistics Inc.  and jQuery Sofia organized a training on the following topic: HTML5 Game Development.

The event was held on Sunday, June 8th at Infragistics Bulgaria Office, 110B, Simeonovsko Shosse Bul., Sofia, Bulgaria.

The objective of this course was to have attendees used open Web technologies such as HTML5, CSS3 & JavaScript to create browser based multiplayer games.

In this course, students will learn:

  • about the current state of JavaScript games
  • what are the HTML5 elements useful in game development
  • how to use HTML5 animation and CSS3 transitions
  • how to implement multiplayer gameplay

Trainer was  Stoyan Denev .

Stoyаn has gained his backend experience in the last decade in a companies like Webgate, ICYGEN and VBOX7. He has created the original prototype of M-Pin , the flagship product of Certivox, an internet security startup. He has evolved to pure web and JavaScript enthusiast before the JavaScript revolution from 2009. This enthusiasm led to his participation as a lecturer in a  web development course of SoftAcad .

 

 

Some pictures from the workshop:

 

 

 

 

A discussion during the lunch break.

 

As always, you can follow us on Twitter @mihailmateev and @Infragistics and stay in touch onFacebook,Google+andLinkedIn!

 

SQLSaturday #281 Edinburgh–BI Edition–Event Recap

$
0
0

Infragistics Inc. was a sponsor of SQLSaturday #281 – Edinburgh – BI Edition. Company provided licenses for the event raffle. 

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

The event was held on Saturday, June 14th  at University of Edinburgh, Pollock Halls, Edinburgh.

 

Administrator of the conference was  Jen Stirrup  - Director-At-Large (Elect) at Professional Association of SQL Server.  She organized an awesome team of volunteers who organized this awesome event, including  Allan MitchellMark Boradbent and many others.

This was the first SQLSaturday BI Edition organized in UK and in the whole Europe. 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, Enterprise Mobility and Business Solutions. Hope in the near feature to have more closer contacts with professionals, community  members and companies from this region.

 

Registration:

A discussion between speakers

 

Some of the sponsors:

 

 

Niko Carvalho Neugebauer in action..

 

The conference raffle:

 

Infragistics participation in the event:

Follow news from Infragistics for more information about new Infragistics events.

As always, you can follow us on Twitter @mihailmateev and @Infragistics and stay in touch on Facebook, Google+ andLinkedIn!

 

How to use templates to style the different nodes of the Ignite UI Tree control

$
0
0

Recently I published a blog about the changes around the template and how to use different template engines to customize the look and style of some of the Ignite UI controls. The Tree control goes under the same rules. If you want the structure of your jQuery Tree to be unique you can create a template and apply it to all of the nodes in it. In our UserVoice site we received a request for a way to style each tree node based upon a number of criteria. In the blog I will try to explain you how to achieve that.

Node’s templates

You can easily style any node by creating a template and providing it to each level of binding of the igTree. By setting the nodeContentTemplate option of the binding object, you can define custom HTML which will be shown for each node in the control. If you have read my blog about how to use different template engines with the Ignite UI controls you probably already know that you can create the template by using your favorite Template Engine and apply it to the tree. For the purpose of the sample I used the Infragistics template engine.

  1. $("#tree").igTree({
  2.     dataSource: files,
  3.     dataSourceType: "json",
  4.     checkboxMode: "triState",
  5.     bindings: {
  6.         textKey: "Text",
  7.         imageUrlKey: "ImageUrl",
  8.         nodeContentTemplate: "<a>${Text}</a><img src='http://igniteui.com/images/samples/tree/bin_empty.png' data-role='delete-node' title='Delete this node.' /><img src='http://png.findicons.com/files/icons/1156/fugue/16/plus.png' data-role='add-node' title='Add a new node.'/>",
  9.         childDataProperty: "Folder",
  10.         bindings: {
  11.             textKey: "Text",
  12.             imageUrlKey: "ImageUrl",
  13.             nodeContentTemplate: "<a>${Text}</a><img src='http://png-4.findicons.com/files/icons/1715/gion/16/dialog_cancel.png' data-role='delete-node'/><img src='http://png.findicons.com/files/icons/1156/fugue/16/plus.png' data-role='add-node' />",
  14.             childDataProperty: "Folder",
  15.             bindings: {
  16.                 textKey: "Text",
  17.                 imageUrlKey: "ImageUrl",
  18.                 nodeContentTemplate: "<a>${Text}</a><img src='http://png.findicons.com/files/icons/1689/splashy/16/remove_minus_sign.png' data-role='delete-node'/><img src='http://png.findicons.com/files/icons/1156/fugue/16/plus.png' data-role='add-node' />"
  19.             }
  20.         }
  21.     }
  22. });

This is how you can create a hierarchical  tree structure and use different template for the separate levels of binding. When you add new child nodes they will be styled according to the template on the  relevant level of the tree.

  1. //remove a node
  2. $(document).on('click', 'img[data-role=delete-node]', function () {
  3.     var node = $(this).closest('li');
  4.     $('#tree').igTree('removeAt', node.attr('data-path'));
  5. });
  6. //add new node
  7. $(document).on('click', 'img[data-role=add-node]', function () {
  8.     var node = $(this).closest('li');
  9.     $('#tree').igTree('addNode', { Text: 'New Node' }, node);
  10. });

Image:

igTree

Check out the live demo in jsFiddle.

Using conditional template

In the online documentation you can find a detailed step by step guidance how to add and remove nodes from the igTree control. We are going to use a context menu that offers choices such as adding a new node and deleting a node. For more information on how to create a context menu you can read the “The Infragistics Tree with a Context Menu” blog. Let’s see how to apply a predefined template when we add new sibling nodes or new child nodes.

We are going to create a condition template and initialize the igTree first.

Template:

  1. <scriptid="template"type="text/template">
  2.     {{if${Type}=="MusicFolder"}}
  3.     <imgsrc="http://igniteui.com/images/samples/tree/book.png">
  4.     {{elseif${Type}=="PictureFolder"}}
  5.     <imgsrc="http://igniteui.com/images/samples/tree/coins.png">
  6.     {{elseif${Type}=="DocumentFolder"}}
  7.     <imgsrc="http://igniteui.com/images/samples/tree/documents-folder.png">
  8.     {{elseif${Type}=="Computer"}}
  9.     <imgsrc="http://igniteui.com/images/samples/tree/computer.png">
  10.     {{elseif${Type}=="MusicFile"}}
  11.     <imgsrc="http://igniteui.com/images/samples/tree/music.png">
  12.     {{elseif${Type}=="DocumentFile"}}
  13.     <imgsrc="http://igniteui.com/images/samples/tree/documents.png">
  14.     {{elseif${Type}=="PictureFile"}}
  15.     <imgsrc="http://igniteui.com/images/samples/tree/coins_add.png">
  16.     {{else}}
  17.     <imgsrc="http://igniteui.com/images/samples/tree/documents-folder.png"/>
  18.     {{/if}}
  19.     ${Text}
  20. </script>

Applying it for the template:

  1. $("#tree").igTree({
  2.     dataSource: files,
  3.     dataSourceType: "json",
  4.     checkboxMode: "triState",
  5.     bindings: {
  6.         nodeContentTemplate: $("#template").html(),
  7.         childDataProperty: "Folder"
  8.     }
  9. });

Image:

igTree with template

As you can see from the above code snippet we have created a simple template with conditions which determine which image to be used for the particular node. This way you can easily create different appearance for the nodes based upon a number of criteria.

Now let’s start with adding a sibling node. First we are going to create a menu with a dialog with by using the igDialog, igEditor, igCombo and igButton controls. Because the purpose of the blog is to show you how to implement and use template for the different nodes, I’m going to focus on the event that is triggered when the save button is selected.  What happens there is: The User selects “Add new sibling” and a dialog window appears asking for a name and type for the new node(it is important to set the type for the node because the image for the node will be determined based upon it) and to save it. When you select the save button we take the value that you have filled in the editor’s input and assign it to the “Text” variable in the predefined array that contains the data we want to add in the tree structure.

  1. var newFolders = [{ Text: "Smth", Value: "File",Type:"",  Folder: "" }];

Then we use the addNode method. This method uses three parameters –node, parent and node index . To the node parameter (which specifies the data used to create the new nodes) we assign the new data with the changed text option. The other two parameters are optional. One is used to specify the jQuery object of the parent node the nodes are to be appended to and the other specifies the index at which the node to be inserted. We are going to use the first one and by using the parentNode method we will extract the element on the required level.

By using this addNode method the new node will go through the template that we use for the original rendering of the igTree.

Initialization of the Save button:

  1. $("#btnSave").igButton({
  2.     labelText: "Save",
  3.     click: function () {
  4.         if ($("#newValue").igEditor("validate")) {
  5.             var newItem = newFolders.clone();
  6.             newItem[0].Text = $("#newValue").val();
  7.             var type = $("#combo").igCombo("value");
  8.             type = type.replace(/\s/g, '');
  9.             
  10.             newItem[0].Type = type;
  11.             $("#tree").igTree("addNode", newItem,
  12.                 $("#tree").igTree("parentNode", node.element)
  13.             );
  14.             $("#dialog").igDialog("destroy");
  15.             $("#dialog").remove();
  16.         }
  17.     }
  18. });

Image:

Adding sibling node to igTree

The situation with adding a child node is similar the only difference occurs on the third parameter of the addNode method. You don’t have to use the parentNode method here, you just need the node element.

Adding a child node element:

  1. $("#btnSave").igButton({
  2.     labelText: "Save",
  3.     click: function () {
  4.         if ($("#newValue").igEditor("validate")) {
  5.             var newItem = newFolders.clone();                        
  6.             newItem[0].Text = $("#newValue").val();
  7.             var type = $("#combo").igCombo("value");
  8.             type = type.replace(/\s+/g, '');
  9.             newItem[0].Type = type;
  10.             $("#tree").igTree("addNode", newItem, node.element);
  11.             $("#dialog").igDialog("destroy");
  12.             $("#dialog").remove();
  13.         }
  14.     }
  15. });

Image:

Adding a child node to igTree

Summary

The Ignite UI Tree control simplifies the presentation of your hierarchical data into a web-based tree structure. By applying a template to the control you can easily style the nodes and even more you can create the template by using any available template engine such as jsRender, Handlebars, Mustache and others. 

You can see a working demo on jsFiddle.

 

You can follow us on Twitter @Infragistics and stay in touch on Facebook, Google+ and LinkedIn!


iOS Quick Tip: Create a UILabel Where Each Letter in the String is a Different Color

$
0
0
In iOS 6, Apple introduced the NSMutableAttributedString class. Along with it, all of their UIViews which previously exposed a text property, now expose an "attributedText" property. Recently I was working on an App, where the design required each character in a string to be a different color. Using attributed strings it turned out to be really simple, so i thought i'd share my solution with you today. You can simply copy this method into your project and use it as necessary, it just...(read more)

One Rule of UX Consulting

$
0
0

Fraser-Island-shipwreck-of-Maheno-(ship-1905)-IGP4364-a

One Rule of UX Consulting

There is a rule in consulting that many professionals don’t seem to understand (or want to believe). This rule applies regardless of your specialty. It doesn’t matter whether you call yourself a UX Architect, a Design Researcher, a UI Visual Designer, a Production Artist, an Intern or the local big cheese. If you are a consultant in this wild and wonderful profession of ours, this one rule applies to you. Are you ready? Here it is:

It’s Not the Client’s Fault

I’m serious. Repeat it over and over until it’s inscribed on your brain and in your heart. Now write it on the palm of your hand. In ink.

Yes, It Can Be Your Fault

Think back on the difficult projects in your past. Did the client make many “busy work” requests of you? Require more revisions than you felt were necessary? Were your ideas not immediately understood? Did the client ask for “more” or simply not like some aspect of your work? Have you felt put upon by clients that just don’t get it? Be honest now. We’ve all had this experience. What I’m suggesting to you is that you were the cause of it all. That’s right – it wasn’t the client’s fault. It was yours.

I can hear you mumbling, “Yeah, right” as you shake your head. You’re thinking you can lump my rule in with clichés like “The Customer is Always Right” but you’d be wrong. The truth is that the customer isn’t always right. That cliché is simply a way to guide employee behavior in the face of situations over which they have no control. It is an ex post facto piece of advice. As a consultant, you can (and, by definition, should) have control over the situation. That’s what makes us consultants. We are the experts, the hired guns, the people with the experience and the answers. It’s why the client is paying us. And this is where many consultants get it wrong. They think, through hubris or inexperience, that because a client is paying you for your big ideas that they will, nay should, be satisfied with what you deliver to them. This couldn’t be further from the truth.

A Consultant’s Lot

In addition to technical expertise, a large portion of a consultant’s job is to educate and lead clients on the journey that is their particular project. Clients want to understand why you made particular design choices (especially when they differ from the choices they would have made). They want to be part of the design process. After all, they have to live with these designs long after you move on to greener pastures.

Here are a few things you should be doing as you work with your clients to ensure that you are keeping them engaged in the process:

  • Make your design rationale clear to themas you are designing. Include clients in your work by sending them early, unfinished versions and walking them through your thought processes.
  • Pick up the phone and talk to your client about that idea you had for resolving a particularly sticky problem. Their problems are your problems. Don’t wait for the next regularly scheduled review meeting.
  • Design collaboratively! Use time actually spent with your clients to get together in a room and work through design issues on the fly. Use the whiteboard. Sketch on large sheets of paper. This may sound a little like “writing in the coffee shop window,” but it’s important. Not only does it reinforce your expertise and expose your design rationale but it allows the client to understand, first hand, how this thing called Design works.

Remember, technical expertise is only part of consulting. Good consultants can see beyond the client’s requests and deliver on the client’s needs. That’s what consulting is all about.

Exclusive Interview: Microsoft's Jay Schmelzer

$
0
0

We recently had the opportunity to chat with Jay Schmelzer, Director of Program Management at Microsoft. Jay shared his thoughts on why Office-inspired apps are so popular, where he sees Office in the future, and more. Read on for the full interview!

Thanks for taking the time to chat with us, Jay. Tell us a little bit about yourself!

Well, I’ve been at Microsoft for a little over 11 years, and I’m currently the Director of Program Management for the Visual Studio Cloud Platform Tools team. I started as a Program Manager for the Visual Basic debugger and IDE, and now I’m leading the PM team responsible for the CLR, .NET Framework, Managed programming languages (VB.NET, C#, F#), Visual Studio tools for building applications on Azure, Office 365 (SharePoint and Office) and business applications (Cloud Business Apps and LightSwitch).  Prior to Microsoft, I spent 10 years as a consultant, building custom business applications.

In your experience, why do you think people build apps that look like Microsoft Office?

In the years prior to working for Microsoft, my clients always wanted their business applications to look like Office.  Every time Office introduced a new UI paradigm, that was the model our clients wanted.  I think there were a couple factors that motivated this.  One was just the fact that it resulted in applications that had a consistent look at feel.  The menus and toolbars (now ribbons) had commands in the expected place, making them easy to find and reducing the time necessary to train the end users on the application.

Building apps that look like Office also meant that the apps looked good! I mean, let’s face it: Office apps look good. The team [that creates them] spends a lot of time thinking about the look and feel of the Office products.  So why would we not capitalize on that for our apps?

So in trying to emulate that style, what are the common mistakes that people make when targeting Office?

Of course just blindly following that UI model isn’t good either.  In my opinion, the thing the Office apps did well was identify the common tasks and workflows users would have within the app and then design around the product to make those tasks simple and productive.  If you just try to re-create the Office look and feel without spending the time to identify your users’ common tasks and workflows they’ll experience in your business applications, you’ll end up with a pretty application that doesn’t function well.

Good point. What are are some of the coolest solutions you’ve seen where a customer (or even someone internally at Microsoft) built an app that looks like Office?

Wow, there are a lot!  I think the Dynamics team actually did a really good job of applying the Office look and feel to a core business application. They really succeeded in taking advantage of that instantly familiar experience while also staying focused on the common tasks and workflow unique to their application.

What do you think Office will look and feel like in 15 years?

Well, I’m not on the Office team so I’m speaking from personal opinion here! But, I think the mobile app experiences are going to be very unique compared to the more traditional desktop experiences of the past. Great mobile apps - the ones we like using - are very task-focused and optimized for the device form factor you are on.  Rather than a single application that does everything, you find yourself moving between multiple apps that are designed for the specific task and integrate well with each other.  I expect that in the future we’ll see apps designed to take advantage of the unique input capabilities of the devices (like camera, touch, location, etc.) in really cool ways.

To get started on creating Office-Inspired apps of your own, be sure to download Infragistics Ultimate today.

Infragistics Reporting Release Notes – June: 13.2, 14.1 Service Releases

$
0
0

With every release of Infragistics Reporting 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.

The Release Notes are available in PDF format and summarize the changes to this release along with a listing of each item. In order to download the release notes, use the following links:

Reporting 2013 Volume 2

Reporting 2014 Volume 1

Mobile Access to Analysis Services Reloaded with ReportPlus v3.0

$
0
0

As I mentioned in the release blog post of ReportPlus v3.0, we have invested in improving the overall experience of working with Analysis Services cubes from mobile devices, to define queries, and author dashboards with the result of those queries.

Specifically in version 3.0 of ReportPlus support for Analysis Services connections has been improved in the following ways:

New Tree Editor for Hierarchies and Measures

The user interface to edit connections to cubes has been improved to introduce a tree editor to navigate the hierarchies of a cube’s dimensions, and measures. The area for the dimensions navigator has been extended, and can be customized with the slider. When the visualizations panel is expanded the tree view display is resized automatically.

ReportPlus AnalysisServices Editor

Named Sets Support

Analysis Services allows the user to group information in a cube in a structure called named sets, which simplify the querying process. This user defined structures are supported with version 3.0 of ReportPlus.

Folders and Measure Groups

Support is introduced for groupings of metrics in cubes using folders and measure groups.

Calculated Fields for Analysis Services

The ability to add new calculated fields in Analysis Services data sources is introduced in this version. For instance if a query from a cube retrieves sales from America, EMEA, Australia, China and Japan, a new field named APAC which adds sales for Australia, China and Japan can be added.

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

Building Office Inspired Apps with Infragistics Ultimate

$
0
0

Office Inspired Apps

I'll never forget TechEd 2006 when Microsoft introduced the Office Ribbon with the Office Fluent User Interface in Office 2007 to developers.  During TechEd, The Infragistics booth was buzzing with customers asking “when will Infragistics ship a Ribbon control”.  The Ribbon UI was literally rolled out 24 hours earlier, yet the developer market already knew that this new Office Ribbon was going to be baked into their apps sooner or later.  Fast forward to 2014, and pretty much every internal & external corporate line of business application includes an Office style Ribbon.  In fact, most apps that you see on the market today resemble an Outlook-style UI, or a Word-style UI.  So why is this?  Why do customers and business ask their developer teams to deliver this Office Inspired experience?  The answer is easy – ease of use & familiarity for their users.  The Office suite is the most widely used business tool on the market, so if your apps can mimic that experience, the cost of training and understanding of the user base goes away.  Microsoft spent tens of millions of dollars (or maybe even more) convincing the market to use Office, to use the Ribbon, so you might as well take advantage of that education.  Make your users happy – build them Office Inspired Apps.

And that really sums up one of the huge benefits that Infragistics Ultimate brings to the market – we enable developers to deliver pixel-perfect Office Inspired experiences to your customers.

WPF-Themed-1[1]

So let's take a look at what Infragistics Ultimate offers in terms of helping you deliver these pixel-perfect Office Inspired apps to your customers.  Across all of our products we have literally hundreds of UI components that help deliver Office experience, like text editors, status bars, Word  and Excel libraries to name a few, but for this blog, we will focus on the key UI elements that give your customers the true Office App feeling. 

Office Inspired Windows Forms Apps

In Infragistics Windows Forms, we have pretty much every control you can imagine to build a rich, modern, touch-enabled experience for your users.  To build an Office Inspired UI, it takes only minutes, are you can see in this how-to video.

[youtube] width="560" height="315" src="http://www.youtube.com/embed/dCTmWjN3WkA" [/youtube]

We bring the key controls, like the Office Ribbon, Outlook Bar, Grid& DockManager to help you build a great experience.  And the Grid is not just any grid, it includes all of the interactivity your users expect, like sorting, grouping, filtering, editing and more.

And even cooler UI control added in 2014 to the Infragistics Windows Forms product is the Pivot Grid, which allows you to build Excel-like interactive pivot tables on the fly in your apps.

Office Inspired Apps

If you are looking for a more modern, Windows 8.1 style experience, we also include the Radial Menu control, which is a touch-friendly UI for modern apps.  This control is available in Windows Forms, WPF & jQuery in Infragistics Ultimate.

 Office Inspired Apps

 

To learn more about building Office Inspired Windows Forms apps, check out these resources:

How to Create a Pivot Grid in Windows Forms 
https://www.youtube.com/watch?v=X0gl8dQy_EM

Building an Office Style UI in Minutes with Windows Forms
https://www.youtube.com/watch?v=dCTmWjN3WkA

Windows Forms – Deep Dive into the Data Grid
https://www.youtube.com/watch?v=0WWddNMuMoU&list=PL0E38885A100B2C8A

 

And the easiest way to get started building Windows Forms Office Inspired apps is to fire up Visual Studio - you can now find a new set of Infragistics templates in the File - New Project dialog.  These templates are designed to help you get started with a functional, well-designed, and fully-styled application.

  • Inventory Management
  • Outlook Inspired Template
  • Project Manager

Each Starter Kit includes real data so you don’t have to dig around to figure out how to do the basics to get up and running in delivering stunning apps to your customers!

Office Inspired Apps

 

 

Office Inspired WPF Apps

The story is similar in WPF, we include all of the key UI elements that would make up a stunning Office UI, including the Office 13 Backstage experience.

 Office Inspired Apps

 

But we’ve gone even further in the last 12 months with some really cool Office Inspired controls.  We now ship a  Word-like Rich Text Editor which literally mimics the experience you get in Microsoft Word, with all of the formatting capabilities and features, even reading & writing HTML, RTF & Word.

Office Inspired Apps

We’ve also shipped previews of our Visio-inspired Diagramming control, and our Excel-inspired Spreadsheet control.

 

Office Inspired Apps

 

The nice thing about the Excel Spreadsheet control that's built on top of our Excel library, which we've been building over the last 10 years to pretty much include every feature you can imagine that Excel delivers.  So while technically challenging, it wasn't that far of a leap to build a great Office UI on top of the Excel library.

Office Inspired Apps

 

To really show you how to build an Office Inspired experiences in WPF, we've shipped a pixel-perfect Outlook app built using Infragistics WPF controls. Get it from the WPF product page, just scroll down to the Application Samples.

Office Inspired Apps

To get started with building an Office Inspired Outlook UI in WPF, check out this video and more tutorials on YouTube:

[youtube] width="560" height="315" src="http://www.youtube.com/embed/lmk4cDsXrOk" [/youtube]

Explore the WPF Diagram Control
https://www.youtube.com/watch?v=Jp4Q3Lz1shQ

Getting Started with WPF Ribbon
https://www.youtube.com/watch?v=BHpQJcPVaX0&list=PL70D9EF2166B6B667

Read Brian’s blog on the latest Office capabilities in the XAML products.

Wrapping it up …

As you can see, you are not that far from starting to deliver beautiful Office Inspired applications.  We covered the key UI controls in Windows Forms & WPF in this blog, but it does not stop there.  Our ASP.NET & jQuery / HTML5 products both have key UI controls that can help you deliver Office Inspired to the web.  And don’t forget about custom styling … we ship modern Office & Windows themes in every platform, so making your next app a Pixel-Perfect Office Inspiration is right around the corner!

Get started today and download Infragistics Ultimate!

If you can't seem to find the Office UI you are looking for, shoot me an email at jasonb@infragistics.com and let me know what's on your mind!


Infographic: Why You Should Build Office-Inspired Apps

$
0
0

Why do many custom-built apps fail? Because they aren't familiar to their users. Check out the infographic below for more information on why you should build Office-inspired apps, and how Infragistics can help you!

You can also view the full-size infographic HERE.

Sources: Microsoft by the Numbers; 2012 Infragistics Survey

CEE MVP Open Days 2014–Event Recap

$
0
0

CEE MVP Open Days 2014 was held on June 18 – 22, 2014 in Moscow and Rybinsk, Russia.

CEE MVP Open Days is annual event for Microsoft MVP Award Program members who live in Central and Eastern Europe.

 

The program included three events

MVP Day in Microsoft Russia, Moscow/Russia June 18th– public event where MVPs from across CEE will present technical sessions for local technical community in Moscow, Russia. It is first “community for community” event in Microsoft Russia, so the MVPs will contribute to it-community ecosystem in Russia – around 300 attendees.

CEE MVP Open Days 2014, Rybinsk, Russia June 19-20th– the conference itself, the special event for MVPs, where all the content are confidential and under NDA – around 50 Microsoft MVPs

MVP Upper Volga Tour, Uglich/Kalyazin/Russia, June 21-22st - special networking activity for MVPs who wants to participate voluntary

 

Infragistics was presented by me as a speaker – CEE MVP Open Days in Rybinsk.

 

Summary:

  • There was 17 presentations in 3 tracks in Moscow
  • Around 300 attendees in Moscow – MVP Day .
  • There was 16 presentations in 2 tracks in Rybinsk – CEE MVP Open Days
  • Around 50 MVPs from 8 countries  (Russia, Belarus, Slovenia, Slovakia, Czech Republic,  Croatia, Romania and Bulgaria)

 

The conference venue in Rybinsk

 

 

Just before the first session

 

Bernardin Katic is talking about how to organize community events

 

Only Microsoft MVPs

 

 

Infragistics participation in the event:

Follow news from Infragistics for more information about new Infragistics events.

As always, you can follow us on Twitter @mihailmateev and @Infragistics and stay in touch on Facebook, Google+ andLinkedIn!

 

iOS Quick Tip: Find the Size of a NSString

$
0
0
When writing an app, you sometimes comes across situations where you need to adjust the position and size of a label based on the size of the text. And that size could be different based on a particular font you're using. So, today i'm going to show you how you can quickly grab the size of a string with a specified font. Prior to iOS 7 you could use: CGSize size = [@“Infragistics" sizeWithFont:[UIFont fontWithName:@"Avenir-Book" size:20]]; However, in iOS 7 that method was...(read more)

WEBINAR Q&A : How to Build Office-Inspired Apps

$
0
0

The following are the answers to the questions that were submitted to the Q&A box during the webinar on 6/19/2014.  Thanks again for attending.

Q:  Is the new control (xamDiagram) available to WinForm application?

A: The control is currently built in XAML – however you could use this WPF control within your Windows Forms application through the use of Element Host.

Here is a Microsoft article walk-through that shows how you can do this. You can use any WPF control that you like: http://msdn.microsoft.com/en-us/library/ms742215(v=vs.110).aspx

 

Q: For WPF Excel component, is it possible to hide the header and left most column (ie. the A,B,C and 1,2,3) so a user wouldnt realize its a spreadsheet?

A: Yes, this is possible – the Worksheet object has this property: http://help.infragistics.com/doc/WPF/2014.1/CLR4.0/?page=InfragisticsWPF4.Documents.Excel.v14.1~Infragistics.Documents.Excel.DisplayOptions~ShowRowAndColumnHeaders.html

So, you would do something like this: MyWorkSheet.DisplayOptions.ShowRowAndColumnHeaders = false;

Just get a reference to the Worksheet in the Worksheet collection or whenever you create and add a worksheet, keep track of the reference to that worksheet.

Worksheet Class http://help.infragistics.com/doc/WPF/2014.1/CLR4.0/?page=InfragisticsWPF4.Documents.Excel.v14.1~Infragistics.Documents.Excel.Worksheet_members.html

WorksheetDisplayOptions class: http://help.infragistics.com/doc/WPF/2014.1/CLR4.0/?page=InfragisticsWPF4.Documents.Excel.v14.1~Infragistics.Documents.Excel.WorksheetDisplayOptions_members.html

 

Q: Will you have any more in depth webinars on the WPF IG Outlook sample...?

A: We currently do not have any scheduled at the moment, however, we will give your suggestion to the product / marketing team for future webinar possibilities. And, as you know, you can always get in touch with our Developer Support if you ever had any questions on how to go about building this, or if you run into any problems, questions, or not sure which direction to go when putting this together.

Submit Support Request:

https://www.infragistics.com/login.aspx?ReturnUrl=%2fmy-account%2fsubmit-support-request%2f

Five interesting web development trends so far this year

$
0
0

We have hit the half way point of the year, so it seemed a good time to take a look at some interesting trends we have seen so far in 2014. Hopefully you will recognise the majority of these, and will have touched them in your work at some point. Add a comment below with your thoughts.

Web Development Trends1. Flat Design
Our first trend affects designers, UX/UI professionals, and developers alike. All of these people will have struggled to escape the launch of iOS 7 late last year, and the focus it brought to ‘flat design’ (and the end of the principles of Skeuomorphic design). 2014 has seen flat design go nuclear, with websites large and small looking to redesign themselves to fall inline. Even Google got in on the act.

As demonstrated by: iOS 7 and nearly every website launch and mobile app of 2014.

2. The continuing popularity of CSS frameworks
Tools like LESS and SASS are continuing to find favour with web developers. Such frameworks offer well-defined programming constructs (such as code blocks and variables) in the traditionally fast and loose world of CSS. The old school development community might see this as a fuss about nothing, but those who have struggled to tame CSS over the last few years see such CSS extensions as really useful innovations.

As demonstrated by: Google’s unwavering support for pre-processors being matched by Microsoft (The recent Visual Studio 2013 Update 2 added much improved support for SASS editing).

3. Single page apps
Chiefly a response to the need for better HTML5 mobile apps (less round tripping/data requests and slicker user experiences), the single page app is just that - a website consisting of just a single page. Such apps - where the data and presentation layers are totally separated - are designed to look and behave like native phone or tablet apps, with background data refreshes and rich UI interactions. The term ‘single page app’ was actually coined in 2005, but 2014 has seen huge growth in interest and adoption..

As demonstrated by: Google’s much loved (by most) AngularJS framework.

4. The rise and rise of JavaScript frameworks
In 2014 the JavaScript framework is, in itself, nothing new. But this year we have seen some very impressive innovations. Take Famo.us for example, an open source framework designed to help developers build complex user interfaces. More than that though Famo.us is the first framework to offer its own rendering engine (separate to the browser it is running in), which it can do by taking advantage of client GPU acceleration. This allows for some impressive effects like 3D processing and physics simulations. Truly a step forward for JavaScript.

As demonstrated by: Famo.us has just opened its beta program to all developers.

5. Web based development environments
The web development community is used to pushing the power of the browser. In 2014 we saw it able to harness that power for its own means. A number of browser based Integrated Development Environments (IDEs) have surfaced which give developers a realistic alternative to traditional desktop tools. Google has its own effort called Spark, and Pario attempts to give less technical users something they can use to create code.

As demonstrated by: Google Spark, Codio, and countless others.

Viewing all 2223 articles
Browse latest View live