Time for another Columns for Steem (what is that?) update!
The most noticeable change is in the design of the posts themselves, the line-height of post titles is now a bit more narrow, the default from Google’s Material Design was way too big, and I added icons for upvotes, comments and the Steem Dollar value of posts to make it look a bit nicer.
One tiny feature I added is that you can now click on profile pictures to open that user in a new column, which can be very handy. In one of the next updates, the user columns will also display a bit of information about the user instead of just their posts. Like their bio, Steem, Steem Dollar & Steem Power holdings and their voting power. Pretty much what my other project Steem Observatory displays at the top. I’ll probably make that information expandable so that you can show/hide it with a button click when you rather want to use the whole vertical space of a column to display posts.
Also, due to the way I try to minimize the bandwidth usage of the app, sometimes posts could show outdated information before this update. This happened in columns sorted by “New”, “Blog” or “Feed”. These columns only check if there are new posts every minute, and if there are none they never get updated, which saves bandwidth, but also means that old posts already displayed in the column would keep showing old votes, comments and SBD values. Now these columns make sure that they are updated at least every five minutes, even without new posts.
The other changes I’ve been working on for the last three days are mostly under the hood, improvements to the source code, including some speed improvements. You might have noticed before that closing columns felt a bit sluggish, it’s instant now.
It’s important to do that once in awhile, a little bit of house cleaning before adding too many new features, or the source code over time turns into a big mess that is hard to debug and add features to.
Hi, discovered this last week and only just now getting a chance to play with it, it's awesome, this is exactly the kind of thing I've been looking for.
Two things: firstly, have you any plans to release this as open source? I think that would be great.
Second, would you consider adding some options to what is shown when you add a column for an @ account? For example I was going to code a little tool where you could see a blog roll of the posts that any account has up voted, to see what they're interested in and support, as well as a way to make a little reading list for your own account when you only have time to skim a long post so you can up vote to kind of tag it. Your app would be perfect for it, and if it was open source I could contribute, but if you don't want to do that would you consider adding it?
I also know that lots and lots and lots of people want to be able to see the blog roll without resteems!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Just looked through the Steem API to see if I can show a list of posts someone voted for, but sadly it looks like the Steem API doesn't to support this directly right now (unless I overlooked something). You can make it work but only badly. There is a function get_account_votes that returns a long list of all the votes an account has ever made (299 were returned in my case), but there is no "limit" parameter so you can't set the number of votes to download (so I can't easily check for new votes every n seconds without wasting a lot of bandwidth) and it's only the votes, not the actual posts that were voted on, just a link to it.
There is a function to return the content of a single post by link, but none that takes a list of posts to get the content for, so you'd have to make a new API request for every single vote and at that point it's just way too many requests to make this feasible, especially when you need to do it every n seconds. I wouldn't want to hammer the Steem servers in that way :D So for now we'll have to wait until this gets supported by the Steem API directly with just a single API call.
As for your "reading list" idea though, I can still add that, it'll just work without having to vote for a post. Instead, I'll add a "read it later" button (probably just a star icon, like the bookmark icon in web browsers) to posts and a new type of column that shows a list of all the posts you've bookmarked. The bookmarks will be saved to your browser's local storage. At some point I could also optionally save that list server side so that you can sync the list between multiple devices. This "read later" column will also visually mark the posts as read once you clicked them and optionally remove read posts from the list automatically, otherwise there will be an X you can click to remove a single post from the list.
There are going to be lots of special columns like that at some point, like one that shows trending hashtags, one that shows stats about your Steem account and the Steem network as a whole with charts and all that. In fact, I might put my other project Steem Observatory into a column, it was intended to work as a "sidebar" anyhow so it fits nicely in the smaller space of a column :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Let me have a think about this and look at the code and I'll get back to you, I'm not convinced there isn't a way. Thanks
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Good luck! It's certainly possible I overlooked something, haven't been working with the API that long yet and a lot of the API functions are undocumented, although I've seen that some of them are at least documented in the original C++ code you linked in your article, I'm going to look there more often now to figure things out :)
Even without documentation it helps because in the C++ code the function arguments are typed so you at least know what arguments you can use. I use dsteem instead of SteemJS right now for exactly that reason, dsteem has helpful types, but it doesn't support all of the API functions yet (but has a way to still call unsupported functions so I can use anything I find in the C++ code).
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thanks for the feedback and the kind words, much appreciated! :)
The two features you mention make perfect sense, so I'll work on adding those to the app for sure if the dsteem/SteemJS API supports it, after I'm done with the current batch of updates that I've mentioned in the What's coming next? section on this update I just posted (it's at the very bottom). Right now the Steem API is a bit limited, but from what I've heard there is going to be a new API coming soon which will make much more advanced stuff possible.
I will most likely make the app open source, but it's too early in the development stage to do that (it's only been two weeks). Open sourcing an app too soon can easily kill it (just like open sourcing it too late).
I also need to make sure the overall design of the source code is where I want it to be, right now I'm moving very quickly with big changes to large sections of the code, both to make it as simple and easy to add new features as possible and also because I am writing this in ClojureScript and I'm still learning the language and the frameworks (Reagent & ReactJS) I use, so I discover new features all the time that let me improve and simplify large sections of the code. Contributions from other people could slow that process down considerably since then you need to coordinate which portions of the code better shouldn't be touched right now because they're about to be refactored, so it's better to wait until the code is more stable and it's at the point where I'm just adding features and fixing bugs, but don't change anything about the general application structure. Hope that makes sense! :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Cool! Super happy you're considering my suggestions, thank you! 😆
For real, I understand. I usually like to work in the light anyway even if I don't accept PRs but that's a style thing.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit