As you probably know, ForkLift 4 has been in the making for an extended period of time, longer than we anticipated or desired. But finally, the wait is over and we are ready to release the first beta version of ForkLift 4. We hope that you will like the new version. We would greatly appreciate it if you could help us by using the beta version and providing us with feedback.
The Evolution of ForkLift 4: From Minor Improvements to a Complete Rewrite with SwiftUI
When we started thinking about releasing a new major version of ForkLift, we didn’t plan to change a lot of things in the code. We simply wanted to create a modern GUI and add some highly requested features. But as has often been the case in the past, developing the new version resulted in a complete rewrite of ForkLift from scratch once again.
We realized that if we wanted to be able to continuously add new features to ForkLift as we are planning to do, then we needed a good foundation to build on. We decided to use SwiftUI, the new user interface framework by Apple, to build the UI of ForkLift. SwiftUI was very promising because by using this framework the code becomes much simpler, which is always a big plus, especially for the developer of ForkLift. It is really great to work with SwiftUI, but it has presented some big challenges too. Some things that we wished to create with it are simply impossible to do at the moment, so we had to make some workarounds. At this point, the UI of ForkLift 4 is around 80% written in SwiftUI.
Creating a fresh look for ForkLift 4 and improving user experience
Developing a new major version of an application is a huge challenge and it is hard to decide how and where to start and where to go from that starting point. In the case of ForkLift 4, it was very helpful to create the GUI first. We wanted to develop a GUI that was both fresh and streamlined, and we believe we succeeded in achieving that. We decided to add some themes to choose from, which go well with the streamlined design. As soon as the new GUI was ready, the app felt like a totally new app and it had become much easier to fill it with functionality.
We have incorporated numerous small features to improve usability. To name just a few, we have moved the status bar from the bottom of the window to the top and integrated it into the status bar. We’ve added the option to colorize the icons in the sidebar. Additionally, you can use these colors as color labels for the path bar, making it easier to identify your current location. If you drag a folder over the plus sign in the tab bar, then that folder opens in a new tab. We have also added new tools to the toolbar. We have enhanced the Spotlight search in ForkLift to not only search Spotlight’s metadata for file names as it did in the past, but also to search within the content of items.
ForkLift 4’s protocol updates: direct connection to Dropbox and OneDrive, MFA for Amazon S3, and simplified key authentication
Some of the bigger changes affect the protocols in ForkLift. ForkLift 4 can directly connect to two additional cloud service providers: Dropbox and Microsoft OneDrive.
ForkLift 4 also can handle connections to Amazon S3 buckets even when the user only has bucket level permissions. In addition to that, users can use Multi-Factor Authentication (MFA) when connecting to Amazon S3.
In ForkLift 3, to use a passphrase protected private key, users had to manually add the key to the Keychain and modify the config file. However, in ForkLift 4, no extra steps are needed. Users can simply enter the passphrase on the Connect Panel, just as they would with a normal password.
In some cases, not responding NAS devices caused hangs in ForkLift. This issue occurred when in the background ForkLift was trying to communicate with the NAS but the NAS wasn’t responding. In other cases, a lot of ongoing activities made ForkLift to beachball. We worked very hard to solve this issue, and we can proudly say that at the moment, ForkLift 4 is handling this problem much better than any of its competitors.
Faster syncing and improved filtering in ForkLift 4
We have put a lot of effort into enhancing the Sync feature of ForkLift. Syncing has become significantly faster than before. The analyzing phase before the synchronization takes considerably less time, and users receive immediate feedback on the progress through a real-time counter displaying the number of folders being analyzed for syncing.
It is important to note that the way of filtering items in the Sync Window has changed. In ForkLift 3 we used positive filtering (include filter), which means that the filter only kept the items that matched the filter criteria.
In ForkLift 4, we are using negative filtering (exclude filter), which means that items that match the filtering criteria are filtered out, and only items that don’t match are left to be synced.The filter conditions can be applied to files, folders, or both of them. This reverse approach will definitely have a steeper learning curve, but it makes a more complex filtering possible. We placed a strong emphasis on improving the performance of ForkLift. Because we have improved file caching by a significant amount and utilized new technologies provided by macOS, we were able to also optimize the efficiency of syncing.
Maximizing productivity with ForkLift 4’s new features: iCloud Drive favorites sync, customizable tools with unlimited bash scripting, and dynamic preview pane
Adding the option to sync the favorites through iCloud was a highly requested feature. In ForkLift 4, synchronization of favorites occurs through iCloud Drive, and iCloud Drive only. We opted to discontinue using Dropbox for synchronizing favorites because of the 3-device limit on Dropbox’s free plan, and concerns expressed by some users about using third-party services for syncing. Since all Mac users have an Apple ID, all ForkLift users can use iCloud Drive without issues to sync favorites in ForkLift.
While the Tools feature in ForkLift may be overlooked by some users, it is a valuable resource for power users. In the past, the Tools had limitations, but in ForkLift 4, it is now possible to create custom tools using bash scripts without limitations, allowing users to execute complex commands just as they would in Terminal.
We also changed the Preview Pane on the right side of the ForkLift window, it can now be used in three different ways.
- You can use it as an Info Window with the preview displayed at the top and the file info displayed below that. The file info contains all the data that is displayed in the Get Info window and all editable fields (such as permissions, owner, tags, etc.) can be edited right in the Preview Pane too. The file info also contains the metadata of files.
- You can also open the Activities in the Preview Pane. Unlike the Activities pop-up, the Activities in the Preview Pane will remain open until you navigate away. This way, you can always keep an eye on the ongoing activities.
- You can also display the Activity Log, that contains the successful and failed activities.
ForkLift 4 is packed with numerous other improvements, which are ready and waiting for you to explore.
Be the First to Test ForkLift 4: Become a Beta Tester!
With the release of the first version of ForkLift 4 beta, we are looking for beta testers to help us improve our new app. As a beta tester, you will have the opportunity to be one of the first people to try out ForkLift 4 and provide feedback on its features and functionality. If you take part in our beta testing program, then your feedback will help us identify any issues and make necessary improvements before the app is released to the public.
If you want to be part of our beta testing program, then download and install ForkLift 4, and make sure to move the app into the Applications folder. Send us suggestions and bug reports at support [at] binarynights [dot] com. Should ForkLift crash, make sure to send in the crash report through the “ForkLift Crash Reporter” that opens after you reopen ForkLift after a crash. (You can close the other crash report that can be sent to Apple.) Before sending the crash report to us, please add a comment describing the actions you were performing in ForkLift when the crash occurred.
We are looking forward to your feedback!