ActiveAnalysis: Automatic Encoding

The first new feature I’d like to talk about in ActiveAnalysis is a rather simple one to understand.  Automatic Encoding uses a set of rules to determine the best encoding type to use to analyze your data based on the way attributes and measures are arranged on the shelves.

Looking at Date based data on the column shelf and place a measure on the row shelf?  We’ll automatically use the line encoding.  Not using dates in a similar situation?  We’ll use the bar encoding.

This feature makes it easy for users to concentrate on the data they are looking for answers about and not worry about changing the encoding settings to match the new layout.

Posted in General | Tagged , , , | Leave a comment

Froyo is good!

Late this evening I rooted my phone and installed the latest leaked build of Android 2.2 “Froyo”.

So far, it’s been awesome. They’ve addressed some issues I’ve had with the mail and calendar apps for a while.

Both deal with using multiple google accounts.

In the gmail app, it took longer than it should have to switch between the mailboxes for both accounts. Sure, I got good at it, but I can’t the number of times muscle memory had me hitting the wrong menu items because I was reading an email instead of looking at the list. Now there is a simple button on the mail interface that will allow to quickly change the account you are looking at.

The calendar app now supports syncing to multiple google calendars, so I no longer have to keep entering my work related items on my personal calendar. Yay!

As I use it more and more I’ve discovered other hidden and not so hidden features as well, the search bar now let’s you select a category to search in, or it can still search through everything like it did before.

The redesigned dock is nice, however I like the dock in LauncherPro better, because I could customize the buttons. I didn’t have a problem swiping to switch screens and I’d like to reclaim the two buttons taken up by the screen switchers.

Posted in General | Tagged , | Leave a comment

GrapeCity ActiveAnalysis Beta

Earlier today, I unveiled the beta for the next version of Data Dynamics Analysis, now named GrapeCity ActiveAnalysis.

In the coming days and weeks I’ll be making several posts here to highlight some of the features in the new version and we’ll also be making some new betas of the product available before we go to the final version.

Some of the items I’ll talk about in the near future:

  • Silverlight control
  • Excel export
  • Continuous Attributes
Posted in General | Tagged , , , , | Leave a comment

DDR Maintenance Release

I recently posted a new maintenance build of Data Dynamics Reports to the site.  This build fixes some important issues that affect users of the ASP.NET web control, where the ASP.NET worker process could die if an exception was thrown while processing a report.

Due to the sensitive nature of the information contained within exceptions we will be adding a new event to the control to allow developers a chance to log the error and/or change the message to be displayed to the user.

Posted in General | Tagged , , | Leave a comment

Holding meetings with Google Wave, my experience

Last night was the first team meeting for <redacted>.  In addition to discussing <redacted>, we also held the meeting over a new medium…Google Wave.  Our product team is spread out across the world.

I haven’t talked with all of the team yet, however my experience was a mixed bag.  The meeting started off well, despite the fact that I was leading it.  I set out a few objectives and tried to put in place a little bit of structure so that we’d all follow the same strategy for discussion during the meeting.

So GWave is a bit unstructured; I’ll try to bring us a little bit of order. My idea is that we’ll use one blip for each item in the agenda and add replies to that as needed. The blip in the end will then be updated to contain what has been decided for that item.

For example; when we discuss team capacity it will be posed in a blip and everyone replies to that. At the end we’ll update the blip that posed the question with the result.

I think my strategy was sound, however it didn’t take long for the Wave UI to get in the way of proceeding orderly through the meeting.  Making an indented reply to a blip was done most of the time early on, but later it degenerated to a long thread without the benefits of indents to indicate replies.  This is largely due to the default behavior of clicking at the end of a thread will continue it, unless the thread is followed by another blip in which case it then defaults to an indented reply.  Since we progressed down the page from one topic to the next some of our later replies were new blips.

The other flaw with it was in knowing when others had edited or added replies to previous blips.  By the end of the meeting I was scrolling up and down the document enough that it was causing some connection issues with Wave.  One of my developers suggested that they could add markers to the scroll bar area to indicate when changes have been made, that would be an awesome feature for both live sessions like ours as well as more casual waves.  I find it is very difficult to find the edits on a large wave.

I’m not completely discounting Wave yet.  This meeting was really an odd one for us.  Typically our product planning meetings involve the team looking at specific cases to estimate and discuss them.  Last night’s meeting was largely discussion with 5 agenda items (and about 130 replies total).  I suspect a typical meeting will be easier to follow as it would be more focused.

Posted in General | Tagged , | Leave a comment

GrapeCity components updated to support VS2010

Yeah, no quirky titles on this post; I mean business this time.

Today, we have finally released updates to our current products to support Visual Studio 2010 and .NET Framework 4.0.

Congrats to all of the product teams, and thanks for your work.

Posted in General | Tagged , , , , | Leave a comment

Wherefore art thou, VS2010 support?

So the big day for .NET developers hit this past Monday with the release of Visual Studio 2010, .NET Framework 4.0, ASP.NET MVC 2.0, and on Thursday, Silverlight 4.0.

The teams here at GrapeCity are working hard to release builds to support the new platform.

The Spread teams have already released the update to Spread 5 to add support for VS2010, you can log in to the update center to download the update now!  Spread for ASP.NET is already compatible with .NET 4.0 and VS2010 so if you have the latest release it will work.

The ActiveReports, Data Dynamics Analysis, and Data Dynamics Reports teams will be releasing updates to their products on April 19th (this coming Monday!).

Preparing for VS2010 has been fun, but I’m ready to get the updates released.

Posted in General | Tagged , , , , , | Leave a comment

How to export to CSV from Data Dynamics Reports

My colleague, Sergey, has written up a blog post that describes how you can use the XML rendering extension to create CSV output.  It is well written and easy to see how to apply the ideas in it to your own reports.

Posted in General | Tagged , , , | Leave a comment

Pull!

Earlier this evening I pushed out the latest maintenance release of Data Dynamics Reports, 1.6.1818.8.

This release allows developers to hide the “Exit” menu item from the end user designer control.  Normally our stance has been that if developers want to customize the menus they need to do that on their own.  However, I realized that this Exit command doesn’t make sense in most applications and so we’ve given developers the ability to hide it.

In addition to the one new feature there are also a handful of fixes, including fixes to some memory leaks with the ReportPreview control that could plague certain kinds of applications.

Visual Studio 2010 support is not in this build.  We will be making a build available which supports VS2010 on April 19th.  This new build will be a new mainline build and not a maintenance build.

Posted in General | Leave a comment

Hey look, its a new Data Dynamics Reports release!

Its been too long since I’ve said that.

Earlier today I posted the latest build of Data Dynamics Reports, 1.6.1818.0.  This release has been in the making for some time now, and the release notes reflect that.  There were over 450 cases resolved since the last mainline release.  By the time I cut out the house keeping tasks and items that didn’t need separate release notes we are down to 199 features implemented and issues fixed in this build.

Let’s take a quick look at some of the new features!

Custom Data Provider UI

The new Custom Data Provider UI allows developers that need to create their own data providers a way of making it easier for users to interact with the provider through the use of a custom UI.

The sample displayed to the left is the one supplied with the product under the API\CustomDataProvider directory.  The custom provider itself is fairly simple; it looks at a specially formatted CSV file and allows it to be used as a data source.

The custom UI gives users the ability to select that file with the UI rather than having to generate the query string themselves.  In this case the query string is the contents of the CSV which would make creating it manually a difficult proposition.

The UI uses the standard UITypeEditor like you would find in any moderately complex object that exists in a property grid.

Image Designer Enhancements

The image report item has had a couple of small but useful enhancements added to it.  When the image value is bound to a field — or some other expression that can’t be evaluated at design time — the control would display an empty image with a small placeholder graphic.  Now the image report item will display the expression it is bound to, as well as the source that image will be coming from.

The second new feature works with the existing schema support in a dataset so that we know what data type a field is and can make intelligent decisions about what to do with it in certain cases.  For example if we know a field contains a number, then we can apply the Sum aggregate on it by default, where as if it is a Date or String we will apply the First aggregate.

We’ve taken that concept one step further, and now support fields containing a byte array.  Dragging this type of field to the report surface will create an Image report item that is bound to the field. The field selector menu will also display fields that are known to be byte arrays as well as string values to make it easier to bind an existing image report item to a field.

Automatic Uninstall of Older Versions (kinda)

Maybe its because I install a lot of builds of the product, but this issue has bugged me for ages now…so much so that we switched our setup authoring tools to implement it*.

The setup authoring tool we used in the past had this weird bug where .NET 2.0 assemblies were not removed from the GAC on uninstall.  To work around this issue we wrote an app that calls into the underlying Fusion API to do the adding and removing for us.  However, another issue with the tool is that the way things were implemented, only the commands that translated into standard MSI behavior would get executed on an ‘automatic’ uninstall.  If the uninstall was done via the regular uninstall UI all of our calls to the application would run.  So for a while now, the work around has been to detect a previous version and if one was found to tell the user to uninstall it first before continuing.

We have now moved over to a WiX based setup application, which does lack the graphical flair of the old one however it makes up for it by uninstalling correctly.

Where does the “kinda” I mentioned fit in?  To see the benefit of this you need to use the next releases after this, to uninstall this build.  Since the fix is in the uninstaller, not the installer; it won’t be evident until this build needs to be uninstalled.

So, for one last time; uninstall Data Dynamics Reports manually before installing this build and remember the experience well.  From here on out, it’ll be taken care of for you.

*Ok, we didn’t really switch to WiX to implement this feature; we switched to WiX because I wanted to change the way the setup flowed so that it didn’t ask 100 questions before it finally installed the product and around that time we made the decision to use WiX for any new installers so we didn’t run into stupid issues like the one above.

Improved Format Editor

The format property tells an object how it should format itself when displaying its value as a string.  As developers, we probably know that already.  However, do any of your users know that if they want to format a number as currency they need to set it to “C”?  What about the other ways numbers and dates can be formated?  To solve this issue we’ve implemented a tiny helper in the property grid which allows users to select the type of formatting they want from a list without having to know the .NET format strings before hand.

Improved Report Performance

Lastly, I want to talk about report performance.  The team has spent several months recently looking at how we can get better performance out of the reporting engine.  They looked in all sorts of places, how to render faster, how to render concurrently, improving the way aggregates are calculated, improving the way layout is done, and on and on and on.

We are pretty proud of where we are at right now, but we’re going to keep working on it too.  We know that there are some more places that we could improve upon and we want to do that too, however it felt like we were at a good spot to release what we have so far before getting back into the grind of searching for these improvements.

What’s Next?

I already mentioned that we are going to revisit report performance again.  But we also need to address a little thing called Visual Studio 2010.  That will be coming up in our next released build, to support VS2010 when it is released.

More designer changes!  The other product managers and myself met in early February to discuss where we wanted to take the products in the future; and some of the things we talked about related to the way reports are created in Data Dynamics Reports today and that we can do a better job.  I don’t think this will be in our next build; however it is something I would like to have done soon so that I can collect as much feedback as possible about the changes.

What about Data Dynamics Analysis?

Oh, we haven’t stopped working on it either!  We will be making some announcements in the near future that will allow developers to make some big changes to the way they write their data analysis applications.  I can’t wait! :D

Posted in General | Tagged , , , | 2 Comments