May 162013
 

I’ve released OK-Writer 1.4! The latest version of my Mac OS X word processor aimed at children and others who need a simplified user interface for word processing. The new version has new retina-quality icons, improved user interface layout, full-screen mode support, and other improvements.

OK-Writer 1.4 screen shot

One of the things I’m particularly proud of is the unforeseen use of OK-Writer by people with disabilities, especially vision problems. Its speak-as-you-write features have proven useful for the disabled. That’s a great source of personal pride for me.

To get a little more specific about what’s changed in this version other than the retina icons, I’ve spruced up some of the innards a bit to prepare for some future work I’m planning to do, and obviously the background is no longer brushed metal, but is a lovely periwinkle-like blue. I’ve fixed a couple of minor bugs, and the buttons don’t drift around slightly crazily when you resize the window anymore.

Full-screen mode has proven popular with Sophie, too. I may do some experiments with ways to make that experience better and/or more fun in the future. I made sure to make that code conditional so that the program still works on OS X 10.6 upward.

I did drop PowerPC support in this release, and I dropped support for Mac OS X 10.3 through 10.5. But this version is built as a 32/64-bit Universal binary. It was time to cut the cord on some of the older Macs, but the older version of OK-Writer is still available on my web site for people who need it.

 Posted by at 10:29 AM
May 132013
 

A key step in the documentation process is the review. The Mozilla Developer Network (MDN) developer documentation team aspires to perform two types of review on each article on the wiki:

A technical review involves having someone with technical expertise in the article’s subject area read the article and ensure that it’s factually and technically accurate. This means making sure our explanations of the subject matter are right and make sense to the developers, as well as ensuring that any code samples are implemented correctly.

An editorial review is where someone reads the article and corrects any typos, grammatical mistakes, or stylistic or layout problems they can find.

When writing an article (or editing an existing article), there are checkboxes that let you request each of these types of review on your article; indeed, both of these flags are enabled by default for any newly-created page. Yellow banners are displayed at the top of the page to let readers know that these flags are set, as appropriate.

In the past, the only way to remove the review requests (for example, if you’ve read the article and didn’t see any factual errors) was to click the Edit button, scroll to the checkbox for the editorial review, toggle it off, and save the article.

Now there’s a better way!

Now, on pages with one or both of these review flags set, you’ll see a new “Quick review” box at the bottom of the article. This box looks like this:

Screenshot of the quick review box on MDN

The MDN Quick Review box.

All you have to do if you’ve completed a review is to turn on the appropriate checkbox(es) and click “Confirm Reviews.” The review is recorded and you have our gratitude for your help!

If you’d like to actually hunt down and take care of articles in need of review, there’s an easy way to find them:

I’m hopeful that this streamlined approach to reviews will help encourage subject-matter experts to review content, and will help casual users of MDN get involved by reviewing content as well. We have some improvements planned for future updates to MDN that will make this even better, but this is a great start, and I’m grateful to our development team for putting this together!

 Posted by at 1:42 PM
Apr 302013
 

Last night, I got home after another fun and productive MDN documentation sprint; this one was held in Mozilla’s lovely Vancouver office. In addition to Mozilla’s paid writing staff and a few core contributors, we had Mounir Lamouri, a Mozilla platform engineer, on hand to offer technical expertise about web-based device APIs. In addition, two Vancouver-area residents, Aras and Amr, also joined us, making their first contributions to MDN!

The MDN doc sprint team in Vancouver in April 2013.

Photo provided by Florian Scholz.

 

To top it all off, Vancouver-based content strategy expert Rahel Bailie dropped in to help us do a quick-and-dirty content strategy analysis; it was reassuring to discover that we’re more or less thinking along the right lines and on the right track in that regard.

Both virtual and in-person sprints have their pros and cons. Virtual sprints let people participate from anywhere without the need to travel and leave their normal lives and families behind. But in-person sprints give us the opportunity to have the kinds of conversations that work best when everyone’s in the same room together with a whiteboard. We had several of those conversations during this sprint in addition to documentation writing activities.

Conversations

Some of the whiteboard discussions we had during this sprint included:

  • We talked about the content and structure for the home page and global navigation of MDN. Expect to see these changes start to happen in the next few weeks!
  • A team met a couple of times to draft and refine a specification for the Localization Dashboard. This has been proposed as a Google Summer of Code project. Whether a student tackles this for GSoC or our own dev team builds it, having a spec is an important step.
  • We had a very long and engaging discussion about MDN’s page types and the elements they need. I will be turning our sketches and notes into a specification proposal this week.
  • We brainstormed ways to improve our involvement in events, whether they’re MDN doc sprints, other Mozilla events, or even external events.
  • We talked about our new process for managing documentation bugs by using the “Developer Documentation” component in Bugzilla along with Scrumbu.gs.

Documentation written

We also had lots of documentation written. I doubt this is an exhaustive list (in fact, I know that it isn’t), but it’s a list of what people specifically noted down that they worked on. Even as an incomplete list, this is a lot of great work. I’d like to thank everyone for their time and effort!

Aras Balali Moghaddam

Aras modified the following pages to make use of live code samples. We’re pretty excited about our live sample system, so getting more of them is always awesome!

Florian Scholz

  • Updated the MathML mspace element’s documentation per bug 717546.
  • Updated the methods of inlDOMUtils per bug 839443.
  • Updated the documentation for document.createElement() for bugs 851916 and 844127.
  • Updated the documentation for table.insertRow() and tableRow.insertCell() for bug 824116.
  • Created documentation based on several code bugs marked dev-doc-needed.
  • Updated MathML compatibility information on reference pages to note that Chrome has completely removed MathML support.
  • Moved MathML pages into the new hierarchy (Web/MathML and Mozilla/MathML_Project).

Eric Shepherd

  • Added a section about media presentation to Firefox OS apps tips and techniques.
  • Updated the docs for nsINavHistoryService to fix bug 703893.
  • Updated the docs for JS_SetGCZeal to note a signature change in Firefox 14, per bug 787723.
  • Created the template APIListAlpha for producing alphabetical lists of subpages as pretty indexes.
  • Started work on building the hierarchy for the new open Web documentation structure, including the Web landing page and the Web APIs page.
 Posted by at 2:18 PM
Apr 252013
 

Ah, spring! The flowers bloom, the snows melt (usually), and lovers of the Web and of Mozilla are heading to Vancouver, British Columbia to participate in our spring documentation sprint at the Vancouver Mozilla Space.

We’ll be gathering writers and a few developers together to pound out as much great documentation as we can, along with, I’m sure, a few fun evening activities.

If you can join us, feel free to drop in! Or participate virtually by logging into MDN and joining the chat in the #devmo IRC channel. We’ll save a seat for you at the ol’ keyboard.

 Posted by at 8:13 AM
Apr 082013
 

There’s been a great deal going on on the Kuma front of late. If you’re not already aware, Kuma is the Mozilla-built wiki platform that powers the Mozilla Developer Network (MDN) documentation. Today, I’m going to share a few tidbits about what the team is up to and what’s coming in the near future.

New Features

We have some new features! Let’s take a look!

  • You can now specify a maximum depth for tables of contents on individual pages. Say you have a page that has lots of repetitive sub-headings. You can keep those from exploding the length of the TOC now. Just open the “Edit Page Title and Properties” pane in the page’s editor, and you can now specify how deep the TOC should be allowed to get (or disable it entirely, as before).
  • You can now add a revision comment when saving new articles; this can be especially useful for people like me to note things like “just getting started, more to come,” for example.
  • Admins now have a “View in Admin Panel” option to look at a page in the Django admin panel; this gives us access to the option to delete a page, for example, saving precious time and hair-tearing-out.
  • Unused bits of data are no longer displayed in revision diffs and page history. We used to show some information that we inherited from SUMO but don’t actually use.
  • The page footer now includes a link users can follow if they’d like to contribute to the Kuma project.

Back-end Improvements

We’ve also done more work on improvements to the internals, structure, and so forth. This includes work on upcoming new features that aren’t exposed to users yet. Some of the more interesting ones:

  • Upgraded to Django 1.4.5.
  • Upgraded to jQuery 1.9.1.
  • The CSS for our custom fonts has been updated to allow the fonts to be cached locally instead of having to be re-downloaded all the time.
  • A number of bits of optimization work have been done to help improve page load times and the like.

Bugs Fixed

  • You can now use the title attribute on <div> blocks.
  • Several other minor bugs have been fixed.

As you can see, the team has been busy. Now that the bulk of the back-end work on the Elastic Search and Django upgrades has been finished, the team is moving on to other things (although the front-end work on ES is still ongoing). I hope to see some really good new stuff arrive soon.

Coming Soon

Work has begun on designing and hopefully soon implementing the notification system that will be used by our review queue as well as by page watchlists. Once we have that system, a lot of awesome new features will become possible, and we’re really excited to have that work underway!

Also, section editing is gradually making progress. I hope we’re in the home stretch on finally being able to edit individual sections instead of having to edit the entire page every time we want to make a simple tweak.

The guys are working hard, and I’m very proud to work with them! Thanks guys!

 Posted by at 11:14 AM
Apr 052013
 

We have a lot going on these days! Obviously, Firefox continues to surge forward, with new features all the time. That alone would keep us busy, and indeed it does. Jean-Yves Perrier has been heading up Firefox developer documentation work for the last couple of months, and I expect he’ll keep doing so for the foreseeable future.

Of course, there’s more than just Firefox. The developer tools team has been cranking out amazing new tools to help Web developers (and, in turn, Firefox OS developers), and those need lots of documentation work. Will Bamberg has taken over that work from me, since I’ve been completely swamped lately. This fits in well with the work he’s already been doing with the Jetpack documentation, since many of the same people are involved.

Mark Giffin, working under contract (although he’s been working with us so long, it’s hard to think of it that way!), has been working hard on the open Web apps documentation. This documentation obviously plays a key role in our plans for Firefox OS, and it’s great to have him pounding away at that.

Janet Swisher has been so busy for so long being “distracted” away from writing by her work organizing doc sprints and other community activities that it’s in the process of becoming official; she will become our MDN community manager (although I’m not sure precisely what title is involved). She’ll be working full-time on building our developer community and helping to organize events. This is going to be fantastic to have someone doing that for real, and I know Janet will continue to do it well — especially once it’s her “real” job!

In the meantime, I’ve been sliding more and more into organization work. There are two kinds of organization involved.

Content organization. I’ve been working, gradually, on rearranging content on MDN to be more logically structured. The Web apps documentation has been rearranged, as has much of the WebAPI documentation. In addition, I have cleaned up the structure of the Firefox OS content as well. This work will continue for some time, but it’s a relief to finally be making some amount of headway. We have big plans for rearranging the so-called “DOM Reference”. For details, you can see the article Web platform documentation hierarchy.

Team organization. As the MDN docs team has grown — both in terms of paid staff and in terms of our awesome army of volunteers — it’s become more difficult to keep up with what’s going on. This is, of course, exacerbated by the fact that we have so many projects to work on. So going forward, more of my time is going to be spent organizing and coordinating the writing team. I’ve been doing a lot of writing about documentation processes, and gradually we’re nailing down plans for ways to improve how we do things.

One thing you should expect to see soon is pages you can visit to see what each team member is currently working on, as well as a list of upcoming documentation projects and their status.

I’ll be blogging more soon specifically about the organizational work we’re doing, once the actual plan documents are finished and posted onto MDN.

In addition to organization, I’ve been working on the MDN Style and User Guide documents. These suites of documents will help us bring new contributors into the fold, and will help us produce better, more consistent documentation in the future. On top of all that, the style guide is going to be used to help inform the design team as they work on designing the next generation UX for the MDN web site. The new design is going to be spectacular, but only if we participate in the process.

I’ll blog more about this once these documents are farther along; however, one thing you can look at and help with right now is the MDN page types list. This article is meant to list all the basic kinds of pages we have on MDN, and to list the features each needs to offer. Eventually this will be detailing each type of page all the way down to which visual styles are needed in order to construct them, so that the design team knows what CSS we will need. This information will also be used to help us build better toolbars and to improve the editing experience in general, so if you have frustrations with editing on MDN, this page is a place you should go and contribute to!

So that’s what we’re up to, in brief.

 Posted by at 12:46 PM
Mar 192013
 

Let’s take a look at all the updates to the Kuma platform that powers MDN that have been installed since February 28th! There have been a number of changes, although most of the work our development team has been doing continues to be behind the scenes as they continue to build toward switching over from Google search to our new internal elastic search based system.

  • Long headings now indent when wrapping in tables of contents blocks.
  • New pages are now labeled as such in the Revision Dashboard.
  • Assorted CSS improvements.
  • Improvements to handling of the HTTP accept-language header.
  • Back-end work on implementing support for per-page configurable maximum table of contents depth. This isn’t finished yet, though.
  • More work on implementing section editing. This, too, is not yet finished.
  • Lots of code cleanup, Demo Studio bug fixes, and other things you probably won’t notice but are actually important.

Despite the mostly innocuous appearance of this list, there’s a lot going on, and big things are afoot.

On the writing side of things, we’ve got a lot going on. I should be posting some stuff soon. Keep an eye on this space!

 Posted by at 10:36 AM
Mar 012013
 

It’s been two weeks since I last reviewed the recent changes to MDN’s Kuma platform. Let’s take a look at the more interesting improvements to the software since then!

  • Using the query ?summary on document URLs now returns just the summary of the page. If there’s content marked with the “SEO summary”, that content is returned. If there’s a section entitled “Summary”, that content is returned. Otherwise, all the text in the first block is returned.
  • The page summary is also available in the object returned by the wiki.getPage() KumaScript function.
  • Tables now default to the “standard-table” style, which is our preferred style, when created using the editor’s table editing interface.
  • The context menu when you right-click on links while in the editor now includes a “Launch” item, which lets you open the link. This is handy for reviewing content linked to in your article while you work.
  • Fonts and CSS files from Gaia’s user interface have been added so that they can be used from live samples in the Firefox OS and Gaia documentation.
  • Photoshop files may now be attached to articles; this is permitted in order to allow art resources for app templates and the like to be hosted on MDN.
  • A few bugs have been fixed here and there.
  • More code has landed as our team continues to work on integrating elastic search, which will eventually replace Google search on MDN, and will also eventually be used to implement other features.

Another round of nice little fixes. The summary stuff in particular is exciting to me, because we can use this to automatically generate landing pages. For example, the Firefox OS user experience guide’s “Building Blocks” documentation’s landing page makes use of this capability.

Obviously, all the hard work going on to build up the code for the switch to elastic search is keeping the guys busy. In addition, work is being done to prepare to upgrade from the version of the Django framework we currently use to version 1.4.2. I think they’re getting close to ready to roll that upgrade out. I don’t know what wins we get with that, but I know the team is looking forward to having it done.

 Posted by at 10:53 AM
Feb 142013
 

We’ve had a few updates to the Kuma platform that powers MDN lately, and now there have been enough interesting changes that I thought I’d share them with you!

  • A bug causing translated articles to sometimes get “en” injected into their slug has been fixed. This caused a number of pages to wind up in the wrong places. Pages that had already been affected have mostly been fixed. There’s an explanation of what localization teams might have to fix here.
  • We’ve fixed a bug that was preventing live samples and embedded SVG images from working correctly.
  • Fixed a bug that caused the editor toolbar to not be fully visible on-screen when you put the editor into full-screen mode.
  • When adding an attachment to a page, the “description” and “comment” fields are now optional.
  • A link to the wiki dashboards has been added to the root docs landing page.
  • The MDN home page has been cleaned up to be significantly less messy. We’ve removed a lot of promo blocks that we were never all that happy with, so the page is significantly easier to use. There’s a more substantial redesign under way, but it’ll be a while before that lands.
  • A bug causing layout problems when you zoomed in on the home page has been fixed.
  • CORS has been configured to allow sites to pull content from MDN using the Kuma API.
  • For security reasons, file attachments are now served from the same alternate domain as live samples.
  • Demo Derby uploads whose Zip files’ names have non-ASCII characters in them are now accepted.
  • The text of the “Revert” link in the page history view has been updated to clarify what it does. This feature is still incorrectly only available to users with special privileges; we have an open bug to correct this.

There’s a lot of good stuff in here! These aren’t the only changes, but they’re the ones that humans will actually possibly notice. There’ve been a lot of behind-the-scenes patches to continue toward implementing future features. I continue to love this platform and what a great job the team is doing.

 Posted by at 5:06 PM
Feb 062013
 

Back when my niece Olivia was eight years old, her family got a new Mac after years of using Windows. They loved it, but missed a particular kid-friendly writing program they had been using on the PC. When I failed to find a similar program, I sat down and wrote one for them. I named it “OK-Writer,” after my niece’s initials. She loved that program, and over time I fiddled with it and added features to it.

Its big features, from a kid-friendly standpoint, are that it offers big fun buttons for styling text (using a few fun fonts, colors, and styles) and for tasks like printing and the like. Each button plays a silly sound effect when pressed (although you can turn this off in the preferences). It takes away concerns about page layout and stuff by rewrapping text to fit the page width, no matter what the child has done. And, a few versions in, I added some neat speech features for automatically reciting letters, words, or sentences as they’re typed.

Screen shot of OK-Writer 1.4

Over the years, the program has been bought by a number of parents, but even more teachers and in one case an entire school district; I offer site licenses for both individual schools and entire districts.

Today I got a nice email from a nursery school that bought OK-Writer some years ago. While the main point of the email was a contact information update, it also included some nice remarks about how they still love the program and use it all the time. That sure makes me feel good!

I’m really proud of it, even though it’s a fairly simple piece of software. That I’ve created something being used to teach kids and encourage them to enjoy writing is a great feeling. Even better is knowing that some people are using it with blind children (and even grownups) because of its unique speech features.

That’s pretty darned awesome.

I’m working on a new version now. It’s not a huge update, although it does fix a few bugs, and it adds new retina-quality icons. And I have some nice plans for future improvements, too. It’s a fun project to work on, and that it’s making a difference for some people is a lovely bonus!

 Posted by at 10:02 AM