North Creek FLOW Analysis Process

North Creek Flow analysis process:

1. Identify business process to analyze. Create a clear boundary (process starts at this point, is finished at this point).

2. Identify all the human characters involved (like a movie script cast list for this 'scene').

3. Place characters around outside of page (stick figures). Draw numbered arrows between characters for each step. If multiple characters are involved in a single step, try to break step down into smaller steps. If not possible, flag for step (8).

4. If there are decision steps and branches, your process is too big! Divide into at least 3 processes:

  1. before decision
  2. choice 1
  3. choice 2
and so on for each choice. Track decision points in a separate document.

5. For each numbered arrow, identify the information that is flowing in each direction.

6. Now list all computer systems that are used for each numbered arrow. Hopefully there is only one system per arrow.

7. For each step, within each computer system, record:

  1. How the data is stored (web form, spreadsheet, database, text file).
  2. Human/Computer Interaction steps (login, form data entry, compose email, save file).
  3. Frustrations, extra steps, mismapped data, manual steps required.

8. If there are steps with more than 2 characters involved,

  1. identify 2 'main' characters that give/receive value in this interaction
  2. note the computer systems involved
  3. find ways to automate 3rd party involvement in this step.

9. Note when data is first entered into the system. Pick a data point (customer name, cost, price) and follow it through the process. Note when data is changed.

10. Note all systems that need access to that data point, and whether they need read or read/write access.

11. Create a dictionary of data types, and for each data type, note in which business processes they appear, and in which systems they are stored.


1. Drawing per business process

2. Larger drawing of how business processes fit together

3. Human character cast list

  1. including which processes each is involved in
  2. the other humans with which they interact
  3. the data they need to perform their role
  4. the systems they must have interactions with

4. Decision points throughout business process

  1. Inputs to that decision, and resulting business processes

5. Computer system list (software)

6. Data Dictionary:

  1. Data type name, description
  2. System of Record for that data type
  3. Systems that need to read that data type
  4. Systems that create that data type
  5. Systems that change that data type
  6. Processes that interact with that data.

The North Creek Flow Analysis system can be used as an input for Security/Authorization analysis (determining who needs access to what parts of the business). It can help in understanding hardware acquisition. The resulting data can be segregated into relatively constant cost business processes vs. costs that scale as the business grows.

For Data Integration, Flow Analysis makes it obvious where one piece of data is being handed from system to system, and which persons in the process need access to which systems.

An analysis performed at the Departmental level will identify optimization opportunities. Expanding the analysis to multiple departments could expose missed strategic opportunities.

As you go through the process, please note your frustrations with the Flow process itself, but attempt to carry on to completion for an individual process before experimenting with changes to the Flow process. If you find a useful alteration, please send me an updated process description at dave@northcreek.ca.

The discussion around the analysis will be more valuable than the analysis itself.

In preparing for battle I have always found that plans are useless, but planning is indispensable.

Dwight D. Eisenhower

Categories: Business , Methodology

Two-way communication

The Coffee Break MBA message:

* get ambitious employees reading and learning

* harvest the good ideas through intentional meetings

* identify the ambitious, capable and under-utilized employees through incentives

makes a lot of sense from the employee side. Opportunity to shine, to get noticed, and to contribute.

But what about from the C-suite?

It may be that the CEO knows the weaknesses that the company needs to improve on. Wary of splitting the company's focus, he or she is continually over-communicating the one big idea that the company needs to get right (h/t to Verne Harnish and "The Rockefeller Habits").

Reading Jim Collins, Michael Gerber, Lencioni, Christensen - sounds like a bunch of distractions. Let's say the Harnish model is front and centre in the executive's mind. Wouldn't it make sense to give everyone in the company a copy of "Scaling Up" (Harnish's updated book) and get some synchronization?

No, and I'll tell you why.

1) Monoculture. Get a field full of genetically identical plants, and one virus can wipe out a crop. In a natural ecosystem, the field will contain the virus and continue to flourish because of diversity. Don't be afraid of competing viewpoints - but be able to evaluate them and discard weaker viewpoints.

2) Simplicity. If you need a whole book to teach the primary concept to the team, you haven't understood the concept. Narrow down your focus and teach the Big Idea through everything you do. Frame employee learning in the context of the Big Idea.

3) Practicality. Using the Big Idea/Great Idea framework (organizing principle vs. situational pattern), as an executive, you need to focus on the Big Idea. Your staff need to implement the Big Idea in multiple situations, so having access to multiple patterns that can be used will be a positive.

There is nothing stopping you as a manager from over-weighting your #nextbook selection with books that are in your philosophical camp. Of course, that means you need to have some familiarity with the business literature. Feel free to check out #nextbook for yourself, join my mailing list (1 book, 1 tool, 1 idea per week), or just start blocking out time in your day to read. In the long term, that may be the most strategic thing you do.

And if it makes sense for the boss, wouldn't it also make sense for the employee?

Let's turn your company into a Learning Organization. Go ahead, set up an appointment for a free consultation.

Categories: Books , Business , Methodology

Why is it so hard?

Why is it so hard to become a Learning Organization?

1) The company Vision is unclear. If you don't know what you're aiming for, you'll never hit it.

2) The company has no Processes. If there is no understanding of "How we do things around here", local fiefdoms and competing departments will waste your energy in friction and unnecessary complexity.

3) The company has no way of improving its Processes. If "How we do things around here" never changes, or only changes randomly with no clear rationale, the company will lose all of its creative people and become a group of gray salary-drawing bureaucrats.

4) There is no acceptance of new information. If a better idea exists, the company should be looking for it.

North Creek's Coffee Break MBA is aimed at problems 3 and 4. More than a Book Club, Coffee Break MBA aims to open up the circulatory system of your company, invigorating all of your employees and moving management focus beyond fighting fires to concrete improvements to the bottom line.

Contact me to set up an initial free consultation.

I would love to talk to you about your Vision, and about SOPs and making your processes explicit. But there are some great books and awesome authors that will help you with that. Let's start with a book club and see how far we can get.

Categories: Business , Methodology

Fast Growth vs. Slow Growth

We're a microwave society, and we have been for most of our lives. Why wait? Use Uber or AirBnB. There's an app that will get it delivered. Put it in the cloud, don't buy your own infrastructure.

But there are things that take time. Personal growth takes time. Wisdom. Perspective.

You can speed it up - to a point. Learn to be present. Learn to be congruent. Learn to be intentional in everything you do.

But some things you just have to work at, practice, do over and over again. Mastery comes after the apprenticeship.

If you are looking to grow, or looking to help people grow, you need to set a couple of expectations.

1) It will take a lot of time, where not much seems to be changing.

2) At some point, something will change internally, and the person will be able to access an entirely new level of achievement, mastery, or influence. There may be few signs that the change is coming, but when the prerequisites are there, and the opportunity presents itself, BAM.

There are lots of precedents for this kind of growth. Complexity research. Supercriticality of liquids. Economic crashes. Sandpiles.

In the pre-Cambrian period, there were very few types of animals (according to the fossil record). In a geological instant, every major phyla and body type that we see now, along with many that haven't survived, suddenly appeared, in what is known as the Cambrian Explosion.

If someone was managing biological diversity, they would have been fired during the Pre-Cambrian period. But if the growth and development would have stopped at that point, we wouldn't be here.

If your company is measuring growth linearly, you may be settling for visible things that can be gamed, but which do not produce real growth. If you are managing for real growth, you have to have some patience.

You as an individual need to be growing all of the time. It might not be visible. Don't quit.

You never know when the explosion will occur, and you don't know what internal things need to change to unleash it.

Never stop growing, even if nobody else sees it.

Your day will come.

Categories: Business , Methodology

Depth-first vs. Breadth-first

Let's start by assuming that your company has at least one problem.

Let's also assume that somewhere, someone has written a business book describing a solution to your problem.

(Now, it might be a video series, or a seminar, or a podcast, but most good ideas eventually get turned into books, and Big Ideas that are also Good tend to become successful because capitalism).

Let's assume that you are the manager, owner, CEO, P&L responsible. If not, let's pretend you are and you can play along.

How many Big Ideas can you find? Understand? Evaluate?

How many staff do you have that you trust to be able to do the Finding and Understanding?

How many staff do you have that would love to earn that trust? (See, if you're playing along, you would love that opportunity, right?)

So cast a wide net in the business learning sphere. Get a bunch of people to evaluate a bunch of ideas in parallel, then collect the results, rank them, and then get to implementing the right one, not the latest one that you have been sold.

Maybe it's out of left field. Maybe it's something that's never been done in your industry. (Probably that would be a good thing!)

What if you could ask for help, and have your staff volunteer to help you solve problems? Do the incentives match up? Think about it - you get innovative ideas investigated and understood by someone within the company. Your staff get to prove their chops at solving real business problems.

What if all of this came out of your training budget, and nobody saw that as misappropriation?

That's North Creek's value proposition. Breadth-first search of the business literature, by employees and staff, for the benefit of their career and the company's bottom line.

Calendly to set up an appointment to talk this over. Follow @northcreeksoft on Twitter, like NorthCreekSoftware on Facebook.

Let's turn your company into a Learning Organization.



Categories: Business , Methodology

Big Ideas and Great Ideas

Seth Godin, in the Startup School podcast, said something like that all business non-fiction books can be read in 5 minutes. I wish that were literally true, as I work through the stack of books I need to read to stay current with the North Creek Mailing list (1 Book, 1 Tool, 1 Idea, every Thursday).

But the kernel of the idea is that a good business book is built around a single Big Idea. Two Big Ideas mean the reader might miss both of them. So the author, the editor and the publisher make sure the stories, the data, the frameworks - the whole book supports one Big Idea.

As a businessperson, finding the Big Idea in the book shouldn't be hard. The reason the book is 250 pages instead of 250 words is that the Bid Idea needs to be (a) sold to the reader, and (b) translated for the reader.

You can save a lot of time and skip the sales section if you grant the thesis, the Big Idea of the book. Let's figure out how to apply the book to me! But if you are unfamiliar with the Big Idea, you may need to go through the process of being sold, so that you can answer the objections others will put in front of you when you start to sell them on the Big Idea.

If you are not in a senior management role, the Big Idea may not be that much use to you. Without the authority to make changes, implementing the Big Idea might be out of your reach. Is it a waste of time to read the book?


Once you understand the Big Idea, the sales process, and the translation process, you can filter that out and look for the Great Ideas the author has included in the book. Great Ideas are practical techniques or approaches that are used by the author to support his or her Big Idea. They are not Big enough to support a whole book, or broad enough to build a whole company around, but they can bring huge advantages to situations where they are relevant.

A Great Idea is not universal. It may not be helpful at all in your circumstances. But having that Idea in your mental toolbox may come in handy when a new situation arises.

Great Ideas are often illustrated in stories or case studies. Since they are situationally relevant, they are easier to communicate within a sample situation. Whenever the author tells a story, look for the Great Idea that is being explained or supported.

Sometimes Great Ideas are frameworks, visual tools, or ways of thinking about a problem. Whenever there is an illustration in a book, it's a clue that there is a Great Idea there. Many analysts love to combine two adjectives, make a grid, and create 4 quadrants. It is immediately apparent that you want to go up and to the right. That grid may be describing a Great Idea.

Great Ideas don't require a lot of authority to implement. You can start trying out a new way of analyzing a problem immediately. You can go to work, watch a process, and start placing it on a grid within a day. Companies are usually managed according to a small set of these Great Ideas, communicated explicitly or implicitly throughout the organization.

As you read a book, keep a notebook handy. Make a page just for the Big Idea of the book. Note the sales process the author uses to sell you on the idea. Note the target audience the Big Idea is translated for. After you've finished the book, see if you can write a paragraph describing how the Big Idea could be translated for your company.

Then make a whole section of your notebook for the Great Ideas in that book. Every time you encounter a technique or approach that the author uses to solve a problem, write it down on a new page. Note the kind of problem the Idea solves. Draw the picture if there is one, or summarize the story or case study. Then spend a few minutes translating the Great Idea to your situation. Don't worry about the whole company (unless you are the CEO). Instead, apply the Great Idea to your work life, right now. If there is no immediate application, leave it blank, but make a note of the problem type. When you encounter that problem type in the future, your notebook will contain an approach that has worked for other people in the past.

If you are a manager, imagine if your people were creating and sharing notebooks full of Big Ideas and Great Ideas. Imagine if there was the opportunity for people to filter those ideas up to their leaders, so that the whole company could learn. Great companies coalesce around a few Big Ideas, but no company can ever have enough Great Ideas in its toolbox. North Creek Consulting will partner with you to install this approach into your company. Starting with the classic business books, your people will be exposed to Big Ideas that will expand their understanding of the market. They will also start to pick up Great Ideas that can give your company marginal improvement in lots of areas at the same time. You're only one person - get more people reading, learning and growing. Partner with me and let's turn your company into a Learning Organization.

Excited to keep learning,

Professional Learner
North Creek Consulting

Categories: Books , Methodology

Really, who needs Coffee Break MBA?

Coffee Break MBA- it's a bit of a fanciful name, but it expresses the idea pretty well.

But while it is a long slog for a worker bee, climbing out of the cubicle 15 minutes at a time, there is a different perspective for business owners.

Imagine each of your people as an idea vacuum, constantly learning and adapting to the inputs that come into his or her mind. Imagine adding a diverse set of Big Ideas and Great Ideas (2 different kinds of awesome!) to their mental menu. Every person who signs on to learn will grow in their perspective, in their skill set, and in their productivity.

But what if you intentionally sponsored that growth - and in tens or hundreds of different directions at once?

For some companies, the CEO goes to a conference, hears a keynote, and buys a case of books written by that speaker for her 'team'. That one Great Idea gets transmitted through the organization, and within a few months, the useful parts are integrated into how the business functions.

Imagine if there were fifty readers, scattered throughout the company. Imagine if they were paired up, 2 to a book, so that there was some accountability and encouragement around finishing the book. Within a month, the company would have 25 Great Ideas or Big Ideas that could find some application in the company. With some competent management, those new ideas could be vetted and integrated from the bottom up.

One person can impose a vision on a company. But are you willing to bet your company on your vision not having any blind spots? Spreading the search around will expose the company to so many more ideas.

North Creek Consulting is developing a framework for you to turn your company into a learning organization. http://northcreek.ca/nextbook is the public face of this framework - a simple site that recommends books and pairs readers across the internet.

North Creek will spend some time connecting with your management team, identifying your vision, your goals, what drives your company, and what your challenges are. I will customize a booklist for you that spans perspectives, prescriptions, and approaches. I will work with you to develop a process for learning from your employees. Your staff will be empowered to change your processes, your priorities, your strategy, and your bottom line - by learning from the smartest minds in business and life.

Contact me, Dave Block (dave@northcreek.ca, 780-604-2602) to set up a free initial consultation. Prepare to build a corporate library, prepare to invest some time in your employees, prepare to learn.

Turn your company into a learning organization, one coffee break at a time.



P.S. Go ahead and call me (780-604-2602), I'll work with you personally to set this up so it works for your company. If you have a training budget, buying a whole library costs about the same as sending one person to one conference!

Categories: Books , Business , Methodology

Data Flows and Simple Tools

Data Flows and Simple Tools

Professional programmers look at your business as something like a chemical refinery. There are inputs (prospective customers, investment, [lots of] labour) and transformations, like chemical reactions, leading to products (physical products, or happy customers, or both) as well as waste products. It is in your best interest that the flow has as little turbulence as possible. Lean manufacturing is focused on reducing waste.

North Creek's first marketing tagline was "Let your business flow." I wanted to help you understand where data was being wasted in your business, where errors were creeping in, and how we could automate things to make your work easier.

Now I'm focused on creating a couple of products that will help you do that, without having to fly me in to walk you through the process. (You're probably a ways from Onoway, Alberta). We'll start small. If you, like most small businesses, use spreadsheets to track numbers or projects, CXL will help you by adding a layer of "adult supervision" over your spreadsheets. You'll have a history of what is changing. You'll have the ability to go back in time, or to branch a useful spreadsheet into another area.

But what could happen is that you'll start to see the data flow through your company. Spreadsheets filled with numbers change like crazy. If those numbers are the real description of what's happening in your company, then it's the flow of those numbers that we want to understand and manage.

I want to help you create tools that don't change, that help you get a consistent look at the data that does change. Good spreadsheet design gives you a place in the spreadsheet where data comes in, a place where calculations are performed, and a place where you look for the result. If those are all mixed together, it will be hard to manage the flow.

But the internet is full of people smarter than me when it comes to spreadsheets. Point me in the right direction - let's help each other!

Meanwhile, CXL will open it's beta in January. Sign up by emailing me, follow @NorthCreekSoft on twitter, like North Creek Software on Facebook.

"Let your business flow!" :-)

Categories: Business , Methodology

Integration via Spreadsheet?


In many ways, businesses use Excel as an edge node in the graph of integration pathways. Data comes in to your spreadsheet, is folded, mutilated and spindled, and turned into a table or chart you can put into your slide deck.

We all know Excel and its competitors can do more than that, but for all the reasons I've described previously, few businesses choose to go that way. It's too easy to change a spreadsheet - it's one big sandbox for playing with data! So businesses lock things down with custom software or integration tools.

If we had a repository that tracked and provided "adult supervision" for spreadsheets, could we use spreadsheets closer to the middle of the integration graph? Could we trust some spreadsheets as tools to provide some visibility into the guts of your data as it moves through your business? Instead of being stuck in a database that only a DBA "Wizard" can peer into, would it be helpful to be able to see data as it is being transformed?

Excel and others are pretty good at subscribing to data feeds (using ODBC or other connectivity, or through CSV file imports). Part of North Creek's technology stack is Apache POI, which is a library that takes apart a spreadsheet like a chicken, allowing me to see its guts and play with each individual cell. CXL was envisioned as a repository with intelligence, allowing businesses to trust that their spreadsheets were not being changed and distributed without the document owner's knowledge. What if there was the ability to put data feeds into CXL, not just spreadsheets?

I am not planning on re-inventing any wheels. I would embed Mule as a front end and require some configuration on your part to set up the data feeds. But any data source can be expressed as an html page (I am using jmesa for now) or as a spreadsheet table. This could be interesting.

If you want to help steer North Creek's product vision, sign up for the beta by emailing me at dave@northcreek.ca.

You can also like my Facebook page or follow me on Twitter. If you are interested in receiving these blog posts via email, tell me in an email!

Categories: Business , Methodology , Software

Good Spreadsheets vs. Bad Spreadsheets

Spreadsheet "Design"

Spreadsheets are usually "grown", not designed. If you are responsible for a spreadsheet that is vital to a business process, relied upon by others - you may not be able to describe the parts of the spreadsheet. It just is. There are the places you go to update the data. There are the changes you make to the dates. There are the parts that always break and the parts that never change.

So what makes a good spreadsheet?

Let me know in the comments or on social media what you think. I have an opinion, but there are experts out there!

Spreadsheets are a container for data and programming code. So my experience as a database administrator and designer, and as a programmer across multiple languages (and eras) suggests that there may be some patterns that would be useful.

1) Separation of Concerns.

Many programmers use the shorthand SoC for this, and it is one of the pillars of good design in most coding schools of thought. Make every component of your [thing] do one thing, and that one thing well. For spreadsheets, that probably means looking at the structure of your worksheets. If you have everything on one worksheet, it might make things easier to move some of the content onto another sheet and use relative links to bring the data back for calculation purposes.

A rule of thumb - separate the spreadsheets into sections based on how fast things change. If you have parts that never change, put them in a worksheet and don't touch that worksheet. If it changes, you should know why. If you have stuff that changes all the time, isolate that from the rest of the document so that the volatility doesn't lead to accidentally overwriting some of the longer-lived stuff. If you have stuff that changes on a schedule, work on a naming scheme and put all of the date-sensitive stuff on one worksheet. Then you can turn that into a template and change only that stuff on a schedule.

2) Don't Repeat Yourself

This comes from "The Pragmatic Programmer" by Hunt and Thomas (right up there on my bookshelf). If you enter data twice, one of the times will be wrong - not every time, but often enough that there will be a problem at some time in the future. So try to avoid the cut and paste, and especially the re-typing. If you can automate the export and import of data from your other tools, do it! The fewer the steps involved, the better.

There are plenty more - let me know your best ideas, or the source of your best Spreadsheet tips!

...Follow me on Twitter @NorthCreekSoft - Like North Creek Software on Facebook - email me at dave@northcreek.ca...

Categories: Methodology , Software

Spreadsheets and the failure of IT


When I was a corporate programmer, spreadsheets were evil.

There were too many of them, they contained important and valuable data, and we (the IT people) couldn't keep them under control.

People would have them on USB sticks, on Dropbox, on their kid's laptop. And the calculations were stuck in an obfuscated binary format, hard to get at and hard to reuse.

So why are spreadsheets still around?

1) They are easy. Nothing to a good model or a good project breakdown in 20 minutes. No other tool gives you that much flexibility.

2) They are flexible. Add a column. Add a row. Change the formula on the third linked worksheet and look at the graph change.

3) They are personal. You can do things on your desktop (or laptop) (or tablet) that others don't have to see or laugh at you about. You can spitball a scenario. You can what-if. You can write one version of the project summary that is not for publication, then actually erase it and write a not-so-candid version.

So where do spreadsheets live?

Wherever change is happening.

A new company doesn't have the budget or the insight to commit to a database schema that won't change. It can't know whether this tool or that tool will match its process. So spreadsheets work during growth.

During disruption, trying to fit the new reality into an ERP package built for the last decade (and designed during the decade before that) leads to frustration and error. A spreadsheet tracks the data as things change around you.

CXL will use a gentle touch. Keep your spreadsheet. Keep your formulas. We'll find the data in the spreadsheet. We'll track changes as they happen, whether they are within a cell, a new row, a new column. The history will be there. And you will be able to manage change.

CXL will do branching. Spreadsheets are personal, and the other person's template may be a good starting point for them, but not for you. Or maybe you want to take a model in an entirely different direction. Branch the document, don't lose the history, and continue on your own path.

CXL will be easy. Just a file upload, and you have a document in a secure repository. There will be a public URL if you want to share with the world. There will be private access tokens that you can hand out. There will be the option to share only with a certain group of people, that have to log in using their email address. And for each level, you can restrict to preview only, download privileges, the right to propose changes, or document ownership. You can make things complicated if they need to be. But simple if that's all that you need as well.

Suggestions? Comments? Let me know. Email me at dave@northcreek.ca  to join the Beta in January, or to subscribe to the North Creek mailing list.

Categories: Methodology , Software

Coding Options

I have discovered that I have been away from coding for a while! My last coding assignment was with EDS(www.eds.com, now a unit of HP), working on an existing codebase that dealt with a mixed Oracle/mainframe backend, with a Java servlet/JSP front end (http://travis.gov.ab.ca). This was a familiar environment, since I worked on similar systems at Novartis (www.gnf.org) and the University of Alberta Human Metabolome Database Project (metabolomics.ca). However, my work at EDS transitioned into Business Analysis, including a lengthy stint as a facilitator for a large-scale Smart Card implementation. While I was gone, the world changed!

The world has experimented with web user interfaces (UIs), and has found them wanting. In their place, the Rich Web has gained prominence. This primarily has meant AJAX, and in practice, the Google Web Toolkit along with other offerings. Adobe has introduced Adobe AIR, which allows cross-platform desktop development based on Flash. And the rise of the Mac platform to relevance has re-invigorated cross-platform library solutions, such as Qt, a unit of Nokia, which provides Java and C++ development environments that can be targeted at almost any platform, including Linux, Mac, Windows, and many smart phones.

So I want to develop custom, easily modified business software. So do millions (?) of other developers. I hope that my choice of technology gives me a business advantage. Of course, my primary business advantage is that I will start by creating a relationship with my clients, and then will meet their perceived and actual needs. This means that my choice of platform must allow me to fulfill those needs within a cost and time structure that allows me to be profitable.

So, what do I do? Here are some major factors in my decision-making process (which has not finished yet!):
1) Run on desktop vs. remote server: Do I set up a server and allow my clients to log in to the server? Or do I send a complete solution to the client desktop, including a persistence solution and all business logic?
My experience and my instincts suggest that if I can control the server, I can improve the experience for the client without the pain of an upgrade process. This should allow me to iterate rapidly towards a really good product.
2) Web client vs. Rich client: Should the user interface be compiled to run on the local machine, or should it be mediated by one of several possible browsers, over an uncertain network connection? This seems to be somewhat of a false dichotomy, as long as the client has decent bandwidth. With my choice of a server backend in #1, the bandwidth seems to be required. Can a solution such as GWT support enough functionality to make the browser "disappear?" Or would a Java client offer enough speed and interactivity to make the browser interface seem clunky? Perhaps I should let Qt provide the UI framework, and write once, test everywhere?
3) Client hosting of data: Will the clients be comfortable with their private business data in the "cloud," or should I sell them on local appliances that host their solution on their local intranet (which means in many cases, setting up an intranet)?
The low cost of desktop hardware leads me towards this second option, where I build and configure a server that hosts the persistent data and the application, which is served to the client desktop (through something like Java Web Start, or through GWT, or Adobe AIR). This allows me to set up backup schemes and encryption to reassure the client of the security of their data, and gives me a single upgrade point per client.

Given the explosion of virtual server environments available, I believe this progression of questions and answers will lead me to develop a standard appliance that can be easily loaded into a commodity PC. This appliance will host the applications required by the client, while the data will be stored on the PC outside of the appliance, allowing for quick swapping of images when I wish to push out an upgrade or bugfix, without touching the client data.

I have a lot of experience with MySQL, and combined with its price point (free!), I plan to stick with it for now (while watching PostGres et al). Combining MySQL with a JVM and a servlet container (Tomcat? Jetty? Jboss? I'll decide later... the joy of standards) gives me a comfortable backend. Now, developing on the front end for the JVM has gotten interesting, and that's where I'm still experimenting. GWT? AIR? I will probably pass on AIR for now, as its advantages are pretty small compared to the other options, and there is a small upfront cost involved. I'm still happiest with free tools.

I am taking a good long look at Qt, and its Java implementation, Qt Jambi. That combination gives me a near-native front end (from C++ compiled into native code) combined with Java (which I actually have worked in before). If it's not dynamic enough (more on that in a later post), I will probably invest some time in GWT, and then fall back to HTML+javascript as a last resort (but the one I actually know how to do now).


Categories: Business , Methodology , Software


Welcome to the North Creek Blog. This will be a record of the creation of a new software development company in northern Alberta.

My name is David Block. I am starting the company I would like to work for (Thanks for the idea, Joel). It will use agile, Test-Driven Development, and it will assemble Open-Source tools and libraries to create custom applications for small businesses that have the capabilities of much larger, more expensive commercial software. I plan to stand on the shoulders of many other giants, and see what comes of the process.

I have a few ideas of my own. I like working off of a real database engine, so I will start with a general database schema that will store most of the nouns in the program. Then, I will build a workflow solution on top of that schema that thinks in terms of verbs. The verbs will lead to the dynamic generation of the interface needed.

I have a library of database interaction code that I have developed over several previous projects, for different employers. The latest name for it is DBDB. I will use it as the ORM for my application. It is very lightweight, and requires very little maintenance to adapt to dynamic database schemas. I don't like maintaining a big xml file - flashbacks to J2EE.

I will also use a lot of Spring for setting up the project.

I will try to post reviews of useful books, projects, and libraries as I try them out.

Currently, I'm trying to read some of the books that have been sitting on my shelf for a while: JUnit Recipes, The Pragmatic Programmer, and Uncle Bob's Agile Software Development. Now I have to try to apply those principles as a small business owner, working on my own.

Hopefully I'll see you around.

Categories: Books , Business , Methodology , Software