LavaBlast Software Blog

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

Upgrading to SubSonic v2.1

clock July 10, 2008 16:05 by author JKealey

The timing for the release of SubSonic v2.1 could not have been better as we're between time-critical projects at the moment. As our readers know, we've used SubSonic as our business object code generator since we first launched the company. I spent a few hours this morning doing the migration of our codebase and it seems to have gone smoothly. We've posted some cool improvements we've made to SubSonic in previous posts: Improved ManyManyList Control, Object Change Tracking, and an Improved ObjectDataSource Controller. Migrating to v2.1 involved a few changes and this post will describe them briefly. As this is currently a work in progress, we'll let the dust settle before writing a more formal post.

LavaBlastManyManyList :)

Rob integrated the LavaBlastManyManyList control into SubSonic. It does strike me as uncommon for an open source project to list the contributor in the class name, but who am I to complain? :)

Changes to our SubSonicHelper and SubSonicController.

SubSonic changed the base classes for their objects. Therefore, we have to change our own SubSonicController<T, C> to extend RecordBase<T> instead of AbstractRecord<T>. In our SubSonicHelper, we changed AbstractRecord<T> and ActiveRecord<T> to RecordBase<T> but, for some reason, we also had an ActiveList<T> which we changed to AbstractList<T> to match the rest of the application.

SubSonic Collections no longer extend List<T>

Collections are now extending BindingList<T>, apparently for improved DataBinding support. However, this breaks all the code you may have which uses the fact that Collections were generic lists: Sort, Find, FindAll, FindLast, AddRange, Exists, etc. Luckily for us, we have replacement methods for Sort/Find, which are easier to use but not as powerful as custom delegates/predicates. Rewriting the 70-odd locations in our code to avoid using methods from the List<T> interface isn't what I consider fun and you may feel the same way. The code we had to rewrite was non-trivial and rewriting all these locations without being able to recompile and test (as we don't have unit tests that specifically check that the items in a Collection are sorted the right way, for example), we took the decision to go with a low-impact change.

We edited CS_ClassTemplate.aspx and CS_ViewTemplate.aspx and added the following method to both collections:

   1: public List<<%=className%>> ToList()  {
   2:     return new List<<%=className%>>(Items); // shallow copy
   3: }

BindingList<T> has a protected property named Items which is indeed a List<T>. We didn't check the implementation details, but since it doesn't make this property public, we can assume that playing with that list directly (removing items from the list for example) might screw up the original collection. Therefore, we're creating a shallow copy of the List and using that in our code when necessary. Now that everything compiles and works properly, we can rewrite code where performance is more important (and use the original SubSonic collection instead).

Found two bugs, one old, one new.

We've reported two bugs in the SubSonic's brand new issue tracker on Google Code. (Issue 3 is a rare case relating to composite keys and paging, it probably won't affect you as it has been around forever. However, Issue 4 is a bit more worrisome as it implies that most of your code that uses StoredProcedures might not work anymore without a small workaround until they release SubSonic v2.1.1.)

Conclusion

I hope this helps all of you who were trying to get our SubSonic v2.0.3 code working on SubSonic v2.1! When everything will have been tested thoroughly, we'll post more source code.

kick it on DotNetKicks.com


Franchises Can Learn From Software Startups - Part 3: Reacting

clock July 4, 2008 08:39 by author JKealey

This article is the last of a three-part series related to technology in the franchise world. It focuses on what franchisors should be doing to react to the trends presented in Part 2.

Franchisors should be doing a number of things to keep up with the Net Generation. Most of these are straightforward once franchisors realize that people expect lots of information, expect it immediately, and expect their opinion to be taken seriously.

Streamline your processes

The more people use software, the more people expect of it and become irritated if a feature requires extra effort when it could be automated. Users don't pay attention when performing a task repeatedly and introduce errors into systems. Therefore, your business processes, including the software portion of it, should be as integrated as possible. Of course, you cannot integrate all at once and have to work on the pain points for which an integrated solution would save the most time or prevent the most errors. Streamlining your business processes is an iterative process which requires constant effort and attention but is very rewarding.

The processes that are easy to streamline vary for each franchise. However, using product-based retail stores as an example, the integration which provides the most value is between the point of sale and the franchise intranet. The goal is to offer automated sales reporting and centralized product line management. Once that is done, you can greatly simplify in-store product ordering by automating recurring orders via the in-stock quantities, for example.

Franchisors should keep in mind that integration that is already built-in built into a software product line is a very valuable asset. BjEmerson covered this, and other valuable questions, in his post on Blue Mau Mau. As a franchisor, it is your responsibility to periodically bring up the subject of integration with various suppliers to ensure you have an efficient process in place. Keep in mind that integration should not intend to cover all special cases and that you should put manual processes in place to double check that all the information in your system is accurate. 

A fine-tuned franchise is much more appealing to a franchise prospect because of the simplicity of its day-to-day management. Furthermore, if you have developed your own software or processes to make everything easier, the value proposition is even clearer.

Franchise Collaboration

Franchise Collaboration The most important thing a small franchisor can do is to stop any unidirectional (waterfall) decision making. Transparency and collaboration help foster trust whereas keeping everyone in the dark before enforcing a big change is simply not a good business practice. Obviously, you won't be able to make everyone happy all the time but when franchisees feel their opinion is appreciated, everyone benefits. Obviously, this involves much more than technology but franchise collaboration software such as forums and polls can help. Thanks to open source software and online tools, you can even set this up for free. The real added-value comes when collaboration becomes a part of every day tasks, such as polling features directly integrated into the point of sale. This promotes collaboration within the franchise since the franchisees are not required to login to a separate tool when they get back home after a long day's work.

If you don't collaborate with your franchisees, you will lose them, period. If a franchisee leaves you because you never listened to their opinion, you can be sure that people reviewing your UFOC will end up hearing it. On the other end of the spectrum, a franchise which pushes strong franchisee collaboration via online tools can be a strong selling point for new prospect. A simple demo of the current issues being discussed will clear up any fears about ongoing support.

Openly discussing issues and possible solutions with your franchisees forces you to write things down in a logical fashion and think about the issues in a rational way. This simple activity often guides the decision making process and leads to the best decision.  

Give out more information

Franchisors should utilize their website and should not feel shy about posting lots of information to attract new franchise prospects. Obviously, organizing this information is very important as to avoid overwhelming the user but franchisors should post lots of information and treat their prospects intelligently. The website should include a high-level executive summary which allows interested prospects to drill down to find relevant information on separate pages.

The classic sales technique of not giving out too much information, having prospects request additional information, and having a salesman call them back to conclude a deal is no longer the best approach in today's online context: these practices must be adapted. Franchisors who don't display basic information such as franchise fees and setup costs are shooting themselves in the foot for numerous reasons.

First, today's visitors expect more information and they expect it now. Your prospects are probably thinking about starting their own business in this same field and it is your job to show them the wide breadth of problems you've already solved and how it is a better business decision to purchase a proven franchise system. You also need to show how your franchise is better than other franchise systems and your website is an ideal place to showcase your distinguishing factors. 

Second, the volume of franchise prospects on the Internet has increased, although we've mentioned franchisors are feeling  the quality has dropped. There is a growing number of people looking for low-cost franchises and if yours is not one of them, stating your requirements explicitly will help reduce low quality prospects.   If you are looking at catering to this growing niche, you might as well clearly define the lower cost options you are offering (kiosk format instead of store format, for example). Once you've formalized your offering and covered the frequently asked questions in detail on your website, you've developed a resource base that can be utilized by your salesforce.

Keep in mind that it is possible to get information about leads via your website, even if you're posting most of your information online. All you need to do is post a bit of exclusive content on your website which is only accessible after filling out a short form (email address, name and phone number). This gives you a way to contact prospects after the fact while still giving your prospects information when they want it (now!). This exclusive content can be as simple as a two-page PDF brochure or as extensive as a virtual tour of your store with pictures and videos.

Spread the word

Spread the word The first thing you should do as a small/new franchisor is to actively participate in online communities. You should remember that online participation is a give&take relationship and you need to do more than self-promotion or demolish everyone's opinions. You can start by participating online in franchise communities such as Blue Mau Mau and FranMarket and simply writing comments on other people's posts. Everyone has a different background and you can often refer to your past experiences to help clarify posts by other people. You should also look for online communities which specialize in your niche, to raise awareness about your brand but also simply to exchange ideas. If your franchise is a dog kennel, you should look for pet-related online communities.  Finally, don't overlook any local business online communities which may be appealing to you. Hooking up with a local software startup or local artist might put your franchise in a better position to take on the world.

In addition to participating in online communities, you should start your own blog either at Blue Mau Mau or at another free service. There are numerous things you can (and should) blog about:

  • A post for each new franchisee with an interview, franchisee profile, store pictures, etc.
  • What makes your franchise unique (you should be able to find dozens of cool things that distinguish your franchise from the competition)
  • New products or services
  • What the franchise is proactively working on
  • Your lessons learned as a franchisor
  • Partner announcements
  • How you or your franchisees gave back to the community
  • Trends
  • Internal reflections
  • Congratulate one of your franchisees for outstanding achievements
  • How your franchise is saving people money or saving the planet
  • You've got a particular problem and are looking feedback on solutions

Many new bloggers are afraid to reveal the secret sauce if they talk about their lessons learned or what makes them different. They fear the day where their competition will copy their brilliant ideas. In reality, ideas are free and execution is key. Furthermore, if all that distinguishes your franchise is the auto-flushing toilets you installed last year, you've got a problem. You shouldn't reveal every last detail about how you operate, but don't let paranoia overcome you with every little detail. Blogging is a rewarding experience because it puts you in touch with lots of new people which may help you down the road.

More franchisors should blog about the problems they have experienced and how they overcame them as it is an essential subject which will help others. The franchise world is full of people who are looking to make a quick buck and being open about your franchise is a good way to help build a relationship of trust with your service providers, prospects, and franchisees.

Last week, LavaBlast launched Franchise NewsBlast to help franchisors spread the word about their franchise. Our system doesn't focus on franchise opportunities but rather on franchise-related articles that have true value for web visitors

Conclusion

Some people find it easier than others to get their head around the new business context in which franchises operate. We've listed a few high level tasks which help clarify the possible ideological differences between franchisors and the Net Generation. Once these base concepts are better understood, franchisors will be in a better position to understand things such as viral marketing and social networks in order to take advantage of these business opportunities for their franchise systems. Take a look at Franchise NewsBlast, Blue Mau Mau, and FranMarket today!



blast it on Franchise NewsBlast


Introducing Franchise NewsBlast

clock June 23, 2008 09:55 by author JKealey

We've just added a new item on our press release page. The content of this press release is replicated here for your convenience.

Montreal, Quebec, June 23rd 2008 - LavaBlast Software launches Franchise NewsBlast (http://news.lavablast.com), a free online system which provides franchise news to franchisors, franchisees, franchise service providers, and franchise wannabes. The system allows visitors to keep up with what's new in franchising by collaboratively selecting the best franchise news. Visitors are invited to submit articles related to franchising which they feel would interest the other members of this online community.

Franchise NewsBlast covers a wide range of subjects related to franchising such as legal issues, franchise technology, new franchise opportunities, franchise trends, and even franchise humor. Anyone can become an editor because Franchise NewsBlast allows its members to blast interesting franchise news items, allowing the best articles to rise to the top. Because of a collaborative community effort, people interested in franchising can quickly keep up to speed with franchise news without having to visit the hundreds of franchise blogs available on the Internet.

Motivating Factors

There are a few motivating factors behind the launch of this new franchise community, which benefits a wide range of people.

For readers: Save time!

In the franchise industry, readers typically do not have the time to visit, on a daily basis, the hundreds of franchise-related websites which are available on the Internet. Readers are interested in receiving quality franchise news but simply don't have the time to filter through the large volume of articles published every day. Franchise NewsBlast solves this problem by aggregating news from various sources and publishing the cream of the crop. Readers can also share opinions on external articles directly on Franchise NewsBlast, allowing them to connect with others in the franchise community.

For bloggers: A niche-specific aggregator, maintained by the community.

An important part of blogging is informing the community about your blog and getting your articles to interested readers who might not have found your blog. Franchise NewsBlast is similar to the very popular Digg except that it focuses exclusively on the franchise niche. On Digg, it is impossible to get an article reviewed by enough people with interest in the franchising industry given the general nature of the community. Quality franchise-related articles typically fall through the cracks of such mass-population sites whereas they can become very popular on niche-specific sites. Additionally, bloggers can leverage their existing visitor base by adding a "Blast It" icon on each of their franchise-related posts, increasing each article's popularity on Franchise NewsBlast.

For franchisors: An incentive to start blogging!

It is not easy (or cheap) for a small franchisor to get their name out in the franchise community. Hundreds of new franchise systems are born every year and Franchise NewsBlast is one of the ways these new franchisors can join the online franchise community. As approximately 25% of all franchise systems have less than 10 locations, small franchisors are a big part of the franchise community and they deserve to be heard. After starting their own blog to share lessons learned, current market trends, or elements which different their franchise, franchisors can use Franchise NewsBlast to drive traffic to their blog and get feedback on their system from various franchise professionals or simply attract new franchise prospects.

A collaborative effort

A large number of franchise websites are created with the intention to promote the highest-bidding set of franchise brands whereas Franchise NewsBlast is intended to inform people, not to showcase franchise opportunities. Thanks to collaboration between peers, Franchise NewsBlast intends to complement existing franchise communities such as Blue Mau Mau. LavaBlast adapted the open source software which powers DotNetKicks, a news site dedicated to .NET software, to focus on the franchise niche and allow anyone to become an editor.  Readers are encouraged to start posting news on Franchise NewsBlast immediately and inform other people in the franchise industry of its existence. 

 

For more information, please visit Franchise NewsBlast at http://news.lavablast.com.

About LavaBlast Software Inc.

LavaBlast Software Inc. has developed FranchiseBlast, a web-based software solution for the franchise industry that simplifies day-to-day franchise operations by integrating the franchisee's point of sale and the franchise's e-commerce site with the franchise intranet. The integration of existing software is a proven way to leverage the franchise's original software investment during an economic downturn.

###



kick it on Franchise NewsBlast


Franchises Can Learn From Software Startups - Part 2: Trends

clock June 23, 2008 09:18 by author JKealey

This article is the second of a three-part series related to technology in the franchise world. It discusses current trends in both the software and franchise worlds which are relevant, given the similarities illustrated in Part 1. Part 3 discusses what franchisors should be doing to react to this change in business context.

Fact: The world is changing. Technology is the catalyst.

Wicked technology The impact of technology on the way we do business is undeniable, and franchising is no exception. More often than not, franchise success stories list technology as one of the key elements to the franchise's growth. Five to ten years ago, most franchise systems recognized the value of a franchise intranet/extranet as a centralized franchise collaboration tool. More recently, the rise in franchise systems which allow absentee/semi-absentee franchisees has increased the need for software tooling that facilitates remote franchise management

Start thinking about who will be buying franchises in the next decade or two. These people have grown up with the Internet and do not know life without it. A very insightful read on this subject is Diana G. Oblinger's recent publication Growing up with Google: What it means to education as many of the concepts can be projected from current day challenges in education to tomorrow's franchise sales situation. The Net Generation (born after 1982) is now entering the workforce with university degrees. It won't take long for them to look at purchasing a franchise. Thanks to the Internet, the Net Generation has access to vast amounts of information which doesn't always work in the franchisor's favor. A single individual can report scams which rapidly make their way through the Internet. There are even blogs dedicated to reporting fraudulent business opportunities. This generation has learned to question authority and to go the Internet to prove their claims.

The widespread availability of high-speed Internet has not only impacted franchise operations: it has deeply changed our society. The latest trends in software have been user-empowerment (blogs), online collaboration (wikis), and social networking (for business or for fun). In case you didn't know, over a quarter of all Canadians have a Facebook account. If you're thinking that this is a fad for kids and teens, think again as over half of these users are over 30. Reacting today to these social and technological changes does not only help prepare yourself for the future, it also helps you understand your current operating environment because the facts of life for the Net Generation are also true for many older individuals which are no longer marginal.

A few trends in the software world...

Starting a software company on a shoestring has never been easier for a number of reasons. First, high quality open source tools, powerful software frameworks, and the availability of free web services allows competent software engineers to solve problems faster than ever. Second, infrastructure costs are negligible. Everyone already has a computer and an Internet connection... and working from home is an option for MicroISVs. Once you outgrow your basement or garage, co-working environments provide an affordable way to grow your company to the next level.  Even if you operate from home, you can still reach a very wide potential client-base thanks to the Internet and the same logic applies to any kind of business, not only software.

Another trend in the software world is that many cities (examples: Ottawa, Montreal) offer a vibrant software startup community which most people aren't even aware of. Founders are connecting and publicly sharing lessons learned. Funders are even connecting with founders at informal social events focused on growing the community. Twenty years ago, it would have been hard not only to meet startup founders but also to sit them down to hear about their experiences. Today, you can read about it on blogs and join up at local events... and if you're feeling old school, you can still buy books to learn the stories of other founders. As we all know, the Internet makes it easy to contact other people and collaborate online but it does also make it easier for people to meet offline for both business and social events. 

Finding and retaining good people is the single hardest task in a software company, even if you've got money to burn. Money is an incentive, but is far from being the most significant one for software engineers. Indeed, just take a look at Maslow's hierarchy of needs to discover esteem and self-actualization are higher in the pyramid yet cannot be purchased with money. What developers are looking for are interesting challenges in a great work environment and most large organizations are unable to take advantage of this fact, which push the best software engineers to work at smaller startups or even start their own company. The best talent have plenty of opportunities to pursue and consequently don't often look for jobs on sites such as Monster whereas bad employees always end up unemployed and pollute the system. The solution in the software world is to be active in the software community and utilize niche-specific job sites such as the Joel On Software job board.

... That are also present in the franchise world

Which one would you pick?In the franchise world where we are seeing lots of concepts, such as home-based franchises, growing rapidly because of their low start-up costs. Many people dream of being their own boss while doing something they love and it now easier than ever for them to start their own business. Striking gold is (and always will be) hard, but one can make a decent living with a MicroISV (thanks to niche markets on the Internet) or home-based franchises (thanks to franchisors who know what it takes to make the concept work). We're also seeing an increasing number of new franchise concepts, partially because the Internet has made it easier to contact experts in franchising (and vice-versa... which is not always a good thing).

I would love to say there is a vibrant startup franchise community on the Internet, but that is simply not the case. There are a few disparate local associations but the web is polluted with franchise opportunity websites, given the high commissions related to franchise sales. However, if you look hard enough, you can find a few good websites which unite franchisees and franchisors under one roof for discussion and collaboration. Furthermore, younger franchisors are turning to blogs and are openly discussion various lessons learned. It would be superficial and discriminatory to claim age is the only factor at play to explain the slower growth of a good online franchise communities, but it is a contributing factor given the fact that franchisors require a substantial amount of capital to launch a franchise. Few, if any, current franchisors are part of the Net Generation.  However, I am optimistic that a number of excellent franchise-related websites such as Blue Mau Mau, focusing on everything other than sales, will help grow the franchise startup community over the next decade thanks to collaboration between franchisors and various franchise service providers.

Finding and retaining good franchisees is an obvious challenge in the franchise industry. Many new franchise prospects are surprised that they are being screened for quality and are unaware that, for new/small franchisors, their individual success can have a strong impact on the success or failure of the whole system. Most franchisors complain about the decreasing quality of leads via franchise websites and this poor quality is surprising given the parallel which can be made with online recruiting systems such as Monster. As more people look for franchise opportunities on the Internet,  it becomes increasingly important for franchisors to be able to efficiently filter through a larger volume of requests but also for them to be proactive about sales and marketing. This can be achieved by participating in online communities dedicated to their niche. Of course, time & effort is a valuable commodity and lower quality leads are to be expected when a franchisor doesn't proactively work on solutions on a daily basis. 

Summary

After discussing changes in our society, this article covered three core trends:

  • Younger people are starting businesses on a shoestring budget.
  • It is easier than ever to connect with other people and learn from their mistakes.
  • The big sites are saturated with people you don't want to hire or have as franchisees. 

Part 3 will talk about what you should be doing to make the best of this changing environment. Your homework for the next week is to participate in a few online communities of your choice (Franchise, Startup, or Local). Also, take a look at Franchise NewsBlast, which we are launching today.


kick it on Franchise NewsBlast


Franchises Can Learn From Software Startups - Part 1: Similarities

clock June 17, 2008 11:57 by author JKealey

The omnipresence of technology in our lives and the Internet has changed the way we do business. The software industry is not only one of the driving factors for this change, it is also one of the first industries to be influenced and react to changes in society. This contrasts with the franchise industry which is a bit old school... which has its pros & cons. Regardless, being abreast of current trends is helpful for any business and we feel franchisors can benefit from the insights of those with a software engineering background. Since LavaBlast builds software for the franchise industry, we’re at the junction point of two very different worlds ... which are more alike than you would initially expect. 

This article is the first of a three-part series related to technology in the franchise world. It focuses on similarities between franchises and software startups and serves as a premise to Part 2, which covers current trends in both industries. A comparable evolution in a changing context was to be expected, given the similarity between software startups and franchise systems. Finally, Part 3 discusses what franchisors should be doing to react to this change in business context.

For the sake of argument, let’s focus on small and/or new franchise systems. Why? There are numerous reasons:

  1. Innovation often comes from smaller, nimbler organizations.
  2. Over half of all franchise systems have less than 50 units. 25% have less than 10 franchise units
  3. Hundreds of new franchise concepts are born every year. Over 1000 businesses turned to franchising for expansion between 2004 and 2006.

Small franchises are similar to software startups in nature.

Building the next great thing There are numerous similarities between software startups and budding franchises: the strong need for domain expertise, the global potential, and they are both created to fill a gap in the market. However, their resemblance can be concisely be explained by looking at growth patterns and scalability.

In general, because of the very nature of software, software startups can achieve very high growth in a short period of time (examples abound!). Venture capitalists rate startups according to their scalability in order to obtain the highest possible return on their investment. This is done by building software which solves problems for a large group of people with little or no custom work required on the software firm's end to support a new user. Hosted software applications are installed once on the startup's web server and shared between customers, thanks to a scalable multi-tenant software architecture.  Additionally, the first hires in a software startup are crucial to building both v1.0 of the product and also the company’s culture. A solid team working together in the same direction is necessary to grow a successful company.

Franchises are similar because the concept must typically be tested and proven to be successful in its first location, akin to a software beta. Small business owners which turn to franchising as a growth strategy quickly discover than growing a franchise is a completely different ball game than making your first location successful. Scalability cannot be tacked on, it must be planned. The franchisor must find a scalable supply chain and must ensure the store look & feel is replicable. Unfortunately for some, purchasing store fixtures at your local flea market, police auction, or more recently eBay is not a replicable way to grow a franchise. The franchisor can't fly out to different cities to shop around for cool lamp shades for each new franchisee... Suppliers must be approved and utilized. The same is true for software where an integrated solution is the key to simplified franchise management. Furthermore, people with different backgrounds and skill sets are required to launch a successful franchise, and the first few franchisees are critical. As much thought (if not more) must be given when picking the first franchisees as the first hires in a software startup.

Additionally, the very nature of franchise systems implies that franchisees are geographically distributed. One might think this is not the case in software startups, but this is not totally true due to outsourcing and open source. Furthermore, even small software startups deal with international customers on a daily basis.  As such, the various stakeholders are not necessarily always in the same room ready to discuss business issues even though both are have to quickly react to preserve customer/franchisee satisfaction and grow the business.

Implications

We've just scratched the surface of why software startups are similar to small franchise systems. You may have other similarities in mind or you may disagree and have opposite feelings; in both cases, you are invited to share your opinion.

If you are a franchisor, why should you care about software startups? Simply put, software startups are more in tune with the impact of technology on our society which affects your franchise's operating environment. This subject will be covered in detail next week, in Part 2. In the meantime, you are invited to read Growing up with Google: What it means to education which explains the characteristics of the Net Generation you should be aware of, regardless of your background.

kick it on Franchise NewsBlast


Founders &amp; Funders Montreal

clock May 15, 2008 10:44 by author JKealey

founders_funders We attended the second Montreal Founders & Funders dinner this week. Since I've noticed that all blogs assume that their readers know what the Founders & Funders event is (which is not the case), I thought I'd give a brief overview of this simple concept.

  • The organizers send invitations to a bunch of people who have manifested interest in the event (via an online form or in their network of contacts).
    • I don't know how the selection process works, but attendance is limited to the size of the restaurant.
  • The attendees arrive and network with other founders & funders.
    • No special organization - just put interesting people in a room with other interesting people and magic happens.
  • Sit down at a random table and enjoy the meal
    • I ended up at a table with a 50/50 breakdown of founders versus funders.
  • When you're done, network some more
    • There was a networking event after the meal where an invitation was not required.

It was a nice experience overall and the non-stressful environment was great (although some founders appeared quite nervous!). The crowd was very diverse and we covered a broad range of subjects, in both French and English. Unilingual individuals must have had a bit of trouble following everyone’s conversation but in general it was a very enriching experience. We ended up being so busy talking to everyone that the event just flew by, which confirms it was far from monotonous. We weren't looking for funding but we saw this event as a good opportunity for a first encounter. Going to such an event also reinforces the fact that it's a small community and I was surprised that lots of people had heard of us before, thanks to the hard work of the folks at StartupOttawa and MontrealTechWatch.

Some of the other founders at the event were:

The one improvement I would make for future events would be prepare and distribute a list of attendees a few days before the event. I personally prefer to do my homework before meeting a bunch of people. Furthermore, I met at most 20% of the people at the event and maybe missed out on some founders/funders with experience in retail environments.

Finally, Austin Hill had an open question: what could we do to get more people starting companies fresh out of university? I’ll possibly talk about my opinions on the matter in a future blog post. For now, let me invite you to review the Founders & Funders site and strongly incite you to see if such an event can be organized in your community.



Spolsky's Paradox

clock May 2, 2008 13:42 by author JKealey

Last week, I loaded up my blog aggregator and I was pleased to see Joel Spolsky had written a new article on architecture astronauts. He made a good point about how Microsoft is rewriting the same software over and over and no one seems to care. I totally agree with Joel's argument about architecture astronauts as we are wasting precious intellectual resources and solving the same issues over and over.  (Side note: an interesting read about how we're wasting massive amounts of brainpower.)

However, that's not what I'm writing about today. I found myself reading faster and faster as I progressed through the article, reading the last paragraph at a frenetic pace. You can definitely feel Joel's frustration - the big boys in the industry are "stealing" all the great programmers by offering starting salaries leagues above what smaller companies can offer. Why do I think Joel's frustration is paradoxical?

Joel's Premises

  • Hire only the top quality people
  • Treat your employees as if they were superstars in your beautiful New York offices - spare no expense.
  • Build a closely-knit team that works on challenging problems to retain your employees
  • Set an example as being the best damn place for a software engineer to work and inspire millions of developers to follow your example.

Joel's Aspirations

  • Recruitment problem: solved.
  • Develop and commercialize high quality software
  • Thanks to a well-defined (and very selective) hiring process, retire from software at age 45 to start your own avocado grove as a hobby.

The Contradiction

Okay... I'm generalizing just because I find it ironic to see Joel having hiring woes. Even if as a general rule things are going well, that doesn't mean you get anyone you want. Everyone has hiring frustrations, even those who set the example. However, I'm left to wonder... has anything changed in the context of hiring? Is there anything you need to do differently today to grab the best technical talent? I can't answer these questions myself, but I see lots of companies struggle with hiring.

I do agree that it is impossible for smaller companies to compete with some of these starting salaries (unless they are keen on burning VC money) but smaller firms do have (many) advantages. But what are they?

1. Get back in the kitchen and make me some pie

What I like most working for a startup (and it would be the case even if it wasn't mine) is the opportunity to touch a bit of everything (engineering, marketing, sales, legal, etc.). Even if you go work for a 40-person startup, if you're interested in contributing to elements which aren't related to your primary function (software developer), you probably can help out. For example, if you think the company's website doesn't communicate what the company does, you can take a step back, think about it a bit, and propose enhancements. (Complaining doesn't bring you anywhere, but constructive criticism helps everyone out!).

If you're a hardcore coder, you can still benefit from working for a smaller company, because you'll have a greater impact on the final product.

However, this fact is not something that has changed in the hiring context... what has?

2. Not everyone wants to work in New York, Redmond or Mountain View.

This is one key differentiating factor for startups. Not all of the world's most talented individual feel inclined to move to get a job and I feel the number of people who will start their own software business in their home town will increase in the coming decade. In the past, we've seen a few companies such as Eric Sink's SourceGear in Illinois do well even if their offices are in the middle of nowhere, so to speak. This is due partly because of increased high-speed Internet availability combined with the lower cost to start your own software business. I think we'll definitely see more success stories from entrepreneurs living in non-metropolitan areas over the next decade because starting your own business (or working for a local one) is such an attractive alternative. It's funny how making it easy to go global causes the creation of many smaller local hubs.

On a related subject, I don't recall that many local startups trying to recruit us while we were software engineering students at the University of Ottawa... there were a few but we were mostly solicited by IBM and Research In Motion (leading to the infamous "hey! do you want a RIM job?" quote). If you're a competent student today, you should definitely look around at local startups that are working on interesting concepts.

3. You can read about it on the Internet

There are tons of people talking about their software startup experiences on the Internet and it's easier to actively participate in the community today than it was a decade or so ago. I can't really see myself connecting to a BBS with my 14.4kbps modem to learn about software startups. Today, you can find people with similar interests very easily but, best of all, you can learn from their experience.

Rather than enumerate a long list of advantages that you wouldn't bother to read, I'd like to ask you an open ended question.

What do you think will change in the way we hire software engineers in the next decade?

Please feel free to discuss in the comments. Ideas: Outsourcing? Co-working? Telecommuting? Nothing at all?

kick it on DotNetKicks.com


Co-working environments are good for software startups

clock April 26, 2008 23:53 by author JKealey

The Code FactoryA month or so ago we mentioned co-working environments in one of our blog posts about startup lessons. It appears we're now the number one hit on Google for co-working software startups. When I first heard of co-working, I assumed they were mainstream because the added value these environments bring to software startups is so obvious. However, they are an emerging trend in the software world and you should expect to hear more about them in the future. 

The advantages of co-working environments:

  1. It provides a location where members of a small core team can meet, brainstorm, and work on their new idea.
  2. It is a low-cost alternative to renting/owning your own office. You can use the space as much or as little as you need it and don't need to buy chairs, desks, a photocopier, fax machine, espresso machine, routers, etc.
  3. It opens the door to meeting new people and networking with peers in the same industry.

In a sense, they improve on the familiar software engineering lab environment that is available to university students and we know universities help create startup hubs.

Given the fact that it has become so inexpensive to start your own software company, co-working environments are a perfect fit for the small software start-ups that want to strike it big but have limited resources. Furthermore, who better to help you with your software startup business plan than someone who's gone through the process in the past? Most government agencies that help you start your business don't fully grasp software companies, but the people in a software co-working environment do!

Rather than ramble on about why co-working environments are so great, I'd like to make an announcement: 

LavaBlast Software will develop an industry-specific POS and interactive kiosk for The Code Factory, a new franchisor in the co-working arena.

The Code Factory will open their first location within a couple weeks. Ian Graham, the founder, is very much involved in the Ottawa startup community and this co-working space will definitely help budding software entrepreneurs in the Ottawa-region. The first event to be held at the Ottawa location will be the Ottawa Web Weekend, who is currently looking for more programmers for the event!  Those of you who are not familiar with the franchise industry (and thought it was limited to McDonalds and Subway) might be surprised to see a co-working environment using the franchise model but you'd be surprised by the wide variety of businesses that do (software shops, web design shops, etc.)!

Not only are we very happy to have a new franchisor on board, we're especially excited by the fact that The Code Factory will be out first client outside the child-related retail industry to use our industry-specific interactive kiosk as a key differentiator.



Should you judge a software engineer based on their hygiene?

clock April 19, 2008 16:32 by author JKealey

Although you may have landed on this page thinking you'd get clever insights on how to tell a coworker that bathing is not optional, I'm actually talking about their computer desktop hygiene. Look at the following desktop screenshots and imagine you have to hire a software engineer for your firm... who would you hire?

Clutterred 1920x1200 Smooth 1600x1200

What? You actually picked one of the two? I'd fire YOU for deciding without knowing anything about the context! :)

You might not be able to guess at first, but these desktops come from very similar people who are equally important in their respective teams. Both are perfectionists, both are versatile, both produce quality code, and both are pragmatists. Both loved Arrested Development and can't wait for the movie!  Both care about usability and software engineering. However, both are also very dissimilar in many regards. Instead of boring you with an enumeration of differences, I invite you to look at a coworker's desktop and see what you can learn.

Different people, different desktops.

As research for this post, I wanted to examine the commonalities and differences between the best software developers. I found lots of interesting classifications for software engineers. Rather than repeat what's already been said, let me point you to a few different sites.

  1. Synthesist, Idealist, Pragmatist, Analyst, Realist
  2. Scientist, Craftsman, Playboy (and regular "Employee")
  3. Elf, Dwarf, Ninja, Pirate
  4. Morons and assholes

 

One could also extract common personality traits:

  1. Pessimistic
  2. Angered by Sloppy Code
  3. Long Term Life Planners
  4. Attention to Detail

 

The more I did research, the more I was overwhelmed with a feeling of "Who the hell cares? Why am I wasting my time doing this research?" (which might ironically be due to the fact that I'm a pragmatist). Concretely, flagging someone as a particular type of person (with their strengths and weaknesses) appeared to be pointless because it's impossible to systemize people and, quite frankly, it's downright condescending.

Different individuals, great teams.

Although trying to assign personality types to people is elitist, the act of looking at the various classifications is an enriching experience. Taking a step back and evaluating yourself using personality traits instead of how many features you built this month, you'll learn more about yourself. I'm the first one to push self-help books into the shredder, but identifying key strengths and weaknesses with regards to your current context allows you to build a stronger software startup thanks to diversity. Anyone can have a great idea but you need strong people to execute on that idea. If you've ever watched Dragons' Den (Canadian version or UK version) where entrepreneurs try to convince angel investors to put their hard-earned money in their startups, you've probably noticed that the idea means nothing if the entrepreneur isn't as brilliant as their concept.

Joel Spolsky and Jeff Atwood?

Last week, I was surprised by the announcement that Joel Spolsky and Jeff Atwood were launching a new company together. Jeff points out that occasional disagreement is healthy and normal, which is totally true. If you'd have a week to waste, you could compare and contrast these prominent bloggers but you'd end up seeing they complement each other. I listened to their podcast to figure out what they were going to do with stackoverflow and the idea is quite interesting. Simply put, a developer community based on the right values of collaborative problem solving. (Question: Am I the only one who gets impatient listening to conversations and who prefers straight to the point blog posts?)

I can't wait to see what they're going to come up with, because they're basically solving a problem similar to one we've identified in the franchise world. If you spend 15 minutes googling franchise websites, you'll discover that all these sites have a sleazy-edge to them, just like experts-exchange. Commissions are big in the franchise sales world and it has basically corrupted the web community. A nice software engineering capstone project (at the end of the bachelor's degree) would be to create such as site and allow people to collaboratively identify the best franchises for potential new franchisee (minus the sales gimmicks). (Sidenote: Turning that into a profitable business is another story and would require careful thought but it does seem like a startup with benevolent aims).

Speaking of Joel Spolsky, have you heard of the upcoming Business of Software 2008 conference? The speaker list simply knocked my socks off (and not just because a higher percentage of speakers have names starting with the letter J). I hope we can free up the time and find the money to attend this event because it certainly will be an enriching conference for all those attending. Apart from Spolsky's great books, I'm a big fan of Eric Sink's Business of Software and Jessica Livingston's Founders at Work

Conclusion

In case you're wondering, I'm the one with the horrible looking desktop (weird side note: my second monitor actually has no icons on it) while our keyboard-bashing friend Jean-Philippe has the elegant looking one. We can also see is that his office desk is as nice and clean as his computer desktop. I'm not at all ashamed of my desktop even though people usually can't contain their surprise when they see it. One of my strengths is to quickly and efficiently find my way through chaos and it reflects the volume of diverse tasks I tackle each and every day. Seeing someone's desktop can help you learn more about that person, but you can't jump to any conclusions. I pay close attention to detail when it's important (pragmatism again!) but you'd never be able to guess that after looking at my cluttered desktop (unless you're reaching for explanations).

In any case, if anyone has cared to read up to this point, I'd be curious to glance at your desktop! 

kick it on DotNetKicks.com


Skinned Login Control

clock April 14, 2008 14:16 by author EtienneT
Here is our login form in FranchiseBlast.  We think it's a pretty cool login form and it was not that hard to do.  It only requires basic CSS and some jQuery.
 
 

How we did it

The only things you need is an image like this one here:

inputLogin

Then we used the following CSS to define our text boxes style.  The "Login" css class is applied to the ASP.NET Login control and the class "TextBox" are applied to both textboxes in the login control.

.Login .Textbox, .Login .Hover
{
    width: 337px;
    height: 17px;
    background:transparent url(images/inputlogin.png) no-repeat top left;
    color: Black;
    border: none;
    padding: 5px;
    font-weight: bold;
}
  
.Login .Hover
{
    background:transparent url(images/inputlogin.png) no-repeat bottom left;
}

 

Has you can see, the only difference for .Hover class is that we tell the background to show the bottom of the picture (the orange part) instead of the top of the image.  If Internet Explorer supported the "focus" CSS pseudo class then it would be much simpler, but IE doesn't support it, so we have to use jQuery to achieve the effect.

Don't forget to add jQuery.js somewhere in the page and then you can add the following script to your page:

$('.Login .Textbox').focus(function(){
  $(this).attr('class', 'Hover');
});
  
$('.Login .Textbox').blur(function(){
  $(this).attr('class', 'Textbox');
});

 

Basically the code above registers an event to all DOM elements which have the "Textbox" CSS class and are children of a control of the "Login" CSS class. The first call registers an event handler on the focus event of the text box which changes the class to Hover.  We do the exact opposite for the blur event when we the text box loses it's focus.   There may be a better way to do this why jQuery; if you know how, let us know.

Finally, as a special added touch, we use an AnimationExtender after a successful login:

<ajax:AnimationExtender ID="animLogin" runat="server" TargetControlID="LoginButton">
<Animations>
    <OnClick>
        <Sequence>
            <FadeOut Duration=".5" Fps="20" AnimationTarget="pnlLogin" />
        </Sequence>
    </OnClick>
</Animations>
</ajax:AnimationExtender>

 

One last thing, if you use this AnimationExtender, you have to make sure your validators don't run on the client side. Validation must occur on the server otherwise the fade out animation will still occur and the login control will disappear. For example, we used a RequiredFieldValidator for both the username and password text boxes and we had to set the EnableClientScript property to false on both these validators.

This concludes how to do a skinned Login control à la LavaBlast.

kick it on DotNetKicks.com


Month List

Disclaimer

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

© Copyright 2017

Sign in