Kendo UI is probably the best JavaScript framework out there. I've used several other frameworks in the real world and toyed with others. Consistently, Kendo is able to hold up from architecture to UI for simple or very complex projects. No other framework comes even close to being as well-rounded. Who else provides intricate UI widgets, while simultaneously provides an object-oriented framework and MVVM options?!

From the framework side of things, one other library has changed the game and is worth examining: AngularJS. While it has no UI framework, AngularJS inspired many JavaScript patterns and features I wish were in Kendo. And to be ...
Did you know there's a shiny new <template> tag making it to a browser near you? It's true! For years, web developers have been coming up with awkward and clever hacks to do client-side templating. Later, template engines came to the scene to mimic server-side template engines, such as Mustache, EJS, Jade, Underscore, Kendo UI, and on and on. They are still based on hacks that goes something like this:

<script type="text/x-mustache" id="template">
  <a href="{{link}}">
    <img src="{{image}}" />

TypeScript provides a nice way of making strongly typed classes and turning them into JavaScript for you. When you pair it with Kendo UI, you will almost certainly want to make your ViewModels their own classes. This can be done by extending the class, but if you aren't careful, TypeScript can get in the way more than it helps.

Let's take a look at the common mistake made when defining a Kendo UI ViewModel as a TypeScript class.

In normal JavaScript, the most common way to define a ViewModel is:

new kendo.ObservableObject({
    items: []


In TypeScript, ...

Wednesday, 28 May I'm heading to the Dayton .NET User Group[1] to give my talk “OMG! This Codebase Sucks!” on how to work on dealing with "challenging" codebases while still delivering great value to your customers.

Call them "legacy," call them "brittle," call them something else. difficult codebases have been giving delivery teams headaches for years. Regardless of the label you use, dealing with these troublesome piles of goo usually leaves organizations in a downward spiral of slowing velocity, increasing customer frustration, and sinking delivery team morale.

In these situations developers often want to do a complete system re-write. ...

This blog post is part 2 of a series by Jesse Liberty and Rachel Hagerman of Falafel Software.

In our previous post, we demonstrated one way we can implement dynamic data binding to create a series of checkboxes in our sample application.  It is a method we would use in most situations where we are creating items in a Kendo UI ListView from dynamic data.  Checkboxes are often the exception to the rule, however, and soon after we discovered a built-in way to handle the ‘checked items in a list’ type of problem.

If we think of our listing of ...

One of the requirements that you might encounter is the ability to include the already built-in search widget of Sitefinity into another User Control.

That User Control might be a help box that offer, in addition to the search mechanism, other capabilities like referencing to external pages, etc...

To achieve this we need to go through the following:

  • Map the Search Widget UI Template to an external User Control Template.
  • Reference and create an instance of the search Widget in the Help box. 
  • Configure the Search Widget

Map the Search Widget UI Template to an external User Control Template

The ...

On May 10, Noel Rice of Falafel wrote a wonderful blog piece entitled Dependent Methods (calculated fields) – a hidden goody in Kendo UIIt wasn’t two weeks later that I had occasion to put this to use for a client.  Books with Authors

This blog post will walk through this real-world example.  I’ve changed it only enough to disguise the client.

Our (disguised) client wanted a grid (click on the image to the right to see it full size) that displayed the name, price and author of books, but which reflected the rated quality of the author by surrounding the cell ...

Capitola, CA May 23, 2014 - Falafel Software Inc., a Silicon Valley based provider ofSteve Smithsoftware development consulting and training services, is thrilled to announce the addition of Steve Smith as Chief Technology Officer of Falafel Software.
Steve Smith, formerly an Executive VP of Services at Telerik, is an experienced software developer, architect, speaker, trainer, author, and entrepreneur. He has been developing web-based software using primarily Microsoft technologies since 1997. He has been a Microsoft MVP since 2000 (for ASP.NET) and a Microsoft Regional Director since 2005. Steve has a passion for software craftsmanship, and has published numerous courses ...

We use error pages to be shown to the end-user a friendly message and may be email the detailed information about the exception to developers who maintains the website. Some times we may face a situation where error page itself throws some exception, causing redirect loop and application pool goes down.

Error pages usually represents a simple message with the same user experience and colour theme across pages. So, most probably this may also be using one of the templates like other pages. Imagine a situation where our MasterPage is having some unhandled exception, and we redirects user to the ...

Falafel Senior Software Architect J. Tower will be dazzling the crowds at ITCampITCamp Logo Romania this Thursday with two sessions. ITCamp is back for another year with 2 days, 4 tracks, over 30 speakers, 40+ hours of content and open panels, pre-conference workshops and lots of networking opportunities. ITCamp is the largest community-driven conference focusing on Microsoft technologies in Romania, now at its 4th edition. You'll spend two great days among well-known speakers who will be covering 4 separate tracks of high-quality content.

The Sessions:

30 Tools for Modern .NET Web Development in 60 Minutes

Are you a .NET developer interested in crafting ...

As the name suggests, in this column I am going to show you how to run and debug your hybrid application from Visual Studio on your Android device. We will not be covering iOS here but in a later post. 

If you haven't started developing Multi-Device Hybrid applications in Visual Studio then I suggest that you take a look at my previous post.

If you have attempted to run your application on your Android device and you were not successful, read on.

First of all, to run your application on your device, you need to select the "Device" mode ...

What a week it has been! My first major conference was a blast, and more than anything my favorite part has definitely been everything I have learned. I'm eager to go back and watch all the sessions I missed, even re-watch the ones I attended, and most of all, trying it all out!

Unfortunately a few of my sessions were cancelled today, so it was short. I spent some extra time browsing the Expo and found some pretty cool vendors doing some nifty stuff, and also visited the Study Hall for some resources and a practice test.

The Async Best ...

Tech Ed Day Three

The fun continues in Houston, I've meet some great people and am learning plenty to keep me a busy and happy developer. I had originally planned to scope out just the developer track sessions, mostly on Windows and Windows Phone developoment, but given that there is so much to learn, I thought I would wander a little out of my comfort zone and see what else is out there! Here are some highlights from the sessions I visited on Wednesday.

Exam Prep: 70-483 - Programming in C# - This is actually the exam I expected to take this week, so ...

Two days ago at TechEd conference, Microsoft announced the future step in its "mobile first, cloud first" strategy with a preview of Apache Cordova support in Visual Studio. Apache Cordova is a popular open source toolkit for building apps for iOS, Android, and Windows using HTML, CSS, and JavaScript. With the Cordova integration, Visual Studio will directly support building apps for all of these platforms.

The Cordova support is important for a number of reasons. It very much aligns with the company's strategy to target all the platforms and provide the developers with the tools to do it. After announcing the ...

Day one at Tech Ed already set the bar high, but day two just smashed it open. So much going on, and it's way too much content to cram into a summary. Look for full, dedicated posts on some of these topics in the coming days and weeks as I dive deeper into my notes and re-watch the videos (not to mention the ones I missed)!

The Future of .NET on the Server - Scott Hanselman took another look at the topics previewed about .NET vNext yesterday, then took an even deeper dive in the next session. There's some ...

You may need to add scripts in your blog post, news content and any other module with RadEditor. By default, script tags are removed when saving / editing content. RadEditor comes with very good filters to configure it the way you want it.

For example, if we want to add scripts in our blog posts. Go to Administration > Settings > Advanced > Blogs > Controls > PostsBackend > Views > BlogsBackendInsertPost > Sections > MainSection > Content

You'll see Rad Editor's content filters. Add EncodeScripts and save changes. Please note that it will override the default filters settings ...

What a day, full of sessions, lessons, great people, and great information; I can’t wait to take in more on Tuesday. If you’d like to say hi, be sure, ping me on twitter @SelAromDotNet, I’d really appreciate the opportunity to meet you in person!

Here are some of the highlights from Monday that still have my developer senses tingling!

Visual Studio 2013 R2 RTM – Official release of the latest update to Visual Studio. Considering that the RC is only just over a month old, this is a testament to Microsoft's increasing commitment to rapid iteration and release. This ...

Hello, Tech Ed!


It is a great pleasure, and a true honor to represent Falafel Software at the 2014 Tech Ed Conference in Houston, TX. I'm now onsite, taking in my first ever major conference, and would love to say hi to fellow developers and community members. If you're attending, please ping me and say hello!

I'll also be around to answer any questions you may have about the Channel 9 app which is powered by Falafel's own EventBoard platform.

If you are at the conference and are having any issues syncing your agenda be sure to logout and back in using the ...

Dependent methods are easy to miss in the Kendo UI documentation, but hugely valuable. On the face of it, dependent methods implement calculated fields, but can actually take any type of data and convert to any other type (if you've worked with Silverlight, think Converters). MVVM bindings are updated so that page elements update automatically. Imagine you have a set of severity types: "no problema", "I'm a little concerned" and "Armageddon". These can be painted on the page as green, yellow and red flags or you could go with text in normal/italic/bold font.

Dependent methods are methods that fire when ...

I've gone on at length before about inheritance in EF, specifically Table Per Type inheritance, and for the sake of this post, I'm going to assume you already know how to perform an outer join with LINQ. But what if you want to perform an outer join of a base class table to one (or more) subclass tables? I couldn't think of a way to get it done, but a colleague presented a solution that seems blindingly obvious once demonstrated. In the following incantation, assume that Student is modeled as a subclass of Person:

from p in Persons
join ...

Get weekly updates in your inbox!