in

Emerald Hand

Emerald Hand, Inc. community home page.

This Blog

  • Home
  • Contact
  • About
  • Directory of Computers/Tech Blogs

Syndication

News

I'm back to blogging

Worm in liquid maze

Design and development of information management tools.

December 2006 - Posts

  • Sider 0.5 Technology Preview release

    Whew, finally this version is finished and available for download. It took a lot of effort and much longer than I ever imagined. I've made many mistakes, but also learned a lot.

    This is a technology preview release. It demonstrates the platform with most important ideas implemented. It's possible to define different types and views, but there are only few extensions available. Read release notes for details.

    A little bit about us

    Sider is the work of two people. My name is Slava Ivanyuk and I do most of the development. I write all code, documentation, organize design documents, etc. My partner, Igor, mostly helps by giving ideas and testing Sider. It was his idea to develop a flexible platform with potential to support any type of information.

    What's next?

    My next steps are to take a short break, do a post-mortem (maybe I'll blog about it) and start moving toward next release. We plan to improve Sider to the point where it has wider practical use. That means adding some features, but mostly focusing on creating extensions. Here's a list of few major things we will be working on. We'll finish adding more details to wiki roadmap sometime soon.

    • Move to .NET 2 - At least evaluate the move, but most likely we will do it. It offers many improvements over .NET 1.1, not only in general but also to work with XML. Eventually Sider will move to it and the sooner the better. My only concern is possible delay it might introduce. Most likely, we will move to it in several stages.
    • Persistent user options - Right now, most customization is done through extensions. We want to add application-wide settings.
    • Support packages - A package is a collection of different extensions. Each package would focus on providing support for specific scenarios, like note management, project management, collections, etc.

    Upcoming packages

    These are just a few ideas of popular uses we want to support with Sider.

    • Note management - There're many programs to work with notes, but none of them get it quite right. We want to have a flexible system that would support graphs (like wikis) of notes, tagging, filtering, etc.
    • Journal - People often use notes to track progress, to capture thoughts on the topic over time, instead of creating a system for referencing information. Journal will feature special notes, with views heavily oriented on dates and calendar.
    • Project management - Extensions to allow you put project plans, notes, documents in a single place. There will be support for several methodoliges, including agile (XP, Scrum, combinations), waterfall, etc. But main focus will be on making it possible to mix notes and other documents with tasks, issues, stories. There are often many ways to view project documentation: tasks and related notes, list of features and related tasks, etc. I believe some software (such as Trac) represent moves in the right direction, but they aren't quite getting everything right. Of course, they offer many options that won't be possible with Sider in the near future (online collaboration, source management integration, etc).

    I also want to go back to Xelog. I like the idea behind it, but I don't like how heavyweight it ended up. I will need to fix that before moving on.

    With the next post, I'll go back to discussing information management tools. I had some ideas and suggestions on how to improve my classification for them.

    Share this post: Email it! | bookmark it! | digg it! | reddit!
    Readability Stats: Word Count: 582; Sentence Count: 46; Grade Level: 8.0, more info...
    Posted Dec 15 2006, 04:18 PM by Ornus with no comments
    Filed under:
  • Sider roadmap

    I started working on Sider roadmap. It's helpful to have a good roadmap to maintain focus and work on projects. It's something I should have done it much earlier.

    I have ideas about Sider 4 versions ahead. At some point, I want to put them all in writing for everyone to see, but with upcoming release I'm short on time and might not be able to finish it. If not I will complete it shortly after release.

    My goal is to have full design doc online (preferably in wiki). I want for people interested in Sider to have an understanding of the platform and maybe share ideas on what can be improved.

    I have only a portion of it done and it's not in the form I would to put it online yet. I'm working on improving it and will start moving it to wiki, but there's so much to do, that I'm not sure when I will put it online yet.

    I came to realize importance of design documents through my recent experience. I used to think I could get away without one. No, not really. Writing design document forced me to think about different aspects of Sider and understand the whole picture much better. I had hard time focusing on my work (jumping between different things) without it and my overall design is not nearly as good as I want it to be. After I created a large portion of the document, development became much easier and more enjoyable. I started to get things done quicker and understand the whole project scope better.

    My main argument against writing document was bureaucracy. I was afraid I would end up with a large, hard to read or navigate document. I didn't want to spend all this time creating something useless. Maybe I just wasn't ready for it. Anyway, when writing it I used MindManager instead of word processor. Mindmap helped to put all my ideas down in writing and quickly organize them, but I think wiki is actually more suited for reading the document with its support for free linking between different pages.

    Share this post: Email it! | bookmark it! | digg it! | reddit!
    Readability Stats: Word Count: 359; Sentence Count: 23; Grade Level: 7.5, more info...
    Posted Dec 13 2006, 04:28 PM by Ornus with no comments
    Filed under:
  • Information management tools

    Tools clasification

    In our lives we constantly deal with information. I've talked about what people try to do with it, but there are limits to both our physical and mental activities. To make everything easier we invent tools. There are many different kinds of tools to work with information, yet there're a lot of common aspects to their usage and design.

    All tools help us reach our goals, help us with our pain, etc. Many people have different definition of what tools (programs) should do, but in the end it's all the same. A tool must solve more problems than it creates or there's no point in using it (although, sometimes it's hard to see all problems that are going to be created, before some of the existing ones are solved). As you can see from my previous post I assume people have two major goals when managing information, to understand it and to share it.

    Every information management tool does only one thing. It stores information and shows it back to us. There can perform a lot of different operations, but they simply extend our abilities, allowing us to work with more information simultaneously, more accurately and to visualize it differently.

    I'm mostly focusing on computer-based tools, but there are other kinds, such as writing/drawing on a physical medium (i.e. paper and pen). Paper is very flexible, but not as scalable as computers and doesn't support data manipulation well. It's easy to put just about any type of information on paper: text, pictures, diagrams, numbers, graphs, etc. and more importantly it's easy to combine different information. However, it's hard to change it once it's written down. In addition capturing, organizing (combining sheets of paper) or finding what you need becomes harder and harder as the ammount of information increases.

    Before we can use any tool, we need to transfer information into it. We often understand it better in the process because in many cases we organize information as we input it. For example, when we talk to somebody about a problem we are trying to solve, we actively analyze it. As a result we can find solution without other person saying anything because we finally organized information in a pattern we came to recognize.

    I want to classify information management tools by how general or strong-typed they are. On one end of the spectrum there's pen and paper (allowing us to enter information in a free form without limitations). Less extreme examples of open tools are Word and Excel. They work with specific structure of the information (linear text or tables), but the actual structure is quite open. It's possible to store a lot of different information in Word, ranging from books and articles to notes and to-do list. Excel support for tables is suited for a lot of uses.

    On the opposite end of the spectrum there are tools work strictly with specific information (strong-typed tools). For example Outlook can be use to manage tasks. Each task has a strict structure and tasks are organized in a list. Most of the tools fall somewhere in-between, and there are good and bad aspects to being more open or more strong-typed.

    Open tools are easier to adopt for different information scenarios. It's possible to analyze mathematical data, to work with finances and to manage a small project with Excel. Even though the tool is open, it's usually easier to work with information organized in a strict structure. The beauty of open tools is that they allow the user to invent a simple system to simulate strict-type tool (often without realizing they are doing it) and so well-designed open tools are very popular. Good tool will actually provide features to help simulate such strict-typeness (through templates, custom attributes, and so on).

    There are two problems however: scalability and potential lack of features. It becomes harder to implement features for tools that support larger variety of information. For example operations to work with plain text will be simpler than operations to work with rich formated text.

    Scalability problems appear because users try to use open tools not designed to handle such scenarios. Excel might be suitable when managing small project, but it becomes harder to use when the scope of the project grows. Big chunks of information need to be organized and grouped for the human to be able to comprehend it. We can work with 10-20 items in a list, but working with 200, or a 1000 items in a list would be very hard. Designing and implementing support to organize information of arbitrary type and structure is hard. If it's not done right (assuming it's even possible) user will be forced to adjust to how the program works, and it loses its openness.

    Strict-type tools work much better than open tools with information that matches their design. For example, a project management application would have more potential than Excel or Word when used to manage projects, from capturing information (tasks) to analyzing and tracking progress. It could also support different information structures (such as arranging tasks in a tree), users, and so on, and provide more operations, such as grouping progress by iterations, tracking time, filtering. When information fits well with the tool it can be very easy to use, but even a small deviation makes it harder. The tool imposes on the user what information it can work with and if its design doesn't exactly fit the need there's a problem. We try to adjust it for what we need, but it's most likely not as flexible as an open tool (and it wasn't designed to be as flexible). For example if project management tool doesn't support time estimation, and we need it, we can add our estimation in parenthesis after the task title.

    Strong type tool is easier to use and provides more options, when information fits it and when the tool is designed for the tasks you want to perform. Open tools are more flexible. They allow you to invent your own way to simulate strict types and structure information. When available I prefer strong-type tools, they are easier to use and don't force me to invent something. In the best cases it fits me, my information and my problems like a glove. If it doesn't, I fall back to open tools (like Word and Excel).

    I was going to talk about design, what is done right and what can be improved in the existing tools, but I felt it was important to think about what kind of tools are out there first. Wow, this post is probably one of the longest I've ever written and it took me many hours to think about all this and write it out. I really hope some good will come out of this series on information management. Anyway, I'm planning to address tools design in the next post.

    Share this post: Email it! | bookmark it! | digg it! | reddit!
    Readability Stats: Word Count: 1173; Sentence Count: 64; Grade Level: 9.9, more info...
  • 1st Sider release is coming

    I'm going to release Sider on 12/15/2006. This is going to be a demo of the platform ideas. I want to show that it's not only possible, but also easy to develop new tools to work with information using Sider. It won't be very useful from practical point of view and will feature a single package to store notes in a tree-like structure. There're some things I want to fix before release, as well as restructure wiki documentation a little and create website for Sider.

    Share this post: Email it! | bookmark it! | digg it! | reddit!
    Readability Stats: Word Count: 88; Sentence Count: 5; Grade Level: 8.8, more info...
    Posted Dec 02 2006, 12:52 PM by Ornus with no comments
    Filed under:
Copyright © 2006-2007 EmeraldHand, Inc. All rights reserved.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems