Zoundry Raven - Open Source!Tuesday, February 10, 2009
Hey everyone. I realize that we've been silent for quite some time now. Distractions at Zoundry (read "other projects") have pulled our attention away from Raven. The bad news is that we haven't been able to devote much of our development time to that project. We still try to handle support email and the forums as much as possible, but even on these fronts we don't do as good a job as we would like. This is unfortunate because we think that Raven is a good product and it could be so much better if only it had some constant attention being paid to it. The good news is that, to this end, we have decided to release Raven as an open-source project. We're trying to bring on developers from the Raven community to help push Raven development forward. We (Zoundry) will continue to serve the following functions:
Your takeaway from this should be that we are actively seeking developers to help usher in a new era of active Zoundry Raven development. If you are a developer interested in getting involved, please let us know via email (support@zoundry.com) or the Zoundry Raven Forum. Now is your chance to help make Raven even better than it already is! Update: sadly I forgot to include the link to the Zoundry Raven Open Source project site. Powered by Zoundry Raven Labels: development, open-source, raven, raven2go, zoundry, zoundry raven, zoundry raven open-source How To Publish ScreenshotsFriday, May 16, 2008
A forum user recently suggested that a nice feature to add to Raven would be a slick screenshot tool akin to what can be found in OneNote. Apparently they have a cool feature where you can take a screen capture of only a specific part of the screen (by specifying a rectangle using a screen capture tool). Once taken, the screen capture is then injected into OneNote. This made me realize that, while we could implement such a feature, we should be able to come up with a decent workflow to take screen captures with the current Raven build. Raven has the ability to paste an image that is on the clipboard directly into the blog post. For example, you can do the following:
I'll try this now, and insert the resulting screen capture... Of course, after I pasted the image into my blog post, I then created a thumbnail of it. But you get the idea. The part we're still missing is the ability to capture only certain parts of the screen by specifying a rectangle. To enable that behavior, I think another tool is required. On the forum, it was suggested that Snagit could fulfill this role, although I have not used it myself. Suffice it to say, there must be a handful of utilities out there that one could use to take partial screen captures. Once the capture is taken, and the image is on the clipboard, Raven will let you paste it right into the Editor. Done and done. How To Backup Your DataTuesday, April 8, 2008
A question that we recently had asked on the forums was "How do I backup my Raven profile data?" This particular user was interested in doing this due to a needed re-install of Windows. I think it's a good question in general, so here's how you do it.
C:\Documents and Settings\ZoundryMan\Application Data\Zoundry\Zoundry Raven Of course, unless you log in as "ZoundryMan", that part of the path will be different (your username). For the record, I don't mind if you use "ZoundryMan" as the username for your computer. :) If you are using Raven2Go, then your profiles will be in a "profiles" directory within the Zoundry Raven installation directory, for example: E:\Portable Apps\Zoundry Raven\profiles
That's all there is to it. Raven2Go - First Post Using Portable RavenWednesday, March 19, 2008
The next beta release of Zoundry Raven will support the ability to install as a portable application (e.g. onto a flash or other portable drive). This is a feature that was requested by many users, and I'm happy to say that we have finally finished the initial support for it. In fact, I am composing this post using Raven2Go installed on a Memorex TravelDrive. It's a bit slow when compared to running off a hard drive (obviously) but it works pretty darn well! The changes to Raven to support Raven2Go are, for the most part, hidden from users. There are a couple of things that I should mention, however. First, there is a new page in the Raven Installer. This custom installer page simply has a checkbox that can be checked if the user wants to install Raven as a portable application. If the checkbox is checked, then no application information will be saved to the registry. In addition, when Raven is run after being installed in this way, it will run in "Portable" mode.
Everything else that's different between Raven2Go and Raven is under the covers, so users shouldn't have to worry about it. For the most part, it simply means that where we used to refer to files in your profile using absolute paths, we will now use relative paths. This should allow you to take your portable drive to different machines (where the drive letter might be different) and everything should still work. One thing to note for existing users - I would recommend doing a clean uninstall/install of Raven2Go if you have previously been using Raven on a portable device. The uninstall step will remove all of the stuff from the registry that Raven put in there (not much, but you clearly don't want it in there). Then the re-install will be clean (little/no registry entries). Labels: beta, command line options, development, portable, raven, raven2go, zoundry, zoundry raven raven2go portable Raven Beta - Looking Good!Tuesday, February 26, 2008
Well, it's been almost three weeks since we did our first public beta release of Raven. We've been getting a lot of feedback from our users (thanks!) and so far it has been overwhelmingly positive. We have some bugs, and we have a lot of work to do before we can release a 1.0 version, but I think we're off to a good start. I think we're closing in on 1000 users of Raven - we should probably hit that number today or tomorrow, actually. A big thanks to everyone that has downloaded and tried the beta. Stick with us, Raven will only get better with age! Zoundry Raven: Build 0.8.154Thursday, November 29, 2007
Alpha version 0.8.154 is ready!
Enhancements
Bug Fixes
Known Bugs
Zoundry Raven: Build 0.8.143Monday, November 19, 2007
Alpha version 0.8.143 is ready!
Enhancements
Bug Fixes
Known Bugs
----
Zoundry Raven: Build 0.8.134Friday, November 2, 2007
Alpha version 0.8.134 is ready!
Known Bugs
Zoundry Raven: Build 0.8.128Friday, October 26, 2007
Alpha version 0.8.128 is ready!
Zoundry Raven Alpha Build: 0.8.113Thursday, October 4, 2007
Alpha version 0.8.113 is ready!
Bug Fixes
Known Bugs
Zoundry Raven: Build 0.8.88Monday, August 27, 2007
Zoundry Raven Alpha version 0.8.88 is now ready: http://www.zoundry.com/raven/builds/zRaven-0.8.88.exe Give it a try and let us know what you think. Any and all feedback is welcome.
Bug Fixes
Other
Labels: editor, media store, multiple blogs, raven, toolbar, zoundry Zoundry Raven: First PostThursday, July 19, 2007
Well, this post finally represents the first time I've updated this blog using the new Zoundry Raven product. It's been a long road, but I'm hopeful that it is worth it. Shortly we will be releasing an alpha version of the product to our forums. My hope is that we can get some good feedback from a small set of users so that we can better tailor the product to the needs of our users. Thanks to everyone for being patient. I know it's hard waiting, but we're really trying to create something that can act as a foundation for a really solid, advanced blog editor/manager. This is by no means the end of this blog. We still have a lot of neat ideas that I want to share. And even though I don't update the blog as often as I should, it is still a good avenue for getting out information about the product. And it's a good way to eat our own dog food. Zoundry Raven: Custom ToolBarTuesday, March 13, 2007
Screenshot of the toolbar menu: How the toolbar looks after choosing "32x32" and "Show Text": Zoundry Raven: Media StoresMonday, March 5, 2007
One of the limitations in the Blog Writer is that only one Media Repository can be configured. The application does allow the user to associated a new Account with either the configured Media Repository or the built-in uploading capabilities of the given Account (if supported by the blog platform). However, it was always our intention to provide a way to configure multiple instance of media repositories (of different types) and allow the user to associate different media repositories with different blogs and/or blog accounts. In Zoundry Raven, we have done exactly that, and it is the topic of today's post.
When creating a new media store, the New Media Store Wizard is used. This wizard walks the user through the process of creating a new store. It first asks the user to choose a type of media store (and store name). After that, the wizard asks the user to fill in the information needed by the store, such as username/password. This information is type specific, so page two of the wizard will be different depending on the store type chosen. The media store type might be Custom FTP, or it might be a more specific value, such as Ripway FTP. The more specific types are simply there to pre-populate the necessary fields when creating the store. For instance, Ripway FTP and Custom FTP are the essentially the same, except that page two of the wizard will have some values already filled in, such as 'host' and 'url'. Finally, I want to explain a little bit about the store types and where the application gets that list from. As I mentioned, we are using the extensibility features of Raven in order to make the media stores highly pluggable. Here's how it works. There are two extension points exposed by Raven that plugins can contribute to. The first is the 'zoundry.blogapp.mediastore.type' extension point. This extension point allows plugins to contribute new media store types to the application. Media store types would be things like FTP, WebDAV, Flickr, etc. For the most part, there would be a single media store type contributed for each protocol/API that might be used to upload images to a remote site. Here is an example of the FTP media store type that will ship with Raven.
<zoundry-extension point="zoundry.blogapp.mediastore.type">
<id>zoundry.blogapp.mediastore.type.ftp</id>
<class>zoundry.blogapp.services.mediastore.providers.ftpprovider.ZFTPMediaStoreProvider</class>
<extension-data>
<media-store-type>
<icon>icons/types/ftp.png</icon>
<properties>
<property name="host">
<display-name>Host</display-name>
<tooltip>The FTP host. (Example: ftp.myftphost.com)</tooltip>
<validation-regexp>.+</validation-regexp>
<validation-error-message>A value for 'host' is required.</validation-error-message>
</property>
<property name="port">
<display-name>Port</display-name>
<default-value>21</default-value>
<tooltip>The FTP Port (Example: 21)</tooltip>
<validation-regexp>\d+</validation-regexp>
<validation-error-message>A value for 'port' is required (and must be a number).</validation-error-message>
</property>
<property name="username">
<display-name>Username</display-name>
<tooltip>Your FTP username.</tooltip>
<validation-regexp>.+</validation-regexp>
<validation-error-message>A value for 'username' is required.</validation-error-message>
</property>
<property name="password">
<display-name>Password</display-name>
<tooltip>Your FTP password.</tooltip>
<type>password</type>
</property>
<property name="path">
<display-name>FTP Path</display-name>
<tooltip>Path on the remote FTP server. (Example: /mypix)</tooltip>
<default-value>/</default-value>
</property>
<property name="url">
<display-name>URL</display-name>
<tooltip>URL used to retrieve uploaded files. (Example: http://www.myftphost.com/myusername/mypix/)</tooltip>
<validation-regexp>(.+):.+</validation-regexp>
<validation-error-message>A valid 'url' is required.</validation-error-message>
</property>
<property name="passive">
<display-name>Use 'passive' FTP</display-name>
<tooltip>Active/Passive FTP mode. (If your settings do not work, try changing the value of 'passive')</tooltip>
<type>checkbox</type>
<default-value>false</default-value>
</property>
</properties>
<capabilities>
<capability enabled="true" id="zoundry.raven.capability.mediastore.supports-delete"/>
<capability enabled="true" id="zoundry.raven.capability.mediastore.supports-file-list"/>
</capabilities>
</media-store-type>
</extension-data>
</zoundry-extension>
<zoundry-extension point="zoundry.blogapp.mediastore.site">
<id>zoundry.blogapp.mediastore.site.ripway</id>
<class/>
<extension-data>
<media-site>
<media-store-type-id>zoundry.blogapp.mediastore.type.ftp</media-store-type-id>
<display-name>Ripway FTP</display-name>
<icon>icons/sites/ripway.png</icon>
<properties>
<property name="host">
<default-value>ftphost.ripway.com</default-value>
</property>
<property name="url">
<default-value>http://h1.ripway.com/USERNAME/</default-value>
</property>
<property name="passive">
<default-value>true</default-value>
<hidden>true</hidden>
</property>
</properties>
</media-site>
</extension-data>
</zoundry-extension>
The result of all of this complexity is that it is very easy to add new store types and new sites. In fact, third parties could very easily contribute new media store sites without doing any actual coding, as long as those third parties support an API that is already contributed (via a media store type). So if an image host wanted to show up in the list of choices in the New Media Store Wizard, and that image host supports FTP, then they could create a plugin that simply contributed a new media site to the application, much like the Ripway example above. Labels: extensions, media store, raven, zoundry Zoundry Raven: Multiple BlogsFriday, February 9, 2007
One of the challenges we face when designing Raven is how we satisfactorily handle posting to multiple blogs. One of the features of Raven (and Zoundry Blog Writer as well) is the ability to publish the same blog entry to multiple blogs. Our internal data model supports this, but we have struggled to come up with a user interface design that really works. At the same time, we recognize that most of our users will never use this feature. So the challenge becomes designing a user interface that elegantly allows the user to publish to multiple blogs, but doesn't clutter up the interface when not being used. With Zoundry Raven I think we have started to make some good strides in this direction. When a blog post is being composed, Raven allows the user to configure the publishing settings. The idea is to treat the publishing settings as more tightly coupled with the blog post than it was in Zoundry Blog Writer 1.0. The internal data model hasn't really changed much, only the user interface. I think some screen shots are in order.
There are a couple other things to note. First, when authoring a new post, the default settings for the publishing information will be inherited based on account and/or blog specific settings. For instance, the user will be able to set a default value for the "Upload only thumbnail images" option which can be configured at the Blog level or at the Account level. That way, frequent publishing options can be configured once rather than having to specify them for each new post. Second, any changes made to publishing options will be saved with the blog post even if the post is not yet published. It would really be a pain if that information was lost just because the user wanted to work on the post later. If anyone has any thoughts on what other ways we could improve the UI, we are more than happy to hear from you. Just comment here on the blog or post to the forum. Labels: editor, multiple blogs, raven, zoundry Zoundry Raven: ExtensibilityMonday, January 8, 2007
For my first few posts, I want to focus on some of the goals that we have for Raven. One of those goals is for the application to be as extensible as possible. For us, extensibility means easily adding new functionality to the application via the creation of plugins. In this post, I will talk a bit about our plugin system and what sorts of benefits we get from it. Plugins/Extension Points <zoundry-plugin xmlns="http://www.zoundry.com/schemas/2006/03/zplugin.rng" version="1.0" name="Zoundry Common User Preferences" id="zoundry.raven.appframework.prefs"> <dependencies> <depends on="zoundry.raven.appframework.services" version="1.0"/> </dependencies> <!-- My Contributed Preference Page --> <zoundry-extension point="zoundry.appframework.ui.preferences.prefpage"> <id>zoundry.appframework.ui.preferences.prefpage.myprefpage</id> <class>foo.bar.ui.prefs.prefpages.MyFirstPreferencePage</class> <extension-data> <prefpage> <parent/> <name>My First Pref Page</name> <description>This is an example preference page.</description> <header-image>images/prefpages/foobar/header.png</header-image> <icon>icons/prefpages/foobar.png</icon> </prefpage> </extension-data> </zoundry-extension> </zoundry-plugin> The above sample zplugin.xml file defines a new Preference Page that would appear in the User Preferences dialog. In short, new functionality is contributed to the application via extension points declared within the zplugin.xml file found in each Zoundry Raven plugin. In the above example, the plugin is contributing a new User Preference page via the Extensions Without Python Coding Extensible Extensions Extension Validation Ok, so now you know a little bit about how our plugin system works. In my next post, I will hopefully talk a little bit about the main application UI and provide a screen shot of how it looks at the moment (still in progress). Labels: extensions, zoundry Welcome To The Zoundry 2.0 (Raven) Development BlogTuesday, January 2, 2007
Welcome to the Zoundry 2.0 Development Blog. This has been a long time in coming and I apologize for the delay. Although it's not a great excuse, we've been pretty busy trying to get Zoundry 2.0 into an alpha state so we can get it out to early testers. Please note that the code name for this product is "Raven", so from now on I will most likely refer to version 2.0 of our Blog Writer product as Zoundry Raven. I think this is a lot easier to manage than "Zoundry Blog Writer x.x". The reason for this blog is for us to keep our community informed of our progress and, more importantly, to solicit early feedback on the features we are implementing. My hope is that we will post updates here frequently (and with screen shots!) so that everyone can keep appraised of our progress. My first post (to be written soon) will simply describe the architecture of Zoundry Raven and hopefully give you an idea of why it is taking us so long. Good night, and good blogging. Labels: zoundry |
|