Archive for ‘technology’ category

Introducing Dribbble

Let the games begin! Rich Thornett and I have been building Dribbble for what seems like years (oh wait, it has been that long). About a week ago, we quietly rolled back the curtain so the public could finally see what’s been happening in private beta. I’m pretty damned excited about this.

Firstly, what is Dribbble? From the FAQ:

Dribbble is show and tell for designers, developers and other creatives. Members share sneak peeks of their work as “shots” — small screenshots of the designs and applications they are working on. It’s also a place to talk design, give and receive feedback and iterate toward better work.

By posing the question, “What are you working on?“, Dribbble creates a 400 × 300 pixel window into the creative process that didn’t exist previously (many of you may remember Cameron Moll’s Screengrab Confab back in 2004, an early inspiration). A place to peek over the shoulder of those creating beautiful things, leaking works-in-progress or teasing with glimpses of unreleased projects. A place to discover new designers, illustrators, developers and other creatively-minded folks to give and receive feedback. And a place to iterate and play off the shots of others. What Rich and I have been actually creating is a community.

We’ve bootstrapped Dribbble 100%, working on it in our free time. I’ve been continuing the writing, speaking, client work, etc. that happens here at SimpleBits, while Rich is a full-time Ruby on Rails Developer at Cambridge-based PatientsLikeMe. I’m proud of what we’ve been able to create between the two of us, while juggling other responsibilities. Working on this with Rich has been one of the most exciting, challenging and enjoyable projects I’ve worked on to date, and I’m feeling very fortunate to have been able to collaborate with him right here in Salem (truly the next big web hub, yeah?)

I also couldn’t be happier with the path we’ve taken with developing Dribbble: a slow one. Building the community one member at time. Worrying about details. Iterating constantly. Listening to feedback. We’ve never been in a rush.

Quality has been one of our main priorities since opening up the beta some 9 months ago. It’s the reason Dribbble is still invitation only. Not because it’s an elite hangout, but that having the community draft new talent keeps the cat photos out (almost) and helps us scale the app as needed.

Much much more to write and talk about going forward. But for now, it’s great to have the court opened up to the public, and we’re looking forward to making the experience even better and growing the community. For now, get in there and check out some of the amazing things that people are working on. It’s truly inspiring.

Tokyo Express

I returned from Tokyo on Monday. I gave a talk at the Web Directions East conference. I’ve never had a simultaneous translation of a presentation before. I hope it went OK. I’ll be forever grateful to John Allsopp, Satoshi Kukichi and the rest of the WDE team for inviting me to speak, being incredibly gracious hosts and generally being awesome people. I’ll never get tired of traveling to faraway places, where (without fail) the quality of people in this industry inspire, impress and humble me. I feel lucky.

I don’t think I’ll travel that distance again without the rest of my family.
I’ll never forget walking through customs after spending the entire Election Day in the air. CNN was on in the airport lobby. ‘Barrack Obama Elected President of the United States’ it said. Twenty seconds later, John McCain started his concession speech. Relief after 14 hours of nail-biting anticipation.

I took a lot of photos. I tried packing as much into a few days as possible. I was amazed by the giganticness of the city. I caught a view of the cityscape at night, at the top of the hotel where Lost in Translation was filmed. They wanted a $20 cover charge, so we left.

I loved that every train station in Tokyo has it’s own unique short little melody (hear them all). I love how this aids accessibility with audio. I’m thinking we need more unique audible melodies for events that happen on the web or desktop. I was also impressed with the grooved sidewalk path found throughout the entire city, which would direct a blind person from station to station, uninterrupted.
I probably didn’t bow enough.

I sang Don’t Stop Believing in a karaoke bar in Shinjuku along with friends old and new. I’ve never sang karaoke before. I had the best doughnut I’ve had in my life in Harajuku, at Tamagotchi Donuts. I was amazed by the depth of the character culture in Japan. It permeates everything and everyone — not just for kids, but a part of general communication throughout the city.

I tried the eel (unagi) and ‘chicken knuckles’, but was less adventurous with the raw horsemeat. I loved the simplicity of the food in Japan. I have a new favorite snack in ‘onigiri‘, a triangle of sushi rice, seaweed, and (in my case) teriyaki-soaked seaweed inside. I’ll have to hunt for those here at home.

I learned two Japanese phrases. I should’ve learned more.

A Few Days with the New MBP

I just bought a new MacBook Pro. I like it. I was stunned at how bright the LED screen is. Then I realized it was only at half brightness. I don’t mind the lack of a button under the trackpad. I pretend there’s still a button under the trackpad. I rest my thumb where the button used to be. I’m OK with that, and it works for me.

I’m impressed with the precision of the casing. I picture dudes in white lab coats with metal instruments in their hands when I look at the tiny micro speaker holes. I don’t remember picturing dudes in white lab coats before (OK maybe with the 1st gen iPhone). I’m surprised that it’s not all that much thinner or lighter than the previous model though.

I like that, when lifting up the lid, the entire machine doesn’t lift off the desk or try and skate away. I like that there’s no latch, but miss an audible click that confirms it’s fully closed. I like that all the inputs are on one side now. I don’t like that it’s the opposite side that I’ve configured my desk for.

I love the glass screen. I’ll still need to plug into a non-glossy screen for any real color work. I’ve been OK with that. I think the speakers are louder than the previous model. I doubt my hearing has improved over the last few days, but if it has, then the speaker volume remains the same as the previous model. I’d be OK with that.

I was shocked how small the box it comes in is. I’m happy that Apple is considering packaging waste now. This reduced packaging lowers the “unboxing excitement” by approximately 4%. I’m OK with that.

I like this new MacBook Pro.

Fluid + Hahlo

The best Twitter interface, in my humble opinion, is (currently) Hahlo: a web application designed for the iPhone that uses the Twitter API to offer an alternative skin for the service. There’s a lot I like about the way Hahlo approached the UI. So much so, that I started missing those features when Twittering from the desktop.

Hahlo iconThat’s where Fluid comes in. I’m certainly late to the game here, but Fluid is a pretty handy little Mac application. It allows you to create Site Specific Browsers for web applications you use. These SSBs are then available as a dock icon or menu bar item, as if they were standalone desktop applications.

Each SSB has its own preferences and User Agent settings, and they’re conveniently untethered from your main browser of choice, able to be command-tabbed to, and unsusceptible to browser crashes caused by other sites. Fluid uses Webkit for its rendering engine, which enables it to work with iPhone web apps.

It rocks in combination with Hahlo, but also for other often-used web apps. Thought I’d mention it here for other potential late-to-the-gamers.
Use Fluid with other apps? Do tell.

Hack’d

I spent yesterday cleaning up some awful link spam that littered several of the domains I own. Some crafty fellow had stuffed hidden links to illegal MP3 sites in the footer of as many index files as they could find. I thought it’d be a good idea to document it in case anyone else runs into the same dilemma. Plus, hey, an excuse to write a multi-paragraph entry. Go me.

I’m not exactly sure _how_ the account was compromised, and I’d hate to point fingers without knowing. Could’ve been either of the two popular blogging software applications that are installed. Or it could’ve been a hack to the server in general. After some digging and some Googling, it turned out someone else had the exact same problem. A hidden directory was including a PHP file that was in turn including a .txt file filled with SEO spam and inserting it by IP address to most of my domains. I quickly deleted these files, but the links were still there.

The baffling part was that when opening any of the compromised files, the links weren’t in the source. Grepp’ing for the spam had it showing up in multiple files, but opening the file to edit showed nothing, leaving me to believe that the links were being dynamically inserted somehow. It took a helpful tech support agent to show me I’d fallen for one of the oldest tricks in the book: the huge block of spam links was just _indented_ a ridiculous amount. I hadn’t noticed the horizontal scrollbar at the bottom of the text editor, and sure enough scrolling over approximately 10,367 pixels to the right, there the spam was.

So after cleaning up 20 or so index files, changing passwords and updating software, all seems well again. If you run into link spam, and the usual fixes don’t help, check your logs for suspicious .txt includes, and beware of the “massive indent”.

Decision or Bug?

I just logged a bug report after doing a little testing with the IE8 Beta. Overall, the progress and standards commitment in the latest effort is fantastic and exciting. Hats off to the Internet Explorer Team.

There’s one lingering decision that appears to have carried over though, and it’s an important one. I say “decision” since, by now, there clearly must be a reason why it’s still there. I’m also reminding myself that this is still a beta release. But the earlier we chime in on things, the better, right?

Here’s what I logged:

As with previous versions of Internet Explorer, the IE8 Beta also fails to resize text using the “Text Size” tool when fonts are sized in pixels. Most would consider this a bug, where the user should be able to trump any size specified by the page author, regardless of the unit specified. I remained boggled as to why this has been a consistent design decision.

It creates an accessibility issue for readers with poor or low vision, while making pixels a less than desirable choice for the page designer. In an ideal world, the designer should be able to specify fonts in any unit he or she desires (px, em, percentage, etc.) while the reader should have ultimate control over the size, using the browser’s controls. IE’s “Text Size” tool would appear to be broken when a reader attempts to adjust fonts on a page where fonts are sized in pixels. Surely confusing.

Thanks for listening, and keep up the excellent progress!

Disagree? I’d love to hear it :)

Dagen H

Inspired by a tweet from Mikipedia, I did a little Googling for “Dagen H”, the day that Sweden reversed its traffic from the left side of the road to the right side, 40 years ago:

On September 3, 1967, at 04.50 in the morning, the traffic everywhere in Sweden was directed over to the right side of the road and stopped. Everything stood absolutely still for 10 minutes, and at 05.00, when it started again, all road users in Sweden from heavy trucks to cyclists were already on the right side of the road, and they have stayed there since.

What’s even more amazing is that there were actually less fatalities and accidents during that September than in previous Septembers (although a possible result of people being more alert just after the switch).

But it could be proof that, even the most rigid and essential standards can be reversed if the warning is long enough and well-organized.

Because coffee can be Foamee, too

Non beer drinkers and caffeine fans rejoice: Foamee now has support for coffee. Just follow @ioucoffee on Twitter and follow the same steps that 1600 beer aficionados have followed over the past few weeks.

Send someone an I.O.U. for coffee like so:

@ioucoffee @twitterscreenname for being an amazing human being.

Then keep track of those I.O.U.s (for beer and coffee!) on your people page (here’s mine). Send beer. Send coffee. Send good vibes to all the interweb’s citizens.

Happy Holidays from your friends at SimpleBits.

Introducing Foamee

I think I’ve just created something that will change the web as we know it. But I’ll write about that another day. Instead, I’m going to talk about a fun new thing I launched last night. Actually, it’s a couple of things.

I owe you a beer.

I say this quite a bit. For friends, family, people that deserve a pat on the back. I also often forget to make good on the promise. Wouldn’t it be cool if there was a way to keep track? And then also keep track of who owed you?

FoameeSo, I decided to build Foamee (hey, there were plenty of abandoned ‘e’s lying around). It’ll keep track of who you owe beers to and vice versa. But don’t worry, this is NASN (not another socical network). Like you, I’m tired of creating another login, another set of friends/contacts, another avatar and more tears. So instead, Foamee piggy-backs on an existing one. As I was tossing ideas around, I realized a lot of the functionality: short messages directed at another person, web/IM/mobile messaging, etc. already existed elsewhere — so why not make things simpler and utilize the indispensable Twitter as a primary interface for the app?

Using Twitter’s API, Foamee will harvest replies and direct messages to create a barnacle-esque utility (props to Josh Porter for coining that) on the already-popular messaging service. If you’re already on Twitter, using Fomee is as easy as following ioubeer, then using specific syntax to announce an I.O.U. Beer to the world. We’ll repost these virtual pats-on-the-back, and also create a people page for anyone that sends a beer. Your people page will show who you owe, and who owes you. The sender or receiver also has the option of “redeeming” an I.O.U. via a direct message to Foamee, completing the deal.

I realize this is a silly (but potentially useful) service. And I’m excited to see where it leads, if anywhere. What it does now is incredibly simple (and there’s a reason for that, partially explained below). It’s also a shameless brand vehicle. How so, you ask?

Foamee Goods

coaster detailRight out of the gate, there are two cool things to buy at the Foamee Store (because two weeks from now, when you’ve long forgotten about this little site, it’d be too late). T-shirts (of course) and I.O.U. Beer Coasters: a pack of six pulpboard coasters shipped in a drawstring cotton bag with a Foamee-branded Mini Sharpie. The coasters have a spot to write your name, perfect for handing out tactile I.O.U.s in person to deserving recipients. They work great in the mail as well. And they are awesome.

Special technical geek notes

Building this little app became a personal challenge. Could I handle the backend as well as the design? Could someone who primarily spends their time worrying about interface solutions roll up their sleeves and create a fully-functional product? And so the process of investigating APIs, databases and frameworks began. It reminded me of the old days, learning HTML (and later CSS) for the first time. Late night experimentation, utter frustration and then those “little victories” that make it all worth it.

Foamee runs on PHP, using the CakePHP framework, which turned out quite well. Cake uses the same model/view/controller setup found in Rails and other frameworks, has a good community and is dead simple to install and move around. I owe Jonathan Snook a beer for blogging about Cake (surely where I heard about it first). My code is likely terrible and other smart folks could probably bang out the same functionality in an afternoon, blindfolded and behind-the-back. But it works, and my familiarity with PHP coupled with my experience with Rails while working with the imitable Dan Benjamin on Cork’d and other projects (I owe him several beers as well) made baking with Cake tolerable for a noob like me.

Foamee is hosted by the fine folks at Media Temple, and I owe them a beer (or twelve) for that.

The motivator here was fun. Fun to build, fun to create for, and (hopefully) fun to use. I’m hoping fun continues to motivate around here — for Foamee and for whatever else cures the constant desire to create. Special thanks to Biz Stone at Twitter for helping tap the keg last night.

A Type In the Right Direction?

We hear news that Webkit now supports the @font-face CSS property, enabling the designer to specify downloadable fonts in their web pages. I can remember getting excited about this back in June after hearing Håkon Lie talk about it during @media London (check out Richard Rutter’s thoughts on this as well). Legal and security issues will prevent us from using most fonts of course, but I like to focus on the positive here. There are some perfectly useable, free fonts out there — and more choice is better than little or no choice, right?

I wholehartedly agree with Jon Hicks, who writes:

Personally, I’m just happy that we’re reaching a point where we’re having this conversation!

Right! What’s important, I think, is that this helps move things along. Perhaps it will stoke the fire in terms of a real conversation between type foundries and browsers on how things could work while protecting the font maker. Then again, maybe it won’t.

Stephen Coles at Typographica writes something I’d like to counterpoint:

In general, web designers aren’t typographers. Their specialty is in the realms of interface, hierarchy, and navigation. Their training does not include making decisions about what typeface to use for long passages of text.

While this certainly could be true for many, it doesn’t mean that web designers can’t become good typographers — especially when given the chance with more of a variety of typefaces to work with. The worry that all web pages will be suddently ruined with crappy free fonts everywhere overshadows the fact that some good can come out of the ability to at least have a choice to use those crappy (and/or potential useful) fonts. Give us all a chance, eh?

For instance, and maybe this is fresh on my mind after releasing a *cough* icon-based pixel font *cough* just days ago, but imagine using a downloadble dingbat font for displaying icons instead of GIF or JPEG images. Suddenly text and icons become truly scalable together. Just a small example — but one I’d love to experiment with.