MiniCubes

MiniCubes is a program by LionKimbro. It’s an exploration into SchematicMedium ideas and is somehow related to AggregatedInformation.

Image 2

Lion has mentioned it in a comment on Reddit. There’s even a demo video.

Lion has also given a demonstration during WikiMeet 2021-04-03.

2021-08-26 https://github.com/LionKimbro/minicubes

Installation

If you have any problems during installation, go to LionsInternetOffice. There is a channel dedicated to MiniCubes. Ask for help there. Or here, maybe.

Download an archive from dropbox and unzip it somewhere.

Make sure to have python3 and pip installed. On a UNIX (GNU+Linux, BSD, Mac, etc) system, you probably already have python3 installed. If not, you may find some help on Python’s download page.

On Ubuntu and its derivates (Linux Mint, etc) this is a confirmed way to install pip:

sudo apt install python3-pip

When using different package managers (pacman, zypper, etc), try pip, pip3, python-pip3 or something like that. There must be a pip.

Now, you need to get MiniCubes’ dependencies. There are two: pyperclip (for copy and paste), sdl2 (for graphics). This is how you install them on a UNIX system:

sudo pip3 install pysdl2
sudo pip3 install pyperclip

Depending on configuration, you may need to use pip instead of pip3, but that’s unlikely.

Now, you are ready to go. Navigate to the unpacked directory and execute the program:

python3 cubes.py

A black window shall appear on your screen.

Usage

When you open MiniCubes, you are offered a tutorial. Please complete it.

new: 2021-04-11 07:55 UTCLionKimbro: One thing important I forgot to put in the tutorial- If you hold down the shift key, you can copy a node just by dragging it. It’s insanely useful, because it makes the Tray far more useful.

Usage reports

If you manage to run MiniCubes, please write a report here.

Timur Ismagilov, 2021-04-10

Well, I’m the one who asked to publish it originally, makes sense that I’m the first who tried it out. I have described the installation process I’ve done above, had zero problems.

My first impression: readability is not present at all. I have a bad vision, as you may have noticed by looking at my glasses. Small white weird monospace letters on pitch black background were a pain to look at. Really uncomfortable, trust me. You should have probably used a toolkit like Qt or GTK, so users’ colorscheme and font choices applied.

I’ve completed the tutorial and quit the program. Well, it was kinda fun, but I couldn’t really enjoy the fun because of the visual design, yeah.

Some things I noticed:

  • The window close button does not work
  • I can’t type Cyrillic
  • Window resizing and responsive design are not done

I hope Lion looks into the things I noticed.

I liked that you linked this page there :-) There’s also a mention of Lion wanting to see projects inspired by the MiniCubes concepts. Well, I might as well do something, who knows.

Let’s see what others have to say.

Alex Schroeder, 2021-04-10

I got it working. I just used pip3 install pysdl2 and pyperclip (no sudo required) and ran it, no problem. No crashes so far.

Like Timur above the resolution gave me a hard time, but I think I saw enough to notice some of the things that make it cool, and I immediately wondered about ways to maybe implement something similar using Gridmapper, ie. vanilla Javascript and SVG. Not any time soon, though. 😊

Current limitations

  • No scrolling in the text editing area
  • Crash conditions
  • Configuration is not straight-forward, there is no tutorial for that
  • Group icon select and drag isn’t as straightforward is it should be
  • As the usage reports has shown, the visual design needs improvements
  • It cannot be installed with pip install yet
  • Rough around the edges

Development

SunirShah has once asked: “How long did it take you to build?”

Lion has implemented the actual program in roughly three months, but he wrote a lot of underlying code over a period of years, such as the user interface library. Also, a lot of the ideas in the program were experimented with in other programs.

Lion: “Within just a few days, I had the basics working. Then in a month, I had integrated text editing. In the next month, I worked out navigation copy/pasting cubes to the clipboard, and various command forms executing within cubes, and in the third month I was experimenting and added more capabilities.”

> log minicubes
2020-01-17 000 (00) -- remarkably quickly completed 1st version
2020-01-17 001 (01) -- ok, you can now preview, but it's not working quite right
2020-01-17 002 (01) -- fixed, so that full text displays
2020-01-23 003 (02) -- basic version of hooked up text; some errors around the edges though
2020-01-23 004 (02) -- fixed delreg() by using CLINE and CX, rather than Y & X.
2020-01-28 005 (03) -- many changes; much better; can't describe now
2020-02-17 006 (04) -- EDIT, TEXTx2, cube cloning, selection boxes, data autoupdate
2020-02-24 007 (05) -- copy/paste cube's content to/from clipboard
2020-03-04 008 (06) -- changed save/load system, so that there's now a Tray
2020-03-04 009 (07) -- OVER commands, to draw when mouse is over
2020-03-05 010 (08) -- UNSTABLE: wrote a DSL for X-Y coordinates, but I'm not convinced, and it's not totally working
2020-03-05 011 (09) -- PARTIAL:first part of ghost implementation: cut/copy, paste into ghost space, ... it's working
2020-03-05 012 (10) -- UNSTABLE: mid-implementing ghost drag, but now I have an idea to simplify the cubes system into a tagged list...
2020-03-05 013 (11) -- PARTIAL: first part of implementing new tagged cubes system; load/save working
2020-03-06 014 (12) -- many changes: can drag, cut, and paste; new internal cubes management system made it possible
2020-03-16 015 (13) -- fixed focus problems, added SELECTED:, FOLDER, START
2020-03-20 016 (13) -- added $TEXT
2020-04-05 017 (14) -- you can now CALL a function defined in a PYTHON: block

Sunir: “I’m really impressed you did this in 3 months.”

See also

Discussion

SunirShah:

One of the biggest ideas I have in my head for any information system is providing some underlying rational framework for relating what is otherwise the tower of Babel. If you can rationalize what was unrationalizable, you can unlock a lot of insights.

In my imagination, it’s not that the cubes need to themselves immediately force an orderly system, it’s that they are obvious and natural for people to start organizing themselves. And then the system can quietly and simply start organizing information based on the grid.

new: 2021-04-11 16:18 UTCTimurIsmagilov:

I’ve moved contents from the older comment all around the document, I find it be better this way. I couldn’t fit Sunir’s comment above anywhere though.

new: 2021-04-11 16:18 UTCTimurIsmagilov:

Inspired by MiniCubes, I created a small demo of how a MiniCubes-like environment could look like. See https://lesarbr.es/aspergillus/ The grid is 3*3 because I didn’t want to fill in more cells. It is totally useless but is fun.

new: 2021-04-12 07:10 UTCAlex Schroeder: One of the ideas I’m taking from the Mini Cubes demo is that a cube is what it contains, and the texts and graphics it projects outwards: the labels and arrows and frames are important to advertise the cube’s content.

new: 2021-04-12 07:10 UTCAlex Schroeder: Here’s an idea for collaboration: when using Gridmapper, you can “join” a “room” with your map, and if other’s “join” you there, the room gets a copy of all the commands send, copies them to all the participants and allows for synchronisation. Gridmapper being a SVG+JS solution, the Gridmapper Server uses web sockets. Source. Server UI (very simple). Gridmapper (put the name of a map in the text area and click Join).

The key is that the server doesn’t store the map and yet every participant has a copy. (Well, in this case the server could log the maps being shared, so it’s not cryptographically secure.)

(CommunityWikiFooter)

EditNearLinks: SunirShah

Languages: