The Cowtown Code Camp in Fort Worth Texas is this Saturday, Mar 16th. I'll be speaking about "Windows 8 & Windows Phone XNA graphics and sensor integration" at 4 PM. Nokia has seen fit to name me a "Nokia Developer Champion". I, along with Falafel Software, look forward to working with Nokia and working to improve the Windows Phone ecosystem.
My talk at the Cowtown Code Camp will be filled with lots of examples and hands-on demos. For those who are attending, I'll be giving away one of my custom designed and 3D printed phone stands for the Nokia 920 ...

In my conversations with customers and vendors, I find everyone abuzz about mobile. What to do, where to start, what approach to take, etc. We at Sitefinity CMS have taken a strong stance in support of Responsive Design. Only this approach enables a single website to address an unlimited number of devices. I’ve written and lectured about Responsive Design quite a bit. However, I’ve long recognized that there are indeed, other approaches to mobile.

Sometimes Device Specific, is Better than Device Agnostic

Device-specific experiences have a role and, if used properly, can create better experiences for mobile visitors. However, these ...

Telerik’s Sitefinity CMS has been advancing at a tremendous pace. We’ve loved all the great new features, most notably the support for MVC, the inclusion of Kendo UI and the various client side features that come along with these technologies. After building several Sitefinity widgets that relied heavily on JavaScript, including the wildly successful Falafel Dashboard, a slick HTML5 replacement for Sitefinity’s default, we realized that we were relying on Visual Studio less and less. We eventually reached a point where we didn’t really need Visual Studio at all. So we decided to build Falafel Tornado and empower Sitefinity developers everywhere ...
UPDATE (Mar 20, 2013): Icenium v1.3 was released yesterday with built-in zipalign format!

read more...

Last week I published a review of my first Icenium project. I wanted to go into a little more detail on one issue I ran into which confused me during the publication process of the Android version of my Icenium app.

Publishing for Android from the Icenium IDE signs the package file, but it doesn't do something else that is required. It's called zip aligning. If you try to upload the APK file that Icenium produces, you will most likely get the following error ...
UPDATE (Mar 20, 2013): Icenium v1.3 was released yesterday with the ability to target iPhone or iPad only on iOS, one of my suggestions below. Thanks, Telerik team!

read more...

I'm just wrapping up my first project using Icenium, Telerik's cloud-based IDE for creating Android and iOS apps using HTML5, CSS3, and Javascript. I must say that it's been a very enjoyable experience and I've been very impressed with the product that our friends at Telerik have created.

It's a bit unfair to do a full review of this product yet, since it's so new and still in v1. ...
When working with existing sites or content management systems, you have little say on where and when jQuery is loaded. To complicate matters, some pages may have jQuery auto-loaded, and others may not (yay for performance boosts, nay for client-side plugins). Do you bite the bullet and write unmanageable scripts? Or do you believe in RequireJS and dodge the bullet matrix-style? Let me show you how.

With RequireJS, you can asynchronously load JavaScript files when needed. For example, you can write a simple JavaScript module that depends on jQuery like this:

require([
   'jquery'
], function ($) {
   $('body').append(...
Building our EventBoard mobile solution for conferences was no easy task. The solution includes native applications for iOS, Android, Windows Phone and Windows 8, Windows Azure cloud services, a web based administration portal, and a separate product website.

Thankfully, we were able to use the tools from Telerik in nearly every facet of development. The tools saved us time and money, and now Telerik has featured our development story in a detailed case study. You can read all about what it took to build EventBoard here.
Entity Framework makes it very easy to get data from your database through mapped entities and having foreign keys mapped as navigation properties makes it really easy to traverse relationships in your database.  However, there is often a lot of overhead if you "include" your entire child entity along with the primary, parent entity.

For example, let's say we have an Order entity and each Order has a non-null ShippingAddressId that gives us a 1..1 to the Address entity.  We can use Include() to return that related Address entity:

public void IQueryable<Order> GetOrders(
{
    return this.ObjectContext.Orders.Include("Address");...
In a previous post, I showed how to create JavaScript widgets in Sitefinity using shared content blocks. This enabled you to create widgets like image carousels and blog rotators on-the-fly without having to compile or deploy. It was so useful in production and we received a lot of good feedback from the community. This is why we felt it deserved to evolve more and began creating a full-fledged Widget Builder for Sitefinity!

The idea is simple… when writing a web-based widget or control for a website, you need a mixture of HTML, CSS, and JavaScript. A portion sometimes goes ...
While developing web applications, it is common that you must test the site in SSL mode. Normally, this would be a pain and would require you to set up the site in IIS manually. From then on, you must attach the debugger in Visual Studio to the application pool process. There's an easier way!

IIS Express has been given a lot of attention with the Microsoft 2012 tools and it is certainly a better alternative to Cassini. And yes, IIS Express really is the full-fledged IIS except the config files are located in "C:\Users\%USERNAME%\Documents\IISExpress\config" rather than in the machine-wide location. ...
Capitola CA - 18th February, 2013 - Today Falafel Software is pleased to announce that two additional Sitefinity experts are joining the team: Jochem Bökkers and Josh Morales. Jochem and Josh are two of the most respected names in the Sitefinity development community and each brings in-depth Sitefinity knowledge and their own unique technical expertise to the Falafel family.

“It is a pleasure and an honor to add two established software engineers to the Falafel family.” said Lino Tadros, Chairman & CEO of Falafel Software. “Josh and Jochem are hard core Sitefinity architects that will be a tremendous help to ...
Navigation is one of the most important functions in any CMS. It is the doors you scatter throughout your site so your visitors can get around. It is no wonder there is an entire eco-system of menus... drop downs, horizontals, verticals, responsive design, tabs, panelbar, tree-view, content slide-outs, and the list keeps growing. This is one the most common requests for any web designer or developer. Just search the Sitefinity forums and you will see :)

The problem with using the Sitefinity navigation widget is that you have little control over the HTML that is rendered for the menu. ...
Falafel Software’s mobile conference solution EventBoard, has been chosen as the official application of the Microsoft MVP Summit.

The Microsoft MVP Award is given to technical experts who actively participate in the community, sharing both their knowledge and enthusiasm for Microsoft products. For 20 years, it has remained one of the most difficult awards to earn and wearing the badge of an MVP has signified supreme technical excellence with Microsoft technologies.

Each year, every MVP from around the world is invited to Microsoft headquarters for the MVP Summit. This private event gives MVPs early and direct access to ...

For years I've always liked the idea of having the ability to develop on the road. Few who know me would ever deny that I'm a true road warrior, although I'm beginning to slow down. Whether it was taking my kids all over the world to fence, chasing storms, hiking off the trail, or even jet skiing at the lake, I often had my laptop with me. I've come up with some of my best ideas while on the road. However, the size and bulk of my various laptops always had me wishing for something else.

 

The Surface RT ...

If you are like any other coder, cutting and pasting snippets should put up a red flag in your mind. You will quickly hit this threshold when creating CRUD-services for MVC 4 applications over and over again. This lead me to create a repository pattern using generic types and base controller classes that I would like to share with you. In the end, below is how my Web API classes look like, which automatically give me create, retrieve, update, and delete functionality:

using MvcWebApp.Helpers;
using MvcWebApp.Models.Data;
  
namespace MvcWebApp.Api
{
    public class SpeakersController : BaseApiController<Speaker>
    {
        //THIS ...
For the sake of example, imagine a database of books. Books can have a Publisher, but not all books have been published yet, so those books do not have a Publisher. In the database, this would be represented by a nullable FK column, and the EF model would include a navigation property called Publisher from Books to Publishers. Let's say you want to write a query over a data service that returns a list of book names and publisher names. A naive query would start off like this:
var query =
    from book in DataServiceReference.Context.Books
    select new {Title ...
Since late 2012, Microsoft has been offering access to an Windows Azure-hosted Team Foundation Server (TFS) which they branded as "Team Foundation Service". At the beginning of the year, they took (most of) this service out of beta and announced that it would stay free for teams of 5 or less. The pricing for bigger teams hasn't been announced yet, and remains free currently, and is likely to be very affordable going forward.

For a lot of companies, Falafel included, this is a very compelling option. This service already gives you all the benefits of a cloud-hosted source control repository: ...

Wow, I can't believe 2012 is gone already, not only that, but January of 2013 is over.  January has been a tremendous month for the company, the best January ever in the 10 years history of Falafel Software Inc.

We started the year very strong with multiple new accounts in the USA, Europe, Far East and Australia.

FalafelCON2013Sitefinity continues to be a very strong business for Falafel and we continue to assemble the best Engineering team in the industry to meet the consulting and architecture demands for our Sitefinity Business.  Great announcements coming soon!

SmartBear's relationship continues to flourish ...

As a C# developer, I have taken for granted the convenience of being able to navigate to a definition and then click the back button on my mouse to return to where I navigated from. When I started working on a VB.NET project in VS 2010, the mouse button no longer worked the same way. After searching the web, I was shocked to learn that this was a C# feature only, and that VB.NET, F#, and C++ do not support it! The good news is that there is an addin that can restore this functionality, but there is a catch, ...

In my last blog post, Using Generic Attached Properties to Simplify Windows 8 Settings Charm Pages , I talked about how to easily add Settings Charm pages to any Windows 8 app. If your app happens to have an AdControl, you might have an issue that you need to handle. The issue is that AdControl is hosted in a WebView Control, which causes the control to always be on top. When flyout Settings Charm pages overlap AdControl elements you get unexpected behaviors. It's a known issue but is easy to handle. I've updated the GitHub example to include a couple of ...