The most essential ingredient of productivity is having an efficient workflow – for those in a professional setting, this is especially important. Everyone can relate to having to set up a specific workspace on their computer for working on certain task, whether it be a paper, programming assignment or even a hackathon. This leads to the question: How can we optimize our workflow on a computer?
What it does
Paneless takes the original concept of window-based multitasking one step further – users can save certain layout configurations of certain apps and load them on demand based on what they’re working on. Imagine having multiple virtual desks with layouts corresponding to what you want to work on – productivity and ease-of-use is greatly improved.
How we built it
Paneless consists of three specific components – a Python script storing the location of windows and creating thumbnails of the user’s screen, a Xcode Swift-based GUI that saves locations of windows and layouts, and an applescript. The applescript controls the bulk of the backend, handling everything features like automating application launches when a layout is loaded and sending the GUI the data it needs.
Challenges we ran into
We found that applescript is very frustrating language – it tries too hard to be intuitive and instead becomes counterintuitive. Simple data manipulation is incredibly obscure, and integration into Swift seems borderline unsupported. Compounding with the lack of adequate documentation, debugging becomes extremely difficult.
Accomplishments that we're proud of
Several successes throughout the project are a source of pride for us – trudging through applescript to automate workflow was a feat on its own, let alone integrating it with the GUI.
What we learned
The most frustrating part of the project wasn’t logic or algorithmic thinking – it was being able to syntax around the nuances and idiosyncrasies of applescript. As such, the project provided an excellent learning experience in manipulating limited accessibility, finding creative solutions, and most of all: staying patient and persistent.
What's next for Paneless
As a simple concept, Paneless offers substantial leverage for expansion and additional features, like supporting multiple desktops, saving layouts to cloud for use on other devices, and possibly further integration with other customizable apps like web browsers.