Boost logo

Boost Users :

Subject: Re: [Boost-users] [Review] The review of the ITL library ends today, March 7th
From: Michael Caisse (boost_at_[hidden])
Date: 2010-03-08 01:32:46


Hartmut Kaiser wrote:
> Hey all,
>
> The review of Joachim Faulhabers ITL library ends today, March 7th 2010.
> Please get your reviews in today or get in contact with me to agree on some
> offline schedule.
>
> Regards Hartmut
> Review Manager
>
> ---------------
> Meet me at BoostCon
> www.boostcon.com
>
>

Work just isn't going to let up for another couple weeks; however, I
feel compelled to throw in a brief word about the ITL.

My initial introduction to the library was at BoostCon09. I attended a
session in which Joachim provided a brief introduction to the library
and discussed some use cases. With those slides and the excellent
documentation that had been placed into the vault with version 3.1.0 I
began utilizing the library to implement the tracking and combining of
sets of events in November 2009.

The application was a digital video/event recording system.
Approximately 30 events per minute are captured with associated video.
The system records 16 independent video streams and supports numerous
event-trigger sources. The video is typically recorded in "clips" and
events are either impulses (instances in time with no duration) or span
some number of seconds or minutes.

Separate ITL containers were used to capture "activity" for each video
stream and event source. As a result, the intersection of various events
with video for a specific time span was easily extracted. The library
was also used to extract monthly, daily, and hourly "visuals" of
recorded data.

While I don't have time to complete a full review right now I have been
closely following the discussions concerning this library. My experience
as a user would echo the comments of Luke and Rob encouraging free
functions that operate on concepts. As for implementation details
resulting in performance improvements... my limited experience with this
one use-case did not result in a performance problem. It did however
speak toward the richness of the interface. Each time we wanted to apply
a different operation or extract a different view of the data we found
that the scenario had already been considered and a solution was readily
available.

And now for my brief review:

Starting with my "vote": Yes, the library should be accepted as part of
Boost. In addition to the above use-case I have two other applications
that I am eager to apply the library to. I have found that the concept
of an interval container shows up in many of my client's domains. Until
recently, I have hacked together some very specialized containers to
deal with the concept. Having a released and supported library with such
a rich interface would be a great help.

- What is your evaluation of the design?
- What is your evaluation of the implementation?

I looked at neither design nor implementation in detail.

- What is your evaluation of the documentation?

Excellent! The documentation was enough to get me going and be
successful with the library. I found the tutorials and examples very
useful and they provide "food for thought" on implementing various patterns.

- What is your evaluation of the potential usefulness of the library?

I have found the library to be very useful and intend to use it on more
projects in the very near future.

- Did you try to use the library? With what compiler? Did you have any
problems?

I used the library with VC8 without issue.

- How much effort did you put into your evaluation? A glance? A quick
reading? In-depth study?

I used the library within an application; however, I would not say that
I evaluated the library "in-depth". As a user I simply "used" the
library to implement various solutions that I needed. Documentation was
consulted. Tests were ran for "correctness" given our use-case but no
in-depth testing was performed.

- Are you knowledgeable about the problem domain?

Not particularly. I have implemented various interval type containers
for very specific problems but not with the obvious study and energy as
Joachim has expended.

Some final notes. Thank you Joachim for sharing this well-thought
library with the public. I wish I could have found time to produce a
complete review. Thank you Hartmut for managing another review with such
a short rest since your last. Hopefully your effort will result in
another well-deserved library inclusion to the Boost family.

Best regards -
michael

-- 
----------------------------------
Michael Caisse
Object Modeling Designs
www.objectmodelingdesigns.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net