Windows installers are now built with the master branch of the code. The latest installer can be downloaded on the download page.
Goals for 2020
Even though this project has been neglected for the past couple years, there are still a few things I would like to accomplish in 2020 that I hope will encourage others in the open source community to contribute. I still believe the idea of Owl as an application has great appeal, and with the proper care it could grow into an amazing app!
Here are some of the things I would like to work on in 2020:
Installers
In the past, building the installers was a manual process. Of course I had scripts that helped automate part of the process, the bulk of the work was done by hand.
During the holiday break, I have been working on adding CPack integration into the existing CMake infrastructure. These efforts can be seen on the deploy
branch in Github. The idea is to have installers available for release builds, and for builds of the master branch (the unstable builds).
This will allow people to use/test the latest development efforts of Owl without having to build it themselves.
Package Manager Support
Both Owl and OwlConsole should be available via various package managers for each OS supported. For example:
- Windows –
choco install owl
- macOS –
brew install owl
- Ubuntu –
apt-get install owl
All of the above should work to install the latest release. This will take some effort on my part since I have on idea how one goes about getting their app into ay of those managers’ repos.
Refactor Board Detection
When a user adds a board to Owl, the functionality for detecting the best parser is very naive and prone to error.
Most message board software systems do not publicly publish the version number running. If you go to a particular site (ie. www.wtf.com) and look at the Page Source, it’s very easy to see that they are running XenForo, but it is nearly impossible to tell which version. This is done for security reasons.
Because of this I want to refactor the auto-detect functionality in Owl to use a “scoring system”. A parser will execute certain actions (ie. login to a board, list all the forums, list the threads in a forum, etc) and based on the success or failure of those actions, the parser will generate a “score”.
In the end the parser with the highest score wins.
Website
The website needs a significant overhaul. I plan to put the existing website code into its own repo, and encourage people with better design skills than myself to contribute.
Owl Forum
The forum should be brought back to life and perhaps even come as a pre-configured board with downloads of Owl.
Those items will be the main focus of 2020. Assuming there is more time at the end of the year, here are a few other things I would like to accomplish:
More Board Support – Specifically it would be nice to have XenForo 2.x and vBulletin 5.x support.
Parser API Refactor – Currently all the parsers create Owl-specific objects and return these objects to the caller. Parsers should instead return standard JSON. This will not only add greater abstraction, allowing for greater reuse of existing parsers, but will also make it easier for others to write their own parsers.
Less Reliance on Qt – It would be nice to isolate the areas that really need Qt and use standard C++ in the areas that don’t. The first example that comes to mind is the owl::WebClient
class.
As always, if you would like to help out in any areas, please let me know! Or send a Pull Request! https://github.com/zethon/Owl
Happy New Year!
Update on 0.7.6 release
It has been back and forth with the Mac App Store to get Owl published. In short, some of the libraries that Owl uses are not currently compliant with the Mac App Store, so the app cannot currently be published.
Details
For this new version of Owl, we upgraded from using Qt 5.4 to the latest released, Qt 5.8. In this upgrade, Qt replaced one of the modules we were using with another “better” version. For those interested, this change was from using QtWebKit to using QtWebEngine. Unfortunately, QtWebEngine uses private APIs that are blocked with code signed apps that do not allow them function properly in sandbox mode.
What now?
We will be uploading download’able versions of Owl 0.7.6 soon. This way users will still be able to use the new features and give us feedback on the product. As for Mac App Store, we will continue to work with Qt in order to get their modules compliant.
Another option may be to rewrite the portion of Owl that uses QtWebEngine to use something else that would be compliant with the Mac App Store. This option is being explored but as of now no decision has been made.
Image overlay
Another new feature we’ve been working on for the upcoming Owl release is a new way to view images within Owl. The goal of this feature is to make sure that all images are clickable and that when clicked they show up in a transparent overlay. We have made a lot of progress with this feature in the past couple days and here is what it looks like:
You can see here that the image take up the entire app window. Future versions will have “Copy Image Url” and “Save Image As” options in this window.
User avatars
Owl running on CentOS
One of the several things we’ve been working on is getting Owl to work on Linux.After some effort we finally have a working build for CentOS. The UI still needs to be tweaked and updated but the fact that it’s building and running is a significant milestone as we are now able to target all three major desktop platforms!
What is interesting about this is that the UI looks very similar to how the UI looks on Windows. I can see that some of the issues faced on Windows will also need to be addressed on CentOS. For example the dramatically different font sizes in the thread and post panes.
Redesign of thread list
The thread list has been completely refactored.
The post list is next!
November Update
There is still some work to be done on 0.7.6 before it’s ready for release. We completely refactored the HTTP call system to use CURL instead of Qt’s network libraries. This has proven to be significantly faster and also fit in better to the overall architecture of Owl’s design.
We have also release part of the code as an open source project as part of OwlConsole, a terminal program that offers the same functionality as Owl. The source code is viewable here: https://github.com/lulzapps/OwlConsole
We hope to have the new version of Owl released before the end of the year and we appreciate your patience!
Showing some usage of OwlConsole
As we announced last week, we at working on a command like interface for Owl. Here is a small preview of it in action.
GitHub, OwlConsole and Version 0.7.6
With the new version of Owl we will be referring to it as “OwlReader” and we are also working on a new application, OwlConsole. This app is a console application that will enable users to navigate message boards through the command line.
This screenshot shows some basic functionality such as logging into a board, listing the forums and listing the threads in a forum.
We hope to release OwlReader 0.7.6 and OwlConsole 0.1.0 at the same time. Look for a late September release.
Recent Comments