Why it's being released early
Important Status Update
I will do my best to be available as often as I can while ULLD rolls out at the newly created Discord server, but keep in mind that I'm working without an internet connection for most of the day. Just yesterday the Chevy Sonic that I've been sleeping in gave out on me, so I'm stuck walking 2 hours to a library without outdoor power outlets every morning, and just hoping that my car doesn't get towed while I'm gone. This will significantly limit the time I'm available to actively address issues, but the development of ULLD will continue, albeit likely at a snail's pace until I can find a stable work environment.
If you can, please share ULLD on your socials (@uhlittlelessdum on twitter) and with anyone you know that may be interested so together we can help this early rendition grow into the most useful, all encompassing academic tool available; and of course, see the sponsor page if you're able to support this project. Every little bit helps.
Ok, we're getting close. Close on two fronts really. I'm both very excited about the way ULLD is coming together, and hesitant to release it in this state because of how close several other features are to being ready for release as well.
Unfortunately, the time I'm able to wait on the release of ULLD while I finalize these other features is also rapidly closing in. I've been living in my car for more than 2 years while I worked on a new model of gravity, and in turn, the development of ULLD. My car just gave up on me, my shoes are held together by half an inch of stitching on each side, and I've had the same 0.24$ in my bank account for almost half a year.
While I would love everyone's feedback and encourage all user's to join the newly created ULLD Discord server here, please hold off on bug reports that aren't related to the build process for now.
In the future, bug reports should be submitted on Github here, but until ULLD is out of beta, please reserve those bug reports for the build process alone.
The state of ULLD
While ULLD is coming along nicely and in a very usable state, the following issues are likely to affect many initial users.
Setting Pages
1 day of active development
The ULLD build script will generate setting pages for each plugin, if that plugin defines one in their configuration. Since all internally developed packages apart from the 2-3 core packages are just plugins themselves, some of these packages will likewise provide their own settings page.
Perhaps the most prominently missing settings page will be from the navigation package. Once enabled, this settings page will allow you, the user, to customize your navigation bar, the sidebar, and the optional footer from directly within your application.
This page is about half done, and could be completed and completely integrated in an afternoon under normal circumstances. However, since I'm stuck rationing my battery usage most of the time, I've decided to release ULLD before the internally developed setting pages are ready. If the temperature permits and my car hangs on, these pages will be ready within the coming days, so be sure to update your application frequently.
Plotting Components
3 days of active development
I'm about half way through migrating the plotting setup I used for my own app to a ULLD plugin. While most of the code is in place, I'm hoping to simplify the usage of this package by consolidating many of the component's properties. To avoid users creating notes using a plotting package that will change and make those notes obsolete, I've decided to not include these components in the initial beta.
Taking the plotting package from it's current state to release ready would be a 1-2 day task under normal circumstances, but working without WiFi or a power outlet in 90 degree heat extends that almost indefinitely. Unfortunately, this will need to wait until this heat wave passes and I can leave my sweet, sweet puppy in the car while I charge my computer at the library.
Jupyter Integration
A few weeks of active development
Integrating Jupyter directly with my own rendition of ULLD was a huge part of what differentiated this app from other note taking options. There is a more detailed description of why I've decided to move away from the third party package that provided my initial Jupyter integration and develop my own available here, but creating an internally developed Jupyter integration is my first priority apart from the 2 almost-done features mentioned above.
Third Party Integrations
There are several third party integrations that I included in my own app that aren't included in ULLD as it's being released. These features are pretty much entirely in place, but haven't yet been integrated in the build script. This is mostly a matter of just having other features in place to where this becomes a priority, and wouldn't be too time consuming. Google calendar integration for one, was left to the end mostly because I assumed that it would be applicable to fewer users than features like the bibliography manager or the plotting package.
Unless user feedback indicates otherwise, I will likely leave these integrations aside until the Jupyter integration is stable, the plotting package is accessible, the setting pages are in place, and the documentation has improved.
Documentation
As you've likely noticed, there is some pretty significant improvements needed to the ULLD documentation. This comes down almost entirely to the fact that I'm stuck rationing my battery usage, and have strategically dedicated that precious wattage to improving the functionality of ULLD.
Whiteboard
There is a whiteboard component that is available now, but I've recently decided to use a different whiteboard package as ULLD progresses. For that reason, I'm not including the existing whiteboard component in this very early release so there isn't an issue with user's notes in the future being unable to load their whiteboard content from their database, as the data structure of the existing package and the package that will be used moving forward are incompatible.
Other Known Issues
While most of the app apart from what is described above is reliable, there are some components that should not be relied upon just let. First, the pdf annotation tab will likely run into syncing issues, and an improved pdf annotation workflow is on the way. Embedding pdf's, linking bibliography entries to pdf's, and the pdf viewer page are all completely functional, apart from the 'annotate' tab on the pdf specific page.
There are several other inputs that will be extended using the internal Monaco editor. Currently, the math input and code block input are capable of opening a full screen editor for more easily inserting content that doesn't easily fit neatly into a text input.
On the Monaco editor note, vim mode is not currently implemented from the appConfig.ulld.json
file. It works flawlessly in my personal build, and this is just a matter of connecting the dots. By the time you're reading this, there's a good chance this issue is already resolved.
Windows Users
Since ULLD was originally built as a tool for my own personal use, I built it around my own workflow which used a Unix file system. While migrating this app to a publicly available tool I did my best to resolve all of the places that address the file system directly in a manner that would accommodate both the Unix file system that's used by both Mac and Linux, as well as that used by the Windows system.
As I do not have access to a windows machine with which I can test the compiled application, it's entirely possible that references to the file system that use a Unix specific syntax still exist.
If you have issues with any of the ULLD functionality apart from the issues that are currently expected described here, please submit an issue on Github and optionally reach out on the Discord server here.
Summary
There are several other features that are almost done, but I'm to the point that I can no longer hold onto this app until it's perfect. There's a Kanban package that can be wrapped up in a couple days once the features mentioned above are in place, as well as a side-by-side live editing page with a fully integrated IDE that's done, just not yet connected to other points within the app to make it accessible.
I hope everyone enjoys ULLD in it's current state, but most of all, I'd like to encourage those that try it to stick around and update their application frequently, especially over the coming weeks. It's hard to be proud of something when you know it's incomplete, but I truly believe that ULLD is just months away from being the most powerful, all-inclusive academic tool available.
Shameless Plug
I realize this website is riddled with pleas for sponsorship and support, but if you can, please consider supporting the development of ULLD. I didn't build this app to become rich... I mean, I haven't been able to afford to wash my clothes with actual soap in more than half a year, obviously money isn't my motivation, but being able to find a stable work environment would allow me to take ULLD truly to the next level.1
If you find that ULLD shows potential or if you want to support the development of additional features, you can find links to the ULLD Patreon account on the sponsor page here, sponsor ULLD through Github via the link in the footer, or through PayPal by scanning the QR code below.
While it is not discussed here directly, the release of ULLD as a public app was motivated heavily by a desire to encourage and facilitate education. In that regard, there are several packages that were set aside briefly which will help make ULLD a useful tool directly in the classroom.
- Spread the word about ULLD on your socials! I've created a Discord server and a Twitter account @uhlittlelessdum to interact with users directly, but if you're active on social media, help other people discover ULLD for themselves.
- If you know someone that works in education, especially in STEM, mention ULLD to them. Currently, ULLD functions mostly as a tool for individuals, but after wrapping up the plotting components and the Jupyter integration, building features focused around functionality directly in the classroom will be up next.
- Obviously, if you can, and only if you can, please consider supporting the development of ULLD through the shameless plug above. Asking for financial support feels gross, but having a more stable work environment would allow me to improve ULLD at literally 20x the current pace.
Footnotes
-
Some soap would be pretty sick too though. ↩