Announcing handle your app errors better! - exceptional error tracking

I’m very excited to announce the general availability of – the best way to record, track and manage errors in your applications!

Raygun is a cloud service that records all your software errors, including a lot of information to help with diagnosing the problems. Let’s dive in and see if Raygun could be right for you.

Do any of these ring a bell?

  • I don’t log any exceptions but I know I should.
  • I log exceptions to a file but I only look at them when somebody complains.
  • I email myself every exception but, honestly, I mostly ignore them now as many are junk.
  • Alex gets the error emails but he’s on holiday this week.
  • I’m pretty sure Jim was being emailed errors but he left the company three months ago.

How will Raygun make your job easier?

  • You get a beautiful dashboard showing the overall health and trends in your software
  • We group similar errors so you’re only working with unique errors
  • We don’t email on every error – only on new sightings, re-occurrence rate changes and threshold changes. Simply put, a manageable number of notifications that you can absolutely turn off if you’d rather check the site only.
  • Raygun records a lot of data about every error. This makes resolving errors easier than ever.
  • Permanently ignore junk exceptions (like those caused by spam bots or broken web crawlers) so you never see or hear from them again
  • Simple workflow for resolving, ignoring or permanently ignoring an error group.

These features have been designed to help reduce notification overload and reduce your time to resolve an error. gives instant insight into app health from the dashboard

Raygun is great for teams too!

All Raygun accounts, from the smallest to the largest, can have an unlimited number of users associated with it.

Raygun also supports multiple applications per account so you can easily track every moving part of your software easily.

Supported Platforms

At present we have support for .NET, WinRT, NancyFX and PHP. You integrate a small component into your software and set an API key and you’re good to go!

Support for Ruby, JavaScript, Objective-C, Java and Cold Fusion is coming soon and already under development. If you’d like to get early access to these providers email us at

A rock solid choice

Application errors can be costing you time and money due to lost sales. We have a team dedicated to the development of Raygun and are already processing millions of application errors every day. Whatever the size of your application and needs we can support you.

Be up and running in the next 10 minutes!

Setting up Raygun doesn’t take long at all. Standard integration time is measured in minutes and you can be logging errors quickly.

All accounts include 30 days free trial of our largest plan so you can see how much better zapping errors can be!

Sign up to raygun for a free trial

Tagged as Products,

LightSpeed 5 beta is out!

BOOM! That’s the sound of the worlds best .NET ORM getting a major update! :-)

We’re excited to be announcing the immediate availability of the LightSpeed 5 Beta.

LightSpeed 5 Beta Released

We have a big list of addition, changes and bug fixes so for now I’m just going to highlight some key differences in this post. In January we’ll be running a series on the major features when the final version is released.

Compiled Queries

Compiled queries allow you to speed up querying by having LightSpeed pre-parse the expression and get it ready for sending to the database. This provides a great speed up on repeated queries even if the parameter values change.

Then we got to thinking.

What if common queries (e.g. fetch by Id and others) were always pre-compiled behind the scenes?

What we found was huge: the performance benefits were great. This led us to turning on compiled queries for certain queries by default so you don’t need to use the compiled queries syntax. This resulted in a 60% performance boost. Free performance gain for all LightSpeed users — always a good thing. Especially good since LightSpeed is already blazingly fast!

LightSpeed vs Entity Framework performance

Note: Posting any sort of performance comparison typically results in howls about how unfair they are or unrealistic but this highlights the speed of LightSpeed’s querying engine for a simple case. Suffice to say, LightSpeed does awesomely in complex scenarios also :-)

Database provider changes

We are working towards allowing end users to implement their own database providers and to allow support for mobile scenarios, to that end we have made some under the hood changes to the provider infrastructure in 5.0 as well as refreshing our supported providers.

Of note:

  • A SQL 2012 provider that includes support for the Sequence identity type
  • Improvements have been made in the designer to better reflect the list of available providers and to improve the design time experience for developers
  • The database provider infrastructure has been overhauled as a precursor to allowing us to bring LightSpeed to mobile platforms in the future.

Visual Studio 2012 Support

We have had this in the nightly builds most of this year, but it’s worth mentioning again – LightSpeed 5 ships with full designer support for Visual Studio 2012, Visual Studio 2010 and Visual Studio 2008.

Additionally we have dropped the .NET 2.0 only compatibility build of LightSpeed so that LightSpeed can more directly make use of .NET 3.5 features in the core runtime.

Ever improved querying

We have continued iterating our querying support since 4.0 RTM with the core runtime now supporting HAVING expressions and more advanced sub-queries. For LINQ we have improved our handling of more complicated grouping queries and use of sub-queries to support staged query construction using IQueryable. The core runtime now also exposes a RawSql property on the query object to allow arbitrary SQL to be expressed where previously stored procedures or FindBySql would need to be used – this allows joining on an arbitrary SQL statement to handle situations where you need to explicitly control the SQL being emitted.

Small acorns

Whether it’s the ability to get an offending Validation rule when checking an entity is valid, or get more details about your entities using the LightSpeed.Meta framework, you’ll find something to delight you with LightSpeed 5. We look forward to hearing your feedback on the beta and we can’t wait to get LightSpeed 5 final out early in 2013!

The LightSpeed 5 Beta is now available to all active customers, and you can download this from your My Account page now!

Non-customers will have the 5 release in very early 2013 (or you can upgrade from LightSpeed 4 Free Edition and get the beta).

Just Released: WPF Diagrams 3.0!

Today we are pleased to announce version 3.0 of our WPF Diagrams framework is now available. Download the free trial version from here, or if you are a customer, upgrade from your account page. For those who don’t know, the diagrams framework provides support for rendering and editing diagrams consisting of nodes and connections. The framework includes model diagram classes, visual components and controls for adding and editing the various parts of a diagram. The built-in model componenets can be extended to provide your own business logic, and the visual elements can be fully customized to create stunning effects that suit your application.

Flow Diagram

Huge Performance Boost

The main addition to version 3.0 is the immensely improved performance. The diagram rendering engine can now support thousands upon thousands of diagram elements. This is mostly noticable by the dramatically improved loading time. All other operations such as panning, editing and exporting have also been improved for large diagrams.

Large Diagram

Connection Bridges

Another nice improvement to the framework is the ability to render bridges over intersecting connections. Managing the potentially large number of intersecting points has been made possible thanks to performance improvements mentioned above.

Connection Bridges

The connection intersections are always calculated, but by default the bridges are not rendered – all you need to do is switch them on. This is done by using a CorneredPathBuilder which is responsible for taking the logical connection model and generating the path geometry. To use this, you create a new connection style in the usual way and set the PathBuilder to be a CorneredPathBuilder with the IsIntersectionBridgingEnabled property set to true. Below is a simple example of how to do this:

<ms:CorneredPathBuilder x:Key="PathBuilder" IsIntersectionBridgingEnabled="True" CornerRadius="0" />
<Style x:Key="ConnectionPathStyle" TargetType="Path">
  <Setter Property="Stroke" Value="Black" />
  <Setter Property="StrokeThickness" Value="2" />
<Style x:Key="ConnectionStyle" TargetType="ms:DiagramConnectionElement">
  <Setter Property="PathBuilder" Value="{StaticResource PathBuilder}" />
  <Setter Property="PathStyle" Value="{StaticResource ConnectionPathStyle}" />
<ms:FixedStyleSelector x:Key="ConnectionStyleSelector" Style="{StaticResource ConnectionStyle}" />
<ms:DiagramFormatter x:Key="Formatter"
                     ConnectionStyleSelector="{StaticResource ConnectionStyleSelector}" />

Last of all you would set the Formatter of the DiagramSurface to be the DiagramFormatter in the code above.

Other Changes

Like most major releases, there are a few breaking changes in Diagrams 3.0. These changes are all very minor and you can see how to work around them in the Release Notes section of the help docs. One change that will most likely impact you is that we removed DiagramSurface.ShowConnectionPoints property. To work around this, you simply don’t need to set this property to True anymore so it can be removed.

Also, as always, there’s a bunch of bug fixes and general improvements.

Get it now!

You can download the free trial version of WPF Diagrams 3.0 from here. Or if you are already a Diagrams 2.0 customer with active subscription, then you can upgrade for free by going to your account page. If you have any questions about this new release you can drop by the forum.

Happy Coding :)

Announcing error handling just got awesome!

I’m excited to announced a new product coming from Mindscape soon:

What is Raygun?

Raygun is a simple (read: take 2 minutes to setup) error collection, reporting and management service. At present it supports .NET and JavaScript but over the coming weeks will support many more languages and platforms (iOS, Android, Rails etc). When an unhandled (or handled if you want to report it) exception occurs, it gets published securely to Raygun.

You can login, view exceptions in your application, promote them into your own ticketing system, choose to ignore them, mark them as resolved and more. Of course we know a lot of folks manage more than one application so there’s a unified dashboard to track multiple applications at once and trend analysis of your applications health.

Here’s a very preliminary application shot (subject to a lot of change):

What makes Raygun valuable?

All software has bugs. The common experience we see is that either exceptions are ignored or a developer might have unhandled exceptions emailed to themselves. Even in the best of situations, this doesn’t scale:

  • The developer gets used to seeing innocent errors and doesn’t notice when the occassional serious error goes by.
  • The developer moves on to another company. Nobody sees the error messages anymore.
  • There’s little or no visibility of issues in an application to anybody else on the team.
  • It’s difficult to identify trends in application health from an inbox full of emails.

You should never under estimate the impact of the bugs in your applications:

  • If you make money from your software then you could be losing money, never a good thing!
  • A bad first impression can put new users off using your software.
  • If the application is mission critical… the mission may go critical if an error is ignored! Nobody wants to be in the news for a software bug that went unnoticed!

We’d love to have you on board

Raygun is currently in early beta. We’ve setup a site to take interested parties on board slowly. We’d love to have you on board soon — the sooner you sign up the sooner we can send you a beta invite. We’re expecting to add initial test users soon with new users being invited daily after that (we’ve had a lot of interest so far, so sign up soon to get in earlier).

Sign up now and share the love. Let’s make the world’s applications more reliable.

John-Daniel Trask

P.S. We’ll be releasing new information regularly as we gear up for public launch. By signing up you’ll get emails about that progress and the cool features you’ll be able to take advantage of.

Tagged as Products,

Metro Elements Weekly Update 6

In today’s Metro Elements update: Animations galore! As you all know, animations are a big thing in Windows Store apps. Not only are they good to look at, they aid in notifying to the user that something has changed. When used in conjunction with touch gestures, you can create some fantastic user experiences.


WinRT has several built in animations for common application scenarios, but to help you even further, we have added the new TransitionContentControl. This control lets you specify an enter and exit transition which will be used to animate the content whenever it changes. Here are some examples of this in action:




As you can see below, this control is very simple to use. The content and transitions are binding to values in the data context. When the content changes, the animations kick into action. (At the moment is is easiest to bind the transitions or set them in code, convenient xaml support will come soon).


We provide several transitions to get you started which can be found in the PresetTransitions class. This includes fading, sliding, zooming and rotating transitions for various directions.

In some scenarios, you may find that you want different transitions depending on how the content is changing. For example if content is being navigated left or right, you’d want to dynamically pick different transitions to indicate this to the user. For these scenarios, you can implement the IStoryboardTransition interface. The GetStoryboard method takes in the old and new content which you can use to select an appropriate Storyboard. Here you could either select one of our prebuilt transitions and return their Storyboard, or you could build up your own storyboard for more complex scenarios like what we’ve done for zooming the new CalendarControl seen below.


One of the controls we provided early on was the MonthCalendar. This has now been renamed to the CalendarControl as it now supports additional views. Other improvements we have added to this control are:

  • Animations in the generic style to smoothly transition between views.
  • Week numbers displayed in month view (templating and toggle options coming soon).
  • The DataProvider property lets you set a custom ICalendarDataProvider to inject a data context for each day in month view and each month in year view etc.
  • Style and template options that easily let you customize the look of each item in the calendar.
  • A SelectedDate property for getting the date the user selected or setting the currently selected date.

Below is an example of what you can produce with these new improvements. A custom ICalendarDataProvider fetches a WeatherInfo object for each day in a month, and a list of temperature data for each month in the year view. Custom templates display this data in an appropriate way. This one control will suite all sorts of scenarios including a way to display data for days or months, a scheduler control or simply a way for the user to select a date.


We’re not done yet

As these controls are still in beta, you can expect more improvements up to and beyond the final release. If you have any feature or control requests, you can let us know by posting in the Think Tank. Or if you have any questions about the metro controls, ask us in the forum.

Until next time, get the latest beta build now!


Join our mailer

You should join our newsletter! Sent monthly:

Back to Top