Category: Document Assembly

Template vs. System Design

Over the years of working with HotDocs we have encountered many issues with the basic design of HotDocs, client requests and what not, that have required creative solutions.  And in so doing, we have changed our approach from one that centered around “documents” to one that centers around data and workflow.  In so doing, we have substantially changed the way that we code in HotDocs, using methods and approaches that arise from other coding languages and programming principals.  We have found HotDocs to be flexible and powerful enough to support, for example, the use of common elements across multiple templates, use of templates as reusable objects, using local and global variables, internal databases, and dynamic indexing and cross-references.  Such features are not required for basic template design.  However, there use leads to more user-friendly interviews, more dynamic data entry, and the ability to design templates and interviews that reflect and respond to the data input.

Nothing in the typical HotDocs training prepares a developer for this use of HotDocs.  HotDocs contains powerful tools, scripting language and capability to support advanced object oriented programming. The functions are documented, but some of the more powerful capabilities are only hinted at in the documentation.  Our approach starts with a recognition that documents are not the center of a template system, but merely the output of a system.  Documents are the output of carefully crafted data gathering processes that begin even before the document assembly interview.  A well designed system understands and mirrors the natural data gathering process, and then guides the user to the appropriate documents.

When confronted with a HotDocs project, many clients and some developers think only of the document in front of them.  Code the first document, then move onto the next. Just identify the fillpoints and create a variable. When developers code one document at a time, they focus on the relevance of data to the particular document at hand, failing to recognize that data in an answer file will be reused for multiple templates.

We have been called to rebuild several CAPS Author systems.  What is different about CAPS is that it truly was a platform to develop practice systems.  CAPS views templates as merely one of several element types that compose a CAPS practice system.  As such, a typical CAPS systems could have hundreds of document templates, but actually output under a dozen documents.  This model of design is one of the approaches we take at Basha Systems in designing our HotDocs systems for our clients.

The benefits of a modular and systemic approach are many. They include:

  1. Use of reusable components which can be edited once and used in multiple documents.
  2. Use of global scripts that simplify template markup, making templates more readable.
  3. Use of global style design to ensure consisent formatting and numbering.
  4. Use of common dialog design to ensure familiarity and ease of use in the interview.
  5. Use of consistent variable naming conventions and schemas across multiple dialogs, templates, and even practice systems.
  6. Use of party systems to collect data and dynamic lookup lists.
  7. Use of shell templates that either aggregate templates into a single resulting document or launch multiple documents without running redundant interviews.

Anyone can code a document.  Only a few can code a system. In looking at a document assembly project, if you begin from the systemic approach, you will be able to see the overall process and the individual reusable elements.  And maybe, you will begin to get better results.

Social Networking – BestThinking – Twitter – LinkedIn

Over the past week, I have dabbled my toes in the world of social networking.  I have not yet activated my facebook profile (bashasys) or sought my “friends”, but I have looked as some of the more narrow market social networking tools.  The problems is that many of the tools are TOO open.  That means lotsa people to follow, lotsa posts to sift through, and oodles of time to waste. For that reason, my recent discovery of “groups” in a number of these sites heralds a change in my opinion of them.

Groups, for those who don’t know, are more like amorphous electronic social clubs.  They each have a dynamic.  Have too few people in a group, and nothing happens; it sits dormant, waiting for someone to provide a spark, and eventually dies a slow death of obscurity.  Have too many people and the group become a raucous nightclub with EVERYONE SHOUTING, and no-one able to be heard.  In some ways, like a busy pick-up bar (from long ago memory), there are those select and talented individuals who can actually meet someone in such an environment, with the unique capacity to say the right thing and hear the right thing in a way to make a connection.  For the majority of us, myself included, the noise and business is a turnoff; there is no way to get to know someone, to connect.

And so, finding myself in the role of group moderator and host, I have faced a choice.  Do I open up the group to anyone interested who clicks a join button, thereby boosting my number of “groupies” and friends.  Or do I handpick my friends and invite them into the club, ensuring that the members have something in common, that the group doesn’t get too big.  I have chosen a middle ground.  I have tried to define the space, the credentials required for membership in the group.  I have albeit invited my friends; but I have also asked them to invite their friends, and them to invite their friends. For my HotDocs Wizards Link, my criteria is that any participant actually program in HotDocs, not just be interested in following or marketing to group members. For The Virtual Lawyer, I have asked that members be either lawyers or technologists working with lawyers who use and promote the Virtual Practice of Law.

Only time will tell whether this is a waste of time, my time and my members time. For the moment, it is fun; there are some useful ideas; and I have learned what others with similar interests are doing. It has allowed me an excuse and a forum to hook up with those whom I see only occasionally and others who may know of me but whom I do not know. It has been commented that this blog is closed to comments (Mark Deal, we know who you are and where you live).  The main reason has been the commenting capabilities of blogs are really inadequate to the development of useful discussions.  This blog, however, is NOW being fed as a newsfeed on the HotDocs Wizards Link.  If you do want to post comments, be sure to join the HotDocs Wizards group and post your comment there.

LinkedIn NewsFeed to Document Assembly (and Case Management)

As part of the HotDocs Wizards group on Linked in, I have now made my blog, Document Assembly (and Case Management) available on Linked In.  For those who don’t know about LinkedIn groups, the HotDocs Wizards group is a place where REAL HotDocs developers can meet to share ideas and even business prospected.  In the past two weeks, I have been asked to post two job offerings to the group.  It may be that is only a trickle, but enough trickles turn into streams, and streams feed into rivers.

LinkedIn currently has over 30 million connections.  What people do with their LinkedIn profile is up to them.  It may be worthwhile to but you bio/cv up on LinkedIn.  It may not make sense to get a paid subscription.  The choice is yours.

DECREMENT and INCREMENT

The DECREMENT and INCREMENT instructions are relatively new to HotDocs and they serve identical, but reversed purposes.  DECREMENT will reduce a given number variable by one, whereas INCREMENT will increase by one.

These two instructions are most useful in conjunction with WHILE and REPEAT instructions.  Lets say we are doing some real estate templates and one of the templates is ONLY required where there are one or more corporate borrowers. To do this, we could just use a TF variable that is set to TRUE if there is at least one corporate borrower, but that isn’t as useful as knowing exactly how many corporate borrowers we have.  Making MORE specific information available to your system is nearly always better than “the shortest approach”.

SET BORR Corporate CNT TO 0 //our var to store how many corporate borrowers
REPEAT BORROWERS RPT
IF BORRS Corporate TF = TRUE //a checkbox on the dialog if the borrower is a company
INCREMENT BORR Corporate CNT
END IF
END REPEAT

And that’s it.  At the end of this, BORR Corporate CNT will contain the number of corporate borrowers we have.  The same usage would apply in a WHILE statement, except that in a WHILE loop, it is nearly always imperative that you have an INCREMENT (or DECREMENT) statement.  The reason for this is that REPEAT will auto terminate when you have finished the repeated answers whereas WHILE does not – YOU must manually code that ‘cut out’.  And that’s where INCREMENT comes in.

At the end of the day, INCREMENT and DECREMENT could already be achieved in HotDocs scripting as follows:

INCREMENT: SET Variable NU TO Variable NU + 1
DECREMENT: SET Variable NU TO Variable NU - 1

Both of these would work. But these two new instructions are cleaner and easier to type.  And lets face it – convenience and clean code are pretty cool things to have.

Twitter Twitter Twit … What is in a Twit

I have recently noticed a number of attorneys and software vendors getting “Twitter” personas … see www.twitter.com. So I got one for myself.  I can be reached via @bashasys.  I had a long drive up to Montreal with time to kill on my new Blackberry Storm (Rose was driving).  And so I enrolled in Twitter and began to Twit (yes… that is a new verb that I cannot claim credit for). And here are some of my thoughts after a week of Twittering.

Twitter, for those who don’t know, is a hybrid of “texting” (or using cell phones for Text messaging) and Blogging.  It is texting in that it limits all posts or messages (aka Twits) to 140 characters.  For people like me who can barely keep a sentence under 140 characters, such limits can be crippling. The message box for Twitter is titled “What are you doing”.  And so the initial inpulse is to answer the question.

Note my early posts on my drive to Mont Tremblant:
# Bilingual jokes á Le hotel de ville and 30 degrees below zero … Celsius 4:26 PM Feb 15th from TwitterBerry
# Lost to my son in the brain activity game … Can move the ball with alpha waves 12:06 PM Feb 15th from TwitterBerry
# 30 degree below zero Celsius in downtown Montreal 12:04 PM Feb 15th from TwitterBerry
# Just got through the border crossing … They speak French here 4:03 PM Feb 14th from TwitterBerry
# All stop… Just arrived at the Canadian border. Do they still have borders 3:05 PM Feb 14th from TwitterBerry
# How to build self organizing systems for practice management ….with a simple memo field. All in the markup and the interpreter. 12:52 PM Feb 14th from TwitterBerry
# More snow as we get closer to Montreal

Others have taken to use Twitter to announce product developments, links to interesting articles, and business gossip. Take a look at posts from RocketMatter, a cloud based case management system:
# @adamr Brilliant move. Even more brilliant would be sending a new Kindle 2 to me as well. about 22 hours ago from TweetDeck in reply to adamr
# @TheHRLawyer I would agree. Most theft is low-tech, not high-tech. Overwhelmingly so. Thanks for reading! about 22 hours ago from TweetDeck in reply to TheHRLawyer
# Get an understanding of this murky “Cloud” thing. See “The Cloud” Explained, Part 1 of 2 at FindLaw.com: http://is.gd/ky96 about 22 hours ago from TweetDeck
# @RonJeffries Find you where you are – usually at Panera Bread with Chet, no? about 22 hours ago from TweetDeck in reply to RonJeffries
# @claxtonlegal Rocket Matter does not make you sign a yearly contract. Pay per month and cancel anytime. 30 Day $$ back guarantee. about 24 hours ago from TweetDeck

Ross Kodner chooses to use this as a links exchange that primarily announces posts on his blog:
# Ross Ipsa Loquitur: All a Twitter About OutTwit: While I’m personally still baffled abo.. http://tinyurl.com/bzw3b9 10:10 AM Feb 7th from twitterfeed
# Ross Ipsa Loquitur: Coolest Demand Letter Ever: Just ask El Paso lawyer David Ferrell who dem.. http://tinyurl.com/b4qtwe 10:10 AM Feb 7th from twitterfeed
# Ross Ipsa Loquitur: No Longer a SkyFi Virgin! Now a Member of the 7 Mile High Club!: Yes, on .. http://tinyurl.com/bbtbxm 10:10 AM Feb 7th from twitterfeed
# Ross Ipsa Loquitur: 12 of 14 . . . No, it’s Not a New Star Trek Character: No, it’.. http://tinyurl.com/adyubj 10:10 AM Feb 7th from twitterfeed
# Ross Ipsa Loquitur: The Inauguration Live!: See it unfold live at www.hulu.com! Wow! May God .. http://tinyurl.com/9p8gdh 11:12 AM Jan 20th from twitterfeed

So what should I do with Twitter?
Who is my audience?
Send me a twit to @bashasys

For now, I will keep the personal twits down …. I do not have papparazzi on my trail, nor ever will.  If you do what to follow me, you have to ANNOUNCE yourself and request permission to follow.  That may be “unfriendly” of me, but I do want to know who my “friends and followers” are.  Further, I will strive to come up with something interesting for that millisecond you review my twit … and maybe links to my more extensive ramblings.

Cheers.


Basha Search

Loading

Basha Network

Basha Product Sites