Time Boxing using DayPlanner

Since reading the excellent book Start Small, Stay Small: A Developer’s Guide to Launching a Startup, I’ve been experimenting with the application of time boxing to help me work on several projects at the same time. Rob Walling suggests that every micropreneur can stay on top of multiple different projects by practicing time boxing. This means spending a fixed amount of time on each project so that you spread your time around evenly.

I have five projects on the go at this time:

To help me juggle all these with out getting caught up in just one, I’ve been spending some time building a simple application which I’m calling DayPlanner. DayPlanner allows me to view my week ahead and to block out my time across multiple different projects.


I’ve made this little application public and am currently in the process of testing whether or not anyone else would like to use it as I think it could be a very useful tool to fellow micropreneurs and freelancers.

I have a list of features that I would like to add such as time summaries, 3rd party calendar integration, time tracking and mobile support.

If you’re looking for a tool to help you manage your time boxing then look no further! You can sign up here:


Give it a try and let me know what you think by leaving a comment below, contacting me directly using tomas@tomasmcguinness.com or by using the feedback link on the site.


Planning my day – creating a new tool

I’ve just started freelancing in the middle of July and I’m currently juggling a few different clients in addition to working on my own personal projects.

Within a week I ran into two problems!

The first was that of managing my time efficiently. Normally I would use Harvest for time tracking, but I found that I need to block out my time in advance so that I split my time between my clients and my own personal projects without neglecting anyone. I’ve read over and over again that planning your activities in advance helps you be more focused and effective.

The second one came in the shape of FreeAgent. I’ve had to switch over to FreeAgent on my accountant’s request and whilst it’s excellent (so far) it is a little lacking in the time tracking. You just enter your time after the fact. I’ve used Harvest for a long time and they have excellent time tracking, but it doesn’t make sense to use both applications.

I did some searching around and I couldn’t find anything that covered both of those problems, so I decided to make one. If you’re reading this and you know of any other apps that solves this, I’d be grateful if you could let me know!

Introducing DayPlanner

To get the ball rolling I create a very simple application based upon a standard wall planner. You can book out blocks of time and assign a titles to them.This is version 0.1, so there are lots of bugs and lots of missing features, but it’s a start. If you want to try it out, you can signup over at http://dayplanner.azurewebsites.net 



What’s Next

I want to add a few things to this over the next few days and weeks.

  • Pull in appointments from real calendars. I use Outlook.com.
  • Add a (working!) time tracker and integrate with FreeAgent so that timesheets can be created.
  • Colour code the appointments and integrate with Trello.

What do you think?

If you’re a freelancer or just want to plan your time on a daily and weekly basis, I’d like to get your opinion. You can signup and kick the tires at http://dayplanner.azurewebsites.net – any feedback would be great.

PassBook Designer for PassVerse

This weekend I’ve been working hard on my PassBook designer for PassVerse. So far, I’ve gotten the Coupon designer working and I’m pretty pleased with the results! You can compare my CSS based view on the left to the what is actually produced on the right. I have a few tweaks to make, but it’s about 90% of the way there!





I’ll be posting a video of the designer in action once I’ve worked out a few bugs in the image management.

PassVerse.com allows businesses to create and manage Passes for Apple’s Passbook. If you want to use Passbook with your business, PassVerse can help. To discuss your requirements, drop me an email to tomas@passverse.com

UnauthorizedAccessException when adding WebBrowser to WP7

As part of my project to build a Windows Phone 7 client for www.imaybelate.com, I require a WebBrowser component so that I can process the OpenId login requests that my application supports. After adding the WebBrowser to the XAML, I started getting this exception when I navigated to the page.



Expanding the exception’s details and viewing the stack trace, I immediately spotted that the exception originated in the WebBrowserInterop constructor.

at MS.Internal.XcpImports.CheckHResult(UInt32 hr)
at MS.Internal.XcpImports.CreateObjectByTypeIndex(UInt32 typeIndex, UInt32 managedTypeHandle)
at System.Windows.DependencyObject..ctor(UInt32 nativeTypeIndex, IntPtr constructDO)
at System.Windows.DependencyObject..ctor(UInt32 nativeTypeIndex)
at System.Windows.UIElement..ctor(UInt32 nKnownTypeIndex)
at System.Windows.FrameworkElement..ctor(UInt32 nKnownTypeIndex)
at MS.Internal.TileHost..ctor()
at Microsoft.Phone.Controls.WebBrowserInterop..ctor(Control webBrowser, WebBrowserInteropCallbacks callbacks)
at Microsoft.Phone.Controls.InteropLifetimeMango..ctor(Control webBrowser, WebBrowserInteropCallbacks callbacks)
at Microsoft.Phone.Controls.WebBrowserCompatibility.GetLifetimeManager(Boolean shouldUseQuirkMax7_0, Control webBrowser, WebBrowserInteropCallbacks callbacks, GetCachedWebBrowserPropertiesCallback propertiesCallback)
at Microsoft.Phone.Controls.WebBrowser..ctor()
at System.Reflection.RuntimeConstructorInfo.InternalInvoke(RuntimeConstructorInfo rtci, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark)

After some reviewing of the MSDN documentation, I discovered that in order to use the WebBrowser component, you need to request a capability using the WPManifest.xml file. I added the following line to the Capabilities section.


And bingo! My app now runs the WebBrowser.


Starting game development for the Windows Phone 7 Platform

Since I’ve tackled getting up and running on the iOS platform in my previous post in this “Developing a game for the iOS and Windows Phone 7 Platforms at the same time” series, I’m now moving onto getting started with Windows Phone 7 game development. Like the previous post, the aim of this one is to have you up and running with a basic skeleton that we will build upon over the coming weeks.

Getting the tools

Unlike iOS development, the tools for WP7 are free. You still need to pay Microsoft money to have your app published on the app store, but to actually get started, you don’t need to spend anything.

  • Visual Studio 2010 Express for Windows Phone Microsoft have made a special version of their excellent Visual Studio IDE available to download for free. This version doesn’t come with all the tools and features of the commercial versions, but we don’t need anything like that. To make live a little easier, Microsoft has a full package called Windows Phone Developer Tools, which you can download. This contains almost everything you’ll need. It’s a small download that will download and installed the tools.
  • Farseer Physics Engine – The Farseer physics framework will provide us with a powerful physics engine needed to drive our game. Download Farseer Physics Engine 3.3 XNA, the current stable release. Install it once you’ve installed the Windows Phone Developer Tools

I’ve got it all installed

Once you have everything installed, launch Visual Studio and start a new project (File->New->Project). In the New Project dialog, select the Windows Phone Game (4.0) project under the XNA Game Studio 4 Template group. Name the project “Windows Phone 7 Game” and change the location if you wish. I typically keep all my code under a directory called “Development”. It makes things easy to find.


You’ll end up with a new Solution and the very basic elements for a Windows Phone 7 Game.


Hit F5 to build and run the project. If you see an error dialog popping up, check that the Error List. If it says “Zune software is not launched. Retry after making sure that Zune software is launched.” then ensure that “Windows Phone 7 Emulator” is selected and not “Windows Phone 7 Device”. This setting is in one of the toolbars along the top. This setting controls how the game is executed. We’re using the Simulator tool for now.  If you’ve had to change this, hit F5 again.


The WP7 simulator will launch and you’ll be presented with a blue screen. Don’t worry, this is all it is supposed to do right now.


Adding some physics

We will now include the Farseer framework into our project and stop there. Once you’ve downloaded the Farseer Physics Engine 3.3 XNA zip file, open it. It will contain a folder Farseer Physics Engine 3.3 XNA. Copy this folder from the zip file and paste it in the same location as your Visual Studio Solution file. In my case, this would be D:DevelopmentWindows Phone 7 Game. By copy the framework here, it lets us keep all our code together. Very important when we add this solution to source control.

Return to Visual Studio, which should still contain your Windows Phone 7 Game solution. If the Solution Explorer, a tree view showing all the projects and files in your solution, is not open within VS, open it using the menu View->Show Solution Explorer. Within the Solution Explorer, right click on the Solution at the very top and choose Add->Existing Project.

An Explorer windows will appear. Simple navigate to where you pasted the “Farseer Physics Engine 3.3 XNA folder”, open it and find a file called “Farseer Physics XNA WP7.csproj”. Select this file and choose Open. It should now load this project into your solution.

Visual Studio might prompt you with Security Warning.  Since we trust this Project, click Okay. In future, Visual Studio might display the same prompt when you open your solution, but just click okay.


Now that the project has been added, your Solution Explorer should look like this:


Hit F6 to build the solution, or use the menu Build->Build Solution. Everything should compile successfully.

Finally, we will include a reference to Farseer Physics project in our Windows Phone 7 Game. This basically lets one project use the classes and information in another. Right click on the Windows Phone 7 Game project and click Add Reference. Use the Projects Tab in the window that appears.


Choose the Farseer Physics XNA WP7 project and hit okay.

Hit F6 to build one final time and, if you wish, you can run the project again. The Simulator should still open with the same blue background since we haven’t really changed anything. However, we have now got a skeleton Windows Phone 7 project with a physics engine that we can build upon!

The next article or two will cover the construction of a physics world within the game. Stay tuned. Same bat time, same bat channel!