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

Application Migration Webinar Series

$
0
0

In our 15.1 Launch Webinar Series, our experts in design, prototyping, and development walk you through how to build your users what they want: beautiful, high-powered Web apps with greater reach, easier deployment, and lower total cost of ownership.

We've collected the recordings of these presentations here for you in one location, so feel free to pass them along to anyone else you think may benefit from them as well!

Webinar 1: Beyond Responsive Design (Kevin Richardson)

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

When faced with the challenge of migrating a desktop application to a web-based environment, product teams often consider only the obvious technical challenges associated with a browser-based display. Some teams, more in-tune with their users’ mobile habits, spend valuable resources crafting a programmatic, responsive  solution that will reformat the application to fit the desired device. Neither of these approaches will give users what they need. You need to go beyond responsive and provide the right functionality at the right time - and Kevin will show you how.

Webinar 2: Prototyping to Manage Change (George Abraham)

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

Whether you are migrating your application from desktop to web or creating a native mobile app for an existing desktop application, there is going to be change. Your business, your users, and UI patterns will evolve. But while change is inevitable, prototyping is one way to manage this change. In this webinar, we'll show you how to use Indigo Studio, Infragistics rapid prototyping tool, to

  • Create goal/story-driven prototypes;
  • Create and share custom UI libraries with teams;
  • Share your prototypes with your users and stakeholders without requiring them to install anything - and more

 

Webinar 3: Migrating from Desktop to Web with Ignite UI (Ambrose Little)

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

So you’re thinking about migrating your existing line-of-business desktop app to modern Web technologies and are not sure what your options are? We’re here to help. Check out this webinar and see how Infragistics Ignite UI can make you more productive building usable, reliable line-of-business applications for the modern Web based on existing desktop solutions. You’ll learn about two common best practice approaches for modern Web development—Single Page Applications backed by Web services vs ASP.NET MVC—and how Ignite UI helps you build for both of them, depending on which makes the most sense for your current expertise and future architectural needs.

Whether you're just starting out or you're up to your ears in your latest app migration, these presentations will help you make sense of the chaos. Check them out today - and don't forget to make the most of your webinar experience by downloading your free trial of Infragistics Ultimate by clicking the banner below!


The Social Side of SharePoint

$
0
0

Social networks have been available for personal use for a long time - indeed their roots can be traced back to the 90’s and early 2000’s with sites like Friendster and MySpace. However, their appearance in the business context took a little longer and is a relatively new phenomenon. So-called “Enterprise Social Networks” are increasingly common nowadays in organizations - employees no longer see them as optional, with many using their social features to do their day-to-day work. Enterprises are responding to these needs more and more and are delivering ESNs to their users.

Social Tools in SharePoint

When looking at SharePoint, social features were introduced first in SharePoint 2007 with MySites. However, functionality to engage with colleagues and external customers was limited and it never really took off. With the arrival of SharePoint 2010 and SharePoint 2013, MySites had been improved a lot, when new features allowing users to follow sites, people, and documents, engage with other users and ‘news feeds’ were introduced too.

In 2012 Microsoft announced that they had acquired Yammer - at that time a leading provider of enterprise social networks - which was integrated with SharePoint 2013 and subsequently Office 365. In today’s post we’ll take a look at all the social features currently available, but also at the roadmap to see what features will be added over the next couple of months.

Yammer - the latest features and developments

Yammer integrates nicely with SharePoint and Office 365, but is also still a separate platform. Some examples of this integration currently implemented or being rolled out include:

  • Document Conversations: it is possible to start a conversation on Yammer, straight from a document opened in Office.
  • Yammer Embed: Embed a Yammer feed anywhere in Office 365, to display the latest conversations and interactions for a user or a group.
  • Delve: Delve shows documents stored in Office 365, as well as conversations in Yammer.


Looking at the Office 365 roadmap, we can see that Microsoft is working on some nice new features for Yammer:

  • Add external collaborators to your internal Yammer conversations: Discuss topics with your external customers, vendors, etc.
  • Office Online support: Open and edit documents in Yammer, using Office Online (Word, Excel, PowerPoint, etc.)

Document Conversations: Make it easier to start a discussion

Very often, a user working on a document will want to discuss it with one or more colleagues. That user would probably go to Yammer, post a link to the document, and start a discussion. This will now be a lot easier! As stated before, Microsoft is currently rolling out a feature that enables users to start a Yammer discussion directly from a document. This results in a very smooth integration between document management and collaboration in Office 365 and discussion in Yammer which will be a marked improvement.

Groups - work like a team

Office 365 Groups is the newest way to create a team and work together on documents, start conversations, publish schedules and work collaboratively. It was introduced in September 2014 and Microsoft keeps adding more and more features.

It can be seen as a replacement for old-fashioned teamsites in SharePoint. Instead of creating a site and adding users to the site, you now create a group. Documents and people can be added to that group a lot easier. And, when a user is in one or more Groups, he or she will see active or updated documents in Office Delve. A big announcement at Ignite was the deeper integration between Yammer and Groups which will allow teams to “seamlessly move between Yammer conversations, meetings in Skype for Business, Outlook email, files in OneDrive and content discovery in Delve.”

Delve - the nextgen start page for your documents

The Office Graph (which is based on the Yammer Enterprise Graph) implements machine learning in Office 365. It extracts all activity in Office 365, calculates what would be important for a user, and allows apps like Delve to envision this data. When one of your colleagues works on a document, this will be visible in Delve. Popular documents in an employee’s network will also be shown, as they are likely to be relevant.

The biggest new feature in Delve are the so-called Boards. A lot of sessions at Ignite, the most recent event from Microsoft, discussed this new feature. It allows people to group information in Delve based on a topic. People can subscribe to a board, receive suggestions for other boards, can share boards with other people in the organisation, and so on.

Discuss your projects with your customers

As discussed earlier, Microsoft is working on opening Yammer for external collaborators. Right now, it’s not possible to share Yammer with external users. By implementing the ESN externally, you will be able to share certain discussions with your customers for example. This will make them feel more engaged, because they are able to participate in discussions. This will certainly improve customer satisfaction.

Social Networks are important for your business

Sharing knowledge has always been a pain point for organizations. With the introduction of social networks, it is easier for people to share their knowledge with co-workers. It will also make them feel better, because they are able to receive feedback on the knowledge and input in discussions they are sharing. Microsoft SharePoint and Office 365 offer a wide range of social features, and this will only get better. Social features in Delve are becoming increasingly important, and if we’re to believe the hype, Delve will be the biggest workplace collaboration invention since SharePoint!

Looking for a comprehensive and secure mobile Office 365 and SharePoint solution? Look no further. Download our SharePlus Enterprise for iOS free demo now and see the wonders it can do for your team's collaboration and productivity on the go!

SharePlus - Your Mobile SharePoint Solution


11 things about JavaScript functions every .NET developer should know: Webinar Recap

$
0
0

We recently held a webinar for the Indian region on March 27th, titled “11 things about JavaScript function every .NET developer should know”.

The presentation was attended by a good number of developers from the Indian region, and I covered a range of topics, including:

  • Functions as a statement
  • Functions as an expression
  • Return statements
  • Arguments in Javacript functions
  • JavaScript functions as constructors
  • Callback functions, and more

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

Many questions were asked during the webinar, and while we tried to answer all of them, we may have missed some, so here are some of the important questions followed by our answers:

What is function as expression and statement?

When we create a function and assign that to a variable then this is known as “function as an expression”. Whereas a function created with the first word function is known as a function statement. A function statement gets hoisted at the top of the scope.

Which editor you are using?

We are using Sublime text 2 and running JavaScript using NodeJS.

What function as constructor returns?

If we invoke a function after the new keyword, then function acts as a constructor and returns the created object. In the function, this represents the current object.

How do parameters work in JavaScript functions?

  • do not check for the type of parameters
  • do not check for the number of parameters
  • along with parameters arguments object, an array like object
  • arguments object length property gives us the number of parameters passed while invoking the function
  • We can pass more or less parameters while invoking a function

How do return statements work in JavaScript functions?

  • A JavaScript function may or may not have the return statement.
  • A Function without a return statement returns undefined
  • A Function with only a return statement returns undefined
  • A Function with a return statement along with an expression returns the evaluated value of the expression
  • A Function constructor returns a newly created object

What is a JavaScript callback function?

JavaScript callback functions have two attributes:

  1. They get passed as parameter to a function
  2. They get inside body of a function

Once again, thank you so much for your interest in our webinars – and we look forward to seeing you at a future presentation!

Delegating Is Not Just for Managers

$
0
0

I remember most the tiredness that would come and stick around through the next day.  After late nights where the effort had been successful, the tiredness was kind of a companion that had accompanied me through battle.  After late nights of futility, it was a taunting adversary that wouldn’t go away.  But whatever came, there was always tiredness.

I have a personality quirk that probably explains whatever success I’ve enjoyed as well as my frequent tiredness.  I am a relentless DIY-er and inveterate tinkerer.  In my life I’ve figured out and become serviceable at things ranging from home improvement to cooking to technology.  This relentless quest toward complete understanding back to first principles has given me a lot of knowledge, practice, and drive; staying up late re-assembling a garbage disposal when others might have called a handyman is the sort of behavior that’s helped me advance myself and my career.  On a long timeline, I’ll figure the problem out, whatever it is, out of a stubborn refusal to be defeated and/or a desire to know and understand more.

And so, throughout my career, I’ve labored on things long after I should have gone to bed.  I’ve gotten 3 hours of sleep because I refused to go to bed before hacking some Linux driver to work with a wireless networking USB dongle that I had.  I’ve stayed up late doing passion projects, tracking down bugs, and everything in between.  And wheels, oh, how I’ve re-invented them.  It’s not so much that I suffered from “Not Invented Here” syndrome, but that I wanted the practice, satisfaction, and knowledge that accompanied doing it myself.  I did these things for the same reason that I learned to cook or fix things around the house: I could pay someone else, but why do that when I’m sure I could figure it out myself?

In more recent years, I’ve revisited this practice.  I’m in business for myself now and absolutely maxed out with demands for my time.  I coach software development teams.  I make videos for Pluralsight.com.   I blog 3 times per week and sometimes more.  And I still try to find time to write code and do some application development work when I can.  Juggling all of these things has caused me to economize for time in all possible ways, and I’ve read books like Getting Things Done, The 4-Hour Work Week, and The Lean Startup for ideas on how better to manage my time.

A consistent theme of being more productive and more successful is to be selective about what you do versus what you rely on others to do.  I could spend 4 hours wrangling the garbage disposal, anticipating the satisfied tiredness the next day when I finally emerged victorious… or, I could spend those 4 hours as billable ones, coaching a software team, and hire someone better than me at fixing disposals to come and fix the disposal.  It’s hard to ask someone to help you for a task that you know you could do yourself, but coping with and overcoming that difficulty is the stuff leadership is made of.  It’s the stuff success is made of.  People who become tech leads and architects and do well in these roles are those who learn and understand this lesson.

The closer the task to your area of expertise, the harder it becomes to apply this lesson.  It’s one thing for me to hire people to do plumbing tasks, but quite another for me to hire someone to improve the performance of my website or build me a Nuget package.  And yet, I have to because I simply don’t have time not to.  The field of software development is growing exponentially more specialized, which means that I need to learn the lesson, “just because it’s code doesn’t mean I’m the person for the job.”

It’s in this context that I appreciate the work done by Infragistics.  I can’t tell you how many times I’ve implemented some kind of grid in some GUI somewhere and hand-rolled logic for sorting and filtration.  I can’t tell you how many times I’ve thought to myself, “okay, next up, using some kind of text box template so that the user can click and edit inline.”  This may have made me a better programmer through practice, but it was not a valuable use of my time.  Practice and learning are activities unto themselves, and it’s important to set aside time to do them and to come to understand the problem being solved by the tools that you use, but when you’re on the clock and getting things done, you should not be solving those solved problems.  Let experts solve them for you while you solve business problems.

It took me years to learn this lesson and then to start applying it.  Learn from my mistakes.  Let the experts in their areas help you so that you can find, build, and profit from your own area of expertise.

UXify Bulgaria 2015 - 2 Days of UX Inspiration, Networking and Practical Experience

$
0
0

For the second time in Bulgaria, Infragistics is organizing UXify Bulgaria– a two-day community event, bringing to you the best of the UX design world. UXify will kick off on Friday, June 19th with a full day of inspiring conference seminars, followed by a day of workshops that will give you practical hands-on experience.

UXify Bulgaria 2015

Come hear the thought leaders in User Experience and Customer-Centered Design and get ready to learn from the latest insights and trends in the fields of User Research, Dashboard Design, UX in Front-End Development, Gamification, and more!

This event is an excellent opportunity for User Experience Designers, UX Architects, Visual Designers, Product Managers, developers, and anyone interested in the topic to network, share your ideas, and be inspired by the new trends in UX internationally.

Here is a sneak peak of what you’ll learn at UXify Bulgaria’s 2015 edition:

  • User Research in the Wild”, or how to understand your users by observing them in their natural habitat – by Jim Ross, Senior UX Architect at Infragistics.  
  • Gamification – a Player Centered Design Process” - In which cases is it possible to gamify UX and which are the good and bad practices when integrating gamification during UX design? Stefan Ivanov, UX Architect at Infragistics will explore this topic.
  • UX and Front-end Development”, or how UX thinking should be practiced by everyone in an organization, especially by front-end developers, in order to deliver exceptional user experiences in any digital product.
  • Dashboard Design” - How do you turn data into information that is relevant for decision making and that can be communicated effectively? Infragistics’ Senior Director of Design, Tobias Komischke, will present the best practices for dashboard design.
  • And more UX talks and workshops from leading industry experts from SAP, VMWare, SoftServe, Mentormate, Despark.

Where?

Sofia Event Center, Bulgaria

When?

Jun 19th-20th 2015

We hope you’ll join us! Simply visit http://uxify.net/ to register.

Can't make it to the event? Follow us at #uxify or like our Facebook page.

At Infragistics, we believe that great apps happen by design. Let your users experience your next web or mobile app before you code it with our rapid prototyping tool, Indigo Studio!

//BUILD/ 2015 Event Recap

$
0
0

One of the greatest parts of my job here at Infragistics is being able to organize and attend our events, and one of my favorites is always //BUILD/. This year’s event was again in the Moscone West Conference and Convention Center in San Francisco, CA, and it was held April 28-May 1st. Infragistics' 2015 Booth was #313, so we were again adjacent to the keynote room on the 3rd floor of the Moscone. Our event team this year was Alan Halama, Jason Beres, Brian Lagunas, Ken Azuma, and myself. A pretty all-star team in my personal opinion!

The //BUILD/ event was a huge success, beginning with the debut of Infragistics' Control Freak shirt giveaways. A lot of the team’s time was spent demonstrating a great cross-section of our tools, but by far the most popular demo was our new Xamarin.Forms controls. Due to Microsoft’s announcements, we also fielded a lot of questions about Windows Universal App and how that will impact our entire industry.

  

In addition to the standard conference, this year at //BUILD/ and in conjunction with the Microsoft MVP Program, Infragistics hosted a Microsoft MVP, invitation only, networking and happy hour. This was on the first evening of the conference at an off-site venue, the “Thirsty Bear” brewery. There were tons of MVPs there who all had a chance to pick up some of our custom party SWAG!

Additionally, as Infragistics is a member of the Visual Sudio Industry Partner Program (VSIP), we were encouraged to attend an invitation-only event of our own, and the event team went to the VSIP-only Mixology event on the second night of the show, where we got to talk to other partners and increase our ecosystem presence.

Finally, there were two additional highlights that I would like to mention. One is that MSDN magazine was able to interview the team in person, which was a great experience. ADDITIONALLY Brian was interviewed on-site at //BUILD/ by Channel9. That interview is live now, and you can check it out here.

Overall and as always, Build 2015 was a successful event for Infragistics as we got to stomp the ground out there with all of you! The team had a great time, and of course I did personally as well! Can't wait for the next one!!

Visual Explorations of Sample Size

$
0
0


Drawing conclusion based on small samples is obviously problematic. At the same time, I also wonder whether the rise to prominence of "Big Data" can lead organisations to blindly collect as much data as possible rather than think logically about how much data is actually necessary to perform whatever analysis tasks are required. I'd rather have a bit more data than necessary than not quite enough, but that doesn't mean we should be collecting everything just because we can. We can use statistics to guide us as to how much data we really need, but I recently got to thinking about how we can visually show what effect increasing the sample size has.

To keep things simple I'll just look at the effect of increasing the sample size with random variates from a specific (but rather arbitrary) instance of the normal distribution. I will leave stating the parameters - the true mean and true standard deviation - till later.

The animated gif below shows probability density histograms made from sampling the aforementioned normal distribution. From frame to frame the sample size increase by a factor of ten and the data used to draw each histogram is a superset of the data in the previous frame. The red curve is the normal distribution with the same mean and standard deviation as the sample data.

Clearly, with a sample size of just ten, the empirical distribution looks nothing like the normal distribution with the same mean and standard deviation. All we can really say from this is that the true mean is likely somewhere close to 4 or 5. But increase the sample to 100 points and we can already see a rough bell-curve. By the time we've made it to 100,000 points we have a very good visual match between histogram and curve. Adding more points doesn't change the look of the distribution or the printed mean and standard deviation.

The animated histogram is good at giving a broad overview of how things change as we add more points, but with only one frame for every factor of 10 we don't see a very detailed picture. Without printing more digits in the parameters of the title at the top, it's not clear just how precisely we know the mean and standard deviation for any particular sample size. For a better idea of this we can pick a parameter and plot that as a function of the sample size, from 2 points (when both sample parameters are finite) up to ten million. We'll look at the mean first.

Because things change much more quickly when there's only a small amount of data, the above chart is pretty useless. Taking the (base 10) logarithm of the number of points in the sample makes things much clearer.

With only a few points the sample mean is well above 4. But this quickly drops and stabilises once we're in to double digits. Beyond a few thousand points there's little discernible variation in the sample mean, but we can zoom in on the right-hand side and see the finer "wobble".

Here's how the standard deviation changes as we change the sample size (note: this is the standard deviation of the sample, not the standard error of the mean!):

The true mean used to generate the sample was 3.9172 and the standard deviation was 0.7200. We can see from the charts that we've got pretty close to these numbers with ten million data points without doing any rigorous statistical analysis. But we weren't that far away at ten thousand data points either. More data means more precision, but if all you needed to know was whether the mean was more or less than 4, ~1,000 points would have been enough.

To reinforce the point, let's look at just the first 100,000 data points and break these up into ten samples of 10,000. With each subsample we can use the same graphical technique as before. The coloured lines in the charts below show the results for the first 10,000 data points, the grey lines the other subsamples.

To be clear, the purpose of the charts isn't really to see the individual tracks made by one subsample. It's to show that the means and standard deviations of the subsamples are spread widely when each has only a few data points but, at least on a logarithmic scale, quickly converge as we add more points.

Of course all datasets are different and many don't come about through simple random sampling. Neither can you assume your real-world dataset will be as well-behaved as a large collection of computer-generated random variates from a single instance of the normal distribution. Moreover, the chart ideas above aren't meant as straight replacements for rigorous statistics work. But in certain cases they may complement it, e.g. by providing a sanity check of a statistical assessment or as a visual alternative for an audience with less technical expertise.

Looking for a comprehensive and rapid prototyping tool, which allows you to see exactly how your build will look and work before even writing a single code of line? Look no further. Download our Indigo Studio free trial now and see what it can do for you!

SharePlus: What are your customization options?

$
0
0

Since the first laptop computers were released, and with the more recent emergence of smartphones and tablets, mobile devices have allowed ever more flexibility for the modern workforce. The most forward thinking companies have capitalized on the potential of this technology and employees are able to collaborate and contribute from outside the office, while travelling and from a distance. Such technologies have brought about a small revolution in working practices, and have allowed employees to fit their work around their lives in a more natural way.

Given the flexibility offered by the hardware, it is a great irony that the applications on these devices or very often stuck in the past. Employees are regularly frustrated by the limits of enterprise mobile apps; they don’t work anywhere near as well as their desktop counterparts, are often slow and clunky and look and feel alien. Whether a business has a BYOD (Bring Your Own Device) policy, or provides mobile devices to personnel, being sure that your workplace collaboration platforms work well on tablets and mobiles is essential.

SharePoint is one of the world’s foremost enterprise collaboration tools, and SharePlus by Infragistics leverages the power of SharePoint on iOS and Android devices. In addition to its state of the art sharing, on and offline collaboration and security features, SharePlus crucially allows companies to modify the platform on mobile devices too. This means the platform looks and feels more consistent and streamlines workflows of different employees and departments.

Customization - more than just a vanity project

SharePlus has been designed with the needs of mobile workers in mind, and this of course focuses on flexibility. The ability to customize the app is about more than simply making your company’s SharePlus look nice, but has real business benefits too. A customized UX means:

  • Employees get things done quicker. They feel at home using the app and screens correspond with their specific needs
  • You can configure anything, including branding. If an app has the same logos, colors and styles as the rest of your company’s media, the UX will be smoother, cleaner and more seamless. Consistent branding looks professional too, so when your salespeople are demonstrating data and analysis to clients on their tablets, your logo will always be present.

 

SharePlus customization options

SharePlus lets you modify your mobile SharePoint experience in a variety of ways. We recognize that different organizations have different needs, so constraining them to one template just makes no sense. For example, while one company will be happy to implement the same features across sites, another will need specific screens for each of their mobile teams. SharePlus lets you modify and control the SharePoint screens your employees are presented with when they open the app, as well as many other variables. Infragistics offers a range of in-depth guides to help end users customize the different features of their solution (see here and here for further information).

While much of SharePlus can be modified, users find it particularly useful to customize:

1. Launchpads.

Operating like ‘custom screens’, Launchpads allow easy access and display of different areas and content (reports, dashboards, PDF files, libraries) in SharePoint. These can be set as a home screen when users login to your company’s SharePoint platform, on sidebars, within specific sites, subsites or even down to lists and libraries. Launchpads allow quick and streamlined access to the data and information which users need the most, and specific Launchpads can be configured for the needs of different departments or even specific users. Your sales team, for instance, will appreciate a home screen with direct links to data, information and the contact details which they need for their work. Customizable Launchpads make this possible. The goal of Launchpads is not only to enable quick access to content, but also to help you ‘mobilize’ a SharePoint page and create mobile optimized views that are available both online and offline, and are always synchronized.

Launchpads are easy to build and maintain. For developers they require a very short learning curve as they let you write with HTML5 and JavaScript and can be managed and deployed from a central location to all company devices.

2. Change the look and feel.

Seamless corporate branding and style across company IT platforms distinguishes the most forward thinking companies from those which are just happy to accept the bare minimum with IT. There are many ways in which visualization, style and branding can be changed to support your company’s corporate policies. SharePlus’ look-and-feel can be customized during its implementation by the inclusion of customized assets and by adjusting the application’s theme.

3. Configure everything based on your needs.

SharePlus has an easy to use JavaScript API which lets you extract content from SharePoint and present it with the help of modern client-side web technologies like HTML5, CSS, JavaScript. You can configure SharePlus in many ways: for example, specific sites can be hidden, visualizations can be configured for specific lists or libraries, sections can be removed or rearranged, and more. Beyond simply adding the company logo to SharePoint sites, SharePlus lets you alter content presentation in various ways:

  • Incorporate grids and different data viewing styles
  • Use picture boards
  • Sort and group to customize how data is displayed
  • Change functionality to support specific requirements

 

Pimp my SharePlus

Customizing your organization's IT solution is good business practice for a variety of reasons and SharePlus is designed with the diverse needs of our clients and partners in mind. The modern workforce uses flexible technology, and SharePlus is a flexible application which corresponds perfectly with their needs.

Try our SharePlus Enterprise for iOS free demo now and see the wonders it can do for your team's productivity!

SharePlus for SharePoint - Download for Android


Developer News - What's IN with the Infragistics Community? (5/18-5/24)

$
0
0

Developer News this week covers the answers to a lot of burning questions... Who deleted the user database in the SQL server? What books should I read? And of course... the most interesting, in my opinion, what happens when you plug a surface 3 into itself?! Check out the links below to learn the answers to these and more!

5. How to Find Which User Deleted the User Database in SQL Server (Microsoft SQL)

4. Devicons - An Iconic Font Made for Developers (Design Beep)

3. My Top 100 Programming, Computer and Science Books: Part 1 (PKrumins)

2. What is an Effective Web Design and What Makes Good User Experience? (1st Web Designer)

1. Here's What Happens When You Plug a Surface 3 Into Itself (NeowinFeed)

Performance test your website for free

$
0
0

In modern software engineering testing the performance of the software is a vital part of the development process. With a performance test the components of the system are monitored to see how they will handle in a particular situation. Besides testing the components of the software solution, the performance test will also validate the resource usage, scalability and reliability of the product. A common mistake is the fact that performance testing does not aim to detect bugs in the application. Performance testing is done to provide stakeholders with information about their application regarding speed, stability and scalability. More importantly, performance testing uncovers what needs to be improved before the product goes live in production.

 

There are a lot of tools, applications or services that will take care of the whole process of performance testing. These services will contain features like:

 

  • Stress tests: these tests will benchmark how the application will behave under a heavy load. Typical here is the inclusion of ‘virtual users’. The performance test application will simulate a heavy user load and monitor the application’s behaviour.
  • Performance tests: this test will monitor the application’s responsiveness under a normal load. How, for example is the web server handling requests?
  • Capacity planning: this will benchmark the application’s performance at various capacities.
  • Smoke tests: This test will take a look at the application’s behavior under light loads for short durations.

 

As a developer there are a few products available to do performance testing for free. We’re going to take a look at four of the major tools out there.

Visual Studio

Visual Studio is a complete suite for application development so it also contains tools to do performance tests. The Visual Studio Ultimate edition can perform local and remote tests by using an unlimited number of virtual users. The virtual users that ‘take part’ in load tests use multiprocessor architecture. Multiprocessor architecture allows the machine on which the virtual users are installed to use more than one processor. Visual Studio Ultimate provides three built-in load patterns: constant, step, and goal-based. By modifying the properties of the test the goals for each load pattern can be defined. The Load Test Analyzer is used to view both running and completed load tests. Implementing load tests in Visual Studio can be done for free. No other license is needed.

 

LoadImpact

While the setup of performance tests in Visual Studio can be somewhat complex, setting up tests via LoadImpact is simple in comparison. Stress testing via LoadImpact can ramp-up from 0 to 100000 users in less than a minute and the test process can emulate a wide range of browsers like IE, Firefox, Safari or Opera. Instead of local stress tests these tests result in realistic results. An example of these realistic results are the fact that the virtual user request can be loaded from 10 different locations simultaneously. LoadImpact offers a Chrome Extension to record an HTTP session and let the simulated users do the same actions during the test. These remote tests can also gather important metrics on the local machines by using a Server Metric Agent. The complete specification sheet can be found here.

Dynatrace for Mobile

Dynatrace for Mobile is an online service that can performance test your web application. These tests give more insights in the way the application is performing for mobile and web users. The test analyzes the overall performance impact of your web design and compares the speed of the application with the best in the industry. The Dynatrace solution can handle a range of technologies like Mobile, Java, .NET, PHP, SAP or even SharePoint. There is no mobile or web application that can't be tested.

Pingdom

Pingdom is a free tool that tests the response times of your web application. By entering your URL the application starts analyzing the web application and tries to identify what parts of a webpage are fast or slow and provides a few best practice guides to solve some of the issues. The application can be used by both novice users and experts. Pingdom examines every part of a web page such as file sizes or load times of every single element of the page. After testing, a report is offered with the overall performance overview and performance grade and tips. The tests are run from both the US and Europe.

Speed matters

When building a web application, one of the questions to ask is “how will the application behave when is it online?” Testing the application is a vital part in the development process because an application with long response times will result in bad user experiences. Performance tests handle the process of preparing the application to be ready for the production environment. Because speed matters these results should be handled with great care.

Want to build your desktop, mobile or web applications with high-performance controls? Download Ultimate Free trial now and see what it can do for you!

How to Measure Enterprise Mobility Initiatives’ ROI?

$
0
0

As IT workers, we’re used to the rapid pace of change in the technology that finds itself in our possession. What is harder to link to the ever changing realm of technological evolution is an understanding of how user behavior adapts to IT. Enterprises are aware that investing in the latest tech makes good business sense. However, encouraging the desired behavior with this new technology is another matter. No one wants to invest in new hardware only for employees to end up being distracted and less efficient.

Using mobile devices is all well and good in today's world, and looks set to become one of the principal ways of working as we look to the future. However, how do you ensure you're getting a return on investment?The three measurables we believe can be combined to prove ROI are: usage, cost and productivity.

Usage

Metrics and numbers are typically a good starting point for analyzing behavioral trends, and this definitely stands true when assessing an enterprise mobile initiative. If we consider collaborative products like SharePoint that can be consumed across a number of mediums, they almost certainly come with a basic reporting package that breaks down how its content is being accessed.  The same is true of other products within the Office 365 suite such as Yammer (see below):

However, it’s not unfair to say that these native reporting packages often don’t go far enough. Whilst they’ll provide enough qualitative information on usability habits of users, will they provide enough quantitative data to allow decision makers to calculate ROI?

If not, then additional third party tools such as Infragistics SharePlus, a mobile SharePoint platform, can provide an appropriately deep level of analytics. Moving beyond surface level stats, they offer more valuable insights such as device specificity and popularity.

Cost

The next measurable is going to be the cost of supporting such initiatives. Historically, a company has had to take on the cost of supplying all hardware that is used to access and manage information, whether that be desktop, mobiles, tablets or any other media.

In the coming years however, with the greater proliferation of personal computing devices that are compatible with enterprise infrastructure and a willingness to explore these, the cost associated with hardware may significantly decrease. Gartner, for instance, estimates that for $500,000, CIOs can buy and support 1,000 enterprise-owned tablets or support 2,745 user-owned tablets. So, for the same pot of money and with a focus on customer support, a far greater number of users can be enabled to work “on the go” than would be possible by simply providing the device.

The downside to this is, of course, the additional support and governance work that must be put into place. IT teams may have to get used to a greater number of devices to manage and configure, whilst InfoSec and DataSec teams will need to constantly be on the watch for the risk of data loss or exposure.

Productivity

The last measureable of ROI for enterprise mobility initiatives is, of course, productivity.  Does mobile working provide employees with a greater opportunity or a greater motivation to up the quality of their work? This is a compelling question that is harder to measure with numbers but is perhaps easier to gauge by mood.

Many firms already offer some initiatives that support a healthy work life balance, such as job shares, flexible hours and so on, which ultimately liberate employees from having to remain static behind a table and desktop. Email access is still the number one reason why companies introduce/consider a BYOD policy - some 86% of firms see it as the major motivation according to this post. This is followed by access to documents, custom mobile applications and cloud services.

Providing mobile access for all of the above means that an employee can very likely cater for work tasks during time periods that that they may not previously have been able to. Again, with the correct analytics package in hand, it’s possible to see what sort of behavior this greater accessibility is encouraging.

Well worth the investment

In looking to close out, what we hope to have provided are some points to consider when it comes to assessing or starting your own mobility initiative. Start this journey by investigating how your current collaborative platforms are accessed. Once these statistics are known, you’ll be better placed to consider both the fiscal and emotional benefit of a BYOD policy. Not only can you encourage your employees to foot some of the IT cost typically borne by the organization, the greater flexibility afforded to them could very well encourage workers to be productive in time frames which typically fall outside of usual office hours.

These two facets, when implemented across a sufficient number of staff, would be well worth the investment.

Try our SharePlus Enterprise for iOS free demo now and see the wonders it can do for your team's productivity!

SharePlus for SharePoint - Download for Android

The Rise of Mobile Devices: An Infographic

$
0
0

As we all know, mobile devices are quickly taking over as a primary mode of content and media consumption. Mobilesize.es, a brand new open source project conceptualized and built by 3 NIFTIT developers, aims to make the life of a mobile developer just a little bit easier by assisting with identification of screen size, to the exact pixel count, for mobile devices. To promote their application, the team released this awesome infographic AND gave us permission to share it with you all. Please enjoy “The Rise of Mobile Devices” on behalf of Mobilesiz.es and NIFTIT and if you like it, check out our previous Q/A session with the Mobilesiz.es development team!

Four ways to mock up your next mobile app

$
0
0

We interact with mobile apps almost every single day, whether it’s checking social networks, finding things to do, or to share data and experiences. The best designed apps fit almost unnoticed into our lives - they’re easy to navigate, the UX is pleasant and intuitive and help us achieve goals quicker and easier. However, users are instantly put off an app which is clunky, confusing and hard to use - there’s nothing as infuriating as a badly designed user interface (see here for 2014’s best and worst apps).

 

Even the best ideas can fail if designers and developers turn them into awful apps. However, whether you’re a developer without design expertise, a designer without development know-how or simply an interested enthusiast, getting to grips with the basics of building a mock up can help work wonders when it comes to helping build the best apps you can. Not everyone studied graphic design at school, nonetheless there are a number of tools out there which can help anyone with a spark of creativity turn their ideas into reality.

 

Make up with a mock up

 

At Infragistics, we believe great apps happen by design, and this is a bottom up process - from the first idea fleshed out on paper to the final touches on the UI. Developing an idea is all about letting your creativity flow while combining this with rigorous planning. Mock ups are an essential step in this process - they help us develop the basics of our ideas. From here we can begin to turn our ideas into form and then direct our energies into turning the most basic ideas into the most incredible apps.

 

Mock ups are comparable to an architect’s blueprints. Without them our thoughts would never begin to take form, and once decided upon they can provide the basics from which we construct our builds. It’s fine wanting an app in one color or another, with flashing parts and interesting imagery, but the black and white mock ups which inform these later stages are the real foundations of our work.

 

Besides guiding later development, mock ups also help convey ideas to stakeholders, letting them visualize what the app they’ve commissioned is going to look like in advance. We’ve all worked with clients for whom the term ‘control freak’ would be an understatement, but even the most reasonable stakeholder wants an idea of where you’re work is progressing. They’ll often be investing considerable resources into the app development project, so reassuring them that your tool will do what it’s expected to is only fair.

 

Get tooled up

 

Every different designer has their own methods of mocking up, but some of our favourites include:

 

  • Indigo Studio. A state of the art prototyping tool, Indigo Studio lets you experience an app and find the right design without writing a single line of code. Offering a wide range of capabilities, the studio fundamentally provides users with an environment where they can quickly mock up a working model of an app in a matter of moments. Shipping with templates of different mobile devices, it’s instantly possible to demonstrate how your app would look and feel on smartphones and tablets.

 

Taking this further it also allows you to demonstrate prototypes on a wide range of ready designed storyboard scenes so you can picture how the app would be used in the real world.

 

  • Wireframes. There are numerous tools out there such as Balsamiq, Omnigraffle or even good old PhotoShop which can help you throw app designs together in a jiffy. Cutting out the noise, Wireframes focus purely on how users will interact with your design, how they’ll work through the pages and put the distraction of applying colors, content and typeface choices until later on.

 

  • Pen and paper. Get back to basics with the classic approach to mocking up design. If you want to let your imagination run wild, sketching ideas out on paper remains an extremely simple yet effective means of conveying ideas and UI.

 

  • Mobile Controls. Mocking up a UI for one operating system is one thing, designing them for different systems adds a whole new layer of complexity. Mobile Controls let you skip this step by providing a whole range of purpose built, industry standard graphics, visuals and interactive charts. The leap from your first idea to final, coded app can be made a lot shorter.

 

From idea to app

 

No app design project is the same - end goals and the means to reach them vary greatly between app build; the design methods which works in one context simply won’t be appropriate in another. Whatever route you choose, whatever tools work best for your style and project goals, ensuring you keep the needs of end users in mind is fundamental to any app’s success, and this shouldn’t get lost behind the technology.

Looking for a comprehensive and rapid prototyping tool, which allows you to see exactly how your build will look and work before even writing a single code of line? Look no further. Download our Indigo Studio free trial now and see what it can do for you!

Developer Humor: Happy Hour

$
0
0

I know I usually post these on a Wednesday to try and provide some extra mid-week inspiration, but this one was too good not to share right away. Hope you enjoy this little end-cap to your May!

Share With The Code Below!

<a href="http://www.infragistics.com/products/wpf"><img src=" http://www.infragistics.com/community/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/d-coding/3487.Tech-toon-_2D00_-2015-_2D00_-med-res-04.jpg " height="636" width="825" /> </a><br /><br /><br />Happy Hour by Infragistics <a href="http://www.infragistics.com/products/wpf">WPF Controls</a>

Creating a Knockout-Style Variable in C#

$
0
0

My first real-world single-page app (SPA) was written using the Knockout library, and it opened my eyes in terms of how powerful JavaScript has become. It appealed to me due to my familiarity with the Model-View-ViewModel pattern, and it was compatible with the jQuery controls used in the project.

As a C# developer, there were a few conventions I had to learn. Both JavaScript and C# are C-like languages, and I’ve used various versions of JavaScript for several years. But in my limited experience, I hadn’t encountered a technique used prevalently in Knockout.

The Technique

A ViewModel contains properties that must notify subscribers on change. In C#, one typically makes a ViewModel implementing INotifyPropertyChanged, then each observable property calls a method to raise the PropertyChanged event. Since properties aren’t necessarily supported in a browser’s JavaScript interpreter, knockout uses a different pattern. Here’s an example ViewModel adapted from the Knockout documentation:

varviewModel = {

    name: ko.observable('Bob'),

    age: ko.observable(123)

};

 

Since JavaScript is a dynamic language, you should try to change the value of one of the properties using an assignment operator. Each property is actually a function, and it can be changed by passing the new value in as an argument. This example will change the name to ‘Chris’.

viewModel.name(‘Chris’);

 

If you’re a C# developer, you may be wondering how to retrieve the value. With no arguments, the function returns the stored value.

viewModel.name();

 

This works exactly the same as a variable. In effect, the technique used by Knockout to create observables allows for variables with getters and setters, which I find rather fascinating.

Now in C#

I first attempted to implement this same technique in C# by implementing conversion operators. This works to a degree, but it doesn’t feel quite the same. The JavaScript variable is a function that holds a value and can change it. How can I implement that?

The function I want can take one or zero arguments. There’s one way to achieve that, but it means allowing any number of arguments. Here’s the delegate type I came up with.

publicdelegate T Observable(params T[] args);

I usually only encounter the params keyword in a method declaration, but it works in a delegate as well. If you want to be truer to the JavaScript version, you could use a non-generic version. In practice, this delegate will take one or zero arguments, so the generic constraint is appropriate.

You can view the ko.observable function as a static factory method that puts together the necessary pieces. In this case, I need it to create the Observable delegate using a closure to alternate execution paths. I’m going to violate typical C# naming conventions for illustration purposes.

publicstaticclassko

{

    publicstaticObservable observable(T initialValue)

    {

        T value = initialValue;

        return args =>

        {

            if (args != null&& args.Length > 0)

            {

                value = args[0];

                // notify subscribers

            }

            return value;

        };

    }

}

The observable method stores the initial value in variable and returns an Observable using a lambda statement. The statement captures the outer variable, setting it if args is neither null nor empty. It then returns the value.

Here’s a program to prove it works.

classProgram

{

    staticvoid Main(string[] args)

    {

        var name = ko.observable("Bob");

        Debug.Assert(name() == "Bob");

        name("Chris");

        Debug.Assert(name() == "Chris");

    }

}

Should I Use This

C# is an object-oriented language, and although recent versions borrow from other paradigms, constructs already exist for scenarios where this is useful. However, I can’t predict every situation one might encounter when creating an application or framework, and this is another tool in your belt. At worst, it makes a great party trick!


SharePlus and Launchpads - Customize SharePoint Data on the Move

$
0
0

As a result of the explosion in smartphones and tablets in recent years, consumers are now used to controlling and accessing many aspects of their lives from mobile devices - whether it’s email, banking, travel or their purchases. It’s therefore no surprise that those same consumers have begun to expect a similar level of flexibility and instant access from their devices in the workplace too.

Bring Your Own Device (BYOD), the consumerization of IT and other related trends offer many benefits and employees take this freedom for granted. Knowledge workers have come to expect their IT experience at work to be just as customizable as the IT they use in their private lives. And this is a good thing for enterprises: using a customizable enterprise IT solution offers a broad range of benefits to the business as well as to employees.

SharePlus from Infragistics taps into this need for customizable IT by offering individual users unique views of their company’s SharePoint solution through our customized Launchpads. Designed for tablets and smartphones - for the worker on the go - these Launchpads allow users to get to what they want directly. Let’s look at how you can customize your Launchpads in a little more detail.

Tailored to users

As the names suggests, Launchpads work as a ‘home screen’ which can be configured for the needs of specific users when they log in to SharePlus on their mobile device. For example, members of the sales team can configure their Launchpads so they can get instant access to the content which is most useful for them - in this case, sales reports, pipelines, targets and SharePoint sites. Project Managers, Admin teams or engineers would all want their Launchpads to show the things they need to get their jobs done.

SharePlus can be configured to match the ways users view the information they need; this can include almost any kind of content - reports, data, team site, PDF files and so on. It’s simple to set up a Launchpad using basic HTML, CSS, and Javascript knowledge.

Configuration within a few clicks

It’s clear that end-user autonomy doesn’t always sit comfortably with concerns around data loss and privacy, but with SharePlus Launchpads, have no fear. With SharePlus, permissions are managed at the content level in SharePoint. Users, developers, or IT admins don’t need to take any extra consideration. If the content is secured in SharePoint, it won’t be available in SharePlus for the specific user, either.

SharePlus allows IT teams to pre-configure and manage devices from a distance. The configuration possibilities here are available on a:

  • Central Application level: In which IT administrators can mandate what layout and customizations a user will experience
  • Site by site level: In which different sites or content sources can be configured with their own layout, which ensures users don’t have to stick to one layout for all their sites.

Mobile Device Management (MDMs) - Citrix XenMobile, Oracle Bitzer, MobileIron, and other integrations into SharePlus, add additional management capabilities and an extra layer of security.

Launch into Launchpads

Launchpads are built with HTML, CSS and JavaScript and can be enhanced with jQuery. SharePlus comes with its own API, which gives you the ability to access SharePoint information and dynamically render it regardless of online or offline status. 

A mature SharePoint platform will have more than likely been optimized for specific audiences.  Sales areas may lean towards being analytical and numbers led whilst Facilities Management areas will be more documents and form heavy. Each of these departments has specific audiences to cater for. In this scenario, all SharePlus enabled users will be able to move towards any of the available content-specific sites. When the SharePlus application opens, the user is presented with a welcome Launchpad that works as a customized doorway to SharePoint.

Now, let’s assume you are the user and want to navigate to the Facilities Management site. After interacting with the appropriate link to the site (via a tap or a swipe), you are presented with another Launchpad displaying the latest maintenance information. All of this content is dynamically loaded from SharePoint. All SharePlus Launchpads are highly interactive and optimized for mobile, and links to the SharePoint content can be navigated easily.

The new normal

Adapting a mature solution such as SharePoint for delivery on mobile devices is essential in a world of constant mobile content consumption. Solutions like SharePlus respond to this need, not only from a content consumer perspective but from an IT and data security angle too.

Try our SharePlus Enterprise for iOS demo now and see the wonders it can do for your team's productivity!

SharePlus for SharePoint - Download for Android

Developer News - What's IN with the Infragistics Community? (5/25-5/31)

Infragistics Reporting - June 2015: Service Release 14.2

$
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 2014 Volume 2

Simplifying Routing in AngularJS

$
0
0

Usually AngularJS is used to create a single page application with multiple views. But we can create multiple views in an AngularJS-based single page application by using routing – and in this post we’ll learn how to do that!

What is Routing?

Routing allows us to logically divide the application in the multiple logical views to be loaded asynchronously.  Let’s take, for example, a single page Product application. We can break the various tasks that can be performed on that product into separate logical views as shown below,

·         View to add a product

·         View to delete a product

·         View to edit a product

·         View to display the products.

In AngularJS routing, each view has its own URL. For example, the four views of a single page product application as listed above may have URLs as shown below:

 

When we navigate to /ProductApp.html/#Add URL in the browser, the add view will be loaded asynchronously in the application main view. These views would be loaded asynchronously using routing in the application.

 

Routing Steps in AngularJS

More or less, we do the following tasks to accomplish routing in AngularJS:

·         Inject the route module in the app module

·         Add the $routeProvider in the config of the app module

·         Configure the routes

·         Create a controller for the templates

·         Create a view template as a separate html file (we may also have local views in JavaScript with the type text/ng-template)

·         Create the main view section in the HTML using the ng-view directive

To enable routing in the AngularJS app, we need to take the following steps:

 

Step 1

Add a reference of the AngularJS route library in the main html.

<scriptsrc="../Scripts/angular.js">script>

<scriptsrc="../Scripts/angular-route.js">script>

 

Step 2

Inject the ngRoute module to the main application module.

var MyApp = angular.module('MyApp', ['ngRoute']);

 

Step 3

Configure the routes by providing the following:

1.       URL of the route

2.       View template for the route

3.       Controller associated with the route

We can configure a route as shown below:

MyApp.config(['$routeProvider',

  function ($routeProvider) {

      $routeProvider.

        when('/Add', {

            templateUrl: 'templates/add.html',

            controller: 'AddController'

        }).

        when('/Update', {

            templateUrl: 'templates/update.html',

            controller: 'UpdateController'

        }).

        when('/Delete', {

             templateUrl: 'templates/delete.html',

             controller: 'DeleteController'

        }).

        when('/Show', {

             templateUrl: 'templates/show.html',

             controller: 'ShowController'

         }).

        otherwise({

            redirectTo: '/Show'

        });

  }]);

In the configure route above, whenever we navigate to baseurl/Add:

1.       Add.html template will be loaded in the view

2.       The AddController controller will pass #scope object to the template. Keep in mind that we may work with more than one controller on the view - and it’s also not mandatory to have a controller value configured at the time of route configuration.

 

Step 4

Creating the controllers: In AngularJS, a controller holds data and business logic. Each view will have their own data and the business logic. We can have controllers either inside the controller module or in the main module.

Controllers can be created in the main module as shown below:

 

MyApp.controller('AddController', function ($scope) {

 

    $scope.message = "Add View"

});

MyApp.controller('ÚpdateController', function ($scope) {

 

    $scope.message = "Update View"

});

MyApp.controller('DeleteController', function ($scope) {

 

    $scope.message = "Delete View"

});

MyApp.controller('ShowController', function ($scope) {

 

    $scope.message = "Home View"

});

 

Here we have created controllers with only one message property attached to the $scope object.

 

Step 5

Creating the templates: We have configured the route to keep the templates inside the templates folder of the application, however keep in mind that this is not mandatory. The template can be anywhere inside the application. Templates are the html file.

In this example we have created a templates folder, where we’ve added three html files: add.html, update.html, and delete.html.

add.html will look like this:

<divclass="jumbotron text-center"ng-controller="AddController">

    <h1>Add Viewh1>

    <p>{{message}}p>

div>

 

Exactly like the add.html, we can create other templates for update and delete.

 

Step 6

Creating the main view: In the main view, let’s go ahead and create a menu with bootstrap and add a div with directive ng-view.

 

        <navrole="navigation"class="navbar navbar-default">

            <divclass="navbar-header">              

                <ulclass="nav navbar-nav">

                    <liclass="active"><ahref="#Show">Homea>li>

                    <li><ahref="#Add">Adda>li>

                    <li><ahref="#Update">Updatea>li>

                    <li><ahref="#Delete">Deletea>li>

                ul>

            div>

        nav>

 

         <divng-view>div>

           

        div>

 

This view will be loaded in the div, attributed with the ng-view directive. Here we have configured the URL of the menu items to the routes name configured.  Also make sure that the ng-app directive value is set to the MyApp and references to the AngularJS library and AngularJS Route libraries are added to the html.  So the Index.html header will look like this:

 

<htmlng-app="MyApp">

<head>

    <title>Professional Tutortitle>

    <linkhref="../Content/bootstrap.css"rel="stylesheet"/>

    <scriptsrc="../Scripts/angular.js">script>

    <scriptsrc="../Scripts/angular-route.js">script>

    <scriptsrc="home.js">script>

head>

<body>

 

Running the application

On running the application, we can navigate to different views by appending the route name in the base URL. Now we have a complete single-page application in which different views are loaded asynchronously.

 

 

Passing Data to the View

We may have a requirement to pass data to the view. Let’s say we are working on a detailed view of a particular product. In that case, we need to pass the id of the product to display the details of that particular product. To pass the id, we need to configure the route as shown below:

 

when('/Show/:id', {

            templateUrl: 'templates/show.html',

             controller: 'ShowController'

         }).

 

And then in the ShowController we can read the id as shown below:

 

MyApp.controller('ShowController', function ($scope,$routeParams) {

 

    $scope.ProductId = $routeParams.id;

});

 

We can pass the id while navigating to the show view as shown in the listing below:

 

<liclass="active"><ahref="#Show/45">Showa>li>

 

Navigating on the button click

We may have another requirement to navigate to a particular view then a button is clicked. The example below shows how that can be done. In short, we need to call the function changeview on the ng-click of the button to navigate to the Update view:

 

MyApp.controller('SearchController', function ($scope, $http, $location) {

 

   

    $scope.changeview = function () {

        $location.path('/Update');

    }

 

});

 

Conclusion

In this post we covered everything you need to know to work with routing, different views, and single page applications in AngularJS. I hope this post is useful, thanks for reading!

Looking for an advanced set of HTML5 & JavaScript UI controls and components? Download IgniteUI now and see what it can do for you!


Five Basic Rules for Mobile Data Visualization

$
0
0

We’re not sure whether it’s a good thing or a bad thing, but today’s mobile users are a hard crowd to please. When they begin interacting with an interface, they very quickly lose patience with anything even slightly below standard, and can have little interest in learning to use confusing or unpredictable UIs. If you’ve ever found yourself so enraged with an app you’re ready to throw your phone against the wall, you’ll understand the need for creating interfaces which are user friendly.

We see enterprise apps make the same mistakes time and again - navigation is confusing, inputs and outputs are unclear and users end up feeling alienated from the product. Common data visualization errors include:

  • inappropriate display choices
  • variety for the sake of variety
  • too much information
  • noisy patterns and colors
  • inconsistency in coding and ordering

Fortunately, there are a number of simple rules you can follow to ensure you avoid these classic mistakes.

1. Play to your audience

As with any product, it’s essential that you think about who your audience is, what they will be using your creation for, why and in what context. We’re starting from the assumption that you’re building data visualizations for the enterprise context - so concentrate on designing the app so it will be appropriate for business users. Avoid childish animations or silly typefaces - no one wants to be making a sales pitch with an app that makes them look unprofessional.

Crucial considerations include:

  • Can users access data rapidly?
  • Does it tell a tale?
  • Does it let users express information in a way which is relevant to their work?

2. Think about the way information is displayed

There are a number of principles involved in displaying data effectively and these play into the way the human eye perceives and categorizes data and patterns. Awareness of these is crucial when you build an app which displays large quantities of data. You need to think about what information users need to understand your argument, and how much detail they need to comprehend the story the data is telling. When dealing with the limited space of a smartphone screen, consider the following ‘Gestalt principles’ in particular:

  • Proximity: objects close together will be perceived as connected
  • Similarity: objects, shapes and colours which look similar will be perceived as a group
  • Enclosure and continuity: objects or items which appear to be held within some kind of container are assumed to be related

3. Consider color

The colors you use to represent data are extremely important. Check out this source for tips on colors which work together well, and follow these guidelines for using color in charts. It might at first appear simple to use color in your data visualizations; assigning a shade to a value seems straightforward. However, if you have hundreds of values you’ll also have a confusing and inexplicable graph or chart. It’s a general rule that ‘less is more’ - so try and restrict the number of colors you’re using to somewhere between three and seven at a maximum. Much more, and users will be overwhelmed by what all those shades means.

And another thing: most UX designers should remember this, but a significant minority of the population is colorblind, and struggle to tell the difference between green and red. So, never put these two colors beside one another and avoid this classic mistake in your designs!

4. Keep it simple!

Why do we have graphs, charts and infographics in the first place? No, it’s not because they look awesome, it’s because they represent large quantities of data and tell a story in a simple way which the human brain can process more easily than brute figures and enormous spreadsheets. Bearing that in mind, the last thing a chart should do is be complicated and confusing to read. Anyone should be able to look at a graph and work out what it’s trying to say (check out this source for some basic guidelines). Given the reduced space on a mobile, it’s particularly important to:

  • Keep data on the graph or chart where possible - it’s ugly and confusing to have to read a ‘key’ on the side of the screen
  • Avoid side bars
  • Let users make selections easily

5. Space

Smartphones and tablets offer awesome possibilities for users to interact with and manipulate graphs, charts and other data visualizations. At the touch of a finger, they can play with information in a way which was previously very difficult if not impossible. But remember, they’re also exploring that information on a much more limited screen size. When designing the UX for your data visualizations, it must make the best use of screen space:

  • It needs to adjust to different screen sizes
  • Consider orientation - will your charts be as clear in landscape and portrait?
  • Is it touch friendly?
  • Does it include smooth representations such as carousels?

How to cope with a lot of data and concepts which can't fit in one screen? See Tobias Komischke's webinar on building effective dashboards.

Same data, but smarter

At Infragistics, we’re well aware of the challenges involved in displaying data effectively on mobile devices. Mobile devices offer awesome opportunities for interaction and manipulation, yet pose serious challenges when it comes to visualization and display on different devices and operating systems. Developers can explore our mobile controls and discover an even smarter way of displaying data. 

Download our mobile business intelligence app, ReportPlus, to see how we approach mobile dashboard design. ReportPlus is built for all levels of BI users - anyone can pull data from their data sources and turn that into meaningful information!
ReportPlus - Your Reports on iPad

Viewing all 2377 articles
Browse latest View live