This week my focus was to resolve several issues within what is currently the core feature in Literal - creating an annotation from a screenshot. There remain several improvements that I'd like to make, but the bugs fixed this week include:
- tag editor broken on android
- when an annotation is created, display the annotation with the final edited text, rather than the initial text we parsed from the screenshot
- do not display a notification if the annotation was deleted as part of the creation flow
- improvements to loading: increased speed, display splash screen on boot and skeletons when loading data
- in tag autocomplete, do not display duplicates
- when associating a tag, check if it's in cache to determine if we need to create it
- improvements to error handling: if an image cannot be parsed to an annotation (a more common error case currently than I'd like), route to the annotation text editor and display an error message
I want Literal to do one thing and do it well - textual annotation management. In this, I will continue to invest time over the coming weeks to polish the core flows. I do not perceive this need for depth as mutually exclusive with conventional startup philosophy of shipping a minimum viable product (MVP) and iterating, but I do feel that far too many make the mistake of ignoring the "viable" (and in some cases, even the "product" [1]) part of a "minimum viable product".
I will codify this directly within Github, but the high-level roadmap I perceive as to what needs to happen to bring Literal to an MVP and initial release is as follows:
- Improve the screenshot parser. Currently the implementation is heavily biased towards the relatively limited diversity of training set data, and frequently misapplies crops in screenshots made within PDF readers.
- Implement the W3C Web Annotations specification as the core API.
- Implement a targeted set of tag contextualization functionality: view annotations organized by tag and related tags.
Of course there is functionality I intend to support beyond what's indicated above, but this list captures what I think needs to happen to have a minimum viable product and something that's worth circulating and soliciting feedback on.
Finally, here's a short video that shows the core creation flow as it exists today, and some of the potential areas of improvement: