Joshua Milford Web Developer

Dusting Off an Old Project

About 4 years ago, I built a tool to help me get through my Instapaper list a little faster. I love love love love love Instapaper, but it’s not without its (very minor) shortcomings.

While its full-text search feature works like a champ, it can take a few seconds. In the iOS apps, once you select a search result, you can’t then act on it, whether it be starring, archiving, or deleting. Additionally, once you close the selected search result, you’ve gotta search again, as the results are cleared.

I needed something that would allow me to quickly filter articles by their titles and give me some options, allowing me to knock out my read later list. So I built InstaPUNCH. It’s a pretty niche tool for a very specific use-case, but it’s really useful for me.

In an effort to kind of increase my web presence over the past few months, I decided it would be cool to pull out an old project and see if it still stands. And it does! It’s far, far, far from perfect, and I plan on completely rewriting it soon, but it’s super-cool to revisit an old, almost forgotten about project and see that it still works.

So, if you’re an Instapaper user who’s looking for a tiny side-kick for the service, check out InstaPUNCH and knock out your read later list!

Grunt’s Not That Bad

I’ve been using Grunt for a few years, and if time were measured in weight units, it’s save me a ton of time. I’ve shared my gruntfile.js, and I’d like to share the ways I put Grunt to work for me.

I consider Chris Coyier’s Grunt for People Who Think Things Like Grunt are Weird and Hard to be the go-to resource for getting started. While it looks intimidating with all the .json files and command line and git stuff, it’s totally worth it. Grunt’s like a tiny staff of people who do things you don’t want to do. Over and over. And really fast. And the sweet thing is, once you’ve set up a base gruntfile (or ganked someone else’s), you can use it from project to project without giving it any thought.

The way my Grunt workflow goes is like this:

Whenever I save a Sass file, Grunt combines all my sass files into a single, minified CSS file. Whenever I save a .js file, all my .js files are combined into a single, minified .js file. So, theoretically, I can go from requiring a handful of CSS files and another handful of .js files (too many HTTP requests!) to just one of each. And I don’t have to think about it. Or do anything.

Additionally, whenever I save a file, I get a nice notification, “Good to Go!”, in the corner of my screen, and my browser automatically refreshes, giving me instant feedback of my awesome edits (or bugs).

Those are the basics, but you can tell it to do so much more. Use CSS sprites? Just tell Spritesmith to look for all the images in a directory and make a spritesheet. And the corresponding CSS. And a retina version. How about SVG icons? Tell Grunticon to look through a directory, make a few different formats of each file, and magically serve your users the most appropriate. You can continue to identify things that you do over and over and over again, and there’s a decent chance there’s a Grunt plugin that’ll ease the burden.

Again, while the setup can be a hurdle, once it’s cleared, you’ll save a ton of time!

An Event Apart Nashville Highlights

I’ve been at An Event Apart this week, and it’s been a phenomenal experience. There’s been an insane amount of super-useful information disseminated, and it’s going to take a while for things to get processed and sink in.

There have been a few common themes threaded throughout many of the presentations:

  • Your brand happens between devices.
  • Bootstrap is a great prototyping tool, but please don’t use it in production.
  • Separate content from layout (what year is it, again?).
  • Don’t think you can infer context or input method based on screen size.
  • Design for users people.
  • The stuff we can do with CSS, including animation and layout, is about to get even more powerful, so now’s the time to learn it.
  • lol vape pens.

I’ve been super-impressed with the quality of each presentation, as well as how chill all the speakers have been when not on stage. I mean, Brad Frost showed me a gif on his phone. It’s kinda been like Twitter in real life.