Post by Tim Penrose on Feb 15, 2006 11:50:20 GMT -5
Thank you for your patience. Things are still moving swiftly. I added a few things that I hadn’t intended to add before providing a beta/preview release. The reason is that I want to avoid database schema changes between beta releases and the final release. I don’t want people’s data to “expire” between releases, but also don’t want to spend time writing conversion code to recognize and convert old schemas… I’m reasonably confident that I can produce a schema that will largely live-on in future versions. If I can do this, then the payoff is maximum forward and reverse compatibility with minimal development effort.
I feel like I am asymptotically approaching this release, but I do believe that a preview release could come as soon as next weekend, or be as far as a month away. The reason I say this is that I have two variables; (1) The amount of things left to implement, and (2) the amount of time available to me, since I am for-hire developer.
Please also understand that I am a bit of a perfectionist. On occasion I have found myself spending a weekend perfecting the behavior of something minor. For instance, this weekend I spent more than 8 hours simply perfecting the behavior of dragging and dropping nodes from one place in the navigation tree to another. In KeyNote, one cannot move a node to an exact place within a parent node. It always becomes the top “child”, with existing nodes falling below it. So if the user wants a specific order, the easiest way is to repeatedly right-click the newly placed node and select “Move Node -> Down” until it is in the desired location. In my application, dropping a node directly on top of another does exactly as in KeyNote. But additionally, the user can drop a node between two other nodes to specify the exact position, relative to “sibling” nodes. While doing this, it provides clear feedback to the user where a node will end up if dropped from the current location. This simplifies the menu structure by allowing me to eliminate the entire “Move” submenu from the node context menu (eliminate being a slightly incorrect word since the submenu never existed in the new application in the first place, but correct because I’m using KeyNote as the benchmark)…
I believe that the users will thank me for my deliberations when they see the payoffs of my approach. Refinement is, in my opinion, an important advantage in a very competitive market.
I feel like I am asymptotically approaching this release, but I do believe that a preview release could come as soon as next weekend, or be as far as a month away. The reason I say this is that I have two variables; (1) The amount of things left to implement, and (2) the amount of time available to me, since I am for-hire developer.
Please also understand that I am a bit of a perfectionist. On occasion I have found myself spending a weekend perfecting the behavior of something minor. For instance, this weekend I spent more than 8 hours simply perfecting the behavior of dragging and dropping nodes from one place in the navigation tree to another. In KeyNote, one cannot move a node to an exact place within a parent node. It always becomes the top “child”, with existing nodes falling below it. So if the user wants a specific order, the easiest way is to repeatedly right-click the newly placed node and select “Move Node -> Down” until it is in the desired location. In my application, dropping a node directly on top of another does exactly as in KeyNote. But additionally, the user can drop a node between two other nodes to specify the exact position, relative to “sibling” nodes. While doing this, it provides clear feedback to the user where a node will end up if dropped from the current location. This simplifies the menu structure by allowing me to eliminate the entire “Move” submenu from the node context menu (eliminate being a slightly incorrect word since the submenu never existed in the new application in the first place, but correct because I’m using KeyNote as the benchmark)…
I believe that the users will thank me for my deliberations when they see the payoffs of my approach. Refinement is, in my opinion, an important advantage in a very competitive market.