Tag Archives: WPF

ClientUI Reporting is Coming in 2013 R1

As announced in our roadmap here, we’re going to introduce new major lineup for Silverlight and WPF in the coming release. A standalone reporting product is something that we’ve been working intensively since the past year.  Designed from the ground-up, ClientUI reporting is a full-fledged XAML reporting engine which includes a powerful C# style scripting support for the most demanding business reports.

Our development team have put so much hard work on the new breed of reporting solution for Silverlight and WPF, so that it has the power and flexibility you need to produce great-looking reports. It will also feature blazing-fast rendering performance, great usability and superior user experiences.

In this blog post, I will share the high level overview of the reporting’s uniqueness and its key features.

XAML-based Report Engine

Creating a business report using Intersoft reporting tools is definitely easy. It will be very familiar for Silverlight/WPF developers and won’t spend too much effort to learn it as it’s completely defined using a XAML-like report metadata. Since the reporting XAML conforms to the Visual Studio specification, you get all the productivity features you loved, such as Intellisense, property value auto completion and more.

The following example illustrates a XAML report document.

<ReportDocument Name="Report1" xmlns="http://intersoft.reporting.com/schemas" ReportUnit="Centimeters">
	<ReportDocument.DataDefinitions>
        ...
	</ReportDocument.DataDefinitions>	
	<ReportDocument.Pages>	
		<ReportPage Name="Page1" PageHeight="29.7" PageWidth="21" Margin="1,1,1,1">
			<ReportPage.Components>				
				<HeaderBand Name="InvoiceHeader" LayoutBox="0,7.4,19,0.8">
					<HeaderBand.Components>
						<TextBlock LayoutBox="0,0,2.2,0.8" Text="Product ID" TextAlignment="Center"/>
					</HeaderBand.Components>
				</HeaderBand>

				<DataBand Name="InvoiceData" LayoutBox="0,9,19,0.8" ObjectDataSourceGuid="ab5ee58b31fd440aa34aaec8735abf29">
				...
				</DataBand>

				<FooterBand Name="InvoiceFooter" LayoutBox="0,10.6,19,0.8">
				...
				</FooterBand>			
			<ReportPage.Components>		
		</ReportPage>
	</ReportDocument.Pages>
	<ReportDocument.Styles>
        ...
	</ReportDocument.Styles>   
</ReportDocument>

The XAML report document introduces numerous great benefits, such as it support property value inheritance, an interesting feature introduced in Silverlight/WPF XAML, which enables child elements in report tree to obtain the value of a particular property from parent elements, inheriting the value as it was set in the nearest parent element. To make the report even more neat and simple, it also support style which can be shared by all of the elements inside the report.

Full Client Rendering. Datasource Agnostic.

Talking about a report solution, many developers are concerned about the datasource support. Does it support SQL Server? How about Oracle? And so on. Unlike many reporting solutions which are server-based reporting, it’s important to understand that our reporting solution fully runs on client-side, from the data source population to the pixel-identical report generation and rendering. This means there are literally no constraints on the datasource, so you can retrieve data from domain service, web service, WCF service, or virtually any kind of objects that can be serialized over the wire.

The independence to the server allows our reporting engine to perform many tasks by its own in the client-side. There are numerous great benefits associated to this design, such as faster and more responsive user experience in the client-side. And more importantly, the authored report document is truly self-contained, which means that a single report document is all you need to deploy for user consumption. And since the report is a XAML file, you can quickly deploy a report by uploading the file to the website – it’s that easy.

C# Style Scripting Engine

One of the key features of Intersoft report engine is the powerful scripting engine. Scripting is essential to any reporting solution, so we want to make sure that we have the best-of-breed scripting engine that is intuitive to developers and require minimal learning curves. The engine has to be dynamic enough to evaluate complex, multi-line syntax – not only a single line expression – to support the most demanding business report authoring.

I’m pleased to introduce our C# style scripting engine, the industry’s first report scripting engine that supports complex C# style statements and syntaxes. Moreover, you have access to full .NET library and classes, you can get or set a property of an object, or even create new objects – all within the report scripting. And the best of all, our script engine performs nearly as fast as the compiled runtime execution – thanks to the full DLR integration and expression binding implemented in our scripting engine.

The following example demonstrates the basic usage of the scripting.

<TextBlock Text="@[Invoice.ShipPostalCode + ' ' + Invoice.ShipCity + ' ' + Invoice.ShipCountry]"/>
<TextBlock Text="@[string.Format('{0:C2}', (Invoice.UnitPrice * Invoice.Quantity * (1-Invoice.Discount)))]"/>

In addition, the report engine also supports scripting in the report events which can be authored directly in the report document. This allows you to accomplish dynamic report authoring without requiring code compilation. The following example shows what you can do in the Printing event of a TextBlock using our C# style scripting engine.

// TextBlock_Printing(object sender, EventArgs e)
var totalAmount = Math.Ceiling([Order.Order_Details.Qty] * [Order.Order_Details.UnitPrice]);
var highestAmount = Math.Max(totalAmount, [AllOrderAmount]);

if (highestAmount > [Customer.CreditLimit])
{
	e.Text = "Over limit";
	sender.Foreground = Colors.Red;
}
else
{
	e.Text = "Good";
	sender.Foreground = Colors.Black;
}

Enterprise-Grade Report Viewer

Of course, the report document is useless without the viewer that can render it. In this release, ClientUI will ships a viewer that can render the report document. What makes it truly set apart is its unique capability in handling large report document without performance bottleneck, thanks to the bare-metal virtualization implementation. It employs the most advanced rendering technique that prevent application from being freezed when rendering a lot of report pages.

In general, report rendering can be done in two ways, which can be set easily through the LoadingMode property. By default, all of pages will be rendered when report is loaded. Then busy indicator will be shown, prevent the report viewer from being accessed, until report is completely rendered. This is the mode that implemented in most reporting solutions in the market.

Rendering whole report document when report is loaded

Freezing the report viewer while the report is being processed may sound just fine for reports with only a handful of pages. The main problem here is you may not have ideas how many pages that your report may eventually generate. It could be dozens of pages, or hundreds of pages, depending on the business data size. In this case, users will notice the significant slowness of the report generation, and worse, thinking that the application has crashed after waiting for minutes.

This is where our innovative background report generation comes to rescue. We invented very sophisticated techniques that allow the report generation to be done in the background, while updating the user interface without sacrificing performance. This makes the user interface truly responsive and thus translates to great user experiences. With this mode, users can view the report as soon as the first page is rendered, and scroll down as more pages are rendered in real-time. See the screenshot below.

Rendering report document on background

Not only displaying report from the supplied data, it’s also possible to display a report based on user input at run-time. Our ReportViewer has provide a mechanism to generate and display the parameter dialog based on the report document. It’s really not an easy task to create the parameter dialog that handle different parameter type for each report you have manually.

Displaying report document based on user input at run-time

As you can see in the figure above, the report viewer also implement the sophisticated viewing features already invented in ClientUI’s document viewer, such as printing, precise text selection, copy to clipboard, zooming, and searching. On the left panel, users can easily preview pages in a thumbnail form and navigate throughout the report pages. Actually the thumbnail will be rendered exactly same with the real page’s appearance. See the screenshot below.

Preview report pages in a thumbnail form

To navigate through the section in a report, you can browse it using bookmark feature in ReportViewer.

Navigate through the section in a report using bookmark

In addition, our ReportViewer also provides a mechanism to display a report list which can be retrieved through many ways, such as directories lookup, from XML file, and etc. It also can be easily customized to overcome some specific scenario.

Displaying the list of available report document

Modular and Extensible Architecture

ClientUI will ship the report engine with various built-in report controls, which generally used in most of line-of-business scenarios. Unlike other reporting solutions, Intersoft reporting engine is designed with highly modular pattern, instead of being bundled in a huge code base. You only need to include what you need, so you can maintain the solutions to be lightweight. Built with extensible capability, it’s also possible for you to add a custom report control to overcome your business specific scenarios.

That’s all for now. Hopefully this blog post gives you a high level overview of our upcoming reporting. On the next post, I will share more interesting features, the report designer parts, and much more. Thanks for reading, and stay tuned!

Regards,
Jack

Advertisements

DevForce 2012 Support in ClientUI for Silverlight & WPF

Since 2010, we’ve partnered with IdeaBlade to provide our customers with a comprehensive and robust solution for building highly scalable line-of-business applications. The successful integration between IdeaBlade’s DevForce and our flagship ClientUI toolset significantly improves developer’s productivity – allowing them to leverage the MVVM pattern to build beautiful interface and at the same time enjoying the client-side LINQ query capability as well as many other advanced features available in DevForce.

As DevForce 2012 is now officially released to the market, we’re committed to continue supporting the latest DevForce version and leverage its new features in our toolset.  DevForce 2012 is the sevent-generation of the DevForce n-tier architecture released by IdeaBlade. This version has supported some noteworthy features such as .NET 4.5 asynchronous programming support, Entity Framework 5 support, and Windows Store Apps support. For more details, please visit DevForce 2012 information page.

DevForce 2012 Support

The latest suite of Intersoft WebUI Studio 2012 R2 ships with DevForce 2010 (version 6.1.7.0). In the next release, we’ll include full support for DevForce 2012. However, we’ll make available the new DevForce 2012 support assemblies so you can start using them today. In this blog post, I’ll share how to implement DevForce 2012 support in your existing applications.

We provide two kind of support for DevForce 2012 which are detailed in the following sections.

Using Backward Compatibility

This solution is intended for existing DevForce 2010 .NET and Silverlight projects which uses the “operation/callback” asynchronous API.

Migrating from existing DevForce 2010 projects to DevForce 2012 are made easy by applying the following rule.

  • Add a using/Imports statement to your code file for IdeaBlade.EntityModel.Compat.
  • Add a using/Imports statement to your code file for the new Intersoft data provider of DevForce 2012, Intersoft.Client.Data.Provider.DevForce2012.
  • Add a using/Imports statement of Intersoft.Client.Data.Provider.DevForce2012.Compatibility.

With this approach, you don’t need to change a single line of code in your project, while enjoying the benefits and new features available in DevForce 2012 and Entity Framework 5. I recommend you to go with this approach if your existing application is considerably large and you prefer to do the transition in progressive fashion.

Click here to browse the sample project which was created using Intersoft ClientUI MVVM Data Application using DevForce 2010. The project was later modified by migrating the DevForce 2010 to DevForce 2012.

Using Native DevForce 2012 API

Asynchronous patterns

The Task-based Asynchronous Pattern (TAP) is based on the Task and Task<TResult> types in the System.Threading.Tasks namespace, which are used to represent arbitrary asynchronous operations. TAP is the recommended asynchronous design pattern for new development.

DevForce 2012 has implemented the use of TAP. By implementing this, we are able to use the await keyword, which makes asynchronous method calls feel synchronous when we’re writing code.

Instead of writing callback, lambda expressions, or coroutines, we now use await. Here is an example about the implementation of await.

Using lambda expression in DevForce 2010

public virtual void GetData(Action<IEnumerable> onSuccess, Action<Exception> onFail)
{
    if (Intersoft.Client.Framework.ISControl.IsInDesignModeStatic)
        return;

    var query = this.EntityQuery;

    query.ExecuteAsync(
        op =>
        {
            if (op.CompletedSuccessfully)
            {
                if (onSuccess != null)
                    onSuccess(op.Results);
            }
            else
            {
                if (onFail != null)
                {
                    op.MarkErrorAsHandled();
                    onFail(op.Error);
                }
            }
        });
}

Using await in DevForce 2012

public virtual async Task<IEnumerable> GetData()
{
    if (Intersoft.Client.Framework.ISControl.IsInDesignModeStatic)
        return null;

    var query = this.EntityQuery;

    IEnumerable results = await query.ExecuteAsync();
    return results;
}

GetData() method which previously doesn’t return anything (void) now returns Task. The lambda expression is replaced with following line of code.

IEnumerable results = await query.ExecuteAsync();
return results;

onSuccess and onFail parameters – the callback to invoke when the operation succeeded or failed – are no longer available. You handle them in the same way and manner as you wrote synchronous code, that is by wrapping them in a try-catch syntax.

We now provide a new version of DevForce data provider that supports async and await operations which conforms to DevForce 2012 native API. For example, you can now use the following code to query a list of customers from the repository.

private async void LoadCustomers()
{
    try
    {
        var customers = await this.CustomersSource.GetData();
        this.Customers = customers;
        this.IsCustomersLoaded = true;
    }
    catch (Exception ex)
    {
        this.Presenter.ShowErrorMessage(
                "An exception has occurred during data loading\n." +
                "Message: " + ex.Message +
                "Stack Trace: " + ex.StackTrace);
    }
}

Click here to browse the sample project in github which was created using Intersoft ClientUI MVVM Data Application using DevForce 2012. Note that the new DevForce support assemblies can be found in the sample project.

Definitely there are so much exciting stuff in the continuing collaboration of ClientUI and DevForce 2012. Let me know if you have any questions or feedback about the DevForce 2012 support, or how we can improve it better for you.

Warm Regards,
Yudi

Announcing Intersoft 2013 Product Roadmap

We’ve recently completed the product planning and strategy for the rest of the 2013 fiscal year. There are a lot of new exciting direction in our product lineup which is exactly what I want to share in this blog post. Many of our roadmap will be based on your feedback – thanks for participating with our 2013 product survey. If you haven’t aware with the survey, please click here to participate and let your voice be heard.

Flashing back at a glance, 2012 was such an amazing year as we delivered hundreds of new controls to various .NET development platforms. We delivered major line-of-business controls which include a high-performance tree list, a multitude of data-aware controls such as pageable combobox, multiple selection combobox, innovative query builder; Windows 8 style navigation controls as well as the industry’s first charting suite with full MVVM and data binding support. In addition, all flagship ASP.NET components have been updated to support latest browsers, and several have been redesigned to support HTML5.  As you can see, it was really one of our most aggressive releases in our release history.

As you may have aware, all our product lineup so far (until 2012 R2) are mainly based on Microsoft’s .NET technology and strongly focused on line-of-business application development for the Web and Desktop platforms which include ASP.NET, Silverlight and WPF. To the date, we’re proud to empowering hundreds of thousands developers worldwide with an indispensible toolset that enables them to build .NET based business applications easily, quickly, and rapidly.

While the web and desktop platforms will still be around in the foreseeable future, we learnt that the software development landscape and paradigm has shifted aggressively to target mobile devices. Of course, that’s not a new story as the mobile development ecosystem has existed since the advent of iPhone and Android devices. Back at those times, most apps were targeting consumers – and there are very little needs or demands in the business or enterprise spaces for mobile apps. However, based on our extensive research and development since the past year, and based on the demands from our enterprise customers, we’ve seen the light shed on the mobile world. Read on.

Enter the Mobile World

At Intersoft, our ultimate mission is to create incredibly powerful and easy-to-use tools that enable rapid business application development. From ASP.NET, Silverlight to WPF – we’ve accomplished our mission very well. This year, we will continue our development journey to the other side of the world – the mobile development world. I’m very excited to announce that the mobile tools development will now become our priority and we’re committed to deliver successful mobile tools – just as we’ve successfully delivered hundreds of ASP.NET, Silverlight and WPF tools.

Why entering the mobile development world, you might ask. There are a number of reasons why we finally decided to jump into the mobile bandwagon, but I’ll try to keep my answer simple: because it’s the future of computing. Sure, people will continue to use their PC at home (as in Gates vision “One PC at every home’s desk”), but today people no longer spent most of their time on the PC – thanks (or blame) to the powerful ARM-based mobile devices that allows you to do many productivity tasks on the go.

The same paradigm has now entered the small and medium business as well as larger enterprises. Ask yourself this question, why would you need a PC on your office desk if you can login to your corporate network and check your sales reports, signing documents, review executive dashboards and many more – all with the small mobile device in your hand? Furthermore, with low-cost and affordable mobile devices today, businesses have started to reveal the benefits and advantages of mobile over PC such as reduced TCO and maximized employees productivity. As businesses increase their interest and demands on mobile, that will mean one thing in the end: increased demands on business mobile application development

Ultimately, that will simply mean one thing to you: get yourself ready for mobile development. And to us: get ready to deliver mobile tools for rapid business apps development.

Mobile Development Challenges

As a third party .NET vendor, it makes sense to choose the easiest and closest route to enter the mobile development, and that would be definitely the Windows Phone or WinRT since both are still based on .NET platform. The main problem, however, is the relatively slow adoption rate which makes it less appealing on the business side. This is understandable because enterprises cannot control what mobile devices their employees and consumers use. Most requirements that we heard from our enterprise clients will be to support at least two of the most owned mobile devices. Needless to say, that will definitely fall to iOS and Android based devices. As we see it, one of the biggest challenges here is multiple mobile platforms support, just like multiple browsers support in the Web development.

Obviously, we all loved .NET and C# which has been our mother language for decades. And also to the Silverlight and the great MVVM pattern that allow us to layer our applications in a way that enables truly scalable and extensible architecture. As you discover the mobile development, you will find horrible platform divergences and unfortunately none of your favorite skills are applicable in these mobile native platforms, for examples, iOS uses Objective-C while Android uses Java. Alternatively, you may want to resort to HTML5 – only if your users afford mediocre and compromised user experiences.

If you’re Silverlight or WPF developers, you may feel – at a glance – reaching the bottom of your career. You might be unfamiliar with Objective-C or Java, yet you hated JavaScript. It’s a rather difficult choice – go learn Objective-C, Java and WinRT; or anxiously waiting for new clients wanting to build Silverlight apps. None of these choices sound appealing.

But wait a second, what if it’s possible to write native iOS and Android apps leveraging exactly the same .NET skillset that you already accustomed to? And takes it even further, what if you can build iOS and Android apps using your favorite Silverlight-style data binding and MVVM pattern? That would be too good to be true, you might think. If such “possibility” exists, that will not only save your careers and make your development life a lot easier, but more importantly, it opens up a whole new opportunities to explore and a lot of potential business apps that you can contribute for the world.

Frankly speaking, we’ve been extensively researching to look for that “possibility” in the past years. We were silent and seemingly have no progress whatsoever when it comes to mobile. That’s because we want to ensure everything before we gave you that shed of light, the news of the existence of that “possibility”. We’re almost there, read on.

Introducing Crosslight

So here we are. I’m honored to be the first to announce our mobile tool project codename “Crosslight”. Yup, Crosslight. As if it’s the reborn of Silverlight, Crosslight enables you to use the same Silverlight and MVVM skillset to create cross-platform mobile applications. And so that’s how the name was coined. I tend to think the philosophy this way “The light to the cross-platform mobile development”.

If you’ve developed MVVM-based Silverlight apps using our ClientUI library, you’ll find pretty much the same thing in Crosslight. You’ll find delegate command, event aggregator, IoC container, and everything you loved about MVVM such as ViewModel, and converter. So far, we’ve managed to revive many of the data binding capabilities found in Silverlight such as two-way data binding, converter, nested property path binding, collection binding, item templating and more – and we have recreated all those capabilities to both iOS and Android platforms.

At the end, you’ll be able to create business apps that are not only targeting iOS and Android, but also targeting Windows Phone 8 and WinRT. I hope you’ve got it clear at this point, Crosslight is all about modern mobile development, from iOS, Android, to Windows Phone 8 and WinRT. Along the way, we will be also introducing our new technology partner who provides non Microsoft implementation of .NET that makes Crosslight a reality. Stay tuned for the upcoming announcement.

We believe that the best and the right direction for the mobile development is to build mobile apps using the native SDK of each platform – instead of hybrid HTML5 apps. Now that you can build amazing mobile apps with C# and MVVM, there are no reasons for not building one with native SDK which offers the best, uncompromised user experiences.

Soon – hopefully before the end of March – you’ll be able to beta testing Crosslight and start building your first cross-platform, MVVM-based mobile business apps.

Silverlight, WPF, ASP.NET and HTML5

Now that we’re going to have Crosslight, what’s going to happen to Silverlight and the rest of .NET platforms? Needless to worry, we’re highly committed to the existing platforms who make the most of our customer base. We will continue to make new best-of-breed components for Silverlight and WPF – particularly the new Reporting lineup which has been in development since last year. This reporting lineup is huge and noteworthy – because we’ll bring in new technologies that weren’t possible previously. That’s mainly because most reporting players in the market didn’t build their Silverlight/WPF reporting product from the scratch, but simply porting from .NET 2.x based which used old and outdated techniques.

On the ASP.NET lineup, this year we will have major upgrades to all our ASP.NET components. And when we say “all”, we really mean it. This simply means that all ASP.NET components will be redesigned to support HTML5 and CSS3, including WebEssentials, WebInput, and WebTreeView. Also expect new version of WebScheduler with improved day light saving and time zone support, as well as new version of WebTextEditor with IE10 support and much more.

Wrapping up

At this point, you can see for yourself that 2013 is going to be a very exciting year for all of us. The new Crosslight, and new tools across Silverlight, WPF and ASP.NET will keep us busy enough throughout the year. In the upcoming 2013 R1 release, we will be the first vendor to offer toolset with the broadest platforms support– ASP.NET, Silverlight, WPF, iOS, Android, Windows Phone and WinRT.

This is probably the longest product roadmap blog that I’ve ever wrote so far. But I hope you enjoy reading and learning our roadmap, and hopefully it gives you insights about our direction, where we will spend our time and effort the most, and what you will receive as part of your on-going annual subscriptions. So the next thing that you should do is checking your account and make sure your Premier subscriptions are up-to-date for the rest of the year.

To find out more details about our 2013 roadmap, please logon to Intersoft Developer Network using your Intersoft ID to read the complete details about the upcoming products as well as the release schedules. After logged on, bring up the Home window, then click on the link in the Announcement section to open the product roadmap window.

For prospect customers who are interested in our 2013 roadmap, please send your email to sales@intersoftpt.com to request a copy. We’ll send you a copy of NDA to be signed in order to receive the roadmap details.

Best,
Jimmy

Create Drill Down Chart with UXChart

Quite often, you will need to allow your user to drill-down data from yearly data to monthly or from categories to individual items. Now it’s very easy with our new concept which gives you freedom to create unlimited levels of drill-down charts from a single data source in minutes.

In this blog post, I want to show an example of drilling down chart data, i.e. to display master-detail data in the same chart, by clicking a point of the first series will let another series shown, which represents detailed data related to the selected point. This is critical for creating interesting and fun charts to interact with. This blog entry includes basic knowledge of what you can do with our chart right out of the box. See the following screenshot for the drilling down chart that we want to create.

Drill down chart

To get started, we use the Child properties in UXChart to specify which chart that we want to display as detail of origin chart. Specifically, all charting collections must be defined in View in a first place. On first load, you are allowed to display one chart only, and the others’ visibility must be set to collapse. See the code below:

<dataVisualisation:UXChart x:Name="Chart1" Visibility="Visible" Child="{Binding ElementName=Chart2}"
                        DrillDownCommand="{Binding DrillDownCommand}">
</dataVisualisation:UXChart>

<dataVisualisation:UXChart x:Name="Chart2" Visibility="Collapsed"  >
</dataVisualisation:UXChart>

Next, we need to hook our custom command to control the drilldown action, we called it DrillDownCommand.

  public DelegateCommand DrillDownCommand { get; set; }

And then we assign DrillDownCommand to some execute the method in our ViewModel.

 this.DrillDownCommand = new DelegateCommand(ExecuteDrillDown); 

In the execute method, we can initialize the data from the data source and retrieve detail information about the chart itself.

    
private void ExecuteDrillDown(object parameter)
{
   UXChartDrillDownCommandArgs args = parameter as UXChartDrillDownCommandArgs;

   if (args.Level == 1)
   {
     Data parent = args.DataPointContext as Data;
     if (parent != null)
     {
       InitializeDataByArea(parent.Area);
     }
   }
}

In conclusion, with simple implementation, we already make drill down function very simple and effortless. Now feel free to try and make your very own drill down chart. There’s unlimited level that you can figure out and explore.

For more information about our ClientUI control in Silverlight & WPF, please refer to the online documentation. You can download our sample here. Feel free to drop us any questions or feedback.

Till we meet again.

Cheers,
Yanes

WebUI Studio 2012 R2 Installer Refresh

Today, we have posted an update to the WebUI Studio 2012 R2 installer which addressed a few glitches related to samples and installation. In addition, the installer “refresh” also includes newer product builds across ASP.NET, Silverlight and WPF tools for enhanced cross-platform compatibility and improved reliability. It’s highly recommended to install WebUI Studio 2012 R2 using the latest installer which you can download here.

The installer “refresh” includes numerous updates that are focused around the new technical samples for Silverlight and WPF. In case you didn’t aware, we now include comprehensive technical samples starting from this release. The difference with the live samples is that technical samples are strongly focused on the product features – and there are no fancy stuff such as decorator graphics or complex styling – so you can quickly and easily discover the “how-to” and knowledge to implement a particular feature of the new products.

If you haven’t seen the technical samples yet, now is a good time to take a look at it. It’s installed by default, and can be found in the Intersoft WebUI Studio program group under the respective platform group. In this release, the technical samples include over 150 samples for charting and 40 samples for the other new products such as Query Builder, Property Grid and BreadCrumb.

Each feature of the new product is covered in each separate sample, making it easy for you to learn the context of a particular feature. With simple interface and intuitive navigation, getting around with the samples is easy and fast – you should try it for yourself.

ClientUI Technical Samples (Silverlight)

Note that the technical samples is available in both Silverlight and WPF platform with the same codebase. The WPF samples demonstrate that the same features available in Silverlight are also working flawlessly in WPF – from the basic features to the animation and user experiences. Here’s the screenshot for the technical samples in WPF.

ClientUI Technical Samples (WPF)

Again, the technical samples is installed by default when you install WebUI Studio for Silverlight and WPF, so there’s no additional download needed. It can be found in the Intersoft WebUI Studio program group under the respective platform group.

I hope you enjoyed the comprehensive learning resources we added in this release. Any questions or feedback are highly welcomed. Thank you for reading!

ClientUI 8 Goes RTM with Redesigned Live Samples

Finally, the wait is over! The new WebUI Studio 2012 R2 release is here with tons of new exciting tools and templates that will surely boost up your development productivity. Despite of the slight delay, I trust the new release worth the wait. First off, we don’t just release new controls to add to your toolbox, we also ship a number of new templates to help you quickly getting started with your projects. Furthermore, we’ve added over 175 new technical samples and over 75 new reference samples – all with brand-new look and feel and completely redesigned user experiences. With these inspiring samples, we wanted to help you unleash your big ideas and creativity and take them to the next level.

Alright, before we gone too far, here are some important links that you’ll need for this new release.

All-new, Completely Redesigned Live Samples.

In addition to many new controls we shipped in this release, we’re pleased to announce the all-new ClientUI live samples with completely redesigned user interface. It’s now featuring larger screen real estate, clean and modern design that allows one to focus better on content, and more intuitive navigation. And for the first time since its first debut 4 years ago, all controls now perform 70% faster than before – thanks to the continuous performance tuning and memory usage optimization.

More importantly, the new live samples puts some of the new R2 controls in action, so you can see how they can be leveraged in your own apps. I’m particularly referring to the new breadcrumb navigation control which completely redefines the overall navigation experiences. Combining hybrid address bar and menu functionality into an elegant user interface, you can now perform navigation in a simple “point-and-click” manner. Let’s take a look at the overview of the redesigned live samples below.

Introducing the all-new ClientUI live samples

And because we loved this intuitive navigation control so much, we decided to release it as a standalone reusable control to our valued customers. Feel free to unleash your big ideas and make it work your own way. Desktop application developers may rejoice! The navigation control is also available in WPF version, so you can be the first to build Windows 8 Explorer style business applications! We also shipped a WPF project template that leverages this versatile navigation control. More on that later.

In addition to the intuitive navigation, you can notice a whole new user experience that our designer team have put into this new live samples, for instances, it sports the improved CoverFlow with realistic depth shadow, better coverage on What’s New and Featured section – thanks to the fluid design allowing you to see more items in larger screen and adapts to reduced items in smaller screen.

Fluid design and improved CoverFlow

And now to the core part, the entire sample canvas has been revamped as well. Unnecessary toolbars and buttons are gone, fancy gradients are wiped out, options and other navigation elements are centralized to a collapsible pane. Embracing on the modern design, it’s now possible for us to create beautiful, full-screen user experience. See the following screenshot for details.

Experience beautiful, full-screen samples.

Enough said, visit the new ClientUI live samples now and experience it for yourself.

In this blog post, I only scratched the surface of the new exciting stuff that we delivered in this release. We’re fully passionate about design and user experiences that balance very well with functionality – and we carefully put that into the engineering process. That said, you can find that all our controls are engineered with thoughtful user experiences, in addition to the rich features and functionalities of course – that’s what sets us apart from other products in the market.

Last but not least, enjoy WebUI Studio 2012 R2! Hopefully this release comes just in time, so you can play around it now and make some planning for your big ideas in the next year. Again, here’s the link to download in case you haven’t done so, and make sure you check out the complete what’s new list here.

All the best,
Jimmy

Coming in 2012 R2: Intersoft-designed Charts, Powerful Query Builder, Modern UI Themes, and much more

It’s really been a busy month for everyone in the DevDiv at Intersoft as we’re heading toward R2 release. As we haven’t post any new updates recently, you might have been wondering what we’re up to. Thankfully, you’ve just tuned in at the right time because I have some very exciting updates to share in this blog post.

For a decade, we’ve been doing what we do best – creating user interface components that are beautiful inside and out where amazing user experiences meet powerful functionality. And today, we’ve made some of the world’s best tools that help developers build amazing applications ahead of time. But we don’t stop here. In the upcoming release, you’ll find a handful of new exciting tools that do what it does best, so you can stay focused on your business requirements and things that matter the most to you.

The upcoming R2 release is an exceptionally important milestone for us and our valued customers. After nearly a year of intensive development iterations, we’re pleased to say that we’ve recently reaching the stable sprints and will deliver two of the most wanted products in this release.

For the first time ever, say hello to Intersoft’s own charting data visualization suite which will target a broad range of platforms. And business developers may rejoice! A full-fledged XAML reporting engine is coming your way which includes a powerful C# style scripting support for the most demanding business reports. Read on.

Gorgeous charts. Uncompromised performance.

Written from the ground up, Intersoft Charting delivers everything you need to create beautiful charts for your business apps, plus dozens of innovative features not available elsewhere.

We started off our engineering by creating  an advanced canvas that provides reliable support for interactivity features such as zooming, panning, and box selection. We took the zooming capability to the next level by supporting horizontal, vertical, or both directions. And together with smooth panning, resizing with aspect ratio locking and region zoom, Intersoft Charting is built for touch-first user experiences in mind.

Intersoft Chart takes user experience to a whole new level

Furthermore, Intersoft Charting employs the most advanced rendering technique that puts data points and lines in the most accurate device pixel in your screen. This translates to crystal clear results, and no more blurry lines!

Intersoft Chart delivers pixel-perfect, gorgeous data visualization

Designed by Intersoft’s own artists, the brand new charting will offer four predefined color schemes and styles that you can choose with a simple property set. Whether you prefer vivid colors, natural colors, or Metro colors, there’s a palette for that. Or if you prefer to use your own palettes, feel free to define as many custom palettes as you like and reuse them throughout the chart instances.

Intersoft Designed Palettes

With numerous great features such as smart axis intervals, MVVM support for series binding, linked charts, and over 20+ stunning chart types; we’re confident that Intersoft Charting will deliver an ultimate, enterprise-grade data visualization solution for all your application development needs. More details on Charting will be posted in a separate post by our engineers.

Build Complex Query Visually

Business users have been long asking for the flexibility to edit queries/filters at runtime, but very few provide such functionality in the market. One of the reasons is the design challenges that require extensive research on the user experiences to make it work beautifully. I’m excited to introduce our newest data-aware control lineups: UXQueryBuilder.

Query Builder is an advanced data filtering control that allows users to visually build complex queries/filters. Take a look at the Query Builder’s control design below.

QueryBuilder Design Overview

It’s designed in such a way that allows users to interact with complex nested conditions through an intuitive, modern user interface. When a nested filter is added, the control automatically creates a visual branch. It’s also packed with numerous built-in subtle animations to deliver smooth user experiences, such as when a condition is added or removed, and when a single condition is converted to a composite condition.

More importantly, the Query Builder works seamlessly with all ClientUI data controls that are built upon QueryDescriptor framework. This means that you can connect the Query Builder to a Grid View in a simple property set. And you’ll find that things just work – adding a new filter condition and see the Grid’s data will be filtered accordingly.

One of the engineering excellences we put on this control is the capability to support Entity Framework’s navigation properties out of the box – you gotta love this feature! So whenever the Query Builder finds navigation properties in your object, it will list them to the available properties which users can use as the filter condition without extra efforts at developer’s end. Of course, you can exclude certain navigation properties if desired.

Built-in Navigation Properties Support

And in most cases, your data model might include master-detail relations, think of Product  table that has CategoryID field. It won’t make sense for users to remember the ID to be able to filter a category – I trust you’ll agree with me on that! Thankfully, we built a feature that lets you pre-populate the master data when the control requires it. We make it as simple as possible so that you only have to define an attribute to your model and specify the class that will handle the data retrieval, either synchronously or asynchronously.

Pre-populate details lookup asynchronously

Modern UI Themes and Design Templates

All the buzzes and hypes are on Windows 8 as Microsoft launched its latest operating system last week. Although the new UI looks cool and modern at a glance, it could be very challenging in the design process. Without thoughtful design, you may eventually end up with too-plain, boring colorful boxes. I’ve started to find such apps in the Windows Store which exhibits lower apps quality and leads to poor user experiences.

The good news is that we’ll be coming up with very exciting and fresh design themes that comply with the Windows 8 Modern UI. We decided to include the new themes in this upcoming release, thanks to your vote up. Every control is redesigned meticulously – pixel by pixel, color by color, and shape by shape – to create look and feel that are fresh and modern. The result is a balanced combination of design that embraces modern lines but still look great on eyes.

Intersoft Designed Modern UI Themes

But we don’t just create themes, we took it to a whole new level where the entire design is connected to a set of accent colors that you can personalize, thanks to the brand-new theme manager. We designed the templates from the bottom up in order to achieve a kind of design that looks great in both light and dark theme, on the top of the customizable color theme. Every design aspects, from the font family, size, vector-based icons and colors are all thoughtfully connected to achieve such beautiful results.

It’s such an excellent engineering process that combines great architecture and beautiful design that makes it possible for the theme color to change instantly without performance degradation no matter how complex your content is. There are no visual tree tracing, no dependencies on certain structures or classes, and definitely no heavy-lifting such as scanning all the controls within the page.

Theme-aware design lets users personalize application and color theme

And the best of all, our design team will come up with a few stunning project templates that you can use instantly to create your next-generation, modern-style business apps in both Silverlight and WPF platforms.

And more…

In this blog post, I’ve only scratched the surface of what we’ll come up with in the upcoming release. There are much more new exciting lineups that I couldn’t cover in this single post. In conclusion, this release will be a very important milestone for us and our customers, particularly as we’re entering two huge market segments at once.

Finally, I hope you liked what you see so far. And if you’ve got questions or feedback, make sure you write them down in the comment box below. Thanks for reading, and stay tuned for my next post!

All the best,
Jimmy