Scripting News

It's what we do in RSS, or any XML-based format. If you encounter something you don't understand, don't worry, just ignore it. The person who put it there was depending on you doing that. You shouldn't call it an error. No need to freak out.

You don't have to understand everything. No one does!

This is one of those universal rules, much larger than just for techies. When we first introduced RSS, I wanted to link to the feed directly from my home page, with a little white on orange XML icon. The browser guys said "This won't do, people will see it and freak out." So they obscured it. Tried to make it look like a web page. It had the exact same content as the page you came from, but without the color and layout. It was even more confusing. Funny how that works.

When you make something look like something it isn't people get confused.

Imagine if you lifted the hood on your car, and instead of seeing an engine, a battery, a bunch of wires and tubes that you have no idea what they do (if you're like me) you saw another car interior. Seats, a steering wheel, a radio, etc. What would you think of that?

People, living their daily lives, have "ignore what you don't understand" experiences all day every day. It's how you keep your sanity in our complex multi-level reality.

I encounter that in the user community for Fargo
, which is a very diverse group of people, with widely varying interests and skills. Some are writers, and use the tools at a totally conceptual level, and others aren't writers at all, and like the software because it's like a Lego set, where you can put the pieces together in a lot of different ways. Because they all use the same tools, we get to have fun together. But sometimes the writers think they have to understand something technical. I try to say that they don't have to understand it -- but someone has to understand it for the whole thing to work.

So the rule applies to our user community. There's never any harm in asking what something's about. Anyone can understand any of it, with enough time and work. But if you don't understand something, feel free to ignore it.

They just announced a release candidate (or I just heard about it) and spent a bit of time this evening checking it out. The way I do that is by putting together a demo app that does something basic, that we already use Bootstrap 2 for, to see what the differences are.

I might be missing something, but Chrome on Android and on the iPad is missing something that every other browser has. Why no icons at the top of the window?

For example, this is what the browser window I'm using now has in its chrome.

This kind of bookmark is so basic, so ubiquitous, why doesn't Chrome have it in their tablet browsers? That's the thing that's making it so hard for me to set up my new Nexus 7 the way I'd like to set it up, so I can use it for all the things I want to use it for.

Even better -- synch with the toolbar bookmarks for Chrome on the desktop!

This seems so obvious, there must be a patent in here preventing them from doing it.

See also, my earlier piece about the role of the Nexus 7, after one day of use.

I hadn't been this excited about a new product in a very long time. Maybe "excited" is too strong a word. Maybe interested would be more accurate. Somewhere between excited and interested.

I use a tablet for reading, watching TV and movies, browsing the web, keeping up on news, and the occasional linkblog post. If I have to do some serious writing, I go to a laptop or desktop (usually the desktop, unless I'm traveling).

I rate them in that order for utility. The full-size iPad does more than any of the others. It's set up with Safari, with bookmarks to all my frequently-accessed sites.

The mini iPad is a snapshot of the big one, from a few months back when I got it, so it does most of what the full-size one does. In a more convenient form-factor, but without the beauty of the retina display.

The Nexus 7 comes to me as a snapshot of my Nexus 4 phone. So it has a lot of the apps I use there. But remember, it's a phone and this is a tablet. I use it for a whole other set of tasks than the tablet. There maps is the most important app. Followed by mapmyride (which I had to switch to over Cyclemeter, which I paid for, when I switched from iPhone to Android). I use the Citibike app over there a lot too.

So last night when I started reading I did it with the Nexus 7. It has a gorgeous display. Very nice for reading, with one caveat. The screen doesn't go all the way to the top of the device. So I find myself clicking up there with nothing happening. I'm afraid they'll teach my lower brain this way of working, to click well below the top of the device, and that will screw up my use of every other device.

When it came to doing things other than reading, oy -- it's a void -- a barren desert. None of the functionality of the iPad. True, I will be able to, over time, build it up over there. But that involves learning a new way of doing things, and actually doing all the work, work that I've already done in iPad-land. The question is -- will I do it?

And that's where I stop right now. I don't know the answer. I wasn't willing to do the work for the Amazon tablet I bought, nice though it is. It sits in the closet, not even making #4 on my list. It does nothing more than read Kindle books and play Amazon movies, and that's not enough to charge it up and take it with me. Again, I could set it up to do all those things, but for that device, clearly it wasn't worth the effort, or I would have done it. It's always been easier to just grab an iPad.

BTW, one thing that really irritated me about the device is the way it defaulted to setting up Google Play or whatever they call it for playing videos on the home screen of the device. I had to figure out how to get rid of it before I could do anything else. And it wasn't easy to get rid of, in fact I'm not sure I actually have.

If you're an aggregator, like Feedly or Digg, you can use this information to link from my posts to my Twitter or Facebook presence. This will allow readers of my posts to communicate directly with me, or follow me on those social services, in addition to using my RSS feed.

If you're a publication, like Engadget or TechCrunch, for example, you could add these items to your feed, to help give aggregators a greater incentive to adopt them, and also to facilitate flow between your various sources of content. Nothing wrong with having people following you on Twitter or Facebook as well as your feed.

If you're a blogging tool vendor, like WordPress or Tumblr, you could ask users for this information, and if they provide it, add it to their feeds. This is what we did in Fargo.

The philosophy of RSS, imho, is to embrace all channels of communication without reservation. Facebook and Twitter are, in some sense, competitors of RSS. But we support them even so, because users love them.

This is the same spirit that led Bill Gates to support the Mac in its early days. The Mac was a great product, even if it competed with Microsoft's operating system.

If you look at the source of the Scripting News feed, you'll see a bunch of other new items. That'll give you an idea of what I'm going to be pushing next. But for now, let;'s have a little interop success with the new <rss5:account> element.

One of the reasons I like reading on a Kindle is that I can look up words I don't know by clicking and holding. It's a way to increase my vocabulary, and decrease my frustration. It's especially useful when reading a book like Game of Thrones where the author uses a lot of old words that aren't used that often.

Here's the idea: Let the book author load up the dictionary with the names of characters and places. Books like GoT that have a huge number of characters, often include a chart at the beginning of the book explaining all the relationships between the characters. Wouldn't it be great if this information were baked into the dictionary as you're reading the book? Of course someday it will be.

As with 0.97, these are nice-to-have fixes and little features that make Fargo a little easier to use. This is the place I like to get to with a product. The basics are working. Now we're gaining experience, and slowly smoothing things out.

So many developers stop when they reach the top of the mountain. But that's just when the fun starts. Imho of course.

We're getting close to 1.0, which means I have to say that in this way of doing things, the numbers don't mean what they used to. There will be, after 1.0, immediately (knock wood) a 1.01 and 1.02. They're just serial numbers. We should probably, at some time drop the decimal point.

On the other hand, I want to use this as an opportunity to reorganize the docs, and get everything off the old content management system and onto the new Fargo-based system. We should be using the product to document itself now. I also want to do some work on the home page for smallpicture.com. It's time to tell people what we do there.

I'm discussing a project with my friend Jason Pontin at MIT Technology Review. He was lamenting how he has to go around his own people to get this done. That reminded me of a Jean-Louis Gassee story, the legendary former head of product at Apple in the late 80s.

Jason, you're in good company.

In 1988, I had lunch with my friend Jean Louis-Gassee at Apple. He was in charge of products.

He wanted me to do a scripting language for the Mac.

I said "But Uncle Jean-Louis, you are head of the biggest greatest tech innovator in all the land, why don't you just command your minions to create a scripting language for the Mac?"

I gotta say, now that the Trex server is humming, I have never been happier with a writing environment. The fact that I have the ability to improve it myself is just icing on the cake. It's as if this were designed just for me (reality-check: it was). When I have something to say, I just click the + icon, and off I go.

People who are getting comfortable with Fargo
alongside me, may just beginning to realize that there's a breakthrough here that we haven't made a big deal about. It came up in a demo I was doing the other day. The person receiving the demo, a programmer, thought each post was a file, and that the UI was a way of viewing a file system. Screen shot. I showed him that was not the case. The whole site is in a single file, and it's not a database, it's just a simple XML-based format that's been around forever, OPML.

You could build a whole industry around this idea, and I sincerely hope one does develop. Open formats and protocols are a lot more work, but they're worth it.

BTW, one of my main projects now is to develop the verb set for scripting Fargo, so other programmers can easily add features to the app. The outliner is now mature enough.

If you have an idea that would improve RSS for everyone, how about writing a blog post about it so we can all give it consideration, think about it, and possibly support your idea?

I've given this a lot of thought, and more than a meetup, what we need are people putting serious stakes in the ground. Interop they're willing to work on. Investments they're ready to make that could benefit their competitors possibly more than themselves.

We don't need 20 companies vying to be the 800-pound gorilla. We need an NBA or Major League Baseball. Some new rules that help our sport work better for the fans and the players.

Here's an invitation to truly embrace the creativity of others. Instead of beating your breast about how great you are, try saying how great someone else is. Look for win-wins, make that your new religion. Establish a policy that nothing will be announced unless it can be shown that someone else will win because of what you're doing. How much happier we would be if instead of crippling each other with fear, we competed to empower each others' creativity.

If there's going to be some new growth in RSS it's going to have to benefit everyone not just you. If you're willing to step up, now's a great time to do it.

PS: Here's an example of the kind of post I'm looking for. Nothing earth-shaking. The simpler the better. The idea is to build new interop.

Interesting bit in the Guardian about a project by three fellows at Shorenstein Center at Harvard, a project I participated in. The question they asked is how did news go electronic. It was a great little discussion, and not one that took the direction indicated by the Guardian story.

We all know which way works, and which way the news industry views it from.

I had a meeting last week with Joel Spolsky, a blogger who figured out how to make it work. You don't charge for access to the information. What you do is create a honey-pot that attracts specific kinds of people. Then think about products you can sell to those people, or businesses who would pay money for access to them. Solve problems, and then think creatively about building businesses around the flow you have.

Spolsky started Stack Overflow, a great service for answering questions programmers have. It's authoritative in so many areas. The business they attract is recruiting. Great programmers are in demand. Everyone wins, and Joel gets rich.

The news industry ultimately will figure this out, or a new news industry will form around this idea. If you're covering a geography, learn what the geography needs, write about it, gather all the business interests around that need, and invest in new ventures that require access to these people, because you have developed that access.

A great example would be the awful Internet connectivity on the island of Manhattan. What news organization could help us solve that problem? And do they have products that could flow over newly enhanced connectivity? The answers are so obvious there's no need to explain.

This must be the 18th time I've written this piece. The story never changes, but it keeps needing to be told.

While Fargo
does most of the HTML-generating for you, if you want to add HTML elements to your posts, you can. Fargo will just ignore them and pass them through. Then if someone views the page in a browser, they will show up in all their glory.

And, here's the punchline -- you can add images using HTML. And that's how we do it.

A bunch of people made suggestions after reading today's Changes piece.

The one that made the big difference came from my longtime programming friend Chuck Shotton. We increased the size of the AWS instance that's running Trex from a small to a large. Now the performance on my site isn't fantastic, but it no longer sucks.

A few weeks ago Kyle told me he was leaving Small Picture. Since then I've been thinking a lot about where I want to go with the software, the community, the company and for myself.

I have told a few people about this, of course -- and the first question they ask is why. I honestly can't answer that question, so I won't try. This was not my decision, or preference. I liked working with Kyle, and I thought we made a great team. But I've learned in my many years developing software, that people come and go. And usually the project, if it had value, continues. In a different way of course, and perhaps in a different direction.

Fargo, imho -- has much value. I love writing in it. And I especially love writing blog posts in it. It's software I've been waiting for ever since I started doing CMSes for the Internet, way back in the mid-90s.

In other ways this is the culmination of my life's work. Much more so than things I'm better-known for such as RSS. Outlining and public writing are the core technologies that have driven my career as a developer and as a writer.

There are two big pieces to Fargo, what runs in the browser and what runs on the server. The outliner that runs in the browser is in good shape. I can work on it myself, and have been adding features that are both responsive to the needs of users as we've gotten to know them, and ideas that are new and innovative.

The big questions are about the server software. Right now it runs in an environment that we built written in C++ and JavaScript called Trex.

There are serious performance problems in Trex. They tend to show up as your outlines get bigger, so I'm seeing them before others do because mine have grown faster. When you make a change to an outline, you often get timeouts when you try to refresh one of the pages on your site. Sometimes there are 503 "service unavailable" errors. At times the software is basically unusable. This is not an acceptable situation.

There may be an easy technical solution, or not. We may have to port the server software to another environment, possibly Node. Or we may just re-focus on being an outliner that can be hooked into other CMSes.

There are several choices, none of them good, but this is how it is with software esp when a key developer leaves the team.

I've given this a lot of thought and I think the only approach that works, for now, is to re-focus Fargo on just being an outliner, while we look at re-tooling the server-side.

We're not going to shut off the Trex server, but you need to be aware that it could go down, and it might not be possible to bring it back up. So that should factor into your decisions about where to put your web content. I'm going to continue using it myself for Scripting News
, as we explore other options.

I'm very sorry about this. I totally love using the Fargo-Trex combination. But until the problems are sorted out, we all need to be aware that the problems exist. I'm not the kind of developer who likes to skate on thin ice while the users of the product assume all is well. There are problems. I ask for your understanding and support.

Finally, thanks to the community for being such a great inspiration. And we're still here, and hope to be for some time to come!

All the top level paragraphs in each post would show up as list items instead of paragraphs. This is because of a small difference in the way the two content servers, the old and the new, generate OPML for posts.

With any luck you should now see this post as paragraphs and not list items.

Having been an active participant in The Internets since I was a grad student in the late 70s, I've met more than one or two. I swear I am not myself a fanboy for anything. But that doesn't mean I don't enjoy a good fanboy rant. I've come to appreciate it as an art. An evolving thing.

Why is this a current topic? Well, the other day I saw a tweet by Marco Arment that struck me as a prototype. Apple had just experienced some kind of security breach. A fluid situation. Marco found the silver lining. No matter how bad it looks, there's some good news in there. I remarked that a fanboy always finds a silver lining. I felt this observation was worth a tweet. To me a tweet is like a Kleenex. Not something that requires a lot of forethought. I hoped, if it offended, it would be lightly brushed aside with a smile perhaps.

He seemed to take offense. I was slightly surprised. Because inside me I think of Marco as a master of the art. Of all the fans of Apple, he and John Gruber stand head and shoulders above the rest. They're so good at it. It's their business model, in fact.

The Urban Dictionary site defines a fanboy as: "A passionate fan of various elements of geek culture but who lets his passion override social graces."

My opinion is the negative part of that is obsolete. We live in times of extreme behavior and social graces aren't what they once were. The NSA lacks social graces a billion times more than Apple fanboys do. Drones! $10 million weddings. Thomas Friedman lacks social graces. The Republican Party.

There's definitely an art to the way people appreciate Apple. If their amateur promoters aren't fanboys, what are they?

Buzzfeed has the story, and it's remarkably short, and has the ring of truth to it.

It's worth noting because this is how decisions are really made in tech, and probably every other industry.

3.Larry Page says Meh! to RSS and readers. He doesn't use Google Reader.

4.When it comes up at meetings, if it ever does, the person who brought it up is the subject of jokes.

5.It keeps running for months if not years on its own, with no one working on development.

6.Every time there's a cleanup, Google Reader is at the top of the list. Someone says "Oh but there are a lot of users and a bunch of them are reporters." So they keep it running for a little while longer.

7.Then, to make a point that he wants people to focus, a first-level report of Page's puts it on the shutdown list, despite the objections. Everyone shrugs.

8.They write a blog post with some BS about how everyone gets news now on their Android phone, something that's sure to make LP happy if he ever sees it.

It's a good idea, I thought, to get a group of people together for a half-day in NYC in August to share ideas about how RSS might be improved, but there doesn't seem to be enough interest in the idea to pull it off, at least not at this time. Could be that I'm not the right person to chair such a meetup, so perhaps someone else should give this a try. And, if there's anything I can do to help create some good working together opportunities, I'm happy to do so, to the extent that I'm able. For now, it seems this meetup is not going to happen.

When Fargo generates your RSS feed, if an item is of type or method markdown, instead of generating hierarchic markup for the description element of the RSS item, we just run the text through the markdown processor.