12 votes

Any developers/designers interested in a helping build a proof-of-concept for a new type of data-centric app?

Wow it was hard to describe this in the title! I should have said "data-centric APP" not UI. Sorry! LOL
I have had an idea for 25 years that I keep NOT pursuing because I was convinced that the next big version of Linux/Windows/etc would include a more civilized way to manage data. It just seems obvious in my strange mind, I guess that means intuitive. I've discussed the idea and worked on refining the concepts with about 20 people and they all agreed.

My idea is based on a huge paradigm shift about managing all forms of data by the user. It's about how we manage data, not just file-system stuff or yet-another Windows/File Explorer or any of the numerous current Linux varieties. I'm honestly shocked that in 2019, the most original idea that's come about is to remove all the menus and toolbars (freeman) or add a bunch of tabs and hundreds of buttons (pretty much everything on Windows).

I am a software engineer and designer with 35 years experience - but with business class apps, not OS stuff. I am semi-retired and have a great deal of time to work on whatever interests me. And please note: Despite my advanced years ;-) LOL I am very current on the technologies I work with daily, which is mainly .net/c#. However, I just finished a year-long project that had a Java client running on a Raspberry Pi (which I love) paired with a WCF service running in IIS, along with an asp.net web client. Now I'm not an expert in any of that, but I'm not too shabby I don't think as I've made a good living and do mostly volunteer work right now.

I currently manage a massive amount of data, from files/dirs on Windows and Linux file-systems, to MSSQL and mySQL on both Windows and Linux, and of course some cloud data. And it takes several tools as you know, and it's incredibly inefficient and painful. And of course on Windows, Windows/File Explorer is - eh, I can't find a word strong enough. On Linux not much better. And I've spent the past two years searching, researching, testing, and praying.

My idea is to build an app that allows users - not just developers like me - but mostly aimed at business users - to manage data from various sources/technologies in a single unified and intuitive manner. The physical aspect is divorced from the UI which is divorced from the management engine. And it's grouped the way the user THINKS and WORKS with it. For example, let's say for PROJECT-A (and Client-1) I have various source code locations on 2 local hard drives, but also documents (technical specs, or maybe letters to the client, spreadsheets or timelines), and of course likely a database or two, some web-site links. How many places and how many apps would I have to use today to keep them all close by so I could get to them? Well, there'd be a couple of drive letters probably, maybe a few sub-folder levels deep, maybe documents on a network share, some collaborative docs in the cloud, and some web-site links in whatever-browser-you-use. You get the idea.

No file manager on any OS can give you much more than "Places" or file-system - drive letters on Windows or some mount points on Linux. Things like MyDocuments, MyMusic, MyInsanity - that stuff makes no sense because it's not how people work. What I want is a "work-space" where I can have any number of what I call "Data Sources" - and it doesn't matter what physical technology is underneath it - local hard drive, local sub-folder, mapped drive, unc mount, cloud, ftp - don't care - don't need to. I create a work-space, add data sources, order them however I want, name them whatever I want, and each "Data Source" has a manager or provider. A filesystem provider would make your data source look like Windows Explorer. But a database provider could look like MS SQL Server Manager or other db admin tool. And you put that workspace in a tab if you want, and have as many others in other tabs - or you put them on a menu, or on a popup that a middle-click brings up - doesn't matter. And everything I've just written, plus it's settings, is represented by Viewer objects. A hierarchical - tree-view or the likes - a flat view - a list-view - a preview pane, or editor pane - navigation tool (path/breadcrumbs) - a command line shell pane - drag/dock wherever in the tab you want. A main menu/toolbar + status-bar would be global and shared. And all THAT is bundled into a PARENT object - which contains the work-spaces, which contains the tabs, which contains the data sources + provider views/panes. And you can have as many of THOSE - parent objects - as you need, easily accessible in the custom titlebar at the top, or bottom, etc..

The point is - when I am working on PROJECT-A I manage it in a tab that contains ONLY the drive letters, or mount points, that are relevant (and named what I choose, meaning no drive letters forced on me even if that is the underlying reality nor any full paths or full URLs - just logical names I assign). This will NOT be some massive file manager with every folder on the system or 18 drive letters I'll never use. It will have all the web-site bookmarks I need, as well as databases I'm working with. This won't be an ALL-IN-ONE type of thing - you will STILL use your external apps, web browser, IDE or editor, mail app - but it will be a SINGLE place where ALL those data items get represented and where you can manage them in exactly the same way. I can copy/paste an email message to a file on my workstation, or copy a file from a network share to some machine remotely using ftp or http.

I hope this makes some kinda sense and doesn't just sound like the ramblings of yet-another aging geek who thinks he's got a great new idea. My usage scenarios are literally based on things I do every day, and are the result of observing myself as I work to see what my mind is doing. I do realize that we all work in our own way, and I've taken that into account. But there are basic things we all do concerning data management. And as I have hired, trained, and worked with a huge number of fellow programmers over my 35 years - without exception this was the most common soft point for them all. Keeping track of data. The same applies to all my clients. I've written software for accountants and attorneys, and a wide variety of business types - and without exception - every one of them had trouble with managing their data. One look at their Desktop or MyDocuments - or just watching them trying to find a letter in MS-Word - tells the whole story.

Ok there's my pitch - I'm looking for anyone who has interest, no matter what your skill level or how much time you can or cannot devote. We need people who can contribute only opinion and advice, as well as hardcore keyboard jocks like me who love to code for 36 hours at a clip ;-) LOL

19 comments

  1. [2]
    tak
    (edited )
    Link
    You clearly have been thinking this through for a while. As someone's reading this for the first time, I see a solution in search of a problem. As I understand it you are basically looking to...

    You clearly have been thinking this through for a while.

    As someone's reading this for the first time, I see a solution in search of a problem.

    As I understand it you are basically looking to create a single browser thing that uses plug-ins/extensions to handle different data sources and present them in a uniform way. This never ends well, because of an inherent conflict between needing to abstract away the details (to make things look uniform) and the need to access these very details as that's what makes the data actually useful.

    So at best you end up with a Windows Explorer-like shell to show data index with perhaps some summary info, and then have a bunch of modules to allow drilling down into the data to do something with it. With all modules forced to use shared UI for all user interaction. An example of this approach is the Windows' native Microsoft Management Console (mmc.exe), which pretty much does exactly all that.

    If that's roughly correct, then I simply see no point in this as it doesn't solve any problems. It merely repackages things into a format that introduces new dependencies and makes individual modules unusable in standalone fashion.

    6 votes
    1. DevNull
      Link Parent
      Hi tak and thanks for the reply! Posting about my idea publicly is something I've thought about for a while but hesitated for many reasons. My big mistake was that I did that "Ok effit! I'm just...

      Hi tak and thanks for the reply!
      Posting about my idea publicly is something I've thought about for a while but hesitated for many reasons.
      My big mistake was that I did that "Ok effit! I'm just gonna do it NOW!" thing - that never works out well. ;-)
      I really should have put together a more accurate and clear - but brief - intro to the project and not just posted that stream of semi-consciousness.
      My apologies for that, and I am already working on that intro.

      You actually described exactly what I do NOT want this to be - a file manager or Explorer replacement!
      And I am fairly certain that the problem already exists and has since day one.
      To qualify that: At least it does in my segment of the computing world, which is data-centric business use - any business user with more than a few dozen folders or few hundred files. Programmers would be at the top of the list, but I have developed software for accountants, law firms (which I still have software being sold for), mortgage banks, title insurance companies - it's a long list - and the #1 complaint from every user, the absolutely biggest area that causes serious problems - is not managing their data, or rather, not having tools that made sense to them - for managing their data. Picture a small (5 person) law firm who cannot afford a $40k document management system, and who's users don't really understand a file system - and who's Desktop has more files than pixels - and they LOSE A DOCUMENT, they just can't find it. And for bigger companies with IT departments? They teach their users how to use Windows Explorer. They just have to keep an eye on drive letters and massively long paths and folders.
      Again - I'm only saying this for my industry - but the problem most DEFINITELY exists.
      And Explorer clones like the god-awful Directory Opus ($$) and XYplorer ($$) give you a nice tab strip to keep losing files with.
      But they ALL use the same paradigm - a disk with a drive letter (or a mount point and long dir path on Linux) - and some more drive letters - and more long paths - and yet still, where are your web-site bookmarks related to that project or client? Ohhhh..... they're somewhere else.
      Am I painting a better picture? I'll cut it there for now and do a proper intro summary.

      As for having multiple data sources, Explorer already does that with everything from Control Panel to those "My ***" folders you can't touch.
      There's no reason why my tree-view can't have local drives/folders, a network share, maybe an ftp location, and my Google Drive - and even GMail - right in the same tree if I want. The underlying provider of the data source doesn't - and SHOULDN'T - matter. Just like clicking on a .zip shows it to you like a folder, but, it's not a file-system folder is it?

      Showing users drives they never use, or should never touch, and saving their files in a single "My Documents" or worse, "Desktop" - using drive letters even, and massively long paths that are impossible to remember - NONE of that is intuitive to ANY user I've ever come across - or me :-)
      The paradigm simply doesn't work, at least not very efficiently.
      The paradigm I am trying to explore is much closer to a commercial document management system than it is to Windows Explorer.

      I hope that clarifies it a bit - and thanks again for the reply mate!

      2 votes
  2. [2]
    Comment deleted by author
    Link
    1. DevNull
      Link Parent
      [Let me try this new-fangled "reply" thing again!] Indeed that is very much where some of the core concepts come from! Absolutely nothing original about what I refer to as "my idea" - the only...

      [Let me try this new-fangled "reply" thing again!]

      Sounds like a slicker implementation of some of the ideas in plan9. For the most part.

      Indeed that is very much where some of the core concepts come from!
      Absolutely nothing original about what I refer to as "my idea" - the only original concept is how I envision myself using it with my specific projects! :-)
      There are some things about plan9 that I don't necessarily agree with, including the most basic "everything is a file". But now would be a great time for me to say the most important thing I left out of my post: This remains a very fluid design that continues to evolve as I go through iterations of building bits and pieces of stuff to see how an idea will (or not) work out, and as I try to prove out some of the technologies involved. I definitely do NOT have a hardened technical design that cannot be deviated from or improved upon. I have a basic set of goals and design concepts - and once we get a group of people who all agree with that core set - then we move ahead.

      As for my "everything is a file" comment, what I mean is that I don't think it has to be that confined to meet the goals/design-concepts. And I think that would be limiting unnecessarily. That is not to say that someone couldn't plug-in a provider to turn something into a file if that's how they wanted to manage it. You're probably already familiar with this awesome project, but just in case you're not: http://www.acc.umu.se/~bosse/
      a bunch of file-system drivers for non-file-systems including "File-Disk" and "Http-Disk" (this one intrigues me, having a file-system style access to my web-server via http, so cloud for the common man LOL).

      This intrigues me. Do you mean, the same data can be represented either as a file system or a database? Or, some things can be represented in multiple ways? That seems a bit far-fetched to me.

      I'm actually not sure how this would play out in reality, and it's not a required element of my design/goals. And I mean to throw technicalities around, but a hierarchical file-system can be represented/displayed as a flat list right? And a database certainly can. Google Drive for example, presents as a local file-system but I honestly don't think technically it is. But here's my point: I would think we start with traditional file-systems, local system, network shares, ftp, samba, even google drive and one-drive. But each data source can specify the root, so right now in my Windows Explorer I might have F:\Development\Client-ABC\Project12 - my data source might point directly there with no drive letter (NOT that it would ever be hidden to the user, just that it wouldn't have to be specified!) - so Project12 becomes the root and I don't have to care if F:\Development gets moved to the new J: drive. Kinda like symlinks only better, because they're more reliable and not breakable! LOL I will draw up some illustrated usage scenarios that will clarify some of this. But to answer your point - while it's not far-fetched to me to have multiple ways of PRESENTING the data source, in the end, if you have a provider that can marshal the data and a viewer that can show it, I don't see it being impossible. Impractical perhaps LOL

      I think if this actually wants to be effective, it needs a solid business plan. Not as in 'how to make money', but more like 'how to become successful and popular'. Because right now in the world there is not much 'ubiquitous' software that doesn't ship with an OS:

      A web browser (chrome or firefox)
      MS office
      Adobe suite
      Steam
      Specialist software (DAW, CAD, 3d modeling, game engines, etc.)

      That's it. If this software isn't as popular as one of the above, then I say it hasn't really done much in terms of actually fixing this problem for the world. And the problem is that to a naïve viewer, at first glance, this doesn't look much different to explorer.exe/Finder.app, and so it's a tough pitch to get someone to install it. Thoughts?

      Hmm.... well, I'm not sure that, at least initially, this would be aimed at a naive user.
      Let's look at this example: as far as I'm aware, no Windows boxes today are sold with 7zip (or WinZip before that). Yet every computer I go to has it, even though Windows CAN do some of the same simple things.
      But a better question to look at is this... the latest word from MS is that in the next big version of Windows they have finally decided to "improve" Windows/File Explorer by <gasp> adding tabs!!! LOL But they'll still have MyDocuments, MyMusic, ad infinitum. So - SAME paradigm.
      Now I'm not exaggerating when I relate my own experiences - but you tell me if yours differ - in all the years since I began taking on clients that use Windows (I was a Unix-only shop initially) - until this VERY day - Windows 10 back to Windows 98 - and I have NEVER had a client that didn't complain about managing their files and hating Windows Explorer -AND- who had a Desktop so cluttered they could never find the file they wanted without several profanity-laced minutes!
      I don't know 1 person who uses Windows who doesn't struggle with file management, but I deal strictly with business users and people who have more than a desktop or a MyDocuments with a few dozen files. And when it comes to something like MS-Word and you see a user do File->Open and you see the number of files, the BEST naming schemes don't work. Add to that "Hey is it on the K: drive now? Or back to N:\Documents\New\Recovered???".

      Here's my opinion (worth what you're paying for it): In today's world of massive hard drives and mountains of files on various drives in various locations - to continue using standard file-system methods of managing the data is the most inefficient thing a person can do with their computer second only to Facebook :-) LOL

      The world doesn't need another file manager - we already have Directory Opus and XYplorer - which people PAY for!!! And the freebies which are cobbled garbage. Those ALL do the SAME THING: Here's a bunch of tabs with a treeview and a listview, and all your drive letters. Have a ball! And if you have thousands of directories and dozens of levels deep, well good luck navigating!

      The opportunity as I see it is for an intuitive, efficient "DATA MANAGER" that let's a user deal with the data in a sane way. The average business user doesn't need or WANT to see C:\ when all their stuff is on D: or a network share. Shit, -I- don't even want to see my C: and when I need it for admin stuff, I can always have 1 workspace that is set up exactly like Explorer! LOL

      This also I don't quite get. You want me still to have an external web browser and email reader. Yet, this app already has to speak the email protocol and the web protocol; isn't that redundant? Why not make it do everything?

      Well I just don't see that as being feasible. But FIRST, let me change my comment that "you will STILL use your external apps" - to "you CAN still use your external apps". In many cases they may not need to - for example - I have already embedded Chromium in several of my apps because it's not as bloated as Chrome and the users so far have not missed a damn thing. And they like having it "internal". Simple text editor? Done that too, the most popular core editor in existence is Scintilla and it's been embedded in tons of apps. And guess what, it's dead simple to embed that as well (I've done a working prototype of it).

      An important note here: Obviously the design is for data-providers to be plug-ins and NOT statically embedded. If the user enables the web-browser, Chromium plugs in. Same with all the various file-systems, and previewers etc...

      But back to why not make it do everything - here's a few examples just from my own workstation - I use Photoshop and Illustrator, not a chance in hell of embedding those and making it work. Visual Studio and Eclipse for c# and Java IDEs. I do get your point - absolutely - and I agree to this extent. My first reaction to a situation like this is always to make it flexible and not enforce anything we don't have to, and also, to not reinvent the wheel - unless I I think the current wheel is square and mine will be round :-)
      And to reuse a comment I put in another post.... my design goal is bring all the data sources together so you can manage the ITEMS themselves, not necessarily to provide every feature you'll ever need to modify the CONTENT of the items. I want to be able to move or make a backup copy of my .psd - not necessarily add new adjustment layers and re-render it. (This does not imply that viewers won't be there so you can see a preview of that .psd - obviously)

      2 votes
  3. DevNull
    (edited )
    Link
    I'm not exactly sure whether I should be starting a new thread, deleting/replacing my initial post here, or what! But yesterday I posted a relatively disorganized stream of consciousness and it...

    I'm not exactly sure whether I should be starting a new thread, deleting/replacing my initial post here, or what!
    But yesterday I posted a relatively disorganized stream of consciousness and it was of course, confusing and not clear whatsoever.
    The design concepts have been an ongoing pet project of mine for over two decades, but the technology wasn't there.
    And while I have piles of notes and prototypes and research - none of it was organized, nor readable by anyone but me! LOL
    So I APOLOGIZE to the group for not taking the time to prepare before posting.
    It was purely a case of - ok now I've made the decision, the excitement overtook me and I wanted to reach out and share my thoughts and excitement with fellow geeks!

    Now I would like to post what I hope is a more clear introduction to my idea, which I am keeping very very brief.
    Just a page or so of text only - with the next step to be some concept screenshots and usage scenarios.
    I am also not sure how best to do that - my instinct is to put them on my web-server instead of posting directly, I'll have to read up on the Tildes guidelines. Personally I hate it when someone asks me to be interested in their idea and then expects me to go off-site to their own little groovy web-site where I usually find advertisements and porn! LOL I assure you, if I post my personal web-site links there will be neither of those and nothing beyond what I say is there - information about this project. But if it makes more sense to post stuff here directly for now, I'm ok with that too.

    And now.... I'll try a second take on my yesterdays excitement! :-)
    Note: I am using the name 'Abcde' because I don't have a name yet and had to use something! All my other ideas were from my inner 12yr old LOL

    Introduction to the 'Abcde Data Interface' Design

    This work is very much a clear example of "On the shoulders of giants", and none of it is original thought or work. As such this project will be 100% open-source and will use the GPL/LGPL, or some variant that makes sense and preserves the value system. -David

    Design Concepts & Goals


    The core design concept of Abcde is two-fold.
    First, to provide a single unified and complete container for all data elements
    that are related and/or inter-dependent, and nothing that is not.
    Second, to relieve the user from the burden of having to know the specific details about the source and underlying technology of those data elements.

    The first concept gives us a container, let's say a tree-view.
    It has top level nodes for every disk or folder that are used for a specific activity/project/etc (called a workspace),
    along with any other related data elements, for example a cloud drive, an email folder, or a database.
    As well as web-site links/bookmarks, all organized just as within a browser, but listed here with all the other related data.
    There would not be entries in the tree-view that were not required or related, such as the virtual folders
    seen in Windows Explorer like 'Control Panel', 'Recent Places', 'Downloads' or 'My Documents' (to name a few).
    Data sources may be local or remote and use any protocol for which a data provider is installed (via the plug-in mechanism).
    A data provider is nothing more than a service that allows the user to access data. All Windows computers come with a data provider called the NTFS file-system, as well as an HTTP data provider by way of the http protocol used by all web-browsers.
    The second concept means that adding/configuring these various data sources does not require the user to have an understanding of the underlying technologies or protocols involved. They simply need to know the location and have proper credentials. These would be encoded into the form of a URI (Uniform Resource Identifier). All web-browsers use a type of URI which is the web-site address, that begins with the protocol (data provider) and location, thus http://www.Google.com is a type of URI. The user does not need to know how the http protocol works to know how to use the web. Neither will they need to understand how files are accessed from their Google Cloud Drive in order to manage them in this paradigm.
    Those are the 2 core design concepts.

    The primary goal of Abcde is to provide a new paradigm for data management which is not only more intuitive and logical but also more efficient and less prone to data loss. Not being able to find a file or worse wasting unnecessary time looking for the file before concluding that you cannot find it admist the thousands of files and folders you try to manage using Windows Explorer. To accomplish this goal much of the complexity of current file management tools and technologies will be eliminated. The new paradigm also makes it much quicker and easier for the user to locate data items by limiting what is displayed in the workspace, eliminating unnecessary and unrelated items and systems administration components.

    Basic Terminology


    Data Item - A single user data element
    ex: File or Folder
    Data Source - A location consisting of one or more Data Items
    ex: D:\Development\Current\Clients\ABCompany\Projects
    Data Provider - The os driver which provides access to a Data Source
    ex: NTFS, ext4, FTP, Google Drive, GMail
    Data Container - A UI Control which provides access to one or more Data Sources
    ex: Tree-View, List-View, Image-View, Text-View
    Data Application - An application, internal or external, which provides functionality to manipulate the contents of a Data Item
    ex: Photoshop

    Basic Concepts


    NOT ANOTHER clone of Windows/File Explorer or Linux file managers
    NO enforced complexities: by default the app would begin with a default configuration of local data sources very much like Windows Explorer, but with step-by-step wizards to help the user create functional workspaces and thus migrate to the new paradigm with minimal effort
    Data Source labels don't need drive letters or a full path
    (each Data Source can have root specified other than native root of mount)
    Copying/Moving data items across data sources is transparent
    (uploading a file from a local drive/folder to a cloud server, or ftp server)
    Data Sources can be sorted or manually ordered
    State persisted automatically (for every object globally, the app opens exactly the way it was when you last left it)
    Control of look/feel/behavior is absolute and complete, but default styles are provided
    (this allows the user to write custom css or html, by virtue of vue.js/photon)
    UI Components can be replaced with other libraries/components, or custom components / sub-classed components,
    provided the required functionality is present, UI Components should be pluggable

    Basic Objects


    App -> ActiveGroups -> Workspaces -> DataSources + UI Components

    The application window can contain one or more Active Groups
    (listed as links in the titlebar, or possibly on a tabstrip docked left/right, etc)
    Each Active Group can include one or more Workspaces
    (contained in a Tab on a Tabstrip along the top or bottom)
    A Workspace will include one or more Data Sources
    (displayed in one or more UI Components, linked as necessary ie; Tree-View<->List-View

    UI Components - Specific to Workspace


    Navigation-Pane (Breadcrumb/Path)
    Hierarchical-View (Tree-View)
    Flat-View (List-View)
    Content-View (Image-View, Text-View)
    Utility-Pane (shell cmdline)
    Toolbar

    UI Components - Common


    Titlebar (Custom, not OS generated, includes App menu + Workspace links)
    Toolbar
    Tabstrip
    Statusbar

    Technology Stack


    Proof-of-Concept: (uncertain - depends on team input)
    Prototype: (uncertain - depends on team input)
    Final: Windows/Linux - Electron, Photon, Vue.js, node.js, ngx

    Potential Data Providers


    NTFS (local disks, mounted network shares, unc shares)
    ext4
    SFTP
    Google Drive / One-Drive / Dropbox
    GMail / Outlook
    Media: Mobile Phone
    MSSQL / mySQL
    Procman / Tasks / Apps
    Special Drivers: HTTP-DISK / FILE-DISK (http://www.acc.umu.se/~bosse)

    Up Next: Concept Screenshots & Usage Scenarios
    (hopefully later this evening)

    Links to References of Interest


    Plan 9 from Bell Labs
    https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs
    Under Plan 9, UNIX's "everything is a file" metaphor was to be extended via a pervasive network-centric filesystem, and graphical user interface assumed as a basis for almost all functionality, though retaining a heavily text-centric ideology.
    (see section on 9P Protocol)
    All programs that wish to provide services-as-files to other programs speak a unified protocol, called 9P. Compared to other systems, this reduces the number of custom programming interfaces.

    GNU Hurd
    http://walfield.org/papers/200707-walfield-critique-of-the-GNU-Hurd.pdf
    (see section 2.2.3 - Persistent Translators)

    Windows Drivers
    http://www.acc.umu.se/~bosse/
    (these are data providers that make various data sources available as file-system objects - ALL open-source and available)

    Electron-based File Manager (el-file)
    https://github.com/mflorence99/el-file
    An existing file manager based on Electron, but which fully employs the outdated and unworkable paradigm.
    See section on Technology Stack

    4 votes
  4. [2]
    Crespyl
    Link
    This reminds me somewhat of some of the goals for KDE/Plasma's "Activities" concept: that a user would have a customized desktop layout that can directly surface all of the relevant programs and...

    This reminds me somewhat of some of the goals for KDE/Plasma's "Activities" concept: that a user would have a customized desktop layout that can directly surface all of the relevant programs and documents for a given task, and easily switch between these "activities" depending on what they are trying to do.

    To use your example, I might configure a new Activity labeled "PROJECT-A", set up the desktop with one "Folder View" widget pointed at my source code directory, a second "Folder View" configured to use the "Files linked to current activity" setting (an automatic list of files frequently used with this Activity), and various shortcuts or launchers to the different tools I might be using. KDE will also recall any applications I had running last time I opened this Activity (editor, mail client, browser), and bring them back up in the same layout.

    You mentioned network/transparency, and with the way Linux handles filesystem mounts this is pretty straightforward, depending on the specific protocols, but as an example KDE Connect lets me expose a subset of my phone's filesystem to any normal filesystem browser or widget, and manage my phones files exactly as if they were local.

    Your idea seems somewhat larger in scope than KDE's version, and I'm particularly curious how one might try to unify the UX for relational databases and document oriented filesystems, but you might find it interesting to explore the strengths and weaknesses of how their version works out in practice.

    The biggest reason I haven't personally invested a lot of time in KDE's version is that setting everything up for every project is pretty time consuming, and I usually just end up with one or two very generalized activities like "Programming" and "HTPC", and I rarely use the smarter features beyond the simple "Recent Documents."

    There have been some attempts to automatically figure out what sets of documents and programs are frequently used together in which contexts (see projects like the Nepomuk "Semantic Desktop" and GNOME's "Activity Journal", or even Microsoft's recent "activity stream" feature that I forget the name of), but none of them really seem to have taken off.

    2 votes
    1. DevNull
      Link Parent
      Yes indeed! In fact I've fallen in love with KUbuntu since they're now up with Plasma. If I were doing this project for myself I'd do it on KU and forget Windows altogether. KU is hands down the...

      This reminds me somewhat of some of the goals for KDE/Plasma's "Activities" concept: that a user would have a customized desktop layout that can directly surface all of the relevant programs and documents for a given task, and easily switch between these "activities" depending on what they are trying to do.

      Yes indeed! In fact I've fallen in love with KUbuntu since they're now up with Plasma.
      If I were doing this project for myself I'd do it on KU and forget Windows altogether.
      KU is hands down the most customizable OS (look/feel/behavior) out there, in my opinion.

      What you're pointing out is that people have realized that the old paradigm doesn't work - I'm not the only one, or the first, by any stretch.
      People want to have ALL the data for a "project" or "activity" or in my design "workspace", and do not want ANY other data presented to them.
      I don't need to see my C: drive 99% of the time and definitely not for any projects.
      And I don't give a crap that it's C or D or J - drive letters have never been worth a damn.

      Your idea seems somewhat larger in scope than KDE's version, and I'm particularly curious how one might try to unify the UX for relational databases and document oriented filesystems, but you might find it interesting to explore the strengths and weaknesses of how their version works out in practice.

      Again, I really shouldn't have spewed out my post like I did....
      My design-concept/goals is to provided a unified LOGICAL place to have access to ALL the data sources for your "activity" or "project"(etc) - but NOT necessarily to provide all the extensive capabilities to do 100% of the things you may need to do with that data. So - in Explorer I can see my .psd Photoshop document, move the file, make a backup copy, and in some Explorer clones you can even preview the image! But if I want to do work on that image I'm going to WANT to open Photoshop. Follow?
      So yes I would envision having database providers that give me a data source - right there in my tree view or list view - showing my databases and tables for THAT specific activity/project - and maybe I can browse the data and even edit it (simple grid work with binding). But I don't envision replacing the database manager. (interesting sidenote though, I did recently build a pretty complete replica of Microsoft's db manager SSMS so that my apps now have a run-time db manager built right in, including creating/dropping tables, indexes, you name it - all possible with the MS library SMO)
      In my previous post there is a link to a site that has all sorts of providers that are file-system drivers - such as http-disk - a drive mapped over http which appears in Windows Explorer as drive W - pretty slick. Basically it's cloud storage.
      And that too - for all my clients I have a Google Drive account - why should I have to add/remove/copy/etc files from my local system to that Google drive using another program??? It's basically the same (in logical terms) as if I copied a local file to, say a backup network drive - right?

      The biggest reason I haven't personally invested a lot of time in KDE's version is that setting everything up for every project is pretty time consuming, and I usually just end up with one or two very generalized activities like

      BINGO! That's why I didn't pursue it and it's the same problem that so much open-source projects suffer from. They forget that the average user doesn't love the complexities and intricate control that makes things take forever to do.
      This thing I am envisioning would massively different, with pre-configured data sources based on monitoring your past usage (with a little help from some Python predictive AI ;-)) - even which apps you use for each activity/project, simple to monitor. I'm no different than most users - if it takes too long I don't give a damn how effen cool it is, I'm out. If this aspect of making so quick and easy for the user to set up their projects/activities and just GET TO WORK - then no way this thing will fly.
      Oh and the problem with the attempts so far to get anywhere near the solution to this is pretty simple... overthinking the plumbing instead of taking the straight approach. And sadly, Gnome is as bad at this as Microsoft.

      1 vote
  5. DevNull
    Link
    A few folks have pointed out that certain aspects of the concept can already be achieved by using XYZ or other already-existing tools or apps. And I don't disagree, in fact I achieve much of this...

    A few folks have pointed out that certain aspects of the concept can already be achieved by using XYZ or other already-existing tools or apps. And I don't disagree, in fact I achieve much of this on a daily basis. All the technologies to create something like this now exist and work (finally), including the cool drivers/utils that make non-file-system data available to be accessed appearing just like a file-system, and the ability to allow a user to tweak your app's look with their own css! I do understand that it's POSSIBLE, today, to do ALL of this and more.

    But it doesn't exist as single application, easily installed, configured, and used daily - for non-programmers and people who don't want to spend a week learning the internals or nuances of the technologies.

    I've spent a massive amount of time researching and testing out - if not every, very close to it - option for data management (aka file managers) on both Windows and Linux. If anyone would like to ask about a specific one, throw it out and I'll tell you what I know about it. I'm not bragging, it was a lot of wasted time, because not 1 app out there ever even hinted that they were implementing a totally different paradigm for how to manage data. As I mentioned, the closest was a Linux app that removed all the menus and toolbars and forced keyboard only usage. Radical, but you're still dealing with the same huge paths and having to use tons of symlinks and mount points. Not to mention, data sources like cloud drives and email.

    Don't get me wrong, I am not belittling the people who have put in such great effort trying to solve the very same problem I am looking to solve. In fact I actually paid for Directory Opus years ago because it came closest. But those folks are stuck in the Amiga days (which is when the app was created), and their app is Explorer on roids. And on Linux as well (my preferred platform) I have spent countless months trying every app you could possibly name.

    I appreciate the note that hey, this COULD be done now, with XYZ + etc...
    But the thing is, it's NOT, every release of the OS or the app is more of the same.
    And as I begin posting concept design images and screenshots and usage scenarios - it will become more and more apparent just how drastically different this new paradigm is - and how different the app will be.

    2 votes
  6. [4]
    DevNull
    Link
    I recently read that Microsoft's big new plan to "improve" File Explorer in the next, or maybe it was upcoming, version of Windows - the addition of tabs! w00t w00t! LOL I am working on a brief...

    I recently read that Microsoft's big new plan to "improve" File Explorer in the next, or maybe it was upcoming, version of Windows - the addition of tabs! w00t w00t! LOL

    I am working on a brief introduction which details my design concepts and goals, hoping to clarify some things for any new folks that might stop by. I will include usage scenarios, but could really use some help if anyone wants to lend a hand. Basically all you'd have to do is talk about some of your normal work usage with the computer and I'll ask some questions. Won't hurt a bit :-) In all seriousness, I only live in one small corner of the computer world - and if my predictions about usage scenarios are way off, I really want to know now and not after a year of 28 hour days and truckloads of red-bull and jack-links! So any help would be much appreciated.

    1 vote
    1. [3]
      cfabbro
      Link Parent
      Got a source for that handy? The only announcement I am aware of regarding adding tabs to anything is the new Windows Terminal which has them. Regardless, I already use Groupy anyways, which is a...

      I recently read that Microsoft's big new plan to "improve" File Explorer in the next, or maybe it was upcoming, version of Windows - the addition of tabs! w00t w00t! LOL

      Got a source for that handy? The only announcement I am aware of regarding adding tabs to anything is the new Windows Terminal which has them. Regardless, I already use Groupy anyways, which is a Stardock program that adds tabs to all Windows windows, including File Explorer. It's great and I would highly recommend it.

      1. [2]
        DevNull
        Link Parent
        Sure thing! https://windowsreport.com/file-explorer-tabs/ I was a huge WindowBlinds junkie back in the day! Great company/products. These days I use a free app called Windows Style Builder which...

        Got a source for that handy? The only announcement I am aware of regarding adding tabs to anything is the new Windows Terminal which has them.

        Sure thing!
        https://windowsreport.com/file-explorer-tabs/

        Regardless, I already use Groupy anyways, which is a Stardock program that adds tabs to all Windows windows, including File Explorer. It's great and I would highly recommend it.

        I was a huge WindowBlinds junkie back in the day! Great company/products. These days I use a free app called Windows Style Builder which lets me hack the living hell out of Windows7 LOL I even got rid of those clunky min/max/close buttons!

        In terms of tabs in Explorer... for what it's worth, the free "Better Explorer" is pretty nicely done. XYplorer is always out there but I don't know what's going on, they don't seem to have done much work in the past few years. Personally I pay for the leader of the pack, and sadly a bunch of d-bags - Directory Opus. Talk about old apps growing "crufty" LOL but it does what I need and none of the others can.

        2 votes
        1. cfabbro
          (edited )
          Link Parent
          Hmmm, I am already enrolled in Windows Insider... so I might as well join the Skip Ahead too so I can check out the preview build. Thanks for the heads up! edit: Dang, Skip Ahead is closed...

          Hmmm, I am already enrolled in Windows Insider... so I might as well join the Skip Ahead too so I can check out the preview build. Thanks for the heads up! edit: Dang, Skip Ahead is closed already. :(

          And yeah I tried a bunch of Explorer alternatives, but honestly the only feature I really wanted was tabs and I already have groupy so didn't see much point in continuing to use them.

  7. [2]
    mrbig
    (edited )
    Link
    I know this seems like a go-to phrase Emacs users throw every once in a while, but the only thing resembling your proposition that I know of would be an integration of Org Mode with some other...

    I know this seems like a go-to phrase Emacs users throw every once in a while, but the only thing resembling your proposition that I know of would be an integration of Org Mode with some other packages like Projectile, perspective, Helm, Dired and exwm. Org definitely does not tick all the points, but it does touch on many of your ideas.

    The thing about Org, though, is that it requires constant manual maintenance. What I get from your post is something way more automated, capable of understanding the context of the user's tasks and respond to that in a smart way.

    I'm not a developer yet, but I'm an experienced user and have lots of contact with developers, and I ask myself if all that is feasible as an open source project. I may be wrong, but I don't think even Gnome or KDE could pull that off, to be honest. The concept of "activities" comes to mind, though.

    At the same time, I wonder if that's too much added complexity for a rather trivial problem. Most people think in terms of closets, drawers, boxes, cabinets, etc. The concept of "file" is a metaphor in itself. Do we really need another abstraction? To be honest, I don't even see the need for the aforementioned "activities". And, regarding the complaints of your clients, sometimes people don't really know what they need.

    But while I'm not 100% sure on the disruptive metaphor shift, I think there are lots of good ideas on this post. I think DEs should focus more on relevant and recently used files — nowadays we have way too many files for plain search and directory trees to be enough of an organization and retrieval system. Relevant programs and "activities" (even though I personally dislike this metaphor) should be dynamically displayed and updated, online/offline interfaces should be more integrated and workspaces could definitely be more useful, context-aware, persistent and easy to set up.

    Regardless, I think those ideas would probably be easier to implement in open source projects such as exwm or stumpwm (as you can see, I'm an Emacs guy). And reducing the scope might be a good thing for such an ambitious project.

    Answering to your question, I would love to collaborate. But I don't know how yet. I'm quite the beginner.

    1 vote
    1. DevNull
      Link Parent
      Eventually, sure, a touch of AI to help a user keep a workspace complete (or create one) would be great, and it's most certainly feasible today just using Python. But my initial goal is far...

      The thing about Org, though, is that it requires constant manual maintenance. What I get from your post is something way more automated, capable of understanding the context of the user's tasks and respond to that in a smart way.

      Eventually, sure, a touch of AI to help a user keep a workspace complete (or create one) would be great, and it's most certainly feasible today just using Python.
      But my initial goal is far simpler: I'm staring a new project, so I need to create a new workspace. I add "data sources" for some local folders, some source code on my workstation, other libs/etc on a network share or ftp, maybe a shared common docs folder for that client, and some specs documents, of course an email folder where my GMail sent/received for this client, and some web-site bookmarks for the client's site and some reference sites I'm using (for THAT PROJECT). Creating that workspace should take less than 5 minutes, and bam, it appears in the tree-view (as an example of a UI component, others could be used). By default that tree would be linked to the listview, and while it looks a bit like Explorer, it only has the data sources I just listed - no "My Music" no Control Panel or C:\ - and I can order the stuff any way I want. And since one of those shares will be on a Linux host and have a HUGE path, I'll just name it "\newproject2" and that's all I need to remember. OH, and I need to do some simple stuff with the database so I'll add that as a data source too. Nothing complicated, that gets done in the actual db-admin app (like MS-SSMS). And when I need to add, for example, a Google Drive data source for this project, it should take less than 60 seconds. And this would be the most UNCLUTTERED, CLEAR and EASY data/file management "workspace" ever seen.

      I'm not a developer yet, but I'm an experienced user and have lots of contact with developers, and I ask myself if all that is feasible as an open source project. I may be wrong, but I don't think even Gnome or KDE could pull that off, to be honest. The concept of "activities" comes to mind, though.

      It's absolutely feasible right now, but as I note elsewhere - "On the backs of giants" - I don't intend to write my own file-system drivers, I did enough of that with K&R c on A&T Unix boxes. The pieces already exist, and they're damn good.
      As for the KDE Activities fiasco - that's not a technology problem, that's a politics problem. Way over-thought, way over complicated, and the few articles I've read about it (by developers this is) made it clear that even THEY didn't know WTF it was or how to use it.
      WHY???
      Because as long as a person holds onto that old paradigm about managing "data", they'll never "get" how an app with the new paradigm works - or WHY.
      Unless you give them an app that can appear familiar - but provide a path to the new.
      My design says that upon installation the app auto-configures itself with a default workspace called "Explorer" and includes data sources for everything from "My Computer" to Recycle Bin and Control Panel. The app will be able to do 100% of what Explorer does - that's dead ass simple and there are examples of "Build your own Explorer" on CodeProject.com all over the place. But the minute they click +Workspace and are guided through it, everything changes.

      And one other note about KDE Activities..... it's proof that some folks are getting the hint, and this new paradigm - which again, I didn't invent and it ain't original though (see plan9 from 1960) - and realizing that it has to happen. We simply have too much data these days, and too many places where it's kept. And every effing one of them wants us to use a separate app or tool to access it. It's not sustainable and I have seen some very bright developers and power business users absolutely drowned by the massive amount of data and just could not keep track of it all using all those different apps/tools.

      At the same time, I wonder if that's too much added complexity for a rather trivial problem. Most people think in terms of closets, drawers, boxes, cabinets, etc. The concept of "file" is a metaphor in itself. Do we really need another abstraction? To be honest, I don't even see the need for the aforementioned "activities". And, regarding the complaints of your clients, sometimes people don't really know what they need.

      I couldn't agree more, that's why you won't find ANY new spiffy terms or names in my design. Enoughs enough.
      You got a workspace, and in it you have a bunch of data "things" in a tree-view with a list-view displayed in a tab. Not a single new concept or term.
      There's not really a new "layer" of abstraction to this, but as for "need" - only time will tell if it's needed or not. When life was about a C:\ drive and maybe a network share, then no, not really. Do this for me - count how many different "sources" of data you have - from your Gmail to Google Drive or One-Drive, dropbox, any FTP servers? Network servers? How many hard drives? :-)

      Regardless, I think those ideas would probably be easier to implement in open source projects such as exwm or stumpwm (as you can see, I'm an Emacs guy). And reducing the scope might be a good thing for such an ambitious project.

      Absolutely this will be open-source and will be done by making full use of existing open-source building blocks!!! I listed my first take on the technology stack.
      Honestly the only thing WE'll be doing is putting stuff together and designing the UI and the glue for all the pieces!

      Answering to your question, I would love to collaborate. But I don't know how yet. I'm quite the beginner.

      I don't need only people with my 35yrs experience mate - in fact - I need the opposite!
      I don't even need only programmers - I need people, for example, who are willing to take the time to jot down notes about how they used their computer for work today. And the various ways they accessed data - and most importantly - how much time doing file management!
      I also need people who can use a pencil and paper - or Photoshop - and shoot around ideas for how to make the app look/feel in a way that makes the task automatic or even pleasing. And most of all, I need people willing to take the time to COMMENT, CRITIQUE, ASK QUESTIONS, CHALLENGE - just people who are willing and daring to investigate the possibility of JUST MAYBE introducing a new paradigm shift, and making the biggest change to the computer world since C:> became Windows 10 and KUbuntu! :-)

      THANKS for your reply mate - for just taking the time to read my ramblings, think about it, and pose the questions. :-)

      2 votes
  8. [6]
    Octofox
    Link
    This sounds like what you can already do on linux. FUSE tools let you mount just about anything on the internet as a filesystem

    This sounds like what you can already do on linux. FUSE tools let you mount just about anything on the internet as a filesystem

    1. [5]
      DevNull
      Link Parent
      Isn't that more targeted at mobile apps? I'm not sure this project will extend that far, managing files (or data) from a cell phone seems fairly UN-fun! LOL But yes, there are definitely a number...

      FUSE tools

      Isn't that more targeted at mobile apps?
      I'm not sure this project will extend that far, managing files (or data) from a cell phone seems fairly UN-fun! LOL
      But yes, there are definitely a number of options already available that can map & mount just about anything and make it look like a file-system! In fact, I'm counting on it!
      "On the backs of giants" - the only way this project will happen I am certain of that much!

      1. [4]
        json
        Link Parent
        FUSE (Filesystem in Userspace) is about software defined file systems. A datasource would have fuse adaptor software so that the files contained in that data source can be navagable using a normal...

        Isn't that more targeted at mobile apps?
        no.

        FUSE (Filesystem in Userspace) is about software defined file systems. A datasource would have fuse adaptor software so that the files contained in that data source can be navagable using a normal file manager.

        1. DevNull
          Link Parent
          Sounds like it would be a great tool for creating data source plug-ins for this possible app... ;-D Thanks for clarifying that! I don't know what I was doing wrong earlier but every search I did...

          Sounds like it would be a great tool for creating data source plug-ins for this possible app... ;-D
          Thanks for clarifying that! I don't know what I was doing wrong earlier but every search I did on it showed me mobile only stuff! Now I see what you're talking about though, and yes, definitely something we'll have to look at integrating. It would limit the plug-in developer to the *nix platforms though, doesn't seem to have a Windows port. Doesn't matter to me, I'm sure there will be platform-specific plug-ins and personally I expect I will have finished migrating to KUbuntu by then ;-)

        2. [2]
          DevNull
          Link Parent
          As I was reading the Wiki I found it interesting that it's integrated into the Linux kernel now and there are all kinds of projects with it! Almost 20 just on the Wiki including one that reads...

          As I was reading the Wiki I found it interesting that it's integrated into the Linux kernel now and there are all kinds of projects with it! Almost 20 just on the Wiki including one that reads like it might do Google Drive / One-Drive or other cloud stuff - very cool.

          I wonder if I missed anything where any of the various file manager apps might have implemented any of those. But still, I just didn't see those apps allowing me to "just manage the data I want" and not have to wade thru huge filesystems and stuff I'd work with only when I had my SuperUser outfit+cape on. In a way, I always saw this project as being mostly about the UI side of things. But having the technology like FUSE to bring -ALL- the data sources to the same dance - that's really the key I think.

          1. json
            Link Parent
            What you might have is some fuse adaptor that does most of the logic to provide a merged system to the file manager. That might be where the there are profiles presented as directories. The...

            What you might have is some fuse adaptor that does most of the logic to provide a merged system to the file manager.

            That might be where the there are profiles presented as directories.
            The profiles "contain" the relevant files for the context you're intending to use them for.
            But in reality, the files are stored in whatever datasources they might need to be stored in.
            And those datasources would also just be other fuse adaptors.