Your Technical Product is for Real Users, So Make it Personal

By | Customer Success, Izenda Reports, Tips

Those of us who develop and sell software are often tripped up by our own product: we live in a world of technical terms inexplicable to our end users. That’s where we lose them, sometimes from the very first interface we demonstrate. By finding a way to make aย visceralย connection to their needs, and by presenting them something that is simple and relevant, we can sidestep much of the communication failures in the process.

The initial impression is crucial.ย If a potential client sees a product that does not appear to match the skills and computing systems his end users are familiar with, you’ve lost from the first discussion. Engaging them from the start requires a few key adjustments to your approach.

Tell a Story

Give yourย productย a personal side. This might sound silly, as you have a very technical piece of technology to provide. But that all the more reason for finding the emotional connection. What personal problem is this going to solve in the lives of end users? Evaluate what you currently lead with. Make the first piece of material they see a lot simpler.

Looking for examples of successful product stories? Check out our case studies of Izenda clients.

The client has real problems — compliance issues, fraud — that affect their professional and personal existence. Connecting to this feeling before you get too detailed, too technical, is often very effective. If the potential user can connect your product to the actual business problem they need solved, you’ve told a story that relates directly to them. Even with very technical, sophisticated buyers, having a simpler, emotional lead-in just always works better. Then you support it with data, and architectural diagrams, and all your powerhouse material.

Tell a story by:

  • Building nicer dashboards; make them clean and interactive
  • Having something a user can consume right away and play with. You want them thinking, “I just created this thing, that was simple and cool.”
  • Avoiding leading with features and functionality — it’s dated and increasingly less effective

Cloud Appeal: Have It

As computing evolves, so too is the way people interact with their devices. Touch devices and cloud services have changed what users want in their products. This has also affected what the modern enterpriseย audienceย wants to consume. In our own experience, we’ve gained valuable insight towards striking the right balance, through a thoughtful examination of the what has already worked best in the market. There are already search functions on smartphones that the average user is familiar with, so give them a similar option in your platform. At every level, think about the simplest way to operate, and how you can provide that to end users.

Provide Concrete Examples

You can talk about your product and its features all day, but it doesn’t hold a candle to a well-executed, concrete example of their data illustrated to them in new ways via your platform. Help the client to visualize what it will actually look like for them, and you’ve crossed the line from theoretical to actual benefit. Concrete examples are far more relevant to time-strapped buyers trying to improve their business decisions and operations than a list of hypothetical features. Find a way to sample some of their own material in a real environment. If no one else is doing this, it will prove a major advantage.

Start and Finish with Simplicity

Just because a potential client is a sophisticated institution, does not mean they don’t want simple, easy solutions. In fact, the more complex the organization, the moreย simplicityย they are seeking. Doctors and scientists at the Centers for Disease Control in Atlanta, GA, are deeply involved in their industry, and don’t have the time or desire to learn an enormous, new product. The same goes for other advanced industries: they just want something simple that provides effective results. They want something users can understand without a technical background and without the need to time-consuming training.

Considering a cloud environment, illustrating your product withย concreteย examples inย practice, and connecting to the human side of technology are essential steps towards reaching and pleasing the end user. The goal is never confusion, frustration, or bewilderment. At the heart of technology, we are responding to real human problems. And so in everything you create, show the world that power and simplicity can workย together.

Say: “This is going to make your life easier.” Then make sure it really does.

The BI Implications of Highly Customizable Data

By | BI Innovation, Big Data, Tips

As seen onย TDWI.org

Although storage prices are dropping, you must still consider how your customized data set will work for self-service or ad hoc reporting, especially in a real-time environment.

Modern DBMS systems were designed in an era where someone was in charge of all data structures. A DBA, or sometimes a small committee of them, dictated what could be stored and how it should be structured.

At the time, data storage was unbelievably expensive by today’s standards. Imagine oil beingย $10,000 a barrel, and consider how carefully it might be controlled and utilized. In a world where billion-dollar companies could not even store as much data as you have on your cell phone, relational data structures represented efficient ways to store various types of data such as strings, dates and numbers in a structured way that enabled quick look-up through indexing.

Read More

Windows Azure: A Top Contender in Cloud Platforms

By | Microsoft, Tips

Izenda was one of the first companies to deploy applications on Azure as part of the Azure incubation week in 2009. At the time, Platform as a Service (PaaS) was the only option. This limited the customers who were willing to have their data and applications on Microsoft cloud to smaller businesses. With the addition of Infrastructure as a Service (IaaS), you can quickly and easily create virtual machines and give customers direct access if needed for security and compliance reasons. Once this became available, there was no reason not to move everything at Izenda to Microsoft’s cloud. Between IaaS, Skype and SkyDrive, we are running out of legacy on-premise infrastructure.

It makes us wonder if we will even need a server room or data center in 2013.

This article featured on ZDNet summarizes the latest release of Windows Azure and why it has become a serious contender for the top spot in cloud platforms.

Microsoft Unveils a Superset of JavaScript Called TypeScript

By | IT and Engineering, Microsoft, Tips

At Izenda, we see many organizations shift fromย ASP.NETย and MVC to use pure JavaScript for their front end. The advantage is,ย the database developer can focus on creating a secure and scalable backend, while HTML designers can craft a slick UI.ย  We are focused on HTML5 being the front-technology for future versions of our ad-hoc reporting productsย while retaining a .NET backend that integrates with RESTful services. In this video,ย Anders Hejlsber, a developer at Microsoft, demonstrates a superset of JavaScriptย called TypeScript,ย which is designed to overcome the limits of JavaScript.

Creating the All-important Status Percent Field

By | For Developers, Tips

Most transactional systems have some kind of status field which is crucial to business operations and must be analyzed in a real-time manner. Here are some examples of transactional systems:

  • Sales Orders
  • Work Orders
  • Ticket Status
  • Technical Stock Analysis
  • Caseย Management
  • Leadย Management

Executives often need comparative, relative or time-series data analysis in order to improve operations. They need to be able to drill into these figures in order to test a hypothesis or hunch about where inefficiency may lie. In a sales scenario, you’d want to know a close ratio. In support, we’d like to know how many tickets are open. Inย marketing, we’d be curious about which lead sources are delivering the highest percentage of qualified prospects.

Read More

Multi-Tenant Report Scheduling

By | Tips

Editor’s Note:

A correction has been made to this blog regarding Simple Owner Security to state “if AdHocContext.SchedulerExecuting is true.”

Users today expect reports to be delivered to their inboxes while developers must ensure that those reports apply the same security as on the web. Izenda provides a few different mechanisms to support secure scheduling.

Simple Owner Security

The most basic email security applies the report owner’s security. To implement this, add code to your AdHocConfig.PreExecuteReportSet() that looks at the Report.Owner and uses that to apply hidden filters if AdHocContext.SchedulerExecuting is true. With smartphones and mobile devices now able to render rich HTML, embedding reports into email is one of the most common use cases.

Read More

How to Post Process Data in Izenda

By | Tips

There’s a difference between the best way to store certain values in a database and the best way to report those values out to the people in your company. With Izenda you can perform post-processing of data objects for encryption, logging, localization or whatever you want. For example, replace “CA” with “California” or replace encrypted data values with decrypted information.

To use the post-processor you should override only one method in CustomAdHocConfig class which is normally found in the Global.asax file.

[csharp] public class CustomAdHocConfig : DatabaseAdHocConfig { public override void ProcessDataSet(DataSet ds, string reportPart) { // Put your code here } } [/csharp]

The “ds” parameter in this method is data retrieved from the database represented by standard System.Data.DataSet class; reportPart is a name of a report in the report set (for example, the name for the grid-represented report is “Detail” and name for the chart report is “Chart”). Now you can manipulate data and all your changes will effect the final results.

For example, we want to rename “CA” state code to “California” but only in the results grid. Without any post-processing we have the following report:

Pie chart and graph after postprocess code

Now let’s add some extra code to the CustomAdHocConfig class:

csharp] public override void ProcessDataSet(DataSet ds, string reportPart) { // We want to alter only "Detail" part of the report set if (reportPart == "Detail") { if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { // Iterate through columns to find column with name "Ship Region" for (int index = 0; index < ds.Tables[0].Columns.Count; index ) if (ds.Tables[0].Columns[index].ColumnName == "Ship Region") { foreach (DataRow row in ds.Tables[0].Rows) if (row[index].ToString() == "CA") row[index] = "California"; // There can be only one column with specific name, // so we can leave the cycle as soon as we find it break; } } } } [/csharp]

And after implementing post-processing the result will be:

pie chart and graph after postprocess code has been executed

As you can see “CA” was replaced by “California” in the grid but it is still “CA” in the chart. Using this approach, you can change significantly improve your reports.

Adding Custom Charts to Izenda

By | Izenda Reports, Tips

We often get asked how many different types of charts we support. While there are about a hundred variations we support out of the box, our underlying Dundas API can generate pretty much any chart style or type imaginable.ย  If you’d like us to create a custom chart for you, just send us a picture of what it should look like.

Supporting additional chart types involves adding UI elements to the chart tab and applying the behavior via the CustomizeChart() method.ย  In this article we will add an average line to our plot chart.

Read More