Hi everyone,
Today we are releasing Zet Universe Preview Build 5813.5130 to Zet Universe Insiders. Like the last few ones, this build is really focused on bug fixes and general improvements; at the same time we've made one colossal change to the product that we feel being really proud of, and we can't wait to share this change with you. What is that change? Oh, we've changed the entire way of... Wait. First things first.
Today we are releasing Zet Universe Preview Build 5813.5130 to Zet Universe Insiders. Like the last few ones, this build is really focused on bug fixes and general improvements; at the same time we've made one colossal change to the product that we feel being really proud of, and we can't wait to share this change with you. What is that change? Oh, we've changed the entire way of... Wait. First things first.
Getting Started:
- If you are new to the Zet Universe Insider Program and haven't installed Zet Universe, yet, please visit the Set Up Your PC webpage to download the latest build's installer.
- Otherwise, as usual, the newest build is available via the magic of Zet Universe Update system, powered by Squirrel for Windows. To get it, you can go to Settings --> Update, and click on "Check Now" button to get it now.
- IMPORTANT: If you are running on a build before 5786.2836, and you haven't been getting updates for a while, the "Update Now" button might be unavailable to you. Don't worry - you can simply install Zet Universe again by downloading its installer from the Set Up Your PC webpage. This won't break anything, but will give you the latest release available. If, however, you are running a 5786.2836 build or later, you won't be affected by this issue.
- Total download might range from a few hundred kilobytes up to 10MB, depending on the number of updates you've applied already to your copy of the Zet Universe Insider Preview.
- Once the build is downloaded, Zet Universe will begin the installation. Once it will finish, it will ask you to restart the app.
WHAT'S CHANGED?
As you might recall from our previous blog post, by making it possible to import large folders, we've brought a few new bugs. One of them was this:
- Zet Universe will be unresponsive after importing a large number of items (think a folder with 500+ files).
- We are aware of this issue, and we are actively working on fixing this issue.
So, as we said above, what's changed is a big thing. BIG thing. No, really. It's THAT BIG!
While working on this bug, we've learned that we should change the way how Zet Universe treats changes to your data.
And by doing that, we've also significantly improved UI responsiveness during heavy data processing.
Wait, what? Why did this bug's fix require such a fundamental change?
Ok, calm down. Let me give you an example.
Imagine you are working on a project with your colleagues. You have set up a shared Dropbox folder, and you keep work documents inside it. Now, you've imported this folder into Zet Universe, so that you could track changes to your documents in it, in a visual way. So far so good. Next time someone will edit your file, Zet Universe will mark it as unread, and mark this time as the Last Modified time. Sounds good, right?
Well, almost. But there's a catch. Once you will open this file, or simply move it in the space, or once Zet Universe extracts full-text data from this file, Zet Universe will mark this file as updated, again. But this time, file will remain the same! Why is then it's marked as updated?
While working on this bug, we've learned that we should change the way how Zet Universe treats changes to your data.
And by doing that, we've also significantly improved UI responsiveness during heavy data processing.
Wait, what? Why did this bug's fix require such a fundamental change?
Ok, calm down. Let me give you an example.
Imagine you are working on a project with your colleagues. You have set up a shared Dropbox folder, and you keep work documents inside it. Now, you've imported this folder into Zet Universe, so that you could track changes to your documents in it, in a visual way. So far so good. Next time someone will edit your file, Zet Universe will mark it as unread, and mark this time as the Last Modified time. Sounds good, right?
Well, almost. But there's a catch. Once you will open this file, or simply move it in the space, or once Zet Universe extracts full-text data from this file, Zet Universe will mark this file as updated, again. But this time, file will remain the same! Why is then it's marked as updated?
Technically speaking, the reason is simple.
Every time you ask Zet Universe to track your project folders, it creates a metadata (data-about-data) entity for each of your files, and when you move the file in the project space, or do any kind of change to your file, its corresponding entity is changed, and this time of change is used as the Last Modified Time.
This is extremely helpful as it makes it possible for Zet Universe to track a history of all operations applied to these entities, but it's, actually, an internal information that you might not really need to know about in the first place.
What's more, Zet Universe is doing a lot of data processing in the background (extracting thumbnails, full-text, adding it to the full-text index, extracting keyphrases, etc.), and prior to this build, we've been updating the last modified value for each entity each time any of these operations happened. As the modern computer is pretty capable of fast data processing, Zet Universe's Navigation Pane had to re-sort all entities after each change, which led to UI lags at best, and fatal crashes in the worst cases.
Obviously, your files shall be marked as updated under certain conditions. Think when you edited a file, or one of your colleagues did, or if the file was renamed. But all other operations (moving in the space, adding to or removing from visual clusters, indexing, etc.) are not, strictly speaking, about your file. They are about what is being done with its metadata, not the file itself.
And so, starting with this build, we mark your files as created OR modified only if:
And so, starting with this build, we mark your files as created OR modified only if:
- File created
- File contents changed
- File renamed
WHAT DOES IT MEAN FOR YOU?
Zet Universe will now remain responsive after importing large folders. Yes! This might sound strange, but by using really important and relevant date values, we've been able to significantly improve our product's responsiveness during heavy data processing (full-text indexing, keyphrase extraction, etc.).
"Created this item" will now show the time the file was created. This also means that if file was copied from another destination, Zet Universe will compare it's LastModified and Created dates, and pick the older one as "Created" date.
Items will be now grouped by their real last modified values in the Navigation Pane. Consider this: an old project space that wasn't touched for a year. Once we've imported it into Zet Universe, all its files have been indexed, but it's clear that items haven't changed since that year ago mark (August 4, 2014).
WHAT ARE THE OTHER BUG FIXES?
Well, we've made a lot of small bug fixes. Most of these fixes are related to better handling of situations where Exceptions were caught by the system. Here's a list of a few of such cases:
- Zet Universe will now better index PDF files. We are using SyncFusion Essential Studio (for startups) for PDF thumbnail extraction (so that we could avoid using Adobe Reader APIs for that); however, there was a confirmed bug in the version of the dll we packed with Zet Universe. Starting today, we've moved to the latest version of SyncFusion Essential Studio which includes the bug fix for PDF thumbnail extraction.
- Zet Universe no longer updates contacts in Dropbox each time it requests Dropbox web site for those who edited the given file. Prior to this build, Zet Universe issued checks for updated contact data after checking for each file, and in case you've imported a large chunk of files, Zet Universe would waste a lot of time (and place in the log) for checking contacts for updates.
- Zet Universe no longer tries to write its log to the Windows Event Log. Initially, we expected you to install Zet Universe with admin rights. However, as we've moved to Squirrel for Windows, and it's amazing update experience, we've found out we have no good reason to require admin rights except for creating own Windows Event Log. Given that we write log to %appdata%\Zet\Logs\ anyways, it's not necessary to use Windows Event Log. Before this build, we had to make the check for the Windows Event Log, and handle an exception in case the Log is inaccessible.
- Sticky Notes account is now accessible via Settings --> Accounts. Indeed, this is a really small thing, but we've managed to ship several builds of Zet Universe w/o any way to see Sticky Notes account. That's sad, there's nothing there to edit (for now), but for the sake of consistency, we've added it to the list.
- System.UnauthorizedAccessException should no longer happen, and lead to a fatal crash of Zet Universe when trying to open Local Folders pane to start tracking a folder. This was a rather sad case, when Zet Universe tried to enumerate all folders, and then obtain their metadata, which for inaccessible folders was impossible to do, and led to a fatal crash. We've fixed that.
WRAPPING UP
Ok, so, this time we've not only fixed at least one of the bugs we've introduced last time, but we've almost made a very important change to the entire user experience of Zet Universe.
We hope... No, we pray that you'll just love these changes! Because we're positively in love with this change!
And now, we are very thankful to you, our Insiders: without your feedback (hey, guys, you've given us almost 700 pieces of feedback, directly or indirectly; this is more than we've logged in our issue tracking before the Insider Preview Launch this July!), it would be impossible for us to make Zet Universe better for you.
Now, enough of this mutual admiration society. As we continue working on the SDK and new features, we encourage you to update to this build as soon as possible, as well as check out our updated product plan (check out the "What's Next?" section), and let us know what you want via the Feedback Forum, and use the Facebook group to connect with other Insiders for help and tips on problems you hit.
Thanks for your continued support!!!
Daniel and the team
We hope... No, we pray that you'll just love these changes! Because we're positively in love with this change!
And now, we are very thankful to you, our Insiders: without your feedback (hey, guys, you've given us almost 700 pieces of feedback, directly or indirectly; this is more than we've logged in our issue tracking before the Insider Preview Launch this July!), it would be impossible for us to make Zet Universe better for you.
Now, enough of this mutual admiration society. As we continue working on the SDK and new features, we encourage you to update to this build as soon as possible, as well as check out our updated product plan (check out the "What's Next?" section), and let us know what you want via the Feedback Forum, and use the Facebook group to connect with other Insiders for help and tips on problems you hit.
Thanks for your continued support!!!
Daniel and the team