Building a new Engine

If you are a user or fan of Perplexity Explorer then this is maybe something that you will be excited about. Currently Perplexity Explorer is at version for an amount of time. I am very happy about the explorer replacement for my day to day workflow however there are still major things that need work and could be better. Perplexity Explorer’s core or as I like to call it it’s Engine. Is the heart of all operations that the program does. Things like retrieving files or icons for example.

During the development of Perplexity Explorer I have rewritten the Engine once. So currently we are set at Engine 2. Engine 2 is based on threading because the first version of the Engine was very much a prototype. Engine 2 was a bit more mature but not perfect. It was a quick rewrite based on threading with no other big benefits. So stability wise it was great but speed wise it was pretty much the same.

So because I now have what I deem a usable explorer replacement that I use without issues day to day I started asking myself what can be made better. So I started over and am working on Engine 3 and made some key changes in my philosophy before starting.

There are a few things holding the current Engine back. 64 bit is a nope. Because of the Office styled look and some clicked on USB ejection code there is no option to build it as a 64 bit application. The Office styled look held the performance back as well. The list view that it is using to display all the files and folders is not optimized for performance and requires a lot of hacking for various functions to work. But it looks in theme right? And a major pain point are the retrieval of icons from various programs or downloads. Combine all this with the now very messy code and you have Engine 2.

So what is changing? That is a good question what am I going to do differently in Engine 3. Well let’s start with making the application 64 bit and only 64 bit. Getting rid of the Office styled theme that held the performance back and implementing the FastObjectListView. Icon retrieval is a pain well not when it is loading in dynamically instead of all at once. Building up a better native watcher that keeps track of changes in a directory instead of my own. Combine all various button operations in one easy to use class that is easy to maintain. And so much more is better..

– 64 bit application
– Still portable
– Breadcrumb bar implemented
– Optimized search engine
– Threading file and folder retrieval
– Dynamically retrieval of icons
– Native .NET file watcher instead of my own
– Fast Object List View to make the display fast and smooth
– Easy to maintain class with all explorer general operations in it
– New favorites system based on unique ID’s

Engine 3 is already proving to be an amazing core of Perplexity Explorer in testing. However all these changes are going to mean that feature are going to be missed as well from the new version of Perplexity Explorer. This means that I will stop development of and when Engine 3 is ready I will continue it as version 7. A reborn of sorts. I will list below what I am not planning on bringing back as of right now..

– Phone support, This is creating so much overhead in the code that it is just not worth it from my point of view
– The fancy Office look, As I said performance is the new focus and with this focus there are sacrifices
– TeraCopy integration, Currently this is not planned however I might bring it back
– Round corners?

Currently I am busy testing and working with the new Engine and Perplexity Explorer day to day so expect another update post when the time comes for that.

Leave a Comment