
- What is your evaluation of the design?
I like the general design. It is easy enough to use.
- What is your evaluation of the implementation?
I'd really like to see the MAC address + time generator. I realize that this might be a pain to do in a cross-platform manner, but it would make the library more complete in my eyes, and more likely for me to recommend it to my colleagues. Is there a way that the library could be engineered so that we could provide our own generation implementation?
- What is your evaluation of the documentation?
I don't like it's organization. I'd much rather see it start out with the Rationale section followed by a simple example of the most likely used scenario. I think this is what most users are expecting to see who haven't used the library before and want to get started quickly. You have to weed into the documentation a while before you run into the first generation examples, which is what I think most people will be intereste in. If you need to put the "Class guid synopsis" in the docs, I'd put it near the end since it is more-or-less a dump of the uncommented header file.
- What is your evaluation of the potential usefulness of the library?
A good, cross-platform, UUID library is extremely useful. Without the guaruntee of uniqueness provided by MAC address + time, it isn't as useful for my situation. We have data generated across a large number of disconnected computers (I highly doubt there would see a duplicate, but in my case, we can't take the risk).
- Did you try to use the library? With what compiler? Did you have any problems?
Played around with it with Apple's version of gcc 4. Worked fine.
- How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
I read through the docs pretty thuroughly, and the implementation.
- Are you knowledgeable about the problem domain?
I've used several libraries for different purposes. I have developed a crossplatform wrapper in the past for platform specific libraries, but have not had to implement that actual generator before. I have a hard time saying that I'd recommend it for the library or not. I think it would cover a lot of people's needs, but does fall a little short in cases where you have to be absolutely sure that the generated ID will be unique across systems. That is unless I'm miss-understanding how these are generated.