Navid Boloorian · 10/09/2020
In the past week, I’ve been working on completely revamping our writing system. Previously, articles were submitted through HTML “textareas.” This meant that you couldn’t see the live styling of your article as you wrote it; you’d have to publish it to see results, so I implemented a customized “styling code” of sorts. Similar to Reddit, in order to bold, italicize, underline, or superscript your writing, you’d need to know some simple--albeit unintuitive--character strings. As a programmer, this didn’t seem like a huge deal: I spend most of my time writing particular character strings anyway. Using them to style an article felt very natural.
However, when Harshawn started writing his pieces, he noted that the system was hard to use. He thought that the lack of insight on what the final page would look like was a massive annoyance, the strings were confusing, and the results inaccurate. Mind you, I figured that the codes wouldn’t be the most amazing thing ever; I just thought it was a minor hurdle for the most part. Harshawn disagreed. As a programmer, something I have often struggled with is empathizing with the end-user. When you implement a system and spend days upon days working with it and utilizing it, it becomes easy. I could hammer out hundreds of lines with the styling code and the result would be exactly what I wanted it to be.
I realized that I had started to feel frustrated and even slightly resentful. I felt like I had put in a decent amount of blood, sweat, and tears into the page and thought it was “good enough.” I figured that it’s not that hard to use. It wasn’t an issue for me; why was it an issue for him? But that’s the problem right there. When you become so familiar with what you’re using, you don’t have an accurate frame of reference for what others have to grapple with. It’s not a matter of stupidity on their part; it’s just that they haven’t used it for tens-of-hours and don’t know it inside and out like you do.
For a while I let the frustration and stubbornness get the better of me. I delayed creating a WYSIWYG editor (a term for the current editor that is being used) for weeks upon weeks. The turning point happened when I watched Gus Johnson’s YouTube video on the inadequacies of the Twitter video uploader. He listed various gripes he had with the system like it trimming off random segments of the clip or forcing the poster to replay the entire video to see if it was edited properly. I’m sure that the programmers over at Twitter also had the “good enough” mentality. When you work on big projects, it’s tempting to halfass stuff as you reach the finish line because you figure no one will notice or care. When the Twitter guys saw the stumbling blocks they probably thought “who cares? It’s not THAT big of a deal.” Well, the user cares. You could create the greatest website ever, but if it’s not intuitive to use, you might as well have a million dollars in a defunct currency.
So I did it. I made the WYSIWYG. I’ll probably still have moments of stubbornness and tunnel vision, but it’s important to overcome those and remember that, at the end of the day, the end user is what matters. It doesn’t matter if you think it works if they don’t. Keep that in mind devs.
Thanks for reading.
Navid Boloorian · 9/20/2020
When Harshawn and I came up with the idea for NewViewNews, a big motivation of ours was to expand discussion outside of the 280-character limit. Whether it be hot takes about sports, comments on social issues, or political analysis, the prominence of tweets and short-form media has often proven to be a hindrance to fruitful discussion. It’s a rare thing to find a Twitter thread that consists of more than clickbait claims and gross overgeneralizations.
Looking back, the concept for NewView sort of inadvertently became the “anti-Twitter.” I mean, we have a 1000-character minimum on our articles in order to make sure that pieces and their responses are conducive to good discussion; where Twitter deals in short-form content, we’re attempting to focus on the long-form.
With this mindset, we were pretty hesitant to implement a comment system. Outside of the programming pain-in-the-ass it is (I’ll touch on this later), it felt like a comment system would directly undermine our website’s entire purpose. Imagine our dismay when our first batch of beta testers recommended that we add one.
After days of crying and tearing our hair out, we realized that fruitful discussion can’t really be boiled down to a character limit. 280 characters can be as effective in spawning constructive conversation as 1000. At the same time, we really felt--and still feel--like we had something special with our “NewView” feature. Creating a comment section seemed like we were introducing a threat to the cornerstone of NewViewNews. That being said, it’s hard to claim that we’re the “ultimate platform for citizen journalism and uncensored debate” when we actively dismiss an entire form of communication. So we struck a compromise, one that’s probably quite obvious to you but it took us a while to reach it: I added a 1000-character maximum on comments while maintaining the 1000-character minimum on articles.
With these limitations, we allowed for short-form exchanges while preserving the integrity of the NewView feature.
Now let’s take a quick look at how one would go about programming a comment section without getting too specific. When I first started on the system, I immediately realized why so many websites prefer to use comment plugins. Programming a comment system is really a bitch. Juggling PHP, AJAX, and SQLi to display a single comment is a pretty complicated process.
Luckily, I created our entire article infrastructure from the ground up and was able to synergize it quite well with the comment section. By creating a separate database for comments and attaching article flags to each comment, I was able to create a semi-functional system in a matter of hours. I then repurposed the voting system I used on articles and voila, we have achieved full functionality.
Admittedly, it’s still lacking some features I’d like to add down the line such as replying and sorting, but give a guy a break. I’m programming this entire thing by my lonesome, and college is around the corner, even coders need time off once in a while.
Anyway, I hope you guys found this devlog insightful. I’m going to continue posting these periodically to give a glimpse of what’s going on behind the scenes. I might add a suggestion system to see what you want to hear about next, but that’s based on the assumption that anyone actually bothers to read these. Either way, I’m still writing them because why the hell not.
Thanks for reading.
Harshawn Ratanpal · 9/15/2020
Hello readers and writers, welcome to the NewViewNews Blog! Here you’ll find regular posts about what’s going on behind the scenes at the site, including some content highlights from me and further insight into the programming process from Navid.
While you’re here, I’d like to take the opportunity to share with you one of the reasons why we created NewViewNews.
Navid and I have been into politics since middle school. One thing we’ve always agreed on is the failure of many mainstream media sites in fulfilling the responsibilities that journalism owes to the public. In our view, many national news sources have failed to internally uphold standards of fairness and objectivity. This is not a failure on journalism or “the media” as a whole, but rather a widespread failure on individual entities to uphold the values of these vital institutions. That’s where NewViewNews comes in.
One of the common metaphors that represents journalism’s role in society is a Marketplace of Ideas. Simply put, journalism is meant to be a space where all ideas can be heard by all minds of a democracy so they are able to make informed decisions in their everyday lives and at the ballot box. We, like The Hutchins Commision before us, admonish the ownership concentration that has arisen in American journalism; it has become antithetical to upholding the standard of a plentiful, intellectually diverse marketplace of ideas as personal and corporate interests infect the reporting of these outlets. What better way to make a Marketplace of Ideas intellectually diverse than to make it an inclusive swap meet, where the only limitation on ideas ripe for your ponderance and judgement is the amount of writers who take the time to pen them?
It isn’t perfect. A decentralized media outlet lacks the internal methods of accountability that a newspaper might have. An inactive base could lead to the presentation and prominence of ideas that could be considered dangerous. But if you do your part as an individual and as a member of the NewViewNews community, these risks are mitigated. Take it upon yourself to judge the merits of the post's argument. If you disagree vehemently, pick up the proverbial pen and propose a new perspective for the next reader, so the Marketplace can grow that much larger.
Thank you for being a part of this experiment. I’m looking forward to talking to you through these blog posts, reading what you have to say through your comments, and engaging in conversations with you through NewView. Till next time.