You are here


Matter.js: A Physics Engine in Javascript

Float Labels with CSS

Click on the image to see an animated demonstration.

Read how at:


Simple Auto-Update: Let your application update itself using 2 lines of code

iOS filenames cannot contain more than one period.

It took me a while to figure out why my app couldn't file the file day-icon.20.png. When it renamed it to day-icon.png it worked fine.

System.InvalidOperationException: The operation cannot be completed because a build is already in progress.

Building using Xamarin.iOS and Visual Studio 2012 stopped working for me when my debugging target is a physical device. Clicking Start resulted in the message:

System.InvalidOperationException: The operation cannot be completed because a build is already in progress.

It worked fine at invoking the simulator.

This appears to be a bug, but there is a workaround: Go to the solution's Configuration Manager and uncheck Deploy.

This issue and workaround are present in Xamarin.iOS 1.8.365.

PixelBox: A PictureBox with configurable InterpolationMode

iOS AutoLayout is broken for non-trivial layouts.

A custom control, like the calendar component shown here, requires many subviews. In fact, to generate this view requires about 700 subviews, unless manually user-drawn.

Apple's AutoLayout was introduced in iOS6 to provide a means to layout user interfaces independently of screen size, aspect-ration, and resolution. Unfortunately it is very ineffecient and appears to have an order of O(c^n) i.e. every subview added makes the layout take exponentially longer.

The control that is shown, designed to use AutoLayout, takes up to 10 seconds to render on an iPad. This essentially makes it unusable.

In examining the execution using Instruments I came to the realization that it was all Apple code that was swallowing all this time. Eventually I found two others who came to the same conclusion the hard way:

By turning off AutoLayout, the calendar renders (incorrectly of course) in a fraction of a second. I'll be spending this weekend writing my own MagicLayout code, which will be used by the cross-platform component library that is in development.

Cross-platform user interface development for iOS, Android, and Windows Store

I am currently developing a C# / .NET user interface platform that will finally allow you to write the UI once in C# and create:

  • iOS applications using Xamarin.iOS
  • Android applications using Xamarin for Android
  • Windows Store (WinRT) applications

I will consider adding Windows Phone and Silverlight, which should be easy ports.

The platform will include an attractive and flexible calendar control.

The project will represent about 500 hours of development. The components will be released under commercial license. The target price is $200-300. I hope to release many building blocks of the platform under an open-source permissive license.

The calendar component is currently in alpha release.

If you would like more information, or would like updates as they become available, please contact me.

Test .NET snippets in the browser

Unity: ArgumentException: The Assembly UnityEditor is referenced by TouchScript.Editor. But the dll is not allowed to be included or could not be found.

You may get this error in Unity when building. Often it is due to a missing DLL, or linking directly to the Unity runtime.

In my case it turned out to be simple. I have the same DLL (TouchScript.Editor.dll)  in two places in my project.


Simple Copyright Policy: If you want to reproduce anything on this site, get my permission first.