Open Sourcing Resolutions

Every year I make resolutions. Some years I do them. This year I want to try something different and open source them by opening it up to you guys. Here’s how we’ll try it: leave a comment with what you think my resolution(s) should be for 2009. I’ll pick the best ones, and if you’re the first to propose one I pick I’ll credit you in the follow-up post. I’ll print out the winning resolutions and put them on my desk for the year, so hopefully they’ll have a lasting effect. Remember, measurable things are better!

How To Create A Favicon

I’m going to make a confession: I can’t stand favicons. To clarify, I love the idea and the little icons on my Mozilla tabs are nifty, but I hate having to make them. This is partially due to working within the constraints of 16 by 16 pixels, but more so that until now I haven’t found a good way to generate said icons on Windows. I was jealous as a whip (can a whip be jealous?) when Noel posted instructions detailing how to do it on a Mac. For aforementioned reasons they weren’t applicable to me, so I set out to find a clean way to do this on Windows without spending any moolah.

At this point someone is probably wondering what in the world a favicon is. As far as I know, it’s not a standard of any kind (and if it was it’d be a badly implemented one) but it’s a widely supported feature in modern browsers that allows a site to specify a small graphic or icon to go next to its address in the address bar and theoretically as the icon for the page when it is bookmarked as well. (Some examples of favicons.) I believe Internet Explorer was the first to implement this. Due to popular demand there is a new photomatt.net favicon (you may need to reload that link directly to see it). To see it in Internet Explorer, bookmark this site (which you should do anyway). In Mozilla and its progeny you should see it just fine automatically, and possibly in Safari though I don’t have that handy to test. To see it in IE for Mac you need to sacrifice an Intel CPU and do a favicon dance. Actually I’m not sure why IE5/Mac has trouble with some favicons, at some point in the past I tracked it down to MIME issues, but it’s not really worth the effort anymore.

Another good reason to have a favicon.ico in the root of your site is some browsers request that file whether it is linked in your HTML or not, so if there’s nothing there it fills up your error logs. Since I watch error logs pretty closely this has always been an annoyance for me.

So what’s the trick to creating lightweight multi-size favicons? I used to use the online java tool the folks at favicon.com offered, but now they seem more concerned with making money than providing free tools. More recently I’ve used Icon Forge which I can easily say is one of the most awful programs I have ever used in my life. Truly horrid. I wouldn’t recommend anyone do that, so here’s the process I came up with. (Any excuse to use a nested list.)

  1. Download png2ico, which is a small, free utility for Windows, Linux, et cetera that works quite well. Extract it to c:/.
  2. Create an image you’d like to use at a decent size (at least 32×32 pixels) in your favorite image editor. I like Photoshop so here’s what I did there:
    1. Ctrl + N to start a new document. Choose 32×32 pixels for the size. Cram whatever you want to use in there, I choose a comic Josh did of me a while ago.
    2. Do a Save for Web (Ctrl + Alt + Shift + S) and save it as a PNG with the filename icon-32.png to the same folder as the program you just downloaded (to keep things simple). If you want to keep the size down I would recommend taking it down to 16 colors. Don’t forget transparency if you need it.
    3. Now go back and resize the image you’re working on to 16×16 pixels (Tools → Image Size [is there a shortcut for that?])
    4. Save this image as a PNG with the filename icon-16.png in the same directory as the above.
  3. Now it gets a little tricky, open up the command line. Try Start → Programs → Accessories → Command Prompt.
  4. Navigate to the folder where the png2ico.exe file is, if you followed the directions above you can use the command cd \png2ico.
  5. Now you just have to enter a command to roll those two PNG files you made into one nice ICO file. Here you go: png2ico.exe favicon.ico --colors 16 icon-32.png icon-16.png . You may be able to use command line completion (pressing a letter or two and then tab) to fill some of that in for you. You could potentially embed 64×64 and 128×128 pixel sizes into the icon file by just specifying additional PNGs of that size, but for a web favicon that really isn’t needed. Just remember this if you ever want to make a nice application icon. For an applicatoin icon you’d probably want to use a PNG-24 with full alpha transparency, which this tool supports as well.
  6. Now there should be an favicon.ico file in that same folder which you should upload to the root of your site and then link to it with something like <link rel="shortcut icon" type="image/ico" href="/favicon.ico" />
  7. Have a drink.

Now I know that sounds like a tricky process, but it’s actually not as hard as it may read and of course if you have any problems leave a comment and I’ll try to help you. There is supposedly a graphical front-end for using png2ico but it was so badly designed it’s actually easier to use the command line, as unlikely as that seems.

Update: Ian has found my favicon twin. Where have you been all my life?

Update 2: Oskar van Rijswijk recommends IrfanView in the comments. You might want to give that a try too.

iPhone Disappointment

The process of buying the Apple iPhone was pretty easy. Glenda and I walked into a store in Daly City at about 8:30 PM and each ordered one, and walked out. No lines. The device is physically much more elegant and smaller than I expected, and the iTunes-integrated signup process was fairly smooth. However, it’s been hours now and still no activation, which means I have a very expensive paperweight, which is worse than not having it at all. Update: Approximately 16 hours after my inital setup, I now have a working phone. I was contemplating taking it back, but I’m glad I didn’t.

IE6 Independence?

Hot off the news that 37signals is removing support for IE6 in their products I thought it would be interesting to look at the stats from WordPress.com as an update to my previous post just under a year ago. Is it reasonable to drop support for IE6 in a mainstream app?

These stats cover Jan 1 – Jun 30: 787 million “absolute unique” visitors, 1.6 billion visits, and 3.3 billion pageviews. I feel these numbers are large enough and WordPress.com-hosted blogs diverse enough to be fairly representative. All the numbers come from Google Analytics. In parentheses I’ve put the delta from the last time I blogged these stats.

  1. 59.41% – Internet Explorer (down 3.05%), sub-breakdown:
    1. 53.42% – Version 7.0 (up 18.25%)
    2. 46.28% – Version 6.0 (down 17.82%)
    3. 0.14% – Version 5.5 (down 0.14%)
  2. 32.82% – Firefox (up 2.08%)
  3. 4.81% – Safari (up 0.98%)
  4. 2.04% – Opera (up 0.26%)
  5. 0.41% – Mozilla (down 0.11%)

The operating system breakdown:

  1. 89.41% – Windows (down 0.95%)
  2. 7.86% – Macintosh (up 1.13%)
  3. 1.82% – Linux (down 0.37%)
  4. 0.17% – iPhone (out of nowhere!)
  5. 0.10% – PlayStation Portable (up 0.07%)

So as you can see, IE6 users account for about 27% of all the visits we saw. If I were building something for “the internet” IE6 compatibility would still very much be on my radar. Everyone’s users or customers are different, and if I saw IE6 falling below 10% on one of my sites I’d probably very seriously consider what 37signals is doing.

The good news is most trends are going in the right direction: strong growth of Firefox, IE7, and Macintosh, and the iPhone came out of nowhere to generate 2.6 million visits (and another 1.1 million from the iTouch).

Happy July 4th!

Twenty-seven

Today is a fun day — 2011-1-11 (not 1:11 PM anymore, I’m a slow writer) and I’m turning 27. This is the time of the year I always look back, and from last year’s resolutions I actually did pretty well. I was able to simplify a number of areas of my life, including reducing the number of computers running in my place. I bought my first apartment and remodeled it. I slowed down my eating by chewing more, a vignette that made Tim’s new Four Hour Body book. Redesigned this site. I didn’t bike at all, but walked a ton. I started exercising with a kettlebell over the summer and was pretty consistent about it until last month, with some noticeable improvements in strength and energy. Got all the old photo galleries imported going all the way to 2002.

I petered out on Farscape, and didn’t display my photography anywhere in print, so a wash there. I spent a week in the woods with Beau at Tracker camp. I joined the board of the non-profit Grist, and was able to expand charitable donations to cover more organizations than previously, including Charity: WaterFSFApacheArchive.orgSamasourceEFF, and GAFFTA. I had a tweet go viral and end up on Time and CBS (I still need to blog about that), and a blog post about shipping go viral and get over a hundred thousand visitors. (With an interesting traffic pattern too — lots of Twitter and Facebook like you would expect, but 92% of the traffic from the long tail or blogs like Daring Fireball.)

Speaking of launches, was lucky to hit all the big ones I had planned in the beginning of the year in that abbreviation-coded list: VaultPress, new Akismet, mobile WordPress apps for every platform, Ma.tt themesAudrey Capital, WordPress Foundation. Also hired 28 new Automatticians, added 7.2 million blogs to WP.com, and had 38 million downloads from WordPress.org.

This year, along lines of simplifying, I have six main goals:

  • Increase the release frequency of core WordPress, I think we can hit our goal of three major releases this year. (Only did one last year — 3.0.)
  • Keep reading the New Yorker every week, and hopefully work in a few more books every month.
  • Launch a new jazz-related site I’ve been working on sporadically.
  • Finally upload my un-uploaded photos for 2005-2010.
  • Keep exercising regularly. (The first time I have a health-related resolution, if you believe it!)
  • Launch secret new thing, code abbreviation JP. 🙂

It’s not a resolution, but I think I’m going to spend a lot more time in Houston in 2011. As for some other stats: 208 posts here on ma.tt (up Y/Y for first time since 2007), 535 posts on my moblog, 4,456 comments, and posted 2,432 photos. The top five posts were 1.0 Is the Loneliest NumberWildcard DNS and Sub DomainsThe Headers of Twenty TenChange OS X Computer Name, and Sonos vs Squeezebox, but most of the traffic was to the home page. My top emailers were Toni, Rose, Paul, my Mom, and Raanan with 3,028 emails between them. I sent 10,813 emails to about 2,228 people.

According to TripIt, which I love and use constantly, I was on the road 227 days out of the year, traveling 122,066 miles across 59 cities and 17 countries.

27 is a really awkward age — I’m not young anymore but still before the looming 30. It’s inbetween. That said, I think 2011 is going to be a year where a lot of things come together and a lot of the foundations laid down in 2010 (and when I was 26) come to fruition.

This is the ninth year I’ve blogged my birthday: 19202122 (this one is funny), 2324, 25, and 26.

A few super-hip folks (Automattic, Wall Street Journal, and HostGator) are hosting a WordPress party with open bar and all-you-can-eat BBQ on Friday night at SxSW (deets here) but it’s invite only and there’ll be a list at the door. (We can only feed so many people!) However I have 15 spaces to give away to Ma.tt readers, which will go to the first 15 people to comment with a link to an image of the WP logo in a cool place (Photoshop allowed) and your WP-powered blog.

Not the ship of Theseus

WordPress 5.0: A Gutenberg FAQ

Update: On December 6th we released WordPress 5.0. It was definitely the most controversial release in a while, but the usage and adoption metrics are looking similar to previous releases. I’m looking forward to continuing to iterate on the new block editor!

We are nearing the release date for WordPress 5.0 and Gutenberg, one of the most important and exciting projects I’ve worked on in my 15 years with this community.

I knew we would be taking a big leap. But it’s a leap we need to take, and I think the end result is going to open up many new opportunities for everyone in the ecosystem, and for those being introduced to WordPress for the first time. It brings us closer to our mission of democratizing publishing for everyone.

I recently visited WordCamp Portland to talk about Gutenberg and WordPress 5.0, which will also include the new default theme Twenty Nineteen, which you’re seeing me test out on this very site. There were some great questions and testimonials about Gutenberg, so I’d urge you to watch the full video and read the WP Tavern recap. I’ve also visited meetups, responded to review threads, kept an eye on support, and I’m in the middle of office hours with the core community.

As we head toward the release date and WordCamp US, I’ve put many questions and answers into a Gutenberg FAQ below. For those who have other questions, I will be checking the comments here.

It’s an exciting time, and I’m thrilled to be working with y’all on this project.

Not the ship of Theseus

What is Gutenberg?

Gutenberg, for those who aren’t actively following along, is a brand new Editor for WordPress — contributors have been working on it since January 2017 and it’s one of the most significant changes to WordPress in years. It’s built on the idea of using “blocks” to write and design posts and pages.

This will serve as the foundation for future improvements to WordPress, including blocks as a way not just to design posts and pages, but also entire sites.

The overall goal is to simplify the first-time user experience of WordPress — for those who are writing, editing, publishing, and designing web pages. The editing experience is intended to give users a better visual representation of what their post or page will look like when they hit publish. As I wrote in my post last year, “Users will finally be able to build the sites they see in their imaginations.”

Matías Ventura, team lead for Gutenberg, wrote an excellent post about the vision for Gutenberg, saying, “It’s an attempt to improve how users interact with their content in a fundamentally visual way, while at the same time giving developers the tools to create more fulfilling experiences for the people they are helping.”

Why do we need Gutenberg at all?

For many of us already in the WordPress community, it can be easy to forget the learning curve that exists for people being introduced to WordPress for the first time. Customizing themes, adding shortcodes, editing widgets and menus — there’s an entire language that one must learn behind the scenes in order to make a site or a post look like you want it to look.

Over the past several years, JavaScript-based applications have created opportunities to simplify the user experience in consumer apps and software. Users’ expectations have changed, and the bar has been raised for simplicity. It is my deep belief that WordPress must evolve to improve and simplify its own user experience for first-time users.

Why blocks?

The idea with blocks was to create a new common language across WordPress, a new way to connect users to plugins, and replace a number of older content types — things like shortcodes and widgets — that one had to be well-versed in the idiosyncrasies of WordPress to understand.

The block paradigm is not a new one — in fact many great plugins have already shown the promise of blocks with page design in WordPress. Elementor, one of the pioneers in this space, has now introduced a new collection of Gutenberg blocks to showcase what’s possible:

Why change the Editor?

The Editor is where most of the action happens in WordPress’s daily use, and it was a place where we could polish and perfect the block experience in a contained environment.

Additionally, the classic Editor was built primarily for text — articles have become increasingly multimedia, with social media embeds, maps, contact forms, photo collages, videos, and GIFs. It was time for a design paradigm that allowed us to move past the messy patchwork of shortcodes and text.

The Editor is just the start. In upcoming phases blocks will become a fundamental part of entire site templates and designs. It’s currently a struggle to use the Customizer and figure out how to edit sections like menus, headers, and footers. With blocks, people will be able to edit and manipulate everything on their site without having to understand where WordPress hides everything behind the scenes.

What does Automattic get out of this?

There have been posts recently asking questions about Automattic’s involvement in Gutenberg compared to other contributors and companies. There is no secret conspiracy here — as project lead I was able to enlist the help of dozens of my colleagues to contribute to this project, and I knew that a project of this size would require it. Automattic aims to have 5% of its people dedicated to WordPress community projects, which at its current size would be about 42 people full-time. The company is a bit behind that now (~35 full-time), and the company is growing a lot next year, so look for 10-15 additional people working on core and community projects. 

In the end, Gutenberg is similar to many other open source projects — Automattic will benefit from it, but so will everyone else in the WordPress community (and even the Drupal community). It’s available for everyone under the GPL. If the goal was purely to benefit Automattic it would have been faster, easier, and created an advantage for Automattic to have Gutenberg just on WP.com. That wasn’t, and isn’t, the point.

Is Gutenberg ready?

Absolutely. Our original goal with Gutenberg was to get it on 100,000 sites to begin testing — it’s now already on more than 1 million sites, and it’s the fastest-growing plugin in WordPress history. There is a lot of user demand.

The goal was to both test Gutenberg on as many sites as possible before the 5.0 release, and also to encourage plugin developers to make sure their plugins and services will be ready. With everyone pitching in, we can make this the most anti-climactic release in WordPress history.  

In the recent debate over Gutenberg readiness, I think it’s important to understand the difference between Gutenberg being ready code-wise (it is now), and whether the entire community is ready for Gutenberg.

It will take some time — we’ve had 15 years to polish and perfect core, after all — but the global WordPress community has some of the world’s most talented contributors and we can make it as good as we want to make it.

There is also a new opportunity to dramatically expand the WordPress contributor community to include more designers and JavaScript engineers. With JavaScript apps there are also new opportunities for designing documentation and support right on the page, so that help arrives right where you need it.

Someone described Gutenberg to me as “WordPress in 3D.” I like the sound of that. Blocks are like layers you can zoom in and out of. The question now is: What are we going to build with this new dimension?

Do I have to switch to Gutenberg when WordPress 5.0 is released?

Not at all. When it’s released, you get to choose what happens. You can install the Classic Editor plugin today and when 5.0 is released, nothing will change. We’ve commited to supporting and updating Classic Editor until 2022. If you’d like to install Gutenberg early, you can do that now too. The Classic Editor plugin has been available for 13 months now, and Gutenberg has been available for 18 months. Both have been heavily promoted since August 2018, and more than 1.3 million .org sites have opted-in already to either experience, so nothing will change for them when they update to 5.0.

How can I make sure I’m ready?

Before updating to 5.0, try out the Gutenberg plugin with your site to ensure it works with your existing plugins, and also to get comfortable with the new experience. Developers across the entire ecosystem are working hard to update their plugins, but your mileage and plugins may vary. And you can always use the Classic Editor to address any gaps.

As with every new thing, things might feel strange and new for a bit, but I’m confident once you start using it you’ll get comfy quickly and you won’t want to go back.

The release candidate of 5.0 is stable and fine to develop against and test.

When will 5.0 be released?

We have had a stable RC1, which stands for first release candidate, and about to do our second one. There is only currently one known blocker and it’s cosmetic. The stability and open issues in the release candidates thus far makes me optimistic we can release soon, but as before the primary driver will be the stability and quality of the underlying software. We made the mistake prior of announcing dates when lots of code was still changing, and had to delay because of regressions and bugs. Now that things aren’t changing, we’re approaching a time we can commit to a date soon.

Is it terrible to do a release in December?

Some people think so, some don’t. There have been 9 major WordPress releases in previous Decembers. December releases actually comprise 34% of our major releases in the past decade.

Can I set it up so only certain users get to use Gutenberg?

Yes, and soon. We’re going to be doing another update to the Classic Editor before the 5.0 release to give it a bit more fine-grained user control — we’ve heard requests for options that allow certain users or certain roles and post types to have Gutenberg while others have Classic Editor.

What happens after 5.0?

We’ve been doing a release of Gutenberg every two weeks, and 5.0 isn’t going to stop that. We’ll do minor release to 5.0 (5.0.1, 5.0.2) fortnightly, with occasional breaks, so if there’s feedback that comes in, we can address it quickly. Many of the previous bugs in updates were from juggling between updates in the plugin and core, now that Gutenberg is in core it’s much easier and safer to incrementally update.

What about Gutenberg and accessibility?

We’ve had some important discussions about accessibility over the past few weeks and I am grateful for those who have helped raise these questions in the community.

Accessibility has been core to WordPress from the very beginning. It’s part of why we started – the adoption of web standards and accessibility.

But where I think we fell down was with project management — specifically, we had a team of volunteers that felt like they were disconnected from the rapid development that was happening with Gutenberg. We need to improve that. In the future I don’t know if it makes sense to have accessibility as a separate kind of process from the core development. It needs to be integrated at every single stage.

Still, we’ve accomplished a lot, as Matías has written about. There have been more than 200 closed issues related to accessibility since the very beginning.

We’re also taking the opportunity to fix some things that have had poor accessibility in WordPress from the beginning. CodeMirror, which is a code editor for templates, is not accessible, so we have some parts of WordPress that we really need to work on to make better.

Speaking of which, CodeMirror was seeking funding for their next version — Automattic has now sponsored that funding and in return it will be made available under the GPL, and that the next version of CodeMirror will be fully accessible.

Finally, Automattic will be funding an accessibility study of WordPress, Gutenberg, and an evaluation of best practices across the web, to ensure WordPress is fully accessible and setting new standards for the web overall.

After WordPress 5.0, is the Gutenberg name going to stick around?

Sometimes code names can take on a life of their own. I think Gutenberg is still what we’ll call this project — it’s called that on GitHub, and you’re also seeing it adopted by other CMSes beyond WordPress — but for those outside the community I can see it simply being known as “the new WordPress editor.”

With the adoption of React for Gutenberg, what do you see as the future for React and WordPress?

In 2015 I said “Learn JavaScript deeply” — then in 2016 we brought the REST API into Core. Gutenberg is the first major feature built entirely on the REST API, so if you are learning things today, learn JavaScript, and I can imagine a future wp-admin that’s 100% JavaScript talking to APIs. I’m excited to see that happen.

Now, switching to a pure JavaScript interface could break some backward compatibility, but a nice thing about Gutenberg is that it provides an avenue for all plugins to work through — it gives them a way to plug in to that. It can eliminate the need for what’s currently done in custom admin screens.  

The other beautiful thing is that because Gutenberg essentially allows for translation into many different formats — it can publish to your web page, it can publish your RSS feed, AMP, it can publish blocks that can be translated into email for newsletters — there’s so much in the structured nature of Gutenberg and the semantic HTML that it creates and the grammar that’s used to parse it, can enable for other applications.

It becomes a little bit like a lingua franca that even crosses CMSes. There’s now these new cross-CMS Gutenberg blocks that will be possible. It’s not just WordPress anymore — it might be a JavaScript block that was written for Drupal that you install on your WordPress site. How would that have ever happened before? That’s why we took two years off — it’s why we’ve had everyone in the world working on this thing. It’s because we want it to be #WorthIt.

And WordPress 5.0 is just the starting line. We want to get it to that place where it’s not just better than what we have today, but a world-class, web-defining experience. It’s what we want to create and what everyone deserves.

Was this post published with Gutenberg?

Of course. 😄 No bugs, but I do see lots of areas we can continue to improve and I’m excited to get to work on future iterations.

The Headers of Twenty Ten

When planning and designing Twenty Ten, the new default theme in WordPress 3.0, we knew that the header would be a really prominent feature, a focal point, and wanted some good defaults to excite people about the theme. Some of the most popular themes on WP.com like Misty Look, Chaotic Soul, Ocean Mist, and Cutline all feature prominent photo headers.

It can be a pain to find appropriately licensed imagery for Open Source projects, so I asked MT to explore a bit from the random photos page on Ma.tt and see what he could find. Here are each of the images he chose, in header form and linked to the original, with the location and story behind each photo.

In December 2005 Automattic had just gotten started and I planned a Europe trip to raise awareness and also meet some of the community there. It started with Les Blogs in Paris, then to London where I met Mike Little (co-founder of WordPress), Mark Riley (then known as Podz), and Khaled for  at a WP meetup. Finally I went to Ireland, specifically Blarney, where I met the first employee of Automattic Donncha O Caoimh in person and learned how to pronounce his name. We went on a photowalk together and I caught this lonely figure walking up a private road to Blarney Castle.

Continue reading The Headers of Twenty Ten

Not Lonely at All

Daniel Jalkut of Red Sweater Software wrote a blog post called Getting Pretty Lonely and and says, among other things, “Whenever I am reminded that WordPress is GPL, my passion for it takes a bit of a dive. I’m more comfortable with the true freedom of liberally-licensed products.” More importantly, he says that “GPL stifles participation,” and implies the same for adoption. The article was linked by John Gruber at Daring Fireball saying, “Smart essay from Daniel Jalkut on how the GPL discourages participation from many (if not most) developers.”

For what it’s worth, from my practical experience in the WordPress world:

  1. I’ve never encountered a serious client who chose not to use WordPress because it was GPL-licensed, and I think it’s hard to argue that WordPress’s license has had a dampening effect on its adoption, given its success over competitors with widely varying licenses.
  2. I think we have an incredibly strong third-party extension, plugin, and theme community that has flourished, not in spite of the GPL license, but because of it.
  3. I’ve seen the absence of GPL in practice; there have been times in the WordPress world when parts of the community have “gone dark” and claimed their code was under more restrictive licenses, like used to be common with themes. Every time this cycle starts it basically kills innovation in that part of the WordPress world until people start opening up their code again or until a GPL equivalent is available. I’ve seen this firsthand several times now.

WordPress first used the GPL because it was built on an existing GPL project (b2). Later I began to really understand the philosophical underpinnings of the GPL and understood it to be the most moral of the open source licenses. Now, in addition to that, my experience over the past 6 years has made me believe it to be the best license for practical purposes as well.

GPL was a license written for a different time and on the web it’s possible to find a thousand loopholes and ways around it (see: software as a service) but if you keep in mind the core freedoms and principles — share and share alike — they provide excellent guidelines for building a rich community and ecosystem: the two things that ultimately have far more to do with product success than the license. (Competitors to WP have switched to the GPL from proprietary licenses with basically no effect. License does not equal community, it’s a lot harder than that.)

Ultimately Daniel’s article falls apart on two levels, the first illustrated in a comment I left on the post:

Your biggest fallacy is “the liberal-license communities are attractive to developers from all 3 camps.”

I’m a GPL-friendly developer that is hesitant to be involved with a non-GPL project the same way your “passion for it takes a bit of a dive” when coming into contact with the GPL.

You could also make a fairly good argument that the majority of Open Source developers are GPL-friendly simply because the vast majority of Open Source projects are licensed under the GPL.

The common-knowledge number seems to be about 70% of open source projects are under the GPL and (more importantly) many of the most crucial and successful ones are. If Gruber’s “many (if not most) developers” avoid the GPL, maybe those folks aren’t that important. (In reality I think the majority of developers aren’t strongly influenced by licenses as long as they’re open source, something Daniel seems to agree with, saying “the vast majority of developers will participate in any project that is advantageous to them.”)

But more importantly, Mr Jalkut conflates what he perceives as his freedom as a developer with freedom from a user’s point of view. The things the GPL “takes away” from him, like being able to license his derivatives under a more restrictive license, are in fact protecting the freedoms of the users of his code. That’s who the GPL was written for. From the Free Software Definition:

Free software is a matter of the users’ freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software […]

It’s user freedom that the GPL was created to protect, just like the Bill of Rights was created to protect the people, not the President. The GPL introduces checks and balances into an incredibly imbalanced power dynamic, that between a developer and his/her product’s users. The only thing the GPL says you can’t do is take away the rights of your users in your work or something derived from a GPL project, that the user rights are unalienable. You are free to do pretty much whatever you want as long as it does not infringe on the freedoms of others. (Sound familiar?)

That’s what software freedom means to me, and it’s something I believe in strongly enough to fight for and defend even when it’s not the easy or popular thing to do. (Especially this weekend as we celebrate the original “fork” of the US from England.)

See also: Alex King — Breaking News WordPress is GPL.

What’s Next for Apple

I have no inside information or insight, but historically Apple’s product improvements have strongly broadcasted where they’re going in the future. Here are six things I think are inevitable for Apple to do over the next decade, from most to least obvious: maps, iCloud, payments, TVs, search, and cars.

1. Maps

When the iPhone was first released Steve Jobs called Maps on iPhone the best version of Google Maps on the planet, with emphasis on what Apple’s designers had brought to Google’s raw technology (can’t find that link). Four years later, you can’t imagine such a core piece of the mobile experience reliant on their largest competitor. Hopefully this will also give Apple a chance to fill usability gaps in the maps experience today, like that you can’t click from the “where” field in a calendar appointment straight to maps. (Drives me crazy.) Note that the only “Google” branding in maps today is in the bottom left, they know they’re getting replaced and have done an admirable job on the Safari version of maps on iPhone and iPad.

Google Maps + Navigation on Android is my favorite mobile app of the past 3 years (haven’t used Siri yet) — it’s what Garmin should have built $8 billion in revenue and R&D ago. (Remember the Garmin Nüvifone?) Apple was smart to partner in the beginning, but they can, and should, raise the bar.

2. iCloud

The abstraction of documents, photos, videos, their equivalents in “bought” media (iBooks, music, movies, and TV shows from the iTunes store), the deemphasis of the filesystem with every iteration of OS X, and the rough ideas of things like MobileMe’s dock syncing, points to the combination of services that will ultimately disrupt the “magic folder” providers like Dropbox. I love Dropbox, but it’ll be impossible for them to do the deep OS integration needed to match the direction Apple is heading — never thinking about what is where, ever again, just having everything you’ve ever created or used available in the same place on all your devices.

They know this is best for consumers. My friend Rene told me how when his hard drive crashed last year he contacted Apple support and they gave him a link to re-download the past 4 years of music he’d purchased on iTunes. That’s obviously the right thing to do, even if labels have had to be dragged kicking and screaming toward it. By this time tomorrow it’ll just be part of the experience when he signs into iTunes on a new computer. Update: Apple released iTunes 10.5 a day early with this feature.

3. Payments

Your phone becomes your credit card. Apple doesn’t replace Visa or Mastercard, but they do replace all of those scammy rewards and branded cards that prey on unsophisticated consumers. Google will probably do this first, but it’ll be like Microsoft Surface, brilliant but two sandwiches short of a picnic.

4. TVs

I recently got one of the new Thunderbolt displays and man, a super-sized version of this would be killer in my living room. (The speakers are surprisingly good.) TVs are just so bad, not so much in the hardware which can be beautiful like Samsung’s C9000 but in the mediocre software, un-features like Auto Motion (which makes beautiful films look like they were shot by a Jersey Shore cameraman with a beer in his other hand), and interfaces that just don’t do anything you would expect. Hello — you can detect when a cable is plugged in, don’t make me switch between 15 sources when only one is connected. My TV takes 5-10 seconds longer to turn on than my iPad. “Smart TVs” look like “smart phones” did in 2005 — completely lacking in imagination or joy.

But to really imagine the strategic importance of this you need to think beyond a super-sized Thunderbolt display and imagine what replaces iMac, one of Apple’s most beautiful creations. People’s need for a desktop is seriously declining for the first time since pundits started predicted the decline of the PC a decade ago. The post-PC ecosystem is in place now — touch, battery life, mobile-first applications, ubiquity of internet access, flash memory. (In Steve Jobs introduction of the first iPod, two things stand out to me: that terrible font, and the fact one of the main features is 20 minutes of skip protection.) Mobile works and is getting better, and you won’t have what we call a desktop 10 years from now.

Now imagine Apple has a shining 55″ monolith smack dab in the middle of your house. How big of a wifi antenna could they put in there? Could they crush all that lame Cisco teleconference stuff with TV FaceTime? Is there room for a few disk drives that don’t need to worry about skipping plus a SSD to make it fast? If you look at the direction Apple has been heading with Time Capsule locally caching software updates it’s not hard for something similar to work in the other direction, a digital hub that’s your media server for the house, a large-format display, a time capsule, and an Airplay target all in one. Imagine just one power cable coming out of it, and everything else wireless, just like the iMac, and a few killer apps we can’t even imagine yet.

Finally, home theatre needs disruption — this is a land of $200 Monster HDMI cables and similar gouging that functions like a state lottery, an intelligence tax. When I walk through Best Buy, which I try to do once every few months, it feels like it’s technology at its worst, the magic of progress used as smoke and mirrors to confuse and dupe consumers rather than make their lives better. The Apple TV is just another form factor for the unified experience Apple wants to create every time you touch an electronic device.

5. Search

There are hints of this in maps, but just like Craigslist is being killed not by a Craigslist-like clone but rather by a thousand highly focused replacements, so too Google will face its existential crisis not from another webpage with a centered white box, but from the interface and context of search changing completely. Many of Google’s searches aren’t that valuable, and a huge percentage of the ones that are aren’t going to happen at the desktop anymore .The context of your location (which your phone already knows) the “results page” of a fantastic map application and the input of a next-generation search interface, like Siri, completely changes the rules of engagement. Google’s not investing in mobile because they wanted a better phone.

6. Cars

This is the most far-out, but I think most certain. Voice-controlled search through Siri and Apple Maps provide the hands-free framework for a rich interactive experience while driving. Walk down the car stereo aisle in Best Buy and see what $800 gets you, or a $300 GPS from Garmin, vs an iPad or iPhone. The screens feel like a TI-92 calculator. The typography makes my eyes bleed. I find it morally reprehensible how bad these products are because it’s one of the areas of technology where a bad interface is most directly tied to injuries and deaths. Car folks are making their iPhone/iPod integrations better and better, which may be a glass of ice water in hell, but they’ll never make the jump to providing a beautiful marriage of media, search, and navigation that a great in-car experience needs. Right now you can spend 110k on a Tesla Roadster, a car of the future, and for an additional $4,500 (9 iPads!) get this Alpine head unit. (Watch that video and try not to laugh at how bad the interface is.) Retail it only sets you back 1.4 iPads. That’s just sad.

“People who are really serious about software should make their own hardware.” — Alan Kay, 1982. People who make hardware should get their software act together before Apple does for them.

Discussion on Hacker News.

The Intrinsic Value of Blogging

Blogging is harder than it used to be. We’ve gotten better at counting and worse at paying attention to what really counts. Every time I press Publish the post is publicized to Facebook, Twitter, LinkedIn, Path, and Google+, each with their own mechanisms for enumerating how much people like it.

pathNone of those services except Path have a clickable way to dislike something, so if something isn’t great it’s usually met with silence. But sometimes something that is great is met with silence too if it doesn’t drop at the right time, have the right headline, or have the right tone to invite interaction. There is no predictable connection to the effort and thought you put into something and the response it receives, and every experienced blogger has a story of something they spend a few minutes on and toss out casually going viral, a one-hit wonder that makes your stats in future months and years puny in comparison.

Stats systems, like Jetpack’s, have gotten very good at telling me which post got how many visitors and where they came from, but it’s all anonymous and the numbers don’t really mean anything to me anymore. This is very discouraging, and at its most insidious causes people to deconstruct the elements of what makes something sharable and attempt to artificially construct these information carbohydrates over and over. (Visit that site and try not to click through any headlines — it’s tough.)

The antidote I’ve found for this is to write for only two people. First, write for yourself, both your present self whose thinking will be clarified by distilling an idea through writing and editing, and your future self who will be able to look back on these words and be reminded of the context in which they were written.

Second, write for a single person who you have in mind as the perfect person to read what you write, almost like a letter, even if they never will, or a person who you’re sure will read it because of a connection you have to them (hi Mom!). Even on my moblog I have a frequent commenter who I’ll often keep in mind when posting a photo, curious to see her reaction.

This post might be ephemerally tweeted by dozens of avatars I might or might not recognize, accumulate a number in a database that represents the “hits” it had, and if I’m lucky might even get some comments, but when I get caught up in that the randomness of what becomes popular or generates commentary and what doesn’t it invariably leads me to write less. So blog just for two people.

Al Gore Hacked

The Register is reporting that Al Gore’s climate change site hacked. I looked at his WordPress blog and it’s running version 2.0.4, which was released in July of 2006, about 16 months ago. I wonder if these people want to upgrade but just need help, and if there’s something as a community we could do to assist them? Like install4free but for upgrades. What’s unfortunate is that people see this as an indicator of WP security, they’re judging us by bugs that have been fixed for more than a year.

Houston Press and CNET

(Also known as Announcements Two and Three. See part one.)

Matt Mullenweg may be underage, but he knows how to get into a bar.

That’s the opening line from the Houston Press feature called The Blog Age, subtitled “Matt Mullenweg helps usher in the real information revolution, one Web log at a time.” Modest, eh? It should be on newstands tomorrow so if you’re in Houston pick up a copy. Otherwise read it online.

Though it’s a little embarassing for me in parts, it’s a really good article that covers everything from Open Source to my fellow H-Town bloggers to political blogging at the national conventions. I’ve been talking to Cathy (the author) off and on since August and the strangest thing is how much has changed since we first met in a small coffee shop in Montrose. There are a few points I’d like to expand on or clarify but I’m exhausted from today’s travel right now.

The Other Big News

If you’ve read the article already you’ll notice that it breaks a juicy tidbit that hasn’t been published before: I’ve accepted a job with CNET Networks. That’s the reason I’m moving to San Francisco. There were a lot of ways things could have gone and honestly I wasn’t even planning on leaving Houston originally, but over the course of the past 3-4 months I’ve been talking to CNET and an opportunity came up I just couldn’t pass. As it says in the article part of what they’re paying me for is working on WordPress just like I do now. The rest of my time I’ll be working on various projects, most of them probably so top-secret I can’t breathe a word in advance.

The reason I’m excited about working with CNET is how what I’ll be doing meshes with my thoughts and ideals regarding Open Source, standards, and communities. My principles aren’t changing just because my paycheck is. You can expect the same sort of content here on PhotoMatt.net you’ve seen in the past — namely unfiltered personal thoughts, jabs, and observations not connected with any corporate entity. This is obviously a pretty significant move for both myself and WordPress so I’ll do my best to entertain any questions you may have in the comments.

Plugin Authors Get No Love

One interesting thing in the whole adware themes discussion is the people claiming if we require GPL it’ll kill the number and quality of themes out there, that the best themes have ads in them, that they couldn’t make themes if they weren’t getting the SEO gaming money, et cetera and so on.

There are two types of WordPress add-ons, themes and plugins. Are there any similarities?

  1. Plugins are just as hard or harder to write and design as themes.
  2. All plugins in our directory are required to be GPL or compatible.
  3. Plugin authors almost never get links on the front-end of a blog.
  4. I’m not aware of any plugins that bundle advertising with the intention of gaming search engines, like themes are.

Despite all of this, the plugin ecosystem around WordPress is flourishing, especially since we made the plugin directory, and hundreds have been added. It seems any of the doomsday scenarios people are expecting to happen to themes would have happened to plugins years ago. If ad-bundled themes really are better, a suggestion I find insulting to all those who volunteer their time for WordPress, then maybe they should start their own theme directory with only adware themes and they should get a ton of traffic.

(And just to respond to the title, I think plugin authors get tons of love, and hopefully we can help them get more with upcoming revisions to the plugin directory.)

Radically Simplified WordPress

Had an interesting chat with Anil Dash today at the GigaOM/PaidContent conference in NYC, here are some tweets from the talk:

If you’re curious about P2 check out p2theme.com where you can sign up pretty easily.

https://twitter.com/RonHogan/status/205325798889095169

I learned this from the Complex interview with Young Guru. (Which they present in slideshow format, for some reason.)

A few very kind words from Jay Rosen:

And finally we talked about how WordPress is actually on its third or fourth pivot, as in the most important contributor to growth of the platform changes over time, which turned into this article which has been making the rounds:

WordPress was first for pure blogging, then became embraced as a CMS (though some people still deny this), is seeing growth and innovation in being used as an application platform (I think we’re about a third of the way through that), and just now starting to embrace social and mobile — the fourth phase of our evolution.

As with each of our previous transitions there are large, established, and seemingly unshakable competitors entrenched in the same space. This is good because we can learn from those that came before, as we always have, and good competitors drive you to be better. As before, people will probably not notice what we’re doing at first, or deny it’s happening as folks who still say WordPress “isn’t a CMS.”

Function reforms form, perpetually. As John Borthwick put beautifully today, “A tablet is an incredible device that you can put in front of babies or 95-year-olds and they know how to use it.” How we democratize publishing on that sort of platform will not and should not work like WordPress’ current dashboard does. It’s not a matter of a responsive stylesheet or incremental UX improvements, it’s re-imagining and radically simplifying what we currently do, thinking outside the box of wp-admin.

There are hints of this already happening in our iPhone and Android apps, but even though I’m thinking about this all the time I don’t have all the answers yet — that’s what makes it fun. WordPress is going to turn nine years old this Sunday and I’m as excited to wake up in the morning and work on it as I was the day we started. I think when we turn 10 in 2013 the ways people experience and publish with WordPress will be shorter, simpler, faster.

Sonos vs Squeezebox

I few of my friends (including Om) are crazy about the Sonos, but I’ve been a Squeezebox user for 6+ years now and have stuck with them through a few upgrades and the acquisition by Logitech. Some of their new products like the Squeezebox Radio are super-handy, I like that the whole thing works over my Wifi network, and it runs Open Source server software. (I used to run it on a Linux box, now on a Mac.) That said, the software has always felt clunky to me, the lack of a good iPhone client is annoying, and the multi-room sync is temperamental. They also seem to have stagnated under Logitech, for example the Radio is cool but the battery for it (which is half the sell) doesn’t come out until April, and costs another $50 — lame. Has anyone used both Squeeze devices and Sonos and have a preference?

Showing Arrogance

Matthew Mullenweg Continues to show his arrogance — “WordPress isn’t even true XHTML or XML script or code, It’s PHP Script. and this is why it is so easy to hack. From what I’ve gathered, Blogger is a True blue XML Blog. For those that don’t know this, PHP script, is the same script that is used by your PhpBB message boards. and anyone with any kind of good computer knowledge, knows that PhpBB is *very* easy to be hacked. VBulletin is a classic example, as is InvisionFree.” Work has already begun to ensure version WordPress 3.0 will be in True Blue XML.

Best Headphone Recommendations

My friend Jon Callaghan asked me what I recommended in terms of audiophile headphones, so I thought I’d share my answer with the world here under the Ask Matt category. I use three headphones on a regular basis, and they fall pretty nicely into low, mid, a high-end. There’s a super-high end I’m not going to cover here, because once you get into the world of headphones requiring amps you might as well just build a good open air system. I’ve tried probably two dozen headphones ranging from $50 to $1,200.

Apple HeadphonesWhen I’m walking around on the street with my iPhone, my everyday buds are the step-up Apple In-Ear headphones, which come in around $80. They have a sweet triangle carrying case which makes them compact in my bag, and as a bonus the mic/volume remote thing works great with the 3GS, so I seldom take my phone out of my pocket. It’s also handy if you get a call, people have told me the voice quality is significantly better than calls I do on the cheapie included iPhone headphones, which always fell out of my ears too. They’re also easy to share with someone. So that’s my everyday pick.

HD-595sIf I’m listening to headphones at home or for a long period, I’m not a fan of in-ears because they aren’t as comfortable and my ears get “waxy” after more than about an hour. The most comfortable, best sounding, and least hassle headphones I’ve found for everyday use are the Sennheiser HD-595s, which I believe I discovered through Jeremy Zawodny. They’re big and bulky, and the cord is really long, but they’re just so darn comfortable. You can wear these all day and not mind at all. The price point is around $185–$220 on Amazon, which I linked above and I feel is an excellent value.

My final category of usage is travel, particularly on airplanes, where I want the highest fidelity, comfort, and sound isolation. Honestly in price point there’s a dead zone between around $250–$900, including all the Shures which I’ve tried and would not recommend anymore. (I used to be a Shure fan and have used their entire range.) This was the hardest category for me to crack, I tried various sound-cancellation models, but ultimately felt like they distorted the sound.

I finally ended up going with Ultimate Ear Custom line, first the UE-10 and later the UE-11. Now these are a bit of an experience, so let me walk you through what happens when you buy them. First you choose your options on the website, I’d recommend going all-clear for cord and buds, otherwise they look a bit weird. I’ve had both the 64 inch and 48 inch cord — the 48 is about exactly enough to go under a jacket and from your waist to your ears, but doesn’t give you a lot of room otherwise. I have the 64 inch now and the extra inches give me more flexibility and don’t get in the way.

UE-11sSo you go to the website, take out a second mortgage, and plop down $900 for the UE-10 or $1,150 for the UE-11. They then point you to a local ear specialist, which basically means someplace that does hearing aids, where they will make a mold of your ear. (Though the second time I did this it was at a cool rock and roll place in San Francisco. UE keep your molds on file, but apparently the shape changes and if it’s been more than a year you should get new ones made.) This is usually pretty cheap, and they’ll mail the molds directly to Ultimate Ears with your information. A few weeks later, your headphones show up in a fancy metal box, which now I think they put your name on.

I first got the UE-10s probably 5 years ago and the cost was really prohibitive, but then I realized that I had spent almost that much on a series of crappy headphones that kept breaking. They are also like a first-class upgrade on every flight — I’ve literally been sitting next to a crying baby in the back seat of economy and these headphones blocked the entire thing out. Close your eyes and let the music take you someplace else. They work so well because they fit your ear perfectly, so create a seal that blocks external noise, rather than having to juggle the sound to compensate like noise-canceling headphones do.

The Ultimate Ears have a feature where the cord pulls out of the buds if they get yanked really hard, presumably to prevent damage to your ear. Because I had gotten the shorter cord I kept doing this, and eventually (4 years in) I had done this so many times they didn’t really stay together properly and I kept dropping them. They also got a lot of abuse in my bag. Their ultimate demise was after I had dropped them the hundredth time and actually stepped on them, shattering the hard plastic mold. I probably could have gotten them repaired, but they were pretty far gone and decided to go for an upgrade instead for just a bit more, the UE-11s.

In the 4 years or so between my two purchases, UE definitely made some improvements to the line. The cord was thinner, didn’t have a wrap, and didn’t seem to tangle as much. The new ones came with a nice carrying case that if I had before I might not have broken the old ones so much. I’ve also never had a problem with the cord coming out like I did before. I talked Toni into the UE-10s and his new ones had all the same fit and finish. Unfortunately, don’t think the audio quality difference between the two warranted the $250 price difference.  I’ve been using them about 8 months, and they’ve travelled with me hundreds of thousands of miles around the globe. Overall the UE-11s just feel a bit heavier on the bass, but not really noticeably better than the UE-10s. If in 5 years I’m buying another pair I’ll go back to the UE-10s. A downside, or upside, of the Ultimate Ear Customs is no one else can use them.

My last bit of advice is to avoid everything Bose.

I’m curious what other people have tried, and what has been the best.