Xamarin.iOS and Xamarin.Android Support coming soon!
Posted by Andrew on 02 December 2016 04:09 PM
We are hoping to be releasing a BETA of these two control libraries at the end of the year. These will be a binding library (wrapper) around our existing iOS Charts & Android Chart controls, so you will soon be able to build applications either natively using XCode or Android Studio, or using Microsoft tools (Visual Studio, Xamarin Studio, and Visual Studio for Mac).
Read more about our mobile strategy, plus what the future holds for SciChart below:
At SciChart we made the strategic decision in January 2015 to begin to port to mobile platforms iOS & Android, because we felt that our fast, high-performance WPF charting controls were a natural fit for mobile devices where performance is required in real-time scientific or financial charting apps. It has been a long journey, but in July of 2016 we released SciChart iOS & SciChart Android v1. Since then we have released a number of minor updates, and our mobile chart controls are already being used by a number of companies to create some amazing applications with incredible performance.
However, from the first moment we announced SciChart for iOS / Android in 2015 we have had requests for Xamarin. We were reluctant at first because of the pricing of Xamarin in 2015, however, Microsoft has since acquired Xamarin and made it free to all, so there is no longer a cost barrier to use this incredible technology for developing mobile apps. As a result, we have accelerated our mobile development and Xamarin binding libraries so that we could bring SciChart to mobile as well as desktop platforms using Microsoft tooling.
Microsoft is Betting on Xamarin
Since we started working with Xamarin in April 2016, we have seen a huge amount of change in these toolsets. Microsoft is working hard to update the platforms, staying current with the latest XCode version, the latest Android SDKs and fixing bugs. We have seen so much change that we actually had to re-write our binding libraries once just to cater for them!
What we see is Microsoft is confident in the future success of Xamarin, are working very actively on it, so we are as well. We are committed to invest in this platform. What’s more, it ties in with what we already do: we already make a very successful 2D & 3D chart control on WPF.
Our Strategy in 2016-2017
We intend to BETA our 2D Chart Control libraries for Xamarin.Android and Xamarin.iOS at the end of the year, with a full release in Q1 of 2017. Our offering will include 2D Charts, and we intend to port over everything that we’re doing in WPF to the Xamarin as well as native iOS/Android platforms.
We intend to port over 3D Charts to mobile. Our WPF 3D Charting engine is mostly written in C++, and we deliberately made it cross platform so it will work on iOS & Android.
We intend to make our iOS components available for Mac Desktop (OSX) use. The change between Objective-C on iOS & Mac Desktop is minimal, so we can get an extra platform with much of the code reused. Also Xamarin.Mac allows development for Mac desktop. Bonus!
We also intend to continue to expand our WPF team – our WPF business is actually growing – not shrinking as the pundits will have you think. We continue to see a lot of life in this platform, which is if we’re honest, our first love in programming Read more »
Requirements for 3D Surface Mesh Charts
Posted by Andrew on 24 November 2016 05:47 PM
Even though the release of SciChart WPF v4.2 is barely a day old(!) we are already hard at work on v4.3, where we intend to add some new features for SciChart WPF 3D Charts as well as several 2D Chart features. We want to get some information from you, our userbase, as to what requirements are most important to you. We also need to ask you a few questions about how you would expect correct usage of the 3D Chart.
Features Planned for v4.3
We are planning the following features for v4.3 of SciChart WPF and we need your feedback on them. Some questions and explanation are found below.
SC3D-218 Contours on Meshes
We can add contours on surface plots quite easily. Something like this:
This is quite easy to do, but we would like to know from you if (a) it is important, (b) you need to be able to configure the contour colours dynamically (per contour, as opposed to one colour for all), (c) whether you have any special requirements for placing contours, or if you would like SciChart to choose and (d) any other comments or suggestions for the API as we build it.
Can you contact us if this feature is important to you? Your input into the requirements would be greatly appreciated.
SC3D-336 Support for Nulls in Surface Meshes
A number of users have asked for nulls (transparent cells) in surface meshes. This sounds easy on the surface, but it isn’t … Nevertheless we want to deliver it. We do have some questions though.
Given a surface mesh with 8×8 data values, we end up with something like this (below). The data-points are shown by orange dots. The cells are the squares next to the dots.
As you can see, cell colour is specified by interpolating the four points surrounding a cell. For example, the cell in the top right has a data-value of Y=1 so it should be red, but it isn’t, it’s yellow, because it has two other edges which are only at Y=0.5.
Now if a user wants to specify a cell as transparent, for example the cell at X=1, Z=6, them you end up with this:
Now this obviously isn’t ideal. We thought about how to solve this.
We could allow you to specify a separate texture for the mask to ‘null’ certain cells, however you will notice that there are 8×8 data-points in the mesh, but only 7×7 cells, so the texture size doesn’t actually match the data size. This would allow you to mask out certain cells but it would also give you a clunky API and raise questions of accuracy because of the mismatch of sizes.
Another way is we could change how we are drawing the cell textures. We could offset the texture so that each square in the texture surrounds the data-point, for example:
This would be a nice solution except it raises two problems.
We invite your comment/feedback on this proposed solution and whether it seems correct. It is very important to us that our scientific WPF Charts are both intuitive and accurate.
SC3D-337 Uneven Spacing of Surface Mesh Data-Points
Several users have requested that we allow uneven spacing of surface mesh data-points. However, we have a question. Which sort of spacing are you expecting, (A) or (B)?
SC3D-338 Waterfall Charts 3D
In SciChart WPF v4.3 we intend to add Waterfall Charts 3D. For clarification, we intend to create a hardware-accelerated version of our WPF Waterfall Chart Example using SciChart3D:
If we do this, we will likely bind it to our UniformGridDataSeries3D type. This means the data-source will be a 2-dimensional Double array of Y-values only. But what sort of requirements do you need for this chart type? Do you need for example:
We’re assuming you need realtime performance & being able to scroll in the Z-direction (time) …
SC3D-326 Virtualization of Large Surfaces
The current limit for the size of the 3D Surface Mesh chart is limited by the maximum texture size on your GPU, which in most cases is 4096*4096 and on some GPUs is larger, up to 16k * 16k.
Some customers have contacted us and asked for larger surface sizes, but we would just like to know how many so that we can prioritise this complex piece of work.
Those are all the questions we have about SciChart 3D Surface Mesh for now. If you are a current customer of SciChart WPF 3D, or you are considering to purchase this software, please get in contact with your feedback. It is extremely valuable that we build software that you actually want to use and meets your requirements!
Read more »
SciChart WPF v4.2 Build 9172 Released!
Posted by Andrew on 23 November 2016 09:00 AM
So those of you who have been watching our releases page will notice that SciChart iOS & Android v1.2 were released several weeks ago, but SciChart WPF is no-where to be seen!
Well, the good news is that while we have been delayed in our SciChart WPF v4.2 release, we are now ready to publish it! The delay was due to an extra round of testing & bug fixing (over and above the norm for SciChart releases) in order to make this one of the most stable and perfected releases of SciChart ever.
If you have a moment you can take a look at our Task Tracker board showing the status of the SciChart v4.2 Sprint. Our Issue Tracker was made public (read-only) a few weeks ago and you can now browse the status of sprints, tasks and bugs that you have reported.
Have a look below to see what’s coming soon.
XPS, Png Issues Fixed
In SciChart v4.2 we have literally fixed over 20 bugs related to Xps and Png export. The level of bugs in this feature was quite frankly, embarrassing, and we apologize to our users for putting them through this! In our defense, the image/XPS export feature is hugely complex, and requires us to make a perfect clone of the SciChartSurface in memory, and off-screen, for rendering to Png or XPS (Vector format) at a size other than the current chart.
This is now done and the export works beautifully. We have also explored various ways of UIAutomation testing and come up with a Visual Test Framework that compares expected vs. actual Bitmap / XPS outputs in a variety of edge cases, plus, created over 150 test cases to cover this extremely popular feature.
Improvements to SciChart3D
Some feature requests for SciChart3D have been added to SciChart WPF v4.2. These include the ability to switch from Right to Left Handed Coordinate systems, fixing issues with 3D Pointmarker Transparency and creating an example to demonstrate adding custom Cube Geometry and Text to the scene.
We have also added handling of order-independent transparency for some entities in the scene as well as the ability to create custom PointMarkers for 3D Charts.
Pie Chart and Donut Chart!
We don’t know why this chart type is so popular, but you wanted it, so we built it! We hope you like it!
Negative Logarithmic Axis
It is possible to show data points with negative values on a logarithmic scale. Use our new NegativeLogarithmicAxis for that!
Some Minor Improvements
We’ve added a SciChartSurface.ZoomState property to allow you to know if the user is zooming or not. This is used in our Tutorials to allow real-time zooming and panning alongside realtime scrolling charts.
Oh and we’ve created 9 new tutorials to help new users get started with SciChart WPF.
We’ve added a DataSeries.Tag property.
We’ve added an overload to ExportToBitmapSource(Size) so you can specify a size before exporting.
We’ve also added SeriesValueModifier.IncludeSeries and SeriesSelectionModifier.IncludeSeries properties so you can hide a series from these modifiers.
We’ve made the DataPointSelectionModifier work with more series types such as Stacked series, Band Series and Bubble Charts.
We’ve added methods to ViewportManager to allow you to ZoomExtents in a delayed fashion after updating data via Databindings.
We’ve made the RolloverModifier MouseOver Hover mode work properly with Realtime-charts.
We’ve added the properties Viewport3D.ForceStallUntilGPUIdle and Direct3D10RenderSurface.EnableForceWaitForGPU which can be used to stall DirectX rendering until GPU is idle (resolves flicker on some older hardware).
Finally, SciChartLegend.Background is bound to LegendModifier.Background by default now.
A Bazillion Bug Fixes
There are also many many bug fixes in this release, and also a lot of UIAutomation tests and unit tests have been added to reduce the chance of them creeping back in in the future. The list of bug fixes in SciChart v4.2 can be found below.
Fixes for SciChart 2D
Fixes for SciChart Export to File / XPS
Fixes for SciChart 3D:
Improvements to the Examples Application
Where to get it?!
You can get all the SciChart Releases from the www.scichart.com/downloads page. If you haven’t created an account with SciChart.com yet, please do. You will need to in order to access the downloads.
Read more »
SciChart WPF: New set of tutorials now online
Posted by Andrew on 10 November 2016 03:42 PM
If you are new to SciChart WPF, or have recently started using it, it’s well worth taking a look at our new set of tutorials for SciChart WPF!
These include the following topics:
By the end of the tutorials you should end up with a multi-chart, multi-axis chart, with realtime updates and annotations, scrollbars, zooming and panning behaviour, tooltips and legends, which looks a little like this:
If you are experienced with SciChart WPF, it’s worth having a look to give us your feedback.
Also, if you have any feedback for us about topics to include for future tutorials that would also be greatly appreciated.
Read more »
Transitionz WPF – Free library for Metro style Animation Effects
Posted by Andrew on 25 October 2016 01:27 PM
We spent a little bit of time at the weekend open-sourcing one of the libraries that we use in the SciChart WPF Examples Suite and Licensing Wizard which handles cool animation effects!
This cool little library allows you to animate Opacity, Translate Transform, or Blur.
You can do really complex things and trigger animations on loaded, on Visibility Changed or on Property Changed via bindings. We use it in the SciChart WPF Examples Suite as well as the Licensing Wizard to achieve these cool effects.
If you want to include Transitionz in your app and have cool animation effects, you can get it for free from NuGet as the SciChart.Wpf.UI.Transitionz package (licensed under Apache 2.0 – free for commercial use). Alternatively, we have also published the full source to Github.
For usage instructions please see the Transitionz-Library wiki page.
The post Transitionz WPF – Free library for Metro style Animation Effects appeared first on WPF Charts, iOS and Android Charts | SciChart.
Read more »