REQUEST A DEMO

Author: Kevin Miller

Software Creator

Kevin Miller
Kevin Miller
About:

I am an Austin Texas based software developer flying his geek flag proudly. I work hard creating customer service and support software and web experiences. When I am not creating software or gushing about my toddler. I soak neck deep in Twitter, discover new music at Rdio, host "European" board game meet ups, and read nerdy stuff like Vernor Vinge.


Subscribe to Kevin Miller's RSS feed and never miss a post.

Posts by Kevin Miller:

Creating Windows Installers: Deploying Monorail Web Applications

March 7, 2008 I recently built a small Monorail application and used my Wix-fu to build an installer and I wanted to share. Not really much to add to my previous post about building installers for web applications except that when you are deploying a Monorail (rc3) application you need to register the .castle extension as something that IIS should care about. This is pretty easy to do. Take a look at this snippet of Wix XML:Adding a handler for an ISAPI extension to the web application is just a matter of telling Wix about where it is. The ASP.Net ISAPI extension lives at the root of the .Net framework's folder. The first thing we do is use a <RegistrySearch> to find where the .Net framework lives and put that information into a property.<Property Id="NETFRAMEWORKROOT" Secure="yes"><RegistrySearch Id="NetFrameworkRoot" Root="HKLM" Key="SOFTWAREMicrosoft.NETFramework" Name="InstallRoot" Type="raw"/></Property> ... <Component…

Can we help you purchase more software?

February 13, 2008 As I mention in a previous post we are using Campfire a lot these days. I just asked Doc to add an account for our Dovetail to Campfire integration and it caused us to brush up against our user limit. Campfire lets you know this in a non-invasive and graceful way. As an administrator you may not like the idea of all your users seeing a message like this. But it works. Users know to expect issues if more people login and they can email the application administrator if necessary. Also making this limitation visible likely helps Campfire sell more software. At Dovetail Software our user licensing has the idea of a grace license limit. If you hit your user limit on Dovetail CRM we can allow a few more users into the system so that you have time to…

Sending notifications to campfire using RuleManager

January 25, 2008 Dovetail is starting to use Campfire more and more. Recently we created a room for our Service and Support staff to hang out in to act as a virtual team room. Using campfire has been very handy. It helps us share knowledge and have an on-going persistent and searchable conversation even when the team members are working remotely. Effective Support Triage   I noticed a pattern where Dan Bergondy would, quite diligently, notify the room when a support case came in. The people present would take a look at the case to triage it and discuss how best to handle it.     Excellent, in 10 minutes we had a game plan and a lot of effective multitasking going on. After this pattern repeated itself a few times, I knew I wanted to automate how Dan was notifying us of new support cases to…

Creating Windows Installers: Web Applications and Virtual Directories

December 12, 2007 So far on our journey into building windows installers we have gone from just getting started to generating Wix content for all the files in your application. There is an important little something something missing from our toy installer. Pleats (fake product of Pants Enterprises) is supposed to be a web application that runs on IIS. It would be great to add support in the installer to create a virtual directory for the web application. With Wix this is quite easy. Here we go. A virtual directory for your web application   I like to compartmentalize my units of install where practical. Because having the installer integrate with IIS and create a virtual directory is completely different than copying files I feel that this piece of the install belongs in its own component.     The XML above is declaring that a virtual…

Creating Windows Installers : Generating Wix XML using Tallow

December 10, 2007 Now that our journey has begun and we have a basic Wix installer under our belt, we need to get the rest of our web application's files into the installer. Creating all the <Directory> and <Component> and <File> elements by hand gets very tedious especially if you have a lot of directories and files in your projects. Thankfully there is a utility included with Wix called Tallow that takes care of most of the busy work for you. In this post I will show you how to use Tallow against your release folder to do a one time generation of Wix XML for your project. Don't have a release folder yet? Let's begin with automating the creation of one. Build Your Release Folder   Here is some NAnt build automation that copies files to a release folder. The layout of the files in…

Creating Windows Installers Using WIX: The Journey Begins

December 7, 2007 We all use them. Installers. They help get that sexy, shiny, new software safely onto our PCs and into our lives letting us frolic and play. Later, if things go sour or if the thrill is gone the installer is still there to reverse the process to help arbitrate the separation and keep what's yours intact. Recently I needed to make an installer for a web application product we have called Bolt. Dovetail's own Gary Sherman created Bolt and it was good. It is a great too if you are a Clarify developer. Exciting things are in store for Clarify users regarding Bolt but I can't steal that thunder. Creating the installer for Bolt made me realize I have a lot locked up in my head about deploying software. This is the first in a series of posts that are…

Trailing wildcards fail to %MATCH% text At the end of the field on Oracle9i

December 4, 2007 I have some software that generates SQL we support multiple versions of Microsoft SQL Server and Oracle. I ran into a failing test on Oracle today that was totally unexpected. [Test] public void Case_History_containing_a_queue_tag_should_be_destined_for_that_queue() { string queueName = "SUPPORT"; string caseHistory = String.Format("case is in queue {0}", queueName); string caseIDNumber = "275"; SetCaseHistoryForCase(caseIDNumber, caseHistory); string ruleText = String.Format(@"(case_history contains '{0}') -> ""{0}""", queueName); string[] queues = AutoDestRule.RunRule("case", ruleText, caseIDNumber); Assert.AreEqual(1, queues.Length); Assert.AreEqual(queueName, queues[0]); } The Gist There is a bit of noise in the test but the gist is that RunRule() generates and executes the following SQL: Here is what the database looks like for table_case: id_number case_history "275" "case is in queue SUPPORT" The test passes in Microsoft SQL Server but fails against Oracle. There is no difference in the SQL being generated between databases. I fired up Query…

Installing ShoZu on a T-Mobile Dash with Windows Mobile 6

December 3, 2007 If you have a smart phone and like to use Flickr to share your photos look into ShoZu. ShoZu is a great way to move the pictures taken on your phone to the Flickr. You take a picture and it asks, Send To Flickr? If you have a data plan or the next time you are online the image is uploaded directly to Flickr. Very cool. What happens when you assume? I ran into problems using ShoZu with my T-Mobile Dash that has been upgraded to Windows Mobile 6. It was crashing and causing all kinds of stability issues with my phone. This morning I decided to reinstall ShoZu and figured out a simple fix and had to share. When you install ShoZu they ask for your phone number and what model phone you have. A text message is sent…

Is the Software Installed?

November 8, 2007 I went to update Windows Live Writer this morning because I am a technology whore and I like to run with the cool kids. The installer yielded a WTF basket of confusion that ended with me wondering if I had actually installed the software which, in fact, I had not. Most installers use the wizard motif with a workflow that goes something like next, accept EULA, next, next, Install, Finish. Here is my experience trying to install Windows Live Writer with accompanying internal dialog. The Download Google Windows Live Writer. --- Click on Writers Zone. --- Windows Live Writer: Out of Beta   Windows Live Writer 2008 (version 12.0.1366.1026) Click on the lovely shiny Download button. Wasn't that supposed to start the download? --- Get it free Excellent, I am using software whose target audience are smug people. Click on…

Unit Testing a Web Service

November 7, 2007 Dovetail sells a web services for Clarify product that consists of a SOAP flavored web service and a handy client library. To make sure all is continuously well we have NUnit integration tests that exercise the client library making calls against the web service. Our first iteration of the testing the web service involved launching Cassini and then later the development web server that comes with Visual Studio 2005 to host our web service under test. The configuring and launching of this process (WebDev.WebServer2.exe) has  been fragile and prone to failure. Yesterday while setting up a new integration server I flailed for an hour trying to get the web server running. My defeat turned into victory after I found Phil Haack's post on Using WebServer.WebDev For Unit Tests which taught me how remove our dependency on the executable web server…