A few weeks back, Doc posted a mysterious message to our support list, saying that blank headlines were showing up in his outline, and wanted to know if we knew what the problem was.

This is the kind of "bug report" that makes programming for users so frustrating. You hear a user is losing data, but have absolutely no idea how to reproduce the problem. It's something you've never seen the software do, can't imagine it actually doing. The description sounds like magic, but nothing in software happens by magic, all programmers will tell you. I believe it's happening but I have no idea why.

Anyway, the problem was still happening. We needed to get to the bottom of it. So I added a bit of instrumentation to the app. Every second it would look at all the headlines in the outline and count the number of empty ones, displaying the result on the screen. If it was greater than zero the message would show up in red. I wanted to be sure Doc would see it, the instant it happened.

I called him on Skype and said he should use the software as normal, and when he saw the number go above zero, to stop and think What Did I Just Do, and write me an email. This was my hope to try to get somewhere in the vicinity of reproducible.

He said it's reporting 9 empty headlines now. Okay, go through the outline, find them and fix them. Get that number down to 0 so we can start debugging.

So he did, and we talked a bit about this process while he was doing it.

Then when he was done, he was mousing around the outline and it happened. A headline disappeared.

I said loudly, now stop! Don't touch anything. Key question: What were you doing?

He said he was scrolling around the outline and scrolled back to the top and that was when he discovered the headline was empty.

Turns out it was very important just how he was scrolling around. He was using Pageup and Pagedown, two keys I never use. But for Doc they're central. And when he'd press Pageup or Pagedown, it would wipe out the bar cursor headline. Bing!

Would it do it on my machine? Drumroll please -- yes it would. So now the bug was trapped. I told Doc we had arrived at the Holy Moment in debugging -- reproducibility. I told him "reproducible" is the programmer's favorite word. If you can tell me the steps to reproduce the problem, then I can find it and fix it. Until it's reproducible all I can do is share your frustration.

There's a lot more to say about this. I asked Doc to write this up from his point of view. For me it was a breakthrough. Finally, a user who is working on the team with me, to help make the software work better.

04/30/15; 04:56:07 PM

Over on Facebook, my friend Robert Scoble asked how I feel about changes Facebook is making in developer access to the social graph. It was such an interesting question that I did a 10-minute podcast answering the question. Hope you find it interesting!

04/29/15; 02:57:27 PM

The hairball

Our current platform is a mess:

  1. CSS.

  2. HTML.

  3. JavaScript.

  4. A server.

Think of how much you have to learn to become "full stack" in this world.

At least four different syntaxes, and a CSS preprocessor.

HTML is XML. JavaScript is like C or Pascal. The server could be written in any number of different languages. And JSON. None of them are going away.

I've been working in this world for many years, and right now would be at a loss to write a canonical "hello world" app.

What a Tower of Babel. What an opportunity to topple it, esp given all the people these days who want to program.

It grows when it's simple

The big strides in tech happen when the platform gets reduced to simplicity. Examples include:

  1. Unix with C.

  2. Apple II with UCSD P-System.

  3. MS-DOS with Turbo Pascal.

  4. The Web with a plain text editor.

I call these blue sky platforms

In all these systems, lifting the hood is child's play.

Typing and modifying "Hello World" is easy. From there, there are no huge cliffs in the way of becoming a master.

1995: "A platform must have potential, or open space. I call this blue sky."

Digging out of the mess

We can get back to blue sky any time we want.

I would start from Node.js and build out.

The web browser, as currently configured would have to be replaced by something that's thoughtfully designed. Or maybe a platform built on top of CSS+HTML+JavaScript, hiding it behind a factored interface? Not sure. But we'll never have great growth until we factor out the huge hairball sitting between ideas and implementation.

04/26/15; 11:49:58 AM

I've heard it said, and thought myself, that of course I wouldn't have hired a 50-something developer when I was running my 20-something startup.

But then I just realized that if Doug Engelbart had wanted to work for Living Videotext or UserLand I would have hired him in an instant. Can you imagine. To have the guy who pioneered the technology we were commercializing around to mentor me and my developers? I would have jumped at the opportunity.

So the answer is, it depends. If it was a random employee type who hadn't done much with his or her career, I probably wouldn't have been very interested. But if it was someone who had created the foundation we were working on, that would have been different.

Guy Kawasaki: "Good people hire people better than themselves."

04/24/15; 07:22:35 PM
04/22/15; 09:39:07 PM

I've made a dozen or more visits to the Apple Store website hoping to buy an Apple Watch and each time coming up empty and as confused as ever.

This 12-minute podcast tells the story.

BTW, here's a screen shot of the Apple website, referred to in the podcast.

04/21/15; 10:04:57 AM

When I was chatting with Chris earlier today, the subject of the Olympics and Boston came up. Should Boston bid?

My two cents

Boston should not try to host the Olympics, in fact no one should. With climate change, a new venue for the Olympics every four years is an extravagance we can't afford. Sure it's a drop in the bucket but it's an important and symbolic drop in the bucket.

Build one great Olympic facility, designed to be usable for 100 years. Hold all future Olympics there.

It's like the United Nations. We don't build a new skyscraper every four years. We built one really good one, and use it every time we need the UN.

04/20/15; 05:04:06 PM

I was talking with Chris Lydon about the idea of a 5-minute podcast.

Then Doc Searls asked a question that I thought could easily be answered in 5.

I was right, but I rambled too much and it turned into a 6.5-minute podcast.

Next time we'll do better!

04/20/15; 12:04:14 PM

On Friday, as you may know, I made Podcatch.com public.

It's a quick way to find a great podcast to listen to, now. Without subscribing.

The list of feeds is curated, it originated from the feeds my Facebook friends liked the most. In that I think it's a prototype for how social networks can be used to create new flows that aren't complicated or hard to use or appreciate. I think, btw, this is the holy grail Twitter has been looking for.

The JavaScript environment

What I haven't talked about yet is all the great open technology it builds on. Stuff that's available to anyone to use to create new apps. One of the amazing things about developing in JavaScript in 2015, and hasn't been well-appreciated yet, is how deep and generous the developer community is, to itself. I've never seen anything like this.

Technologies we use

So here's a partial list of technologies I'm using to make this work, all of which are open source and available to all, free of charge and on equal terms.

  1. Font-Awesome for the icons.

  2. Bootstrap Toolkit for the CSS framework.

  3. jQuery to make access to the DOM uniform across browsers.

  4. snap.js manages the sidebar in the app (new feature today).

  5. River4, manages subscriptions, river generation and browsing.

  6. Feedparser does all the feed parsing for River4.

  7. OPMLparser reads the subscription lists for River4.

  8. RSS is what podcasting is built on, of course.

  9. Node.js runs the custom back-end Podcatch software and River4.

  10. NPM supports the building of the backend bits.

  11. V8 which is the JavaScript interpreter in Node.js.

  12. HTML5 has an <audio> element we use to play the podcasts.

  13. Google Fonts for Oswald and Ubuntu.

Thanks!

Thanks to all the generous developers (with a caveat that I am thanking myself for River4 and RSS, I know it's weird).

I'm sure this list will grow as I remember more bits of generosity that I'm building on.

This tech makes people rich

BTW, one of the reasons I listed the open tech that podcatch.com builds on is to increase the visibility of these essential components.

For entrepreneurs and VCs who have made billions from tech, you should know that this would not be possible without the generous work of people who mostly do it for love, with no expected remuneration.

If you think you support open tech and are not actively supporting this work, you're not. Sometimes you have to tell truth to power. This is one of the truths that has not been well-told.

04/20/15; 08:56:43 AM

One of the things I love about NYC history is the layering and the continuity. It's how I think software should evolve too. We rip up our software cities too easily, because we don't like the arrangement of the streets, forgetting that there are real people living and working in our cities.

So I totally got off on the elevator movie that takes you to the 102nd floor observation deck in the new WTC tower. It shows you how the city evolved from nothing to a small Dutch settlement at the tip of Manhattan (south of the WTC site) to the huge metropolis it is today. You even get a look, briefly, at the ill-fated tower that came down on 9/11.

But there are mistakes, as has been observed, and one howler that as far as I know has not been reported yet. Here's the problem. They show the Brooklyn Bridge, clearly, in 1825. But it wasn't finished until 1883.

04/20/15; 08:28:40 AM

I was taking an early morning walk in Manhattan this morning when the fourth wall popped with T-Mobile. I was dropped out of The Matrix and smack in the mire of post-millennial mobile access.

My recently-upgraded T-Mobile account was missing a vital feature. I found out about it just as I was getting ready to use a service that requires a net connection.

The 20-minute story in a podcast.

04/19/15; 10:10:31 AM

There's a future-of-journalism conference in Austin. I'd like to insert a recipe, if I can, for the future of journalism.

  1. Start by solving problems. In all likelihood the geography you serve (if you are geography-based) has awful Internet connectivity. Before doing anything else, you must take ownership of that problem. If your readers have lousy Internet they will not be full participants in the world-wide news system. NYT, NYP, NYDN take note please.

  2. Work on your collective rolodex. That is the definition of who you are. The better it is the better you are. I'd be surprised if many current news orgs see it that way. But they will. (By the way you can start on this step before the previous step is complete. It might take years, even decades.)

  3. Make sure you have in your rolodex a field called "Feed" and in that field include the address of your source's RSS (or Atom I don't care) feed. You're going to need it in step 4.

  4. Make a river out of those feeds. Start watching that river. Tell your sources about the river, give them the address. About five minutes after that you will be jumping up and down with excitement. Five minutes after that it will be on your home page.

  5. Congratulations, you now have a future.

04/17/15; 11:24:43 AM

I was bored with my podcasts. I subscribed to a dozen different feeds, but was only listening to two shows. Sometimes I'd leave the house with nothing interesting on my phone. I muddled along, thinking this was the best I could do. Then came Serial, and all of sudden podcasting was exciting again. I looked forward to every week's installment the same way I look forward to a weekly Game of Thrones or Mad Men.

A fog of podcasts

What followed was an explosion of new podcasts, or so it seemed, but which were the good ones? I did what everyone does, I asked my friends. I saw my friends asking. I asked again. Sometimes I found something interesting to listen to, but usually not something I wanted to subscribe to. That got me thinking.

Subscribing may be the wrong way to look at it. When I want a podcast I don't want to subscribe. I want to listen. All the time between the want and the fulfillment seems like work. Why is this so hard.

I tried an experiment

Standing on the street in Manhattan, with my iPhone 6 and a good net connection, how long would it take me to find something to listen to.

In other words, how long after having the idea "I want a podcast" did it take to fulfill it. Standing out there in the cold. Feeling like an idiot, fussing with my phone.

How long? A lot longer than it should.

An idea from Vox

Then I read an article in Vox that listed 26 podcasts I should be listening to. There's the answer. Almost. If they had a page that followed all these podcasts, I could go there, click a play button and be listening in an instant. Someone with good judgement chose these shows, and I bet one or two of them are good in any week. But that place didn't exist.

Another experiment

I asked my friends on Facebook to recommend their favorite podcasts. I figured if we were friends, or friends-of-friends, some of our interests would overlap. But I did more than ask, I engaged. And I didn't ask for feeds, I was willing to do the research to go from the title of the podcast to the RSS feed.

I set up a river, customized it so there was a player for each item, and linked it up with Facebook comments, so the resulting conversations would feed back into my relationships.

The product

As Apple says about their products, it has magic. It's simple, it's probably not what you expect, but it really works. When I go there, I find new ideas, feelings, perspectives, entertainment.

That's Podcatch.com.

And now it's public. You can use it too!

A picture of a slice of cheese cake.

04/17/15; 08:02:53 AM

Something funny happens when I put my iPhone 6 and my Nexus 6 together on my desk (charging them up).

The iPhone tries to pay the Nexus using ApplePay.

I just realized how funny this is. Why does the iPhone (Apple) think it owes the Nexus (Google) money?

Next time it happens I'm going to make note of how much money the iPhone thinks it owes the Nexus.

04/16/15; 03:11:17 PM

I just saw that JJ Abrams has an Apple Watch.

You know there was a time when I would have had that.

When Apple gave early access to hardware to developers who created software for their platform. I was, at one time, one of those people.

I used to have a motto back then: "Software is made of free hardware."

What was cool is that it worked the other way too. Hardware is made out of free software. But that was hard to say because of piracy, could be too easily misunderstood. Still, it's true.

And it makes me wonder if there isn't still a position for a company to do what Apple used to do, cultivate relationships with software-makers.

Pretty sure JJ doesn't write too much software.

04/16/15; 12:18:19 PM

For the next sixty seconds this station will conduct a test of the Emergency Podcasting System. Had this been an actual podcast you would have been instructed to do whatever it is you do when you listen to a podcast.

04/16/15; 10:11:40 AM

In 2001, when I designed the protocols for podcasting, we were using a different Internet:

  1. Net connections were so slow that the click-wait problem was interfering with people using big media objects, and

  2. The mobile devices that could play podcasts weren't able to communicate.

So we designed a protocol that would make it easy for your desktop computer to gather up the media objects and move them to your mobile device, probably something like an iPod, which, by the way, didn't exist yet.

We got ahead of where the technology actually was. But it turned out well. Today there's an explosion of podcast content, all of it formed around the blueprint we put out 14 years ago.

Today's net is better

But the world today is different, and as a result I believe we can make podcasting much easier and richer for the listener. We can remove steps, and provide more variety.

  1. The net we use today is fast. When you click to listen to a 40-minute podcast, it's downloaded in a few seconds. And it starts playing immediately. No click-wait.

  2. The net goes with us almost everywhere with inexpensive mobile devices.

Given that reality, one would design podcast listening software somewhat differently.

The problem is discovery

We're all looking for the next great podcast, not something to subscribe to necessarily, that's work -- rather something enjoyable, interesting, stimulating, thought-provoking and most important -- now!

The perfect podcast client

Here's how the perfect podcast client would work, imho.

  1. No preparation. When I'm leaving the house, I have lots of things on my mind. I spend time loading up my phone with fresh podcasts, when I have the time, but sometimes I'm in a rush and leave with nothing interesting on my phone.

  2. Lots of interesting shows. That's a key point. I'm less interested in subscribing to a series of shows than I am in listening to a single good episode.

  3. Social connection. I like to listen to the same shows my friends are listening to, because I love having someone to discuss these things with.

  4. Variety. I had gotten into a groove, listening to a few podcasts regularly because I could count on them being interesting to me. Mostly Planet Money and Fresh Air, with a very rare RadioLab, or a NYT Book Review podcast. But there's a lot more out there, I'm finding, now that I have easy access to more variety.

  5. Immediate. When I decide to listen I want to listen now. It should be as easy to start listening to an episode of a podcast as it is to start watching a different show on my cable TV set-top box.

  6. Ephemeral. You listen to a podcast once, and that's it. Yet the devices we use for playback are designed for music, which is not ephemeral.

Where from here

For a while I evangelized editorial organizations to create this product, but they either didn't understand the need, or didn't think there was an opportunity? More likely they don't think like a software developer. When I see an opportunity to make things work better, I want it to happen right now. Even if I don't have time to do the work myself.

Well, I finally got tired of waiting. I've made the software. I'm using it now, as are a few friends. We're smoothing things out and should have something for everyone to use soon.

We're going to start with the shows my friends recommended, when I asked them, on Facebook. If it proves useful to others, we may branch out to including shows your friends like. And on and on. I think this is the way podcasting was meant to evolve, starting in 2015.

Update

The product is Podcatch.com.

A blog post explaining how the product came to be.

04/16/15; 07:56:39 AM

This is one of those moments when you look back 10 years later and say this is the point where HBO should have crushed the competition before it can get too big. The competition being Netflix and Amazon who are changing the way HBO-like series are viewed. Like Game of Thrones. Which officially starts its fifth season tonight with one episode.

Maybe last night's leak was HBO testing the waters, to see what would happen with viewership tonight. I have a funny feeling it will just increase it. Game of Thrones, of which I am a devotee, requires two and sometimes three viewings to absorb all the delicious viscousness, depravity, betrayal, lust and insanity.

Last month Microsoft admitted it might open source Windows. Today that seems like a whimper rather than the audacious hellacious move it would have been 10 or 15 years ago. Today who cares. The action is elsewhere. The time to be bold is when you're at your peak. Unfortunately so many in business wait till it's too late.

I'm sure Stannis Baratheon, Cersei Lannister or Jon Snow wouldn't hesitate.

A picture of a slice of cheese cake.

04/12/15; 08:53:18 PM

In the Get-Scoble-On-The-Web thread on Facebook we tripped across something that's worth noting on the blog.

  1. First Joseph Rooks pointed to a program Namecheap is running to encourage students to create more web content. Makes sense. More content, more names.

  2. I said: "Joseph you make a really good point I hadn't thought of. Our natural allies in this are the domain registrars. Their fate and that of the open web are one and the same."

  3. Out here in developer-land we're creating tools that make the open web a richer writing environment. Things that need names.

There might be other natural allies of the open web. Have to think about it. And thanks to Joseph for the interesting tangent.

04/12/15; 12:23:51 PM

I started pushing links to followers shortly after I started blogging. First there was the Frontier News page, then that migrated to the home page of scripting.com, then we came up with RSS, and aggregators, and made the jump to Twitter and Facebook.

All along I've been aware that there's an art to this. There are chances to insert humor and mystery into the flow. Why did he point to that? And you could comment. I put short little one or two-word phrases after posts, sometimes even in a different voice, all meant to provoke a response inside the reader. A personal one, different for each reader.

Anyway, as Twitter and Facebook turn more to news, and hopefully at some point other news orgs will invest in their own infrastructure for this, let's think about how to better develop this art. Some way to discuss it. If you do this, do a blog post with your ideas.

04/12/15; 11:53:05 AM

In the Facebook discussion Scoble said he's just a user. I guess he meant that as a user, how could he contribute to an open development project. I hope he didn't mean that users just suck energy from product development and never put it back.

Fact: We need users to help drive the process of development.

Here's a great example.

I was so focused on writing code that I missed that MyWord Editor still needed a way to do a home page. A user (who happens also to be a programmer) called me on Skype and said we needed to look at this. D'oh! Of course.

So I did some work and threw it back over the fence to the users in the form of some working code and ideas. If the feature is going to happen it needs to be driven by users. An ambitious developer can only go so far.

When I talk with startups I try to emphasize this. You need good users at the beginning to help you see how the product works for them. Communicating with them, listening and feeding back is the way you get from version 1 to a polished powerful product.

04/11/15; 01:46:56 PM

I got into a long conversation with Robert Scoble on Facebook earlier today. I asked him, as I always do when I get a chance, to put some of his writing on the open web. Not all, just some. Start a WordPress or Tumblr blog for example.

Not sure why he won't do this, but I'll tell you why I want him to.

If he did, we'd see the weakness in the model, very clearly. But using the Facebook and Twitter APIs, we might be able to fix it. We could make it so that the open web gets a chance to distribute his ideas, as well as Facebook or some other commercial service (he seems to use many of them).

Not sure what direct benefit would be for Scoble, other than to know that he gave back a little of the flow that the web has given him. A bit of the attention. Maybe developers can do something with this. But if the people that other people read, like Scoble, don't do this, there's little chance we'll have an open ecosystem for ideas much longer.

This is what we, as adults, do. We pay a little more than we have to, to help good rise above other kinds of human nature. When you go out for a meal, you don't have to tip, but we do anyway (at least in the US, different traditions elsewhere). We all try to give to charity when we can, and help out people, again when we can. Why? Because it feels good. This is one of the things human beings do.

We need the people who the web has made rich and/or famous to step up and do their part to make sure there is an open web for years, decades, for generations to come.

I liken the VC-based tech industry, which Scoble is very much a part of, to the coal industry before we became aware of the damage that fossil fuel does to the climate. In tech, we're early on this, but now is the time to catch the problem before it's much more expensive and takes more time to fix. I said this to Bill Gates as he was amassing his fortune, that a little kindness to the ecosystem now will go much further than all the philanthropy you promise later. I say it to Zuckerberg, and Jeff Bezos, and to Robert Scoble. Be a leader. Show people that freedom matters. Show the tech industry too. Eventually they're going to want more open formats and protocols to build on. How are we going to make them without users like Scoble helping out. We can't create in a vacuum, without users.

Obviously I posted this on my blog. I could have put it on Facebook. I ask Scoble, if he has a response, to do the same. Put your response on a new blog you start, on Tumblr if you like, it's part of the Silicon Valley ecosystem, or WordPress, another company that's raised huge VC. Let's accentuate the good that tech does, by supporting it. Thanks for listening.

PS: Robert is already helping the open web by letting me use him as a foil for this discussion. Whether or not he does it, people understand the idea of a Scoble pitching in to help the web that helped him so much. Now they know how important it is that they follow the leadership that Scoble could be providing.

PPS: I ask Tim Berners-Lee to join me in asking Scoble to come back.

04/11/15; 11:44:29 AM

This has happened a few times for me.

  1. I follow a company.

  2. They start advertising on Twitter.

  3. Now, every time I go to Twitter, their ad is at the top of the page. The same message. I've read it a dozen times. I do not want to keep reading it.

  4. I have a choice, I can get rid of the ad by unfollowing them. I do it with regret, because there was a reason I chose to follow them. I am interested, and I want to keep up on what they're doing. So maybe I don't unfollow at first, or the second or third time. But eventually it seems I always do. I keep meaning to write this post to make sure Twitter and the advertisers understand this.

  5. Because of this I am reluctant to advertise. I was thinking about doing it when I come out with a new product. I think Twitter could be part of my promotion, but...

04/11/15; 11:41:04 AM

I've got a bit of node.js code that downloads an MP3 podcast, saves it to a file.

However, none of the MP3 players I have will do anything with it. So somehow in the process of downloading and saving, it's losing some data.

In the code below, url points to this file.

Update

Thanks to Kyle Davis in a comment below, we have the solution.

04/10/15; 12:26:27 PM

Doc Searls has a simple idea.

When he travels he buys newspapers. He can read any paper without buying a subscription. Why didn't this decades-old tradition make it to the web? Maybe it should?

My thoughts

It's always interesting to consider new ideas. But this one is too late.

What people want is articles now. Linked into a river somewhere.

  1. Facebook is a river.

  2. Twitter is a river.

The only question as far as I’m concerned if The Rest of Us get a river.

A picture of a slice of cheese cake.

04/09/15; 10:57:22 AM

Last built: Thu, Apr 30, 2015 at 5:10 PM

By Dave Winer, Wednesday, April 1, 2015 at 9:43 AM.