In this set of wireframes, you can see one of the concepts that I’ll be introducing with MarcEdit 7…wizards. Each wizard is designed to encapsulate a reference interview to attempt to make adding new functions, etc. to the tool easier. You will find these throughout MarcEdit 7.
XML Functions Window:
XML Functions Wizard Screens:
You’ll notice one of the options is the new XML/JSON Profiler. This is a new tool that I’ll wireframe later; likely sometime in August 2017.
I’m continuing to flesh out new wireframes, and one of the areas where I’ll be consolidating some options is in the preferences window. I’ve decided to reorganize the menu and some of the settings. Additionally, I’m adding a new setting: Ease of Access.
Here’s the Initial Wireframes demonstrating the new menu layout
Ease of Use:
This is a new section developed to support Accessibility options. At this point, these are the options that I’m working on:
While MarcEdit will respect the operating system’s accessibility settings (i.e., if you’ve scaled fonts, etc.), but these settings directly affect the MarcEdit application. In this section, you’ll find the themes (and I’m working out a way to provide a wizardry way to create themes and find ones that have been created), feedback options (right now, if this is selected, you’ll get audible clicks letting you know that an action has occurred), and Keyboard options. I’m spending a lot of time mapping the current keyboard options, with the intention that I’ll try to map all actions to some keyboard combination. These settings tell MarcEdit if this information should show up in the Tooltips, as well as rich descriptions about an operation. The last thing that I’ll likely add is a set of links to topics for users looking for accessible friendly fonts, etc.
I think that the reorganization should help to provide some clarity in the settings and will help me in thinking about the first run wizard – and hopefully the currently planned accessibility options will provide users with a wider range of options.
I’ve been working a bit more around this notion of creating “themes” to improve visible accessibility options. This started with an initial implementation that included the default interface and then a High Contrast interface. Over the past few days, I’ve been getting a wide range of feedback, and one of the things that is becoming apparent is that folks would like to have a wide range of preferences. So, this afternoon, I spent time taking the hardcoded default and high contract themes, and rewriting all non-default UI implementations as themes.
When I think about theming, I immediately start thinking about the operating system themes, or themes that you can download for browsers. At this point, we aren’t talking about anything quite so complex. In fact, until I get feedback, I’ll be keeping theming light weight – but I think that in the long run, this might actually make them more useful.
How do they work? Essentially, a theme is going to be the implementation of an XML file. Here’s the dark (high contract) theme written out in the new xml theme structure.
<?xml version=”1.0″ encoding=”utf-8″ ?>
<theme> <name>Dark (High Contrast) Theme</name> <global> <!–Use HTML web color codes for these values–> <font_color>#ffffff</font_color> <background_color>#000000</background_color> </global> <marceditor> <font_color>#000000</font_color> <background_color>#ffffff</background_color> </marceditor> <overrides> <!– Override values <menus> <font_color> <background_color> </menus> <links> <font_color> <visited_font_color> <behavior> [set to always, hover, none] </links> –> </overrides>
As you can see, the initial implementation of theming is very limited. Essentially, users can theme font color and background colors globally, at the MarcEditor level, and override options for menus and links found within the program. This may (and likely) will be extended prior to the release of MarcEdit 7, but I don’t anticipate it being enhanced a lot. While the new GUI rendering engine makes this kind of work easier, I don’t want to develop an entire rendering process around this method until I know there is more than a passing interest.
What this means, however, is that I can quickly create new themes. Right now, I’ve implemented this in the Options dialog. You can see the current line of thinking below:
Using the Main Windows of MarcEdit 7 as the example page, I’ll run through the current themes that I’ve marked up:
Default Theme (hardcoded):
Dark (High Contrast) Theme:
Dark Gray Theme:
All these themes were created using the theming xml files. As I say, if I get feedback, I’ll look to expand this as we move towards the official release.
An interesting request made while reviewing the Wireframes was if MarcEdit 7 could support a kind of high contrast, or “Dark” theme mode. An Example of this would be Office:
Some people find this interface easier on the eyes, especially if you are working on a screen all day.
Since MarcEdit utilizes its own GUI engine to handle font sizing, scaling, and styling – this seems like a pretty easy request. So, I did some experimentation. Here’s MarcEdit 7 using the conventional UI:
And here it is under the “high contrast” theme:
Since theming falls into general accessibility options, I’ve put this in the language section of the options:
However, I should point out that in MarcEdit 7, I will be changing this layout to include a dedicated setting area for Accessibility options, and this will likely move into that area.
I’m not sure this is an option that I’d personally use as the “Dark” theme or High Contrast isn’t my cup of tea, but with the new GUI engine added to MarcEdit 7 with the removal of XP support – supporting this option really took about 5 minutes to turn on.
The changes aren’t big – they are really designed to make the form a little more compact and add common topics to the screen. The big changes are related to integrations. In MarcEdit 6.x, when you run across an error, you have to open the validator, pick the correct validation option, etc. This won’t be the case any longer. When the tool determines that the problem may be related to the record structure – it will just offer you option to check for errors in your file…no opening the validator, not picking options. This should make it easier get immediate feedback regarding any structural processing errors that the tool may run up against.
MARC Tools Window Wireframe #1:
The second write frame collapses the list into an autocomplete/autosuggest options, moves data around and demonstrates some of the potential integration options. I like this one as well – though I’m not sure if having the items in a dropdownlist with autocomplete would be more difficult to use than the current dropdown list. I also use this as an opportunity to get ride of the Input File and Output file labels. I’m not sure these are always necessary, and I honestly hate seeing them. But I know that iconography maybe isn’t the best way to express meeting. I think attaching tooltips to each button and textbox might allow me to finally let these labels go.
MARC Tools Wireframe #2:
Based on feedback, it sounds like the labels are still desired. So here is wireframe #3 with a slight modification to allow for labels in the window.
While I’ve got a couple of clean up things to do with MarcEdit 6.x, I’ve been starting the process of revising MarcEdit 7.0.0.alpha. At this point, there is a version running new code. I’ve spent the past few evenings reorganizing the main window, pulling some things apart, and beginning the process of redoing code. So far, this what’s been completed:
New MarcEdit 7 Main window:
This is what the main window looks like. I’ll be creating a 4 column interface. Scaling works much better than in the previous version of MarcEdit, as I’m using a different layout engine. The topics in the top – those are wide open. These were the ideas I thought of as short cuts to either help pages or parts of the program. In some cases, I’ll be creating “wizards” that answer each of these questions so users get pointed in the correct direction (at least, that’s the plan). In working through this interface, you’ll notice the menus have changed. This means that menu entries have changed a lot (location wise). I’m going to be looking at setting up shortcut keys to everything for keyboard access, but here’s the new layout I’ve drawn up:
You’ll notice many menus now have secondary menus – MARC Processing Tools for example, now includes all items like MARCSplit, MARCJoin, etc. This moves items down a level, and I realize that’s not what you always want to do. I’m hoping that what will help with this is the help textbox on the right hand corner.
This is in MarcEdit 6.3.x, and is being expanded in MarcEdit 7. If you, for example, type the words Join – you will be able to open MARCJoin directly from this window.
Say you want to merge some records…just type – merge records and you get:
An error message you don’t recognize:
Or you just want to know how to get started:
Or maybe, you’ve had a hard day and just want to look at cats:
The help system is being developed to allow for pseudo natural language searching. To start with, it will be English only, but by the time MarcEdit 7 comes out, you should be able to write queries in about any language and hopefully get back useful responses. I’m hoping that users gravitate towards this method of accessing commands or using the keyboard shortcuts, or the new Last Used Tools options so that the menu restructuring doesn’t cause usability issues. But I’m definitely interested in feedback.
The plugin menu works mostly the same as before, with the primary difference being that the plugin manager now is found under plugins (probably should have always have been)
Help menu has been updated significantly. You’ll notice that I’ve moved access to the Hex editor, shorting configuration settings (for when you get a new computer) and the restarting into 32-bit mode to allow for integration with Connexion into this menu. You’ll also notice a new option – the troubleshooting wizard. This is a new tool that walks through a set of questions where you can copy error messages, error numbers, etc. and the tool will point you the right direction or run the correct validation routines for you (so you don’t have to guess). This is something that should improve with feedback, and should be in the first release that I make available to users for testing.
Also, please note that you can see that this version of MarcEdit is being built against .NET 4.6. This means that this version officially won’t run on Windows XP.
The MARCNext and About windows have been dislodged from the main window. This means that if you click MARCNext, it displays in its own window. I did this because it gives me more room to grow this resource a bit easier.
In looking through the program, one of the main activities that I’ll be doing is hopefully addressing UI issues, doing better integration of functionality added during the 4 years MarcEdit was in the 6.x series (from a code perspective, some things are kind of bolted on, rather than integrated) and reduce redundancy. Most folks may not know it, but MarcEdit has 4(!) different z39.50 clients, each using different code, in the program. The Mac version has one, and it does all the things that the 4(!) in the windows version currently does. Those are the kinds of redundancies that I’ll be addressing as I clean the tool.
Oh, and performance. Just moving MarcEdit to the new framework has seen some improvements. Without optimizations, I was testing breaking on a simple file I have of 120,000 random MARC records. After multiple runs and averaging the results, I’m seeing that:
MarcEdit 6.3.x: ~5975 recs / sec.
MarcEdit 7.0.0 ~7213 recs / sec.
Once I start optimizing code, I’m pretty sure we’ll see this continue to improve. The gist here is that by moving the program forward (and dropping XP support), I should be able to finally include a number of tools related to graph processing as well as see a significant speed improvement with the software.
Finally – you’ll notice the icon has changed. I don’t know if this will be a permanent change as I like the current MarcEdit icon (I’ve used it for almost 17 years now). I’ve changed it while I’m developing MarcEdit 7 so that I can tell the difference between the two versions of the software while working on my laptop.
I’ve been thinking about the new UI for MarcEdit 7. I haven’t decided yet if the main window should have the ribbon or keep the menus (menus seem most appropriate for the MARC Tools and Main Window) – but the main thing I wanted to do with the new UI in MarcEdit 7, is to try and find ways to surface tools based on common questions/actions; as well as push the last used tools up. I’ll keep the user defined buttons (I like those, I use them all the time). One of the other things I’ll likely end up doing, presently I keep the MARCNext toolset framed in the main windows (as well as the about window). I’ll be pushing those into their own windows as the way it currently works – it complicates updates. Also, all fonts will be updated from 8.5 point (the default) to 10.5 pt. I’d like to set the default font to the Google Noto Fonts, but distributing the font is out of the question (the font set is 450 mbs in total — but maybe I can include something in the installer to allow users to select this font for download if they want…I’ll have to think about it). With that, I’ll be improving the accessibility functionality so that users can continue to easily update font sizes. In fact, I’ll be changing the window that shows when you first install to be a series of questions (rather than showing the preferences). The questions will be:
Preferred Font/Size: I’ll show current settings and sample of typography
MARC Flavor: You tell me are you using MARC21 or something else
Default Z39.50/SRU servers (you’ll have a list of known servers to select from this way you have servers in the tool at the beginning)
Link to the Tutorials/Help
After this, you’ll have the option to select the preferences and update all of the options. But I’m looking for ways to make this easier so when users install MarcEdit 7 for the first time, you don’t have to look for specific settings (specifically fonts).
Feedback is welcome.
* Note — this wireframe is for the windows/Linux version. Some of these concepts will make it to the MarcEdit Mac version — but I try to keep that development in line with Apples UI recommendations when possible.
As noted this week – I’ve updated MarcEdit 6.3. The updates are as follows:
* Enhancement: Exact Match searching in the Extract, Delete Selected Records tool
* Enhancement: Exact Match searching in the Find/Replace Tool
* Enhancement: Work updates in the Linked data tool to support the new MAC proposal
* Update: Performance improvements in the editor for loading large files faster. This was planned for MarcEdit 7, but I decided to make the change so that the final versions that support XP include this work.
* Update: Context Search additions/improvements
* Bug Fixes including: API updates (streaming function for exporting tab delimited was throwing an error), merge update when using 022$a as a query index, etc.)
* Plugin-framework updates: This requires making a change to the Interfaces that allows plugins and marcedit to speak to each other. I’ll be updating all plugins as a result. Newer versions of MarcEdit will update your plugins automatically
* Accessibility changes (couple forms weren’t scaling correctly with large fonts, large resolutions – this has been corrected)
Please note *you must update any plugins* after this update. If you don’t update, you must *decline* the plugin updates when offered. I had to update the plugin framework, which includes the Interface host file. This should mean anything to anyone, but the gist is, I had to change an assembly signature so once the update happens, you will have to update your plugins. I believe I’ve updated all the plugins that are currently in use. If I’ve missed something, let me know.
I’ll be officially cutting the new branch of MarcEdit 7 for all the code in the project following the next release of MarcEdit 6.3.x. The first thing I’ll be doing is updating all the dependencies to the new version of .NET 4.6.x essentially ending Windows XP support for MarcEdit 7. I’ll be updating namespaces, and prepping the files for a first alpha release. The very early releases will be preview releases for those that code against MarcEdit interested in testing the new namespaces, and for IT folks interested in testing the new installers, as this will also be the first version to include installers that can provide installation either in the current, traditional setup, or as a user. The way I’ll be providing installation will be much the same way google does it. Rather than selecting an download, users will download a single installer (likely an exe). The installer will ask the user if you want to install for everyone (must be an admin) or just for the current user. If you pick everyone, it will check your operating system, and download the appropriate installer. This installer will require that you authenticate as an admin. If you choose just the current user, it will check your operating system and will download the installer to install just within your user space (non-admin). From the users perspective, the program will work exactly the same. I’ll also include some detailed instructions for IT administrators that want to download the MSI files directly – this way folks that manage software via software distribution tools can still do that. Additionally, to make management easier for IT folks, each version of MarcEdit will have its own SKU (or product code). This is important when managing software distribution and one of the reasons most IT folks hate the way Google manages Chrome (all versions share the same ID).
Once MarcEdit 7 alpha is available, I’ll likely post updates to MarcEdit 6.3.x and MarcEdit 7 concurrently until about Sept. 2017. At that point, I’ll freeze 6.3.x. That will be the final version supporting XP, and then will focus on updating MarcEdit 7. Additionally, I’ll likely be posting a few wireframes of how I envision changing MarcEdit 7’s interface. I will be updating the Main Window, the MARC Tools and the MarcEditor. In fact, the MarcEditor will likely shift from the current menus, to the more traditional ribbon interface that you now see in most Windows applications, while the MacOS update will continue to follow Mac UI design guidelines.
I’ve posted updates to MarcEdit Windows and Linux. The change log is as follows:
Bug Fix: SRU Processing — when setting custom profiles, the custom information wasn’t being saved in the integration query tool
Enhancement: Export Delimited Text Translator: If you set a position that isn’t available, the program will print the text [null]
New Feature: Introduction of context help. Help searches all commands on a window as well as a local help using the Levenshtein distance searching algorithm to perform more natural language queries. This will be the default help system in MarcEdit 7.