LavaBlast Software Blog

Help your franchise business get to the next level.
AddThis Feed Button

FranchiseBlast Helps Boomerang Kids Franchise Expand

clock June 25, 2014 13:39 by author JKealey

FranchiseBlast has been featured in a recent case study by Intel Canada.

Large franchises have sophisticated software to help franchise owners manage sales, order product, control inventory, and manage other aspects of the business. Until recently, these systems were too expensive for smaller franchisors to implement. FranchiseBlast, a software solution developed by Gatineau-based LavaBlast Software Inc., makes available the management, inventory and purchasing tools a franchisor needs, at a cost that growing franchises can afford, while providing IT support to keep systems running reliably.

Read more here!

Gotcha: String or binary data would be truncated.

clock March 18, 2014 11:42 by author JKealey

I was playing in SQL Server this morning, trying to fix an odd bug. Took me a while to find it and I thought I’d share this tidbit with you.

Here’s an overly simplistic representation of what was causing the “String or binary data would be truncated.” error message:

   1:  declare @where nvarchar(max);
   2:  -- assume something put a large string in @where (over 8000 characters). 
   3:  declare @sql nvarchar(max);
   4:  select @sql = replace(‘select * from table1 where {0} order by column1 asc’, ‘{0}’, @where);
   5:  exec (@sql);


The reason I experienced this error is because of how replace handles nvarchar(max). By explicitly casting the first parameter to nvarchar(max), the error is resolved.

   1:  declare @where nvarchar(max);
   2:  -- assume something put a large string in @where (over 8000 characters). 
   3:  declare @sql nvarchar(max);
   4:  select @sql = replace(cast(‘select * from table1 where {0} order by column1 asc’ as nvarchar(max)), ‘{0}’, @where);
   5:  exec (@sql);


From the documentation:

If string_expression is not of type varchar(max) or nvarchar(max), REPLACE truncates the return value at 8,000 bytes. To return values greater than 8,000 bytes, string_expression must be explicitly cast to a large-value data type.

Lessons learned during 48hrs in the Valley

clock December 11, 2013 10:00 by author JKealey

We recently attended the C100's flagship event named “48 hrs in the Valley” and want to share some key moments, lessons learned and observations. The event was filled with so many activities that it is difficult to distill everything into a concise picture but we'll give it our best shot. Before we get started, we'd like to take a moment to thank the C100's organizing committee for their great work. Coordinating this type of event is very challenging work and we appreciate it the effort put into it.

Key Moments

Picture by Kris Krüg Rob Burgess' insightful talk is the first things that come to mind when looking back at the event. Coming from a web design & development background, it was awesome to hear the inside story behind Flash. After becoming CEO of Macromedia, Rob had the foresight to pretty much cancel all development on the company's main revenue source (tools like Shockwave) and re-orient resources towards building products for the web (aka Flash). Given how drastically the industry has changed, this was the right decision but the amount of guts it took to perform this pivot is mind boggling. Pivots in a startups are difficult, but completely re-orienting a successful & profitable company with tons of money in the bank is much more challenging.

We also were fortunate to be matched with Debbie Landa for one of our one-on-one mentoring sessions. What started out with “I know nothing about franchises” concluded with a plan to revolutionize the franchise industry. By making parallels to the venture capital world, the future appeared obvious to us and we validated that FranchiseBlast's in a great position to completely alter the industry. Debbie had the energy and big vision we expected to find in the Valley. Combined with the open-mindedness to learn new things and the creativity required to challenge assumptions, these traits guarantee success regardless of your geographical location.

Being a bootstrapped startup not looking for funding, pitching to venture capitalists was also an interesting change of pace. The dynamics of each pitch was completely different. The first presentation was made to an analytical VC with a great poker face. Razor-sharp questions followed in quick succession to lead up to very insightful comments. It was the toughest meeting, but also one of the most valuable. Our second presentation was characterized by stellar flow: each slide was followed by a question answered on the next slide. It was a short meeting due to time constraints, but even in this short blitz one could sense the intellectual alignment. It's great to work with people with whom you can have fast-paced exchanges. Our third pitch slowed things down as we were given twice as much time as allotted and ended up being a conversation more than a pitch. This VC had domain expertise not found in the other meetings which lead the discussion in a completely different direction. The final pitch ended up being the easiest (emotionally) with great validation but few challenges. Putting myself in their shoes, though, I understand how gruelling it can be to deliver insights which can push companies to the next level, pitch-after-pitch.

Finally, I enjoyed the “both sides of the deal” talk where a startup and their VC discussed their deal from different perspectives. Not only was it extremely funny, it was also very insightful. Rather than discuss the specifics, let us dive into key lessons learned – some of which emanated from this talk.

Key Lessons Learned

Picture by Kris Krüg Although we learned a lot during these 48 hours, we didn't necessarily learn anything explicitly taught. These lessons learned materialized after talking to enough people in Silicon Valley and reflecting on their thought process.

First, the importance of shared vocabulary cannot be overstated. In the software world, best practices are often boiled down to design patterns. When two software engineers have internalized concepts behind these patterns, they can propose & refine software architectures very efficiently. The same shortcuts apply to everything in the Valley: software, finance, companies, people, eras and methodologies. While we do not personally stay abreast of every hot new startup mentioned in tech news and feel it gets in the way of getting things done, we acknowledge that shared vocabulary is critical. In particular, being aware of some of the key events which shaped the technology industry in the past and general knowledge of current trends helps us align ourselves with success and avoid repeating past failures.

Furthermore, having intimate knowledge of the people behind those events is key. In our early days, we saw networking events as a chance to meet interesting people. We went into an event not expecting much and that's precisely what we got: nothing much. However, we unknowingly started to build a network of peers and, after a few years, we're now connecting some dots. We can start transposing our concrete needs onto the desire to meet concrete individuals – or at least give our interlocutor enough information to help guide us to a person which meets our criteria. Although you may randomly bump into the perfect contact, it is much more efficient to do your homework and seek out individuals yourself. As an aside, we purposefully dedicated some time during the event to plugging other local startups (Exocortex, Shopify, Project Speaker, etc.) when meeting relevant individuals because we firmly believe that we're not only founders, we're ambassadors for other startups in our community. “A rising tide lifts all ships”, as Scott Annan often says speaking to the Ottawa startup community.

Picture by Etienne Tremblay We also discovered that the more successful your company becomes, the lonelier it becomes for the founders. By this we don't mean people start ignoring you or despise you to the points of throwing rocks in your direction. No, in fact, we mean that the essence of loneliness is derived from the fact that you can't talk about your fears, successes, challenges or motivations with anyone else. To help illustrate this fact, visualize entrepreneurship as a pyramid of thousands of layers where the dimensions of each layer represents the number of likeminded individuals & companies. When you first start out at the base, pretty much anyone can give you valuable business advice. However, as your business grows, the value of this advice diminishes. This causes you to look elsewhere (higher-up in the pyramid) for high-impact advice, but it becomes exponentially more difficult to find it. As an example, when you've raised venture capital, you may find that there is a limited pool of likeminded entrepreneurs in your city with whom you can discuss your challenges; this forces you to branch out. We believe the same logic holds for every major transition in your company's lifecycle, from your first part-time freelancing gig to IPO to managing a trillion dollar company. In the technology industry, we believe the entrepreneurship pyramid reveals Silicon Valley's greatest asset for founders: a greater density of likeminded individuals to accompany you in your journey.

Key Observations / Thoughts

  • If you wish to raise capital efficiently, you must know which funds are aligned with your business model, which ones of those are at the right place in their funding cycle and which individuals within those funds you should talk to.
  • If you wish to network efficiently, you must know what you're trying to accomplish, which companies have done it before and which individuals within those companies are responsible for the behaviour you wish to emulate.
  • Company culture is important for all businesses but even more so for companies undergoing hyper-growth.
  • Toughest thing to do as a CEO is terminating someone who's gotten you to where you are now but hasn't evolved.
  • You will outgrow the impostor syndrome.
  • Our peers during the 48hrs event were there to get things done. Everyone is independent and focused. This may come off as arrogance; break through the shell.
  • Behind every success story are individuals who are just like you.
  • The C100 organizing committee sets up the context, but it's up to you to leverage the opportunity to reach your goals. Sink or swim.
  • Once you board the funding train, you're not getting off.
  • The only way to minimize risk is to use pattern recognition. (Hiring, investing, sales, growth, etc.)
  • Because of the importance of pattern recognition, most people follow. (Many investors chasing the same startups, etc.)
  • Fitting the right patterns increases your likelihood of success. Revolutionary ideas must break the appropriate patterns, but not all of them. Finding the perfect balance is extremely difficult.
  • Pick good lawyers; vet them.
  • Business is not a zero sum game. Find a win-win agreement.
  • At lastly, a tweet I saw while leaving California: Help others. Luck favours those with good karma.

FranchiseBlast invited to the C100’s 48hrs in the Valley

clock November 20, 2013 20:15 by author JKealey

48hrs 48hrs in the Valley is the C100's flagship mentorship program put on in conjunction with the Canadian Consulate of San Francisco and Palo Alto. Twice a year the C100 invites 20 of Canada's most promising startups to the Silicon Valley for two days of mentorship, workshops, investor meetings, strategic partner visits and networking.

FranchiseBlast is proud to have been selected for this exciting event.  We started the company six years ago, wrote our software startup lessons learned series, and have been continuously improving our product and our company since then. Our focus has increased and so has our drive. It’s been a great ride to date and we know we’re at an inflection point in the company’s journey.

Once the dust settles, we’ll collect our thoughts and write about our experience, just like we did for Ottawa’s Lead To Win program.

In the meantime, we would like to remind you that we are actively hiring. Join us.

ASP.NET translation tools & gotchas

clock March 8, 2013 11:35 by author JKealey

We’ve recently translated one of our applications and thought we’d share the tools & techniques we used. In particular, every time we perform some ASP.NET translation, we hit a few gotchas. We kept facing the same problems every time we worked on translation, so we figured we might as well write everything down in a post for everyone’s benefit.


Because we’re translating an ASP.NET WebForms application, the main process is to open an *.aspx or *.ascx, switch to Design view, and perform Tools –> Generate Local Resource. This generates a *.resx file and adds the relevant markup in your source file. Tools are available to perform the actual translation and create the *.resx files in other languages.

The core issue here is that you need to perform this operation for each individual file. Potentially thousands of times and/or until you go crazy. (Personally, I find it frustrating that bulk resource generation is not a core VS.NET feature. )


Step 1 - Bulk Generate Local Resource

Instead of wasting our time opening each individual file, we found a macro on this forum. The macro does not run in VS.NET 2012, so we loaded up our old VS.NET 2010 and ran it from there.

The macro wasn’t flawless – it sometimes randomly crashed after processing files for half an hour. Deleting Visual Studio’s *.suo file and restarting it seemed to help.


Step 2 - Realize that VS.NET corrupted your files

I assume one of the reasons bulk resource generation is not a core VS.NET feature is because the feature is (in addition to being slow) partially broken.

Gotcha: Inline scripts/comments are sometimes deleted.

At a high level, any script blocks in your *.aspx/*.ascx files are vulnerable to deletion. Generate Local Resource will simply strip them out if they are contained in an <asp:UpdatePanel …/>.   We filed a bug on Microsoft Connect which was not deemed important enough to be fixed.

This is appalling because it will introduce pernicious bugs in your application that only show up at runtime, if you don’t pay close attention to each and every individual file.

For example:

<script>alert('<%="Some Constant" %>');</script>
<script>alert('<%= btnSomething.ClientID %>');</script>
<%-- <asp:Button runat="server" id="btn" Text="Some button that I may need to re-enable later"/> --%>
if (Request.QueryString["test"]=="bye") 
    Response.Write("Goodbye World"); 
    Response.Write("Hello World"); 

Would become the following, after Generate Local Resource, because everything



Admittedly, some of the inline code above is bad practice.  However, the silent deletion causes needle-in-a-haystack type bugs at runtime.

We decided to remove all of our inline code blocks from our code to avoid having issues during local resource generation.

Gotcha: culture=”auto” and uiculture=”auto” is added to all *.aspx files

These values, added in the *.aspx header, force the page to change culture based on the browser’s settings. In our application, this was not desirable as it by-passed the logic defined in our Global.asax file. (Our users can change their language via the web applications itself, not via their web browser settings.)

For more information, see this post by Rick Strahl.

Gotcha: Nested controls can be problematic

When trying to localize a LinkButton containing an Image and literal, the Image will be dropped.

<asp:LinkButton ID="lnkHello" runat="server" OnClick="lnkHello_Click">
    <asp:Image ID="imgEdit" runat="server" ImageUrl="~/images/icons/edit.gif"></asp:Image>


<asp:LinkButton ID="lnkHello" runat="server" OnClick="lnkHello_Click" meta:resourcekey="abcdef">    


To solve this issue, the nested controls must be separated.

Gotcha: Ajax:Accordion breaks during Generate Local Resource

If you are using <ajax:Accordion ../> from the ASP.NET Ajax control toolkit, be aware that it will be corrupted after generating *.resx files. The fix is simple: delete the erroneously added Accordion Extender.


Step 3 – Extract other hardcoded strings.

Your *.aspx/*.ascx files and your *.cs files may contain additional strings which must be extracted. Back in 2008, we had create a Macro to help with this process but in this iteration, we simply used JetBrains ReSharper. The VS.NET plugin made it easy to find strings which had not been extracted, and push them into *.resx files.  ReSharper is jam-packed with other useful features, but we’ve found that it does have a significant impact on performance in our solution.


Step 4 – Perform the actual translation

Back in 2008, we released a web application to help translate RESX files. We’re no longer using this application – there are better options out there. We picked Zeta Resource Editor and it worked nicely.


The tools available today are much better than they were five years ago, but one piece of the puzzle (Generate Local Resource) is still far from perfect. We’d love to see an improved version (in either VS.NET or ReSharper) which would:

  • Not delete inline code or comments inside UpdatePanels
  • Would be configurable (insert culture=”auto” everywhere? etc.)
  • Would produce reviewable reports of any changes which are not additions of meta:resourcekey to controls. (Performing a diff with regular tools is very time consuming given the thousands of changes.)
  • Could be executed in batch in a timely manner across a project

PS: Big thanks to @plgelinas for his research efforts for this project.

Microsoft Excel on Multi-Monitor Machines

clock June 5, 2012 11:51 by author JKealey

All of the developers at LavaBlast use three monitors; utilizing multiple monitors has significantly increased our efficiency. However, Microsoft Excel doesn’t work particularly well in a multi-monitor setup. By default, every time you open a new Excel file, its contents are displayed within the same instance. You have to manually launch other instances of Excel to have one instance per monitor, which is time consuming.

It is possible to configure Microsoft Excel to load one Window per file, but it involves a number of obscure configuration settings & registry changes. Every time we move to a new machine, this configuration needs to be redone. The information is spread out on a number of sites/forums and it takes a while to re-discover the sources. his post aims at centralizing this information.

In particular, this post focuses on Microsoft Excel 2010 on Windows 7 64-bit. I believe the fix works on other versions as well; feel free to comment on this blog post if the steps are different.

Step 1) Force Excel To Open Multiple Windows

Excel 2010:

  • File –> Options –> Advanced –> Scroll down into the “General” section –> Check the “Ignore other applications that use Dynamic Data Exchange (DDE)” checkbox image

Excel 2007:

  • Office Icon in the top left corner of Excel –> Excel Options –> Advanced  -> Scroll down into the “General” section –> Check the “Ignore other applications that use Dynamic Data Exchange (DDE)” checkbox

Once this change is done, every time you double click on an Excel file in Windows Explorer, a new instance of Excel will open. However, you’ll probably encounter the following error.

Step 2) Fixing “There was a problem sending the command to the program”

Each Excel file you open from Windows Explorer now launches in its own separate window. However, Excel spits out “There was a problem sending the command to the program” and leaves the Excel window blank.  You can drag & drop your existing file to this window to open it, but this is still painful. We will need to change the system registry to solve this issue; please refrain from doing this is you are not comfortable with the reg edit tool.

  1. Launch regedit
  2. Rename the HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec  key to HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec.bak
  3. Edit HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\command\(Default).  Change /dde to “%1” in the value.
  4. As an example, mine was from "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" /dde to "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" "%1"
  5. Edit HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\command\command. Change /dde to “%1” in the value.
  6. As an example, mine was from ykG^V5!!!!!!!!!MKKSkEXCELFiles>VijqBof(Y8'w!FId1gLQ /dde to ykG^V5!!!!!!!!!MKKSkEXCELFiles>VijqBof(Y8'w!FId1gLQ "%1"
  7. Rename the HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec key to HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec.bak
  8. Edit HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command\(Default). Change /dde to “%1” in the value.
  9. Edit HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command\command. Change /dde to “%1” in the value.


Excel should now load separate Windows for each file you open. This setup will consume more memory, but will vastly increase your productivity.

Troubleshooting note:

  • Ensure you used “%1” with the surrounding quotes (not this: %1) in the above registry changes. Otherwise, you will get an error message: “’{file}’ could not be found. Check the spelling of the file name, and verify that the file location is correct.”

Thanks to Turbo2001rt  for the final important tweaks.

      FranchiseBlast Wins Bootstrap Award

      clock February 27, 2012 10:07 by author JKealey
      FranchiseBlast Wins Bootstrap Award

      We’re proud to announce that 2012 is off to a great start! We’ve recently received lots of local recognition and thought we’d share this great news with you.

      First, we’ve been listed as a Startup To Watch for 2012 by the Ottawa Business Journal. Past nominees (, FaveQuest, Select Start Studios and PatientWay to name a few) have had a tremendous impact on the Ottawa-Gatineau startup community  and we strive to do the same. For decades, our region has featured a tremendous wealth of engineering talent and we’re proud to be a part of the group of companies rebuilding our digital economy. 

      Second, we’ve won a Bootstrap Award for Best Sales/Value Proposition. This award recognizes companies who’ve grown their companies without the use of external funding (such as venture capital). We’ve been growing organically since our creation in 2007 and bootstrapping has enabled us to focus on creating value for our customers from day one. Today, we have an awesome product that is a perfect fit for our target market. If we had to name a single element which helped us refine our value proposition (other than listening to our customers for five years), I would have to name Lead To Win.

      Lead To Win is a startup ecosystem/accelerator (which takes no equity)  which helps companies get to market faster and/or accelerate their growth. We strongly recommend the program to other high-tech entrepreneurs, especially engineering students who don’t have a background in business.

      Thank you to everyone who’s vouched for us over the years. 2012 will be a year of great growth for us and we hope to share more good news soon!

      FranchiseBlast Now Member of the CFA and CQF

      clock February 17, 2012 11:25 by author JKealey

      LavaBlast Software Inc. (creator of FranchiseBlast) is proud to announce that it is now a member of both the CFA (Canadian Franchise Association) and the CQF (Conseil Québécois de la Franchise / Quebec Franchise Association). Over the past five years, we’ve helped numerous franchises grow thanks to improved operational software and we feel the time is now ripe to get involved in these franchise associations. We hope to have the pleasure to meet you at one of the upcoming CFA or CQF events, such as the CFA’s National Convention in April 2012.

      franchiseblast     CFA      cqf

      New Grant for Canadian Franchises to Adopt Tech

      clock November 15, 2011 11:18 by author JKealey

      (From left to right) Jason Kealey (President, LavaBlast Software), The Honourable Christian Paradis (Minister of Industry) Yesterday, the Minister of Industry announced a new grant pilot program (DTAPP) offering up to $99,999 in financial support to Canadian small- and medium-sized enterprises (SMEs) to facilitate the adoption of digital technologies. The announcement featured FranchiseBlast as an example of such a digital technology and was made inside one of the Boomerang Kids stores, our newest franchise client (see photo).

      This pilot program is great news for Canadian franchises as it includes the adoption of business systems (franchise management, customer/work order management, inventory management, etc.). In the context of a franchise, these are often customized systems ensuring the uniformity of their proprietary business processes across all franchisees. Off-the-shelf hardware and software are not covered by this grant, but the following are:

      • Internal labour costs: franchisor’s time spent elaborating the system
      • Contractors: technology firm helping the franchisor adopt the technology
      • Travel & Training
      • Hiring of recent college graduates as a part of the adoption process

      The new grant program is managed by NRC-IRAP. As with all NRC-IRAP grants, the process starts with the franchisor developing a relationship with an Industrial Technology Advisor (ITA). Over 240 ITAs, located all over Canada, will work with you to determine the best course of action for your business, whether is be via the new Digital Technology Adoption Pilot Program (DTAPP) or one of the numerous existing grant program­s.

      As our specialty is creating franchise-specific software solutions, we’ve gone through the process in the past. Our team can work with both you and your ITA to establish the scope and requirements for your project.

      For more information about DTAPP, please visit this site and call toll-free 1-855-453-3940 to be assigned an ITA in your area. 

      LavaBlast and Boomerang Kids: When helping local families meets the Cloud

      clock November 14, 2011 20:17 by author JKealey

      (From left to right): Jason Kealey (President LavaBlast Software Inc.), Honourable Christian Paradis (Minister of Industry), Bogdan Ciobanu (Director General NRC-IRAP), Lynne Plante (Directrice NRC-IRAP), Heather Meek (co-owner, Boomerang Kids Consignment Shops) LavaBlast, a leading provider of cloud-based franchise management solutions, announced today the deployment of its flagship product, FranchiseBlast, to the first of four Boomerang Kids locations. This state of the art software solution enables Boomerang Kids to grow their consignment franchise nationwide while allowing local families to shop smarter.

      "Using the FranchiseBlast system will allow employees to focus more on helping local families," said Heather Meek, owner of Boomerang Kids. "We are expanding our franchise throughout Canada and we want to ensure the success of our current and future franchisees. FranchiseBlast will allow us to offer a complete easy-to-use system that helps store owners, employees and their customers. And now, I can even manage my business on my iPad!"

      The FranchiseBlast deployment consists of an integrated suite of local and cloud-based tools that allow Boomerang Kids to automate the management recipes they’ve perfected throughout the years and replicate them in a franchise environment. FranchiseBlast will boost Boomerang Kids’ efficiency and customer service with:

      • Point of Sale (POS) stations to allow employees manage and sell all items under consignment.
      • In-store interactive kiosks and web-based tools to making it possible for parents to review their account and item statuses
      • A cloud-based franchise management solution giving both franchisees and franchisors immediate insight into the franchise’s operations.

      "We are excited to be powering the expansion of a local franchise. Boomerang Kids has a solid management team and now has the tools to support its upcoming rapid growth." said Jason Kealey, President of LavaBlast. "This collaboration strengthens our position in the Franchise Management market and has allowed us to bring on new team members and scale up our operations."


      About Boomerang Kids:

      At Boomerang Kids, families can help the planet and their wallet through reuse and recycling of kids clothing and equipment. Parents bring the items into the store and Boomerang Kids will take care of verifying quality, selling and, best of all, sharing profits. The concept is extremely popular and independent of the economic climate. From their four initial locations in the Ottawa region, Boomerang Kids is now expanding Canada-wide via franchising.


      About LavaBlast Software Inc.:

      LavaBlast produces state of the art software solutions for the franchise industry and has played an integral part in the growth of numerous franchises, both in Canada and globally. By migrating to FranchiseBlast, franchisors reap the benefits of a turn-key software solution for their franchisees and LavaBlast’s deep software engineering skills to adapt their franchise in a rapidly changing technological environment.


      About our flagship product, FranchiseBlast:

      FranchiseBlast empowers you to run a successful franchise business with easy-to-use operational software. Manage day-to-day issues with franchisees, see everything happening in real-time and increase the level of control you have over your franchise business.

      Download this press release (PDF format).

      Month List


      The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

      © Copyright 2017

      Sign in