Great new hardcore band from San Diego. I first heard the song "Snowglobe" on turntable.fm, and it hooked me enough to download their five-song EP "Therefore/Without". It's a solid release—and it's free, so you have no reason not to download it.
It's a really fun job. I feel incredibly lucky to be able to build a career based on a true passion of mine.
That’s hard to do - after all, you’re a developer, so you’re one of the power users. You want to make people like yourself happy.
But I’d argue that’s one of the biggest problems that has plagued the software industry. We’ve all built stuff for ourselves, even though the vast majority of software users aren’t like us.
Panic's amazing sequel to Coda, their web development IDE, comes out today. I bought it last night and it's incredible.
Sounds about right.
Andy Greenberg writing for Forbes:
In its motion, Twitter offers three arguments against turning over that data: First, that the data belongs to Harris under Twitter's terms of service, and handing it over would violate both those terms of service and the SCA. Second, it argues that handing over Harris's data would violate the Fourth Amendment's protections against searches without a warrant, which it argues applies even when the government is seeking information about allegedly public activities like a user's tweets. And third, it points out that Twitter is in California, and argues that the New York prosecutors need to make their case to a California court to obtain Twitter's data.
Way to go Twitter!
Also: the motion.
When I evaluate web products I often feel uncertain about what will happen after the quick signup. Sure it takes seconds to create an account, but then what?
Really insightful post on an annoying practice by user-gobbling companies.
Light table is based on a few guiding principles:
- You should never have to look for documentation
- Files are not the best representation of code, just a convenient serialization.
- Editors can be anywhere and show you anything - not just text.
- Trying is encouraged - changes produce instantaneous results
- We can shine some light on related bits of code
Incredibly cool video from the illustrious Bret Victor. It's amazing how we can be satisfied with the status quo until someone totally rethinks it.
A pretty amazing gallery of shapes you can make using only a single HTML element.
Absolutely breathtaking site by the consistently amazing folks over at nclud. Check it out in Safari for best results.
David Heinemeier Hansson:
Sooner or later, the market is going to sort these things out, and all will be right as rain. That's evident with the Groupon fiasco. They've restated their accounting numbers endlessly and the stock has finally tanked. At the end of the day, the rules of accounting will blow through all the smoke and the mirror will show a face with no make-up.
The $1bn Facebook paid for Instagram is a truly mind-boggling figure. But let's keep thing in perspective.
What up, future employer!
What it is is actually really cool: an encoder that attaches to your camera and streams HD-quality video to the web. Things are getting seamless.
I love the The Oatmeal.
If Apple's going to embrace the cloud wherever possible, it needs to change iTunes too. The program should be simpler. It might be better off being split into separate apps, one devoted to device syncing, one devoted to media playback. (And perhaps the iTunes Store could be broken out separately too? When Apple introduced the Mac App Store, it didn't roll it into iTunes, but gave it its own app.)
I've been calling for this for a long time, but iCloud makes it easy to see how it might work. Why not just use iTunes for media playback, and combine all the different app stores into one application?
Mosh is a replacement for SSH. It's more robust and responsive, especially over Wi-Fi, cellular, and long-distance links.
This looks really cool. I wonder what the chances are of Panic updating Prompt (my favorite SSH client for iOS) to support this.Content
An old one by Jakob Nielsen:
Users hate change, so it's usually best to stay with a familiar design and evolve it gradually. In the long run, however, incrementalism eventually destroys cohesiveness, calling for a new UI architecture.
This is exactly the problem most people have whenever Facebook changes their design. It's not that the new design is bad, just that it's different.
Brian Chen for the New York Times:
After some sleuthing, Mr. Watt, who has a background in developing Web advertising tools, realized that the quirk was not confined to his site. The hotel's Internet service was secretly injecting lines of code into every page he visited, code that could allow it to insert ads into any Web page without the knowledge of the site visitor or the page's creator.
Sounds exactly like a certain well-known bus company.
Jason Fried in 2009:
Mint was a key leader of the next generation of game changers. And now it’s property of Intuit — the poster-child for the last generation. What a loss. Is that the best the next generation can do? Become part of the old generation? How about kicking the shit out of the old guys? What ever happened to that?
This was written regarding Intuit's acquisition of Mint, but it perfectly captures how I feel about Facebook acquiring Instagram.
Today, we couldn't be happier to announce that Instagram has agreed to be acquired by Facebook.
The bill states it would be a class one misdemeanor for anyone to "terrify, intimidate, threaten, harass, annoy or offend" through electronic and digital devices. It does not provide definitions of the terms and what would be considered annoying or offensive.
What up, First Amendment!
Twitter is finally getting serious about spam:
This morning, we filed suit in federal court in San Francisco against five of the most aggressive tool providers and spammers. With this suit, we're going straight to the source. By shutting down tool providers, we will prevent other spammers from having these services at their disposal. Further, we hope the suit acts as a deterrent to other spammers, demonstrating the strength of our commitment to keep them off Twitter.
Or, as Paul Haddad of Tapbots put it:
SUE ALL THE SPAMMERS!
This is an incredibly cool alternative to traditional sprite sheets. The gist of it is, you stack a bunch of images vertically and—since SVG is an XML-based format—give each of them an ID. Then you can actually use that ID in your stylesheet to display the correct image.
(via Matt Duffy)
I think it's these qualities that are going to provide a roadmap for more iOS apps to come that will appeal to the artsy, creative side of people, rather than the traditional consumption-oriented theme of what have so far been the most popular types of apps on Apple's platform.
I would absolutely love to see this become a trend.
Joel Stein being a snob.
I hate this sort of media elitism. What, Donkey Kong can't be as important a work of art as The Grapes Of Wrath?
The choice of the word "pique" in the headline is interesting, but Brad Stone conducts a good interview nonetheless. My favorite part is this:
I personally believe that it's better to shoot higher. You don't want to be looking at your competitors. You want to be looking at what's possible and how to make the world better.
Really? Because the whole Google+ thing isn't just Google chasing Facebook. Okay.
Not that there's anything wrong with that—just don't say you're above chasing your competitors while you are actively engaged in it.
Really cool new app from the folks over at MacRabbit. You name your layers and layer groups with file extensions, drag the .psd into Layer Cake, and BAM. It saves your layers and groups out as their own files.
And per usual with MacRabbit, Layer Cake is visually stunning. The attention to detail is impeccable, and little touches (such as the saving animation) give it a really strong personality. MacRabbit is easily one of my favorite Mac app dev shops.
Instagram is absolutely blowing up.
Really interesting behind-the-scenes look at the design process behind the default profile pictures in Basecamp. It's the time and effort spent on little touches like this that set companies like 37signals apart.
I cannot emphasize enough how happy this makes me. Armor For Sleep has been my favorite band since I was 15.
Every time I'm replying to an email in Gmail's web interface, I always make the same mistake: I click the button on the left.
Why is that a mistake? Well, let's take a look at the other buttons. (Gmail has convenient tooltips to let you know what each button does).
Seems pretty straightforward, right? Each button does something to the email. I want to reply, so—keeping in mind what those buttons have in common—click the button that looks like "reply".
There's a specific term for what Gmail is doing wrong here: it's breaking the user's mental model.
When using an interface, a user constructs their own internal explanation of how the system works. They keep a list in their mind of what actions they can perform, how to perform them and what the consequences will be. That internal explanation is called a mental model. (Wikipedia has a much more comprehensive explanation).
Consider your mental model when driving a car. You expect that when turning the steering wheel clockwise ("right") the car will turn right, whereas when you turn it counterclockwise ("left") the car will turn left. Now consider what might happen if you were driving and the car broke your mental model. You turn the wheel counterclockwise, but the car turns right! At best, you'd be surprised; at worst, grievously injured (or dead).
The consequence of Gmail's misplaced button is less deadly, but the issue is the same. Even more interesting is that being aware of the discrepancy between my mental model and the actual interface does little to mitigate the problem. Even though I know that that button specifically will bring me back to my inbox, my broad categorization of those buttons as "buttons that do things to the message" wins out nine times out of ten. (The tooltip does nothing to help, since I've almost always clicked the button before I have time to read it).
Fortunately, this is a relatively simple user interface problem. I've filed a bug with Google, so with any luck it will strike a chord and the issue will be fixed.
No surprise there.
March 31st is World Backup Day! Back up your computer today, so you're not an April Fool if it crashes tomorrow.
I ride buses a lot. One of the more modern conveniences on buses is onboard Wi-Fi, which can be sluggish if a lot of people are using it but generally makes the trip much more enjoyable. Today, however, on a Greyhound from Philadelphia to New York, I was greeted by an unpleasant surprise.
A big honkin' ad for Greyhound that was definitely not served by Wikipedia, and a nice reminder of how little Greyhound respects me as a customer. This happened on almost every page I visited.
How does this benefit anybody? It certainly doesn't help me—I already know what bus I'm on—but I can't imagine it benefits Greyhound, either. One of the slides on the ad has a little shout-out to 7/11, but is the money they get from that and whatever extra ticket sales they make really worth the goodwill they're burning by doing this?
Unfortunately for Greyhound, not only will I be actively avoiding their buses in the future, but I happen to know a thing or two about computers. With a little inspiration from Daring Fireball, I've blocked their annoying webpage-framing script. I'm not aware of any browser extensions that will make the process easy, but if you feel comfortable editing system files then you'll be okay.
The fix lies in your hosts file. (Wikipedia has a good list of where to find it on various operating systems.) Open up the file, then add the following line at the bottom:
Bam! You may have to restart your browser, but the ad frame will be gone, system-wide, for all iComera Wi-Fi networks. (I've actually created a "Don't Be Evil" section at the bottom of my hosts file specifically for blocking annoying things like this.)
And of course, if you travel or expect to travel on Greyhound, you should pester them on Twitter so that maybe they'll stop this altogether.
Incredibly useful Photoshop extension for dealing with grids. If you do any sort of web, print or UI design, this should definitely be in your toolbox.
Beautiful illustration series by the talented Dan Matutina.
Adobe did something good this week, releasing a new version of its Flash Player software with automatic updating capabilities.
They also did something truly awful—using their update page to push a third-party scareware program designed to separate naïve PC users from their cash.
This would be a pretty despicable thing for anyone to do, but it's especially puzzling to see it coming from Adobe, a company that most computer-savvy users hold in somewhat high regard. I just don't get it. Are they in such dire financial straits that the cash is worth the taint on their name?
Things like this are what happen when you don't respect your users.
At the urging of a certain judgment-casting developer friend, I've signed up for GitHub and created my first repository: skedaddle. Per the description, it's a very (and I mean very) bare bones MVC framework written in PHP.
The framework was originally written for my senior project at Drexel. My group looked at a couple different frameworks, such as CodeIgniter, but to save the time of learning a framework we'd never used before (and because it's supposed to be a learning experience) I set out to write my own. The project served as a testing ground for the framework, and every week I found a tweak or two that would make it just a little bit better.
A general rule of mine is, treat every project as if you were going to productize it. It forces you to keep your code clean and avoid hacks. Even though I had no plans to do anything with the framework beyond simply using it as the foundation for my senior project, it was written as if it were its own product, so it was fairly easy to extract for standalone use.
Right now, all the framework does is allow you to define routes (using regular expressions) that map to model, view and controller files. GET requests run the model and display the view, while POST requests run the model and controller. I'm trying to keep the base framework as minimal as possible, but there are a couple more features planned, such as making GET data available as an associative array, and the ability to include third-party modules.
And welcome, dear reader! Plans for tonight include beginning this weblog with an entirely stereotypical opening paragraph: if you are reading this, you are either a friend, close acquaintance or Twitter follower whose interest was mildly piqued by my prodding to read this collection of my thoughts; or, it is years in the future, and you've heard about the cocaine-filled, stripper-laden parties I regularly attend with my fellow celebrity bloggers and decided to see just why the universe has decided I deserve several million dollars and my very own private jet.
Or, (hopefully) most likely, you're following along as I attempt to eke out a place for myself on the WWW.
This is probably my third or fourth or nineteenth attempt at creating a weblog that I update regularly, but I'm hoping it ends up being the final time due to my immense success and dedication. I finally feel like I have something to say; like I've found myself, clichéd as that may be. Also, on a technical level, I think I've become skilled enough that people might actually care about what I have to say about prototypal inheritance vs. classical inheritance and that sort of thing.
I've long had a checklist of things I wanted to accomplish with my own blog. Some are topical in nature, and some technical. On the content side, I'd like a place to talk in-depth about web design, development and general geekery, alongside less technical subjects like music and politics. The Loop has convinced me that it's possible to combine those audiences and be successful. Hopefully good writing will supersede the decidedly large rift in subject matter.
The technical goals are more specific. There are a lot of things wrong with publications on the web right now, and while I've long been vocal in speaking out against these practices, I never had a platform on which I could walk the walk, so to speak. This is that platform. I believe a website's obligation is first and foremost to its readers, and I've built this website to meet that obligation.
Look around and you'll notice no confusing URLs. No multi-page articles. No SEO. No sharing buttons or any other ridiculous social media features. Why?
Because it's all bullshit.
The sole purpose of multi-page articles is to make readers visit three separate pages instead of one so publications can collect additional ad revenue for each page. SEO is a scam run by people who make money by convincing publications that if they pay them, they can somehow outsmart Google's hundreds of highly paid engineers. And has anyone ever heard of anyone deciding to share something because there was a share button on the page rather than because they liked the content?
Of course not.
Brent Simmons has a more expansive list of these things over at his blog. I agree with every word of that post: publications that don't respect their readers do those things to try to squeeze every dollar they can out of them. They're disrespectful and wrong, and by not committing those crimes here my hope is that I can make the web a slightly better place, and maybe even inspire others to do the same.
And so there you go. The Jake Lazaroff's Weblog Manifesto. If you made it this far and liked what you read feel free to add me to your bookmarks, because there's more where this came from. If not, keep checking back. I just might surprise you.