Deviant Love is a browser extension that finds all the art on a DeviantArt Faves page, organizes it by which artist made it, and sorts the artists in “most faved art” order, letting you know exactly who to thank for all this lovely artwork. It’s one of my all-time favorite projects to work on, to the point of it being my gateway back into Web development, but at its core is a hunk of code that caused me a lot of grief a while ago. I’d like to do some programmer talk about this file.Read More »
Category: Web Development
Things I learned making Random Bookmark From Folder 2.0
I released an extremely polished browser extension, Random Bookmark From Folder 2.0 (Firefox, Chrome, source code). It’s basically an entirely new product, as nothing except the icon could be ported from the legacy Firefox version. As a Web developer, I think it’s a wonderful piece of frontend engineering, and I learned a lot that I’d like to share.
Big, beautiful buttons for everyone~
These days, user interfaces will often need to accommodate not just precise pointing devices like mice, but also touchscreens, which means larger, less compact target areas. It’s another constraint on design, but something interesting I learned recently is that interfaces designed to better for touchscreens can also be aesthetically better as well.
This is the UI I made for accessing a given DeviantArt user’s profile, gallery, or faves in Deviant Love 2.x:
It was designed to take the minimum amount of vertical space needed to look good, and it certainly fits that goal. But since a goal of Deviant Love 3.0 is to support touchscreen users, I wrote 3.0 Alpha 1 so that mouse users continued to get the same compact look, while touchscreen users got this (with additional UI for Deviant Love’s subaccounts feature):
And I found I liked the UI I had created for touchscreens quite a lot. It needs better vertical rhythm and possibly other tweaks, but overall it strikes me as prettier and friendlier, to the point where I want Deviant Love looking like this regardless of the input device. For Deviant Love 3.0 Alpha 2, I’m going to change it to work as such, and see how well it’s received.
“It’ll resolve eventually, I promise!”
Making my webdev more pleasant
I’d really like to do more web development than I’ve been doing; influencing society for the better through pleasant user experiences and lovable browser games is a major dream of mine. But so much of it felt like a huge slog, and that was pushing me away. I recently made some changes to address the pain points.
Behind-the-scenes things to do
Work continues on the latest Near-term Website Roadmap items, though obviously behind schedule. Lately I’ve been thinking about what behind-the-scenes changes I should do to make things go more smoothly for my webdev work and the people who come to see the results. I think it’s worth writing down some things of that nature, even though it’s mostly interesting only to fellow webdev nerds.
Things I learned bringing Passwordless to PHP-land
When I wanted my website’s Superspark Accounts to allow users to use their email address to sign in, and my previous method was a discontinued 3rd-party service, Passwordless looked like a fine replacement. The only problem was that it’s a Node.js package, and my site’s backend up until this point had been pure PHP. I got around this by making a RESTful wrapper around Passwordless that my PHP code could communicate with over local HTTP. I got some interesting takeaways from this project I wanted to share.
That silly 404 page
Every website’s gotta have an HTTP 404 File Not Found page that says nothing is there, ask the link owner to fix the link, here’s how to find what you’re looking for, yada yada… why not have a little fun with it? If you get a 404 error on pikadudeno1.com, the site takes the number of letters in the requested URL modulo 6, and uses the result to choose one of 6 stupid jokes to show on the error page!
Were I to share a bunch of links to nonexistent pages, I’d end up with search engine robots trying to follow them all and getting a whole lotta nothing… which is why I’m using the Robots Exclusion Standard to stop them from visiting any URL that starts with “http://pikadudeno1.com/nothingness/”. And since the number of letters in the “nothingness/” prefix is a multiple of 6, it doesn’t change which message is chosen!
So, without further ado, here are all the silly messages that can appear:
With a little cleverness, you can make URLs that appear related to the message that appears:
Whatever humor you may find in this feature, you’re certainly not finding a file.
Return of the Blog: Attack of the Unrelated Paragraphs
Kilimanjaro sounds awesome, and makes me more confident than ever that I went on the right path when I decided to be a plugins-free Web developer. I hope to have an awesome thing or two ready by Day 1 of the release.
I probably lack a sufficiently-outgoing personality to pull it off, but at some point in my life I’d like a good excuse to spout the line “What does the scouter say about our party level??”
Signs of Life Fun Fact #1: I was originally going to name it “Sign In”, but at the time it was first released, the page it was listed on didn’t visually separate the login form from the rest of the page, and I realized having a game called “Sign In” too close to the login form presented a usability problem.
Signs of Life Fun Fact #2: There is a sandbox mode in the game, accessible via this URL. You can enter nothing when prompted for a puzzle to get a random 4-digit puzzle. This helped me create some of the game’s 27 puzzles, and it will probably be a big help with the additional puzzles I plan to make for Signs of Life 2.0.
Internet Explorer 8 gets a lot of hate from fellow Web developers, and I don’t quite get it. Sure, it was behind the times on Day 1, but it made some important steps forward, including support for box-sizing, window.postMessage, and the speed of not just any snail, but a snail specially bred for racing! I am quite happy to support it for my less tech-heavy Web apps. (Probably because I don’t have to maintain jQuery, ha ha.)
Allow me a moment of pure unabashed geekery
window.history. You’ve grown from a tool for blatant invasion of privacy, to a cute mostly-useless trio of methods, to an incredibly valuable asset for the upcoming new age of web applications. I’m so proud of you. ♥