Great idea! Google *should* open their index!

July 15, 2010 Don MacAskill 12 comments
Raised bridge on the Chicago River by Art Hill

Raised bridge on the Chicago River by Art Hill

tl;dr: Serving dozens (hundreds?) of crawlers is expensive. We could use an open index. Google’s?

Just read Tom Foremski’s Google Exec Says It’s A Good Idea: Open The Index And Speed Up The Internet article. And I have to say, it’s a great idea!

I don’t have hard numbers handy, but I would estimate close to 50% of our web server CPU resources (and related data access layers) go to serving crawler robots. Stop and think about that for a minute. SmugMug is a Top 300 website with tens of millions of visitors, more than half a billion page views, and billions of HTTP / AJAX requests (we’re very dynamic) each month. As measured by both Google and Alexa, we’re extremely fast (faster than 84% of sites) despite being very media heavy. We invest heavily in performance.

And maybe 50% of that is wasted on crawler robots. We have billions of ‘unique’ URLs since we have galleries, timelines, keywords, feeds, etc. Tons of ways to slice and dice our data. Every second of every day, we’re being crawled by Google, Yahoo, Microsoft, etc. And those are the well-behaved robots. The startups who think nothing of just hammering us with crazy requests all day long are even worse. And if you think about it, the robots are much harder to optimize for – they’re crawling the long tail, which totally annihilates your caching layers. Humans are much easier to predict and optimize for.

Worst part about the whole thing, though? We’re serving the exact same data to Google. And to Yahoo. And to Microsoft. And to Billy Bob’s Startup. You get the idea. For every new crawler, our costs go up.

We spend significant effort attempting to serve the robots quickly and well, but the duplicated effort is getting pretty insane. I wouldn’t be surprised if that was part of the reason Facebook revised their robots.txt policy, and I wouldn’t be surprised to see us do something similar in the near future, which would allow us to devote our resources to the crawlers that really matter.

Anyway, if a vote were held to decide whether the world needs an open-to-all index, rather than all this duplicated crawling, I’d vote YES! And SmugMug would get even faster than it is today.

On a totally separate, but sorta related issue, Google shouldn’t have to do anything at all to their algorithms. Danny Sullivan has some absolutely brilliant satire on that subject.

I owe Apple an apology

July 9, 2010 Don MacAskill 3 comments

In my last post, I wrote that Apple wasn’t giving App developers access to the high quality 720p video recordings from your Library on iPhone 4.

I was wrong.

The documentation wasn’t clear and we made a bad assumption. And talking to other developers, they all concurred that they couldn’t get access to the high-quality Library videos, either. For years, Apple didn’t let developers get access to the full resolution photos from your Library, which they now permit, so we assumed that’s what was going on here, too. Thank goodness we were wrong.

Sorry Apple!

Go grab the latest SmugShot and enjoy blur-free videos. :)

Upload iPhone 4 HD Video over the air!

July 1, 2010 Don MacAskill 7 comments

Seems to be quite a bit of noise online about how you can’t upload HD video from your awesome new iPhone 4 over the air.  Even Steve Jobs has weighed in.

I have good news – you can do it today.  Easily.  Just install SmugShot, sign up for a free trial of SmugMug (you’ll get a nice discount if you signup through SmugShot), and upload HD video to your heart’s content.  You’ll need a Power or Pro account, but can use either free for 14 days.

Go wild!

One caveat:  Apple doesn’t let us get access to the high res videos from your Library.  So you’ll need to film your HD movies using SmugShot.  We’re hoping this gets fixed – all versions of iOS prior to 4 didn’t let you get access to high-res photos via your Library either, but they fixed that in iOS 4.  I’m assuming they’ll do the same for video at some point (and Steve seems to imply it, too). This is fixed in the latest version, and was our fault, not Apple’s!

(For existing SmugMug family members, yes, this means Power Users can now upload 1080p HD video to their accounts.  As always, we’re listening.)

MySQL 5.5.4 looks awesome.

April 15, 2010 Don MacAskill 8 comments

Been at the MySQL conference the last few days, and I have to say, I’m really blown away by MySQL 5.5.4‘s improvements.  Last year I keynoted and I begged Oracle on stage to realize that MySQL and InnoDB under one roof represented opportunity.  It’s clear they heard the community – this is some serious progress, and right when we needed it.

Jeremy Zawodny’s blog post covers most of the stuff I’m really excited about, and there are some great detailed technical slides here and here, but I wanted to go into a little more detail on one important improvment:  We’ve been plagued by MySQL’s undo slot limits for an awfully long time.  Basically, you could have 512 INSERT transactions and 512 UPDATE transactions running at once, for a grand total of 1024.  If you use INSERT … ON DUPLICATE KEY UPDATE, though, it takes two of those spots, meaning you get 512 concurrent transactions.  On modern hardware, it’s trivially easy to hit this limit.

I’ve had an Enterprise support ticket open for years on the issue, there’s been a MySQL bug for a long time, and there was basically no movement.  In fact, I’d gotten so frustrated about this issue, I’d basically decided this year was our last year of Enterprise MySQL support.  It was one of the sole reasons we paid for support for the last few years – the promise that a fix was just around the corner.  I felt good about voting with my dollars, and contributing back to a core technology we depend on, but enough was enough.

Lo and behold, it’s fixed!  You can now have a whopping 128K transactions in flight.  Best of all, it’s far more performant than it used to be!  And craziest of all?  If you run 5.5.4 on a database, then roll back to some older release, the change still takes effect.  Backwards bug and performance fixing – that’s a new one on me.

THANK YOU ORACLE!

Shameless plug – we’re hiring. And it’s a blast.

Categories: MySQL, datacenter Tags: , , , ,

My MySQL keynote slides and video

April 15, 2010 Don MacAskill 4 comments

Been asked a few times in the last few days about where my slides are from my MySQL keynote from *last* year.

Ooops.

Um, yeah.  Sorry about that.  Here’s a link to ‘The SmugMug Tale’ slides, and you can watch the video below:

Sorry for the extreme lag.  I suck.

The important highlights go something like this:

  • Use transactional replication.  Without it, you’re dead in the water. You have no idea where a crashed slave was.
  • Use a filesystem that lets you do snapshots.  Easily the best way to do backups, spin up new slaves, etc. I love ZFS.  You’ll need transactional replication to really make this painless.
  • Use SSDs if you can. We can’t afford to be fully deployed on SSDs (terabytes are expensive), but putting them in the write path to lower latency is awesome.  The read path might help, too, depending on how much caching you’re already doing.  Love hybrid storage pools.
  • Use Fishworks (aka Open Storage) if you can.  The analytics are unbeatable, plus you get SSDs, snapshots, ZFS, and tons of other goodies.
  • Use transactional replication. This is so important I’m repeating it.  Patch it into MySQL (Google, Facebook, and Percona have patches) or use XtraDB if you use replication.  We use the Percona patch.

Holler in the comments if something in the presentation isn’t clear, I’ll answer.  Apologies again.

Shameless plug - we’re hiring. And it’s a blast.

Apple’s new policy is good for you, me, and the web

April 14, 2010 Don MacAskill 57 comments

I like both Adobe (Lightroom rocks!) and Apple (iPad rocks!), but I’ve been asked over and over again what I think about Apple’s new 3.3.1 policy. You know, the one that basically bans cross-platform development frameworks. And, in particular, basically nails the Flash coffin shut on iPhone/iPod/iPad. So, what do I think?

I love it.

And I’m surprised more developers, end users, business leaders, and general web standards lovers everywhere aren’t posting about how great this is.

It’s good for end users.

The App Store already has a signal-to-noise problem. With hundreds of thousands of apps, finding the good stuff is tough. Bear in mind that every single one of those Apps was built by someone intentionally designing for these devices – and we’ve still got plenty of junk in amongst the gems. Now imagine a bunch of developers just cross-publishing to lots of devices – ignoring all of the strengths of each of those devices. The signal to noise ratio gets worse, fast. Ugh.

It’s good for the web.

For me, this one is the biggie. These devices are a dual-platform: iPhone SDK and HTML. Don’t like the iPhone SDK? Build for HTML. And finally, finally, someone has stepped up and done something about the de-facto Flash monopoly. Flash has helped the web and HTML standards to stagnate. It’s sorta like a drug. It’s whizzy and slick, granted. But it’s a nightmare, too. Flash crashes constantly. Its performance is terrible (when a 1Ghz mobile processor in the iPad plays video more smoothly than Flash on a 16-core Mac Pro with a hefty GPU, that’s a problem). And it smashes through web paradigms left and right. Why? Because there’s no competition.

Look at the browser world, on the other hand. With Microsoft, Mozilla, Google, and Apple duking it out, we’re seeing a breathtaking pace of innovation. Browser stability and performance is improving at an astonishing rate. There’s no reason Flash shouldn’t be super-stable and fast by now – but it isn’t. It’s like the Internet Explorer doldrums all over again – Flash is holding us back, just like IE used to. I’d rather be building for something with a scary fast pace of innovation than something stale.

The iPad is already spurring HTML5 adoption even faster than before. Witness all the video and games sites that are already scrambling to announce and ship their HTML5 interfaces. Bring it on!

I want to build for the web, not for Flash.

It’s good for developers.

And by that, I mean “good developers.”

Good developers are language agnostic. They’ll write in whatever language is worth the effort.

Good developers love great toolsets and great platforms. The iPhone SDK is amazing.

Good developers want their creations to be perfectly tuned to their purpose. The iPhone/iPod/iPad interfaces demand and deserve lots of individual attention, not to be marginalized by some middleware cross-platform publisher.

Good developers want their products found and used. The App Store signal-to-noise issue is a daunting one – more shovelware won’t help.

Good developers want a stable community, with lots of advice, sample code, libraries, etc. A fragmented development landscape prohibits that – a unified one encourages it.

I could go on – you get the point. Best of all? It weeds out poor developers. And if the iPhone SDK and HTML5 aren’t your thing – go build somewhere else. I’m sure there’ll be another computing revolution in a decade or two that you can ignore yet again. :)

(and if you’re a good developer – we’re hiring and we’re having more fun than you can possibly imagine)

It’s good for Apple.

They get better apps. Happier end users. More productive good developers. Fewer bad developers. And, of course, they make more money. They did invent the software, devices, and App Store, afterall. Why should they marginalize themselves out of their own business?

It’s even good for Adobe

Granted, not quite as good for Adobe as having Flash on these devices. :) But lets not forget that Adobe has a stable of great applications, like Illustrator and Photoshop, which aid iPhone development. Their sales will still boom.

Finally, Adobe is incentivized, finally, to actually improve Flash. I’ll bet if Adobe actually made Flash stable, fast, and power efficient, it could get added to the iPhone for use in-browser. It’s not like Apple enjoys seeing half rendered web pages in their browser – they just enjoy customer complaints about crashing and poor performance less. Believe me – I know all about customer complaints due to poor Flash behavior.

But that window of opportunity is closing – the owners of those web pages don’t enjoy their stuff being half-rendered either. They’ll rush to fix that problem – without Flash – if Adobe doesn’t fix it for them.

So there you have it. Thanks, Apple, for doing what’s best for the web, your customers, and developers like me. The future is bright. Long live web standards!

(this post written on an iPad in WordPress’ excellent app)

UPDATE #1:

I understand many disagree, and have their own reasons. Go write for Android, another great platform that’s more open.  Maybe if you do, Android will ‘win’.  I think you’re confusing platform choice and development choice here.  Personally, I’d love to have more platform choice.  Who wouldn’t?  But Apple did invent this thing.  They certainly deserve to make whatever decisions they want about it.  If you’re right, and I’m wrong, those decisions will kill the platform.    I happen to think I’m right, and I happen to think Flash needs to seriously improve – and the Apple’s the only way that’s gonna happen.

Note that I don’t have an opinion on things like MonoTouch, which I know nothing about.  It could very well be that Apple painted with too wide of a brush here and excluded some things that should really be included.  I just don’t know.  I do know, though, that history has shown that cross-platform languages and frameworks have an abysmal success rate.  The last thing we need is watered down apps built for the lowest common denominator.

Finally, yes, SmugMug uses Flash.  I’m sure we’ll continue to use it.  Like I said, it’s slick and whizzy and like a drug.  We used it because it was the only tool for the job.  Adobe did a great thing with their h.264 support, and we love our Flash apps – when they work.  But it’s been awfully frustrating to watch Flash continue to crash and perform poorly for our customers, especially because Adobe doesn’t seem to care.  They certainly don’t respond to us when we ask for help, and they certainly haven’t fixed their issues with multiple releases.  I’m hopeful that this sudden pressure and increased competition will cause them to bring Flash up to the level of their other superb products like Lightroom.  If not, you’ll certainly see us move away from Flash as HTML5 support and performance continues to improve, just like everyone else on the web.  We can play Quake II in HTML5, for heaven’s sake!

UPDATE #2:

Steve Jobs on Adobe.  Amen, brother.

Categories: apple, iphone Tags: , , , , , ,

We’re giving away an iPad – just for an idea!

March 26, 2010 Don MacAskill Comments off

Go read over on Baldy’s (my father and SmugMug’s co-founder) blog for the details.  Leave a comment there and who knows?  You might have an iPad headed your way.  :)

Categories: Uncategorized

Happy 8th Birthday SmugMug!

February 28, 2010 Don MacAskill 9 comments

We have at least four birthdays here at SmugMug.  I started working on the first lines of code for the project, which was decidedly not a photo-sharing site at the time, in October of 2001.  Then in August of 2002, we decided to shift gears and build a photo-sharing site “as a side business.”  Finally, we launched SmugMug and signed up our first paying customers in November of 2002.

But as far as the government is concerned, February 27th, 2002, is the day we were born.  It’s our official incorporation date and probably marks the day I finally wore my father’s resolve down enough that he agreed to come on board.  :)  (Which, incidentally, is also the best decision I’ve made running this company).

So Happy Birthday SmugMug!  You’re 8!

Here’s to many more profitable, independent, customer- and employee-focused years!

Categories: Uncategorized

Moving blog, using redirects

February 25, 2010 Don MacAskill 8 comments

(This post was written at my old location.  You’re now reading it at the new location. :) )

I’m in the process of moving my blog to hosted WordPress at WordPress.com. Much as I loved the flexibility of hosting my own blog (and the rest of the company), the upkeep required just isn’t worth the extra flexibility. So my customization will go away, which is sad, but I should have to spend less time managing all the blogs at SmugMug. Which might mean I actually blog more often again. :)

Here’s the new URL in ‘beta’ form: http://don.blogs.smugmug.com/

I should have redirects up shortly, so everything should work fine, but if your feed reader breaks or something, now you know why. :) Apologies in advance for any hiccups…

And, of course, I write more on Twitter now than I do on my blog. Follow me there if you want quickie goodies. Finally, I have a Facebook fan page up too. Feels bizarre to have a fan page, but there doesn’t seem to be a way to use Facebook how I want (only close friends as ‘Friends’, other people ‘Following’) without it, so here it is. My normal Facebook page is marked Everyone for my Wall and Comments, too, so you can feel free to check in there, but I’m just not equipped to Friend the hundreds/thousands of you who ask. Sorry. :(

I promise to seriously make an effort to blog more of the long-form technical stuff here – I have a number of requests for topics, chief among them being more Amazon Cloud stuff, more Sun Storage stuff, and more MySQL stuff. I’ll get to it at the new location – so see you there!

Categories: Uncategorized

Windows 7 party with seven 7×7 In-N-Out burgers

October 22, 2009 Don MacAskill 22 comments
SmugMug's Craig Meakin downs a 7x7 for Windows 7

SmugMug’s Craig Meakin downs a 7×7 for Windows 7 by Chris MacAskill

First, let me preface this by saying this is a great way to kill yourself, and that I rarely eat meat or cheese, let alone 7 patties and 7 slices.  Please go read this book and this one if you’d like to know how I stay skinny, healthy, cancer- and heart-disease free.  Except when Windows 7 isn’t driving our company mentally insane.

So our Windows 7 copies arrived today, and some moron (my brother) decided that SmugMug needed to have a Windows 7 launch party like everyone else in the world.  Except unlike everyone else in the world, we needed to eat 7x7s at In-N-Out Burger.  (Yes, that’s 7 beef patties and 7 slices of cheese on each burger).  And we needed 7 of them, which meant seven Smuggies.

So with the Birthday Boy (a copy of Windows 7) in hand, off we went to In-N-Out.  Dude taking our order explained they no longer make 7x7s (we’ve ordered larger in the past, I’ve seen photos of 100x100s), and that 4x4s were as large as they could go.  We begged and pleaded, then called In-N-Out corporate HQ for special dispensation.  No such luck – 4x4s are the max from on-high.

SmugMug builds their own 7x7 burgers at In-N-Out

SmugMug builds their own 7×7 burgers at In-N-Out by Chris MacAskill

That’s ok, we can do math.  7 4x4s + 7 3x3s, plus a little manual dexterity, and we had accomplished our unholy feat:  Windows 7 with seven 7×7 burgers.  Better yet, 5 of us actually managed to eat the whole thing. (I even ate all 4 buns, alone among our triumphant victors).

Seven SmugMugs eat seven 7x7 burgers at In-N-Out for Windows 7

Seven SmugMugs eat seven 7×7 burgers at In-N-Out for Windows 7 by Chris MacAskill

Whew.

The seven 7x7s race is on!

The seven 7x7s race is on! by Chris MacAskill

Welcome to the world, Windows 7!

SmugMug's Craig Meakin is in it to win it!

SmugMug’s Craig Meakin is in it to win it! by Chris MacAskill

Now, O Wondrous Wizard of Windows, can you please tell Internet Explorer 8 to get with the program?  It *really* needs a speed boost, support for rounded corners plus gradients, and by all means, JPEG/GIF/PNG favicons!  Thanks!

See all the SmugMug Windows 7 party photos.