Demo: Periodic Table

That’s right. I’d forgotten that. The residents must be so proud!

2 Likes

One thing the author does in that book is viewing the periodic table as a landscape, @Scott_Sauyet’s interface to the data is making substantial inroads to the visualisation and understanding of the table.

Because of this book, I also dream of “surfing this dataset in a 3D landscape, with contours and colours and textures representing qualities”. The use of innate human faculties, to travel through the elemental landscape is a way to “develop an intimate understanding of the complexity of nature”.

Side fact
I wonder how many people know where “browser” comes from? “Browsers” are animals such as goats that eat things at eye level, up at head level, Grazers eat at ground level like cows and sheep. Perhaps a table top screen (a grazer) would allow us one day to Graze the periodical table as well?

  • Perhaps this would be the “Gleaning” of information.
1 Like

I’ve dreamed of that sort of view as well … but that is far beyond where I’ll likely carry this. I don’t have the skills, and don’t think that I care to invest the time to learn them, but if there’s anyone with experience with 3-d rendering in the browser who would like to contribute, I’d love to hear about it!

Sorry, I did not want to imply you should or need to do so.

Perhaps one of our community members will see and respond, we do have some who specialise in this graphical area and have plugins that support it.

  • I would also point them to the dataset

Have you a better data plugin to replace the one above at https://test-data.tiddlyhost.com?

Not at all. I didn’t think you were. That was my own musings. I would love to be able to do that as well, but I know that it’s one large learning curve beyond where I want to go.

Damn, I thought I’d mentioned that before. Yes, every version I publish has its own data plugin. Feel free to grab a version whenever you like and to slice and dice it however you want. The latest version should always be at $:/plugins/ScottSauyet/Chemistry/Elements. That has a little more than you had in your version: both some additional data on each element, tiddlers for the element types (Lanthanides, Nobel Gases, etc.) and a license and (so far empty :frowning: ) README file for the plugin. If you want just the elements info, you can export the results of [all[shadows]tag[Chemical Element]]. I can publish that alongside the wiki if you like. By that I mean that when I publish, say, version .../0.8.0/, I could also include .../0.8.0/elementTiddlers.json. It should only be a few minutes to add that to my process, so let me know if you want it. So far I’ve been keeping the plugin version synced with the app version, but it hasn’t changed in quite a while, and I may stop doing that.

My next chore will probably involve either creating a new plugin of Compounds data, listing a number of common compounds, their chemical formulae, and more, or adding this data to the current plugin. I haven’t decided which, and I’d love to hear your thoughts.

If you want the raw data I use before I convert to this format, there’s no reason to include it in the wiki. While I’m not publishing it alongside the wiki right now, I could easily do so if it makes your life easier. But you can always get the latest version on GitHub at raw.json. This is your CSV-imported data with a fairly large number of fixes applied. If you care to see it, the script that converts it to tiddlers is buildElement.js.

I’d also like to ask a quick favor of you. I will eventually take on the job of writing credits for this, and I’d like to know the origin of the CSV data that you started from. Do you recall where that was? I’ve done a lot of tweaking over time on it, but that is still the basis of most of this work.

1 Like

This turned out to be quite easy to do, so version 0.7.5 is out with the ragged edge. (The hoverable area still extends over the entire hidden rectangle, but I think that’s fine.)

  • Not off the top of my head, but I am looking for it “my bad”

Some thoughts,
This could get very big so using the minimum number of bytes per compound may make sense, but it may be worth finding an open source resource and integrating with it, just as someone may integrate their movie reviews with WikiPedia and/or IMDB

  • Perhaps index data tiddlers and compounds constituent elements converted to shorter names eg the Nth element/shortname, eg H2O 1x2+8 or Hx2+O
    • This may also help importing compound information and converting it to your data set.
    • You can always expand it later Hydrogenx2+Oxygen
    • I expect there are standard naming conventions for compounds, and thus all with that become sources of additional content.
    • Students could be asked to find and collect compounds in a particular set and pull those into their wiki - perhaps later sharing their compounds, as a form of crowdsourcing?
  • Another trick is if you can construct a URL and search string https://www.google.com/search?q=about+oxygen try it about oxygen - Google Zoeken

Architecture

  • I think the trick is to use the content of the Periodic table to simplify and reduce the content size of the Compound plugin and visa versa, however if possible, maintain a degree of independence, that is relate to each other by a naming standard (tiddler titles), then perhaps later one could bring in or chop and change other plugins or data sources.
  • For example if one plugin is available and not the other, eg compound but no periodic table, then you have a minimalist periodic table, perhaps data tiddler that you can put in its place.
    • This may help if you start to develop sophisticated compound tools, construct compounds and use a minimalist periodic table data set, then drag and drop your Favorite compounds to include with your periodic table wiki.

I recall the term valence as it relates to columns and groups of elements and these of course can influence the way elements join into compounds.

  • [edited] Valence should be in roman numerals
  • Perhaps your list in the “Gulf of periodicy” should be in valence order not alphabetic?
    Snag_b2c5ce

I am yet to find a better version of this paraphrased quote (Still looking)

When designing a solution “don’t take hostages of the future”

  • Basically make choices that multiply the future possibilities, not close them down.
    • This approach also seems to help with design process in the present.

Post Script.

You should add a group that astronomers use to separate metals and non-metals. Its almost a joke :nerd_face:

Astronomers refer to all elements other than hydrogen and helium as ‘metals’, despite the fact that elements such as oxygen and carbon are considered non-metals by chemists.

  • Perhaps add information as it relates to Nucleosynthesis (see timeline), isotope’s and astronomical events.
  • A good example of an additional data you could loosely integrate, or “plugin”, like the compounds organic/non-organic etc…

Thanks. Don’t worry too much. All the information here is in the public domain. It’s interesting that I found a number of anomalies in the input data; that seems strange these days. At some point, I’m going to have to ask a chemist to look over the raw data, because I have to wonder if there are still problems lurking.

I’m not planning on having too many. My starting point would be the ones mentioned in
Compounds.json (1.5 KB). It’s taken from the table of contents for The 100 Most Important Chemical Compounds: A Reference Guide (a book I ordered and received but have not yet cracked open.) I will probably enhance that with the list of reagents found on the back of a printed periodic table. But I think that will still leave fewer than 200 compounds. Of course users will be able to add more.

So for the moment at least, I’m not overly concerned by size. My current content adds about half a megabyte to the 2.6MB empty edition, and that includes two XKCD comic strips I threw in for fun.

Yes, I was planning on using the simple form such as “H2O” in a field, with a macro to turn that into “H2O” for display. There are about a dozen different naming standards as I understand it. I will probably only support the simplest one.

I’m thinking a bit differently here, in a more layered approach. Everything depends on the Elements. but the baseline periodic table and the compounds are independent of one another. The Reactor is dependent upon both of these, and certain games are dependent upon the periodic table, and so forth.

Yes, my last chemistry class was 40 years ago, but I recall how valences are defined and used. I do know that Roman Numerals seem to have been abandoned by chemists here, though, in favor of the arabic numbers of the groups.

I’m not sure what you mean here. These types don’t exactly correlate with either the groups or the periods. There are 11 of these types (should that be “series” instead of “types”?), 7 periods, and 18 groups. And I wouldn’t be surprised if within the decade we push into period 8!

I try to make that a mantra in my life as a developer/software architect! But it has to be balanced against avoiding premature abstraction. So for the moment, everything is focused on the single style of periodic table, and there is no way to create the 50-column wide version. But if we find we need it, I should be able to make the change in one place – the periodic-table macro, keeping the current behavior as default. So I’m thinking to the future, but leaving the work of that abstraction for later.

Funny that you should mention that. Yesterday I ran across two recent XKCD comic related to elements and to the periodic table. So I included them in the wiki. I don’t think I’ll keep them long-term, but the first one is a gem. And if I do keep them, I will definitely include the astronomers’ view of the table as well.

1 Like

I’m sure you know, but just in case (I’d missed it for ages!) the official KaTeX plugin has chemical symbol notation baked in.

So $$\ce{SO2}$$ would render sulpher dioxide correctly!

2 Likes

Thank you. Although someone had pointed that out before, I’d forgotten. I may or may not choose to use it for this. It’s probably overkill for the simplistic formulas I’m planning on using, but would likely be a blessing if I go more complex.

It’s now in my notes, so hopefully I won’t forget!

1 Like

Hi @Scott_Sauyet
I played with latest version of Periodic Table. As I mentioned before, this is a real amazing app!
Well done and thank you for your efforts!

1 Like

I have a new release of this periodic table demo. Version 0.8 is at Chemistry — periodic table and related tools.

The most interesting change is the inclusion of some common chemical compounds, and a tool that lets you see what compounds can be made with certain elements. You can see this in action at Periodic Table with Reactor. As always, there’s more to do. This part really won’t be right until the user is able to add new compounds at will, and I think my next step is to start to offer the user the ability to do certain customizations: adding notes to elements/compounds, for instance, and adding additional compounds. I also want to figure out the best mechanism for the user to add larger sets of compounds.

But first, I’d love feedback on the new tool. Does it seem reasonable? Do you understand how to use it just by what it says, or would more directions be useful? What else should be improved? Right now it’s drag-and-drop. Should I let users click/touch elements to add them as well as (or instead of) dragging?

And I must give a huge shout-out to @telumire, who suggested this, proved it out, and wrote several different versions of it. While the code has slowly drifted from the suggestion of six weeks ago, the fundamental design – and still a lot of the code – is entirely due to @telumire. Thank you very much!

2 Likes

This is great! Thank you Scott!
In the About there are some missing links like in this line: The primary author of this is Scott Sauyet. Eventually we will add a Credits page to celebrate the many people who have helped.

I would suggest for About tiddler:

  1. add the link to source code on GitHub
  2. add email for possible contact to developer
  3. add link to license

The reason is potential users may not familiar with TiddlyWiki.

When you think it is the time for public announce please let me know and I would be happy to advertise it in our Chem Eng community, LinkedIn and ChEnected.

1 Like

Great job You certainly learned a lot doing this .

By the way, I just found via Wikipedia that hydrogen is Nonmetal type not Alkalimetal.

Scott, it’s such a blast to watch this project developing!

I see among your various inspiring “to-do” ideas, one thing that strikes me as a simple development doesn’t seem to be articulated:

Tiddler names for tags or other category-concepts in sidebar are click-magnets. So if the expandable TOC tab shows links for the header concepts themselves (Elements, Compounds, Element Types, etc.) then each of these “parent” tiddlers would be natural places to set up something like a mini sub-TOC, perhaps with a definition or explanation at top. (The “reactor” version of the periodic table might also happily reside at the Compounds tiddler.)

Of course, you could also try to remove the distracting affordance (clicking, but getting an apparently empty tiddler which serves only to house list fields, etc.) by simply making the TOC category / tag-name not clickable (or clickable only to expand/collapse the TOC details in the sidebar). But a blurb about the concept (what is an element? What is a compound? etc.) is, some links / navigation aids that make sense for that sub-TOC, could be satisfying to find as the content for each of these tiddlers.

Cheers!

Right after I made the announcement, I realized that I hadn’t updated About or Ideas, and I went and did them and thought I republished. But I was sleepy and might have forgotten the final push call. I will look again this evening.

But that About page was meant to be a placeholder, something to really fill out when I get closer to complete and actually know what it’s all about. :slight_smile: Honestly, you were the motivating reason for that; it was mostly just a place to host and show the version number, which you suggested after my previous release. But I figured I’d fill it out with a little bit of information to start. If you think it would be better without the incomplete parts (like links to Games, which are still coming but have moved down my list or a non-existent Credits page), let me know. I’m very flexible about this.

All good ideas. I will definitely have all three by v 1.0.

Thank you very much. I’m still a ways from that, but I’m grateful to hear that you think it might be something these communities would care about.

Funny you should mention that. As I said above to Mohammad, I went and looked at About after sending my note yesterday, and clicked on one of the links to those parent tiddlers, which I thought I had already created! Oops. Nothing there, not even a list of links to its children. That was on the plan for this evening or for Sunday (tomorrow’s shot.) It will probably be fairly anemic at first, but a list of child links is a bare minimum for such pages, and I’ll probably include at least a single paragraph for now on each.

While I don’t think I want to do that, as it’s the right home for some important information, now I need to go look up how to do it when I want to! I’ve never tried that.

2 Likes

Insofar as this resource may serve as a learning-tool for TiddlyWiki, you could include a ViewTemplate that automatically supplies an overview of any tag-children.

(The more nuanced approach I’ve taken lately: have a default overview of tag-children show up exactly whenever the text field is empty or – better yet – whenever there’s no <$list or <<table-dynamic to be found in the body of the tiddler – so that the automatic template shows up exactly until/unless I supply a more tailor-made view of tag-children. Something like this provisional structure is great for wikis under development, because it gets out of the way exactly as you fill in more careful details.)

… and continue to do do, thanks to the amazing community here.

Hydrogen is just weird (if I may say that about the substance that makes up 75% or normal matter.)

On various different version of the periodic table, you will see it associated with the Alkali Metals, the Nonmetals, and the Halogens. And you will often see it not associated with any of them, possibly even floating freely on or above the first period. At some point I will find actual chemists to ask such questions. But that’s for later, as the fix is trivial; just changing one field on one tiddler. It’s simply not clear to me where to go with this.

Possibly, but it might get pretty fiddly, because I’m already serving up the Compounds (which have no text fields) with a simple ViewTemplate, and the Elements (ditto) in a more nuanced manner using a cascade to choose the main template that then transcludes the main body template. That latter was just a way to include the element tile on the element page.

That’s interesting. It’s a technique I wish I’d thought of when I was building a fairly complex documentation wiki for work. I did all sorts of things to bootstrap my way so that the things that still needed work didn’t just say “TODO” but exposed some useful contents.

For this one, I might do it differently. If the tiddler is also a tag, include such a list only in the case that there is not content, and use a quick macro that adds the footer if I want it explicitly.

Thank you very much for the immensely helpful feedback!

1 Like