I've been watching and trying Panorama for a while now, waiting for the "perfect" UI to appear out of nowhere to make my Pandora even more awesome. Alas, this hasn't happened yet, so now I'm tinkering with the idea of making said "perfect" UI.
I don't know if I actually have to time to do this, but I'm taking the first step and compiling QT 4.7 on my computer right now. So I guess I'll find out.
While waiting, I've decided to collect all my ideas. I could just put them into a text file, but putting them here might be better. So here it goes.
Overall UI
----------
- Based roughly on the "Colors" theme. I recall reading that this isn't actually a native Panorama theme, but rather from P-something or other. So perhaps will need to code from scratch.
- Overall visual space usage needs optimization. Smaller icons. Remove or make the clock much smaller.
- Much more visually minimalistic than Colors. Solid black background. Solid lines with solid colors. Terminal-like. Maybe like Okuda theme for N900 (See http://maemo.org/downloads/product/Maemo5/hildon-theme-okuda/). Use Terminus font (note to readers: best font ever made).
- Main bar at top should have less height but still be finger friendly. If more icons used that can be displayed at once, then it scrolls with wrapping. Like one of the reels on a slot machine, but sideways. Lots of ideas here, so new topic.
Main Bar
--------
- Many choices of icons (and the categories that go with the icons, of course) for the main menu. User can swap in and out different categories via settings.
- Categories can simply be different application categories ala Minimenu. But like Colors theme, kind of, should go beyond that. A Media category, for example. Could have different category plugins, like a linux terminal, for example, that takes up the space below the menu when the category is selected. Ncmpcpp would be a good candidate for a Media Player category. Anything with low memory usage (and, even better, a curses interface matching UI theme) would be a good candidate for a category plugin.
- For application categories, my personal preference would be like Colors theme--Emulators, Games (perhaps with type submenu), and Other. Other people will have their own preferences of course.
- Since I'm probably already going way beyond my own skills and time, I'll also throw out the idea of--you guessed it--a Rom category for exploring video game roms and launching appropriate emulators and whatnot.
Technical
---------
- Panorama needs ability to operate as main UI like Minimenu, I understand this is planned/being worked on.
- Some kind of multitasking ability beyond that of Minimenu would be nice if feasible. Best case scenario would be like iPad in some sense. I don't know technically how it works, but I imagine the ability to switch between applications and the UI via a usual alt-tab-like popup (that's not the iPad part). But it would be nice if there's a way to do this without impacting performance of foreground processes. Is there a way to temporarily end a process but write its state to the SD Card? Thus, when switching away from an application, it would no longer use resources, but switching back would bring it back as if it was never ended (perhaps with a short delay from having to bring it back into memory [which I think would be totally acceptable]). This could yield all the performance benefits of Minimenu without losing multitasking.
- Above-mentioned main menu plugins--feasible? Sounds like it based on modularity of Panorama, but I think all of functionality would have to be written into Panorama itself as plugins. Fine. New category.
Panorama Plugins
----------------
I guess the question starts as: how much needs to actually be written into the plugin and how much can just be a wrapper to an outside application? Take the ncmpcpp main menu item for example. Could this simply be accomplished by telling Panorama that when the Media Player category is selected to show the ncmpcpp process in the appropriate area of the UI? Or does part of the interface need to be written into the Panorama plugin? Would the entire source need to be compiled into the plugin? Does the answer depend on how seamless I want the integration to be?
Ok, I think that's enough for now. I'm still compiling, though I think QT is done. Of course I'm having to pull in KDE updates as well since KDE is f'd up.
To go off on an extreme tangent: so much of my life seems to end of being wasted on kde libraries just because I like to use a few applications that happen to be way too dependent on kde. In fact, I think it's just okular and gwenview. I usually use feh anyway, so gwenview's just there because what's a few more KB/MB on top of the monstrosity that is kdelibs. Someone should make a terminal-based pdf viewer (with plain text rendering) so I can ditch this mess
So here's the plan. I'm going to try writing a simple UI sometime in the next few weeks. It obviously won't do any of the cool stuff I listed above, but I need to start somewhere I guess. I hope it's as easy as it's claimed to be! Then who knows what might happen from there.